@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');
#atlas-semantique-app {
    --atlas-paper:#E9E4D8;
    --atlas-paper-deep:#DED7C6;
    --atlas-ink:#20241F;
    --atlas-ink-soft:#5B6058;
    --atlas-line:#C7C0AD;
    --atlas-teal:#2F5D62;
    --atlas-teal-soft:#7FA1A0;
    --atlas-rust:#A8452F;
    --atlas-gold:#B8862E;
    --atlas-card:#F4F1E8;
  }
#atlas-semantique-app * {box-sizing:border-box;}
#atlas-semantique-app {
    margin:0;
    background:var(--atlas-paper);
    color:var(--atlas-ink);
    font-family:'IBM Plex Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
#atlas-semantique-app .wrap {max-width:1180px;margin:0 auto;padding:32px 20px 80px;}

#atlas-semantique-app header {border-bottom:1px solid var(--atlas-line);padding-bottom:20px;margin-bottom:28px;}
#atlas-semantique-app .eyebrow {font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--atlas-teal);margin-bottom:6px;}
#atlas-semantique-app h1 {font-family:'Fraunces',serif;font-weight:600;font-size:36px;margin:0 0 6px;letter-spacing:-.01em;}
#atlas-semantique-app .sub {color:var(--atlas-ink-soft);font-size:14px;max-width:640px;line-height:1.5;}

#atlas-semantique-app .search-row {display:flex;flex-direction:column;gap:10px;margin-top:22px;}
#atlas-semantique-app label.field-label {font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--atlas-teal-soft);margin-bottom:-4px;}
#atlas-semantique-app input[type=text], #atlas-semantique-app textarea.field {
    width:100%;
    background:var(--atlas-card);
    border:1px solid var(--atlas-line);
    padding:12px 15px;
    font-family:'IBM Plex Sans';
    font-size:14.5px;
    color:var(--atlas-ink);
    border-radius:2px;
  }
#atlas-semantique-app textarea.field {min-height:56px;resize:vertical;}
#atlas-semantique-app input[type=text]:focus, #atlas-semantique-app textarea.field:focus {outline:none;border-color:var(--atlas-teal);}
#atlas-semantique-app .row-btn {display:flex;justify-content:flex-end;margin-top:4px;}
#atlas-semantique-app button {
    font-family:'IBM Plex Mono',monospace;
    font-size:12.5px;
    letter-spacing:.06em;
    text-transform:uppercase;
    background:var(--atlas-ink);
    color:var(--atlas-paper);
    border:none;
    padding:13px 26px;
    cursor:pointer;
    border-radius:2px;
    transition:background .15s;
  }
#atlas-semantique-app button:hover {background:var(--atlas-teal);}
#atlas-semantique-app button:disabled {background:var(--atlas-line);cursor:wait;color:var(--atlas-ink-soft);}

#atlas-semantique-app .status {font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--atlas-ink-soft);margin-top:14px;min-height:16px;}

#atlas-semantique-app .grid {display:grid;grid-template-columns:1fr;gap:28px;margin-top:32px;}
  @media(min-width:980px){.grid{grid-template-columns: 400px 1fr;}}

#atlas-semantique-app .panel {background:var(--atlas-card);border:1px solid var(--atlas-line);padding:22px;border-radius:2px;margin-bottom:22px;}
#atlas-semantique-app .panel h2 {font-family:'Fraunces',serif;font-size:16.5px;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:8px;}
#atlas-semantique-app .panel .patent {font-family:'IBM Plex Mono';font-size:10px;color:var(--atlas-teal);margin-bottom:14px;display:block;}
#atlas-semantique-app .panel h2 .n {font-family:'IBM Plex Mono';font-size:11px;color:var(--atlas-teal);border:1px solid var(--atlas-teal-soft);padding:2px 6px;border-radius:20px;}

#atlas-semantique-app svg#map {width:100%;height:auto;display:block;}
#atlas-semantique-app .map-term {font-family:'IBM Plex Sans';cursor:default;}

#atlas-semantique-app .term-list {list-style:none;margin:0;padding:0;}
#atlas-semantique-app .term-list li {
    display:flex;align-items:center;gap:10px;
    padding:8px 0;border-bottom:1px dashed var(--atlas-line);
    font-size:13.5px;
  }
#atlas-semantique-app .term-list li:last-child {border-bottom:none;}
#atlas-semantique-app .term-list .bar-bg {flex:0 0 46px;height:6px;background:var(--atlas-paper-deep);border-radius:3px;overflow:hidden;}
#atlas-semantique-app .term-list .bar-fill {height:100%;background:var(--atlas-gold);}
#atlas-semantique-app .term-list .name {flex:1;}
#atlas-semantique-app .term-list .status-dot {width:8px;height:8px;border-radius:50%;background:var(--atlas-line);flex:0 0 auto;}
#atlas-semantique-app .term-list .status-dot.done {background:var(--atlas-teal);}
#atlas-semantique-app .term-list .freq {font-family:'IBM Plex Mono';font-size:10.5px;color:var(--atlas-ink-soft);}

#atlas-semantique-app .tag-row {display:flex;flex-wrap:wrap;gap:7px;}
#atlas-semantique-app .tag {background:var(--atlas-paper-deep);border:1px solid var(--atlas-line);padding:5px 11px;border-radius:20px;font-size:12.5px;}

#atlas-semantique-app .entity-list {margin:0;padding:0;list-style:none;}
#atlas-semantique-app .entity-list li {padding:10px 0;border-bottom:1px dashed var(--atlas-line);font-size:13.5px;}
#atlas-semantique-app .entity-list li:last-child {border-bottom:none;}
#atlas-semantique-app .entity-list .ename {font-weight:600;color:var(--atlas-teal);}
#atlas-semantique-app .entity-list .erel {color:var(--atlas-ink-soft);font-size:12.5px;display:block;margin-top:2px;}

#atlas-semantique-app .angle-list {margin:0;padding-left:0;list-style:none;counter-reset:a;}
#atlas-semantique-app .angle-list li {counter-increment:a;padding:9px 0;border-bottom:1px dashed var(--atlas-line);font-size:13.5px;}
#atlas-semantique-app .angle-list li::before {content:"Angle " counter(a) "  ";font-family:'IBM Plex Mono';color:var(--atlas-rust);font-size:11px;}
#atlas-semantique-app .angle-list li:last-child {border-bottom:none;}

#atlas-semantique-app .matrix {width:100%;border-collapse:collapse;font-size:13px;}
#atlas-semantique-app .matrix td {vertical-align:top;padding:12px;border:1px solid var(--atlas-line);}
#atlas-semantique-app .matrix .zone-label {font-family:'IBM Plex Mono';font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--atlas-teal);width:150px;}

#atlas-semantique-app textarea#editor {
    width:100%;min-height:340px;
    background:var(--atlas-card);
    border:1px solid var(--atlas-line);
    padding:18px;font-size:14.5px;line-height:1.65;
    font-family:'IBM Plex Sans';color:var(--atlas-ink);
    resize:vertical;border-radius:2px;
  }
#atlas-semantique-app textarea#editor:focus {outline:none;border-color:var(--atlas-teal);}

#atlas-semantique-app .scores {display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
#atlas-semantique-app .score-card {flex:1;min-width:150px;background:var(--atlas-card);border:1px solid var(--atlas-line);padding:16px 18px;border-radius:2px;}
#atlas-semantique-app .score-card .label {font-family:'IBM Plex Mono';font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--atlas-ink-soft);}
#atlas-semantique-app .score-card .val {font-family:'Fraunces',serif;font-size:34px;font-weight:600;margin-top:2px;}
#atlas-semantique-app .score-card.good .val {color:var(--atlas-teal);}
#atlas-semantique-app .score-card.danger .val {color:var(--atlas-rust);}
#atlas-semantique-app .score-card .hint {font-size:11.5px;color:var(--atlas-ink-soft);margin-top:2px;}

#atlas-semantique-app .empty {color:var(--atlas-ink-soft);font-size:14px;padding:60px 20px;text-align:center;font-family:'Fraunces',serif;font-style:italic;}
#atlas-semantique-app .footnote {font-family:'IBM Plex Mono';font-size:10.5px;color:var(--atlas-ink-soft);margin-top:8px;}
