@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b0e15;--surface:#141923;--panel:#171e2a;--panel2:#1d2635;--stroke:#2c3747;--text:#f2f4f8;--sub:#a9b6c7;--muted:#7d8a9d;--hot:#fc72a8;--hot2:#ffb5d3;--teal:#4ee2c0;--amber:#ffc872;--red:#ff7c85;--blue:#8d9fff;--shadow:0 22px 65px #02040766}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -10%,#302038 0,transparent 29%),radial-gradient(ellipse at 2% 28%,#132631 0,transparent 25%),var(--bg);font-family:'DM Sans',system-ui,sans-serif;color:var(--text);font-size:14px}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--hot2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--hot);outline-offset:3px}
p{line-height:1.64;color:var(--sub)}h1,h2,h3,h4{font-family:'Space Grotesk',system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(38px,4.2vw,65px);line-height:1.03;margin:15px 0 19px}h2{font-size:27px;margin:0 0 10px}h3{font-size:19px;margin:0 0 10px}h4{font-size:15px;margin:0 0 8px}
.shell{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 17px;background:linear-gradient(160deg,#151a26 0%,#10131e 100%);border-right:1px solid #34405080;z-index:10}
.identity{display:flex;gap:12px;align-items:center;padding:6px 10px 27px}.brand-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:#190b18;background:linear-gradient(135deg,#ff9ac3,#f85599);font-family:'Space Grotesk';font-weight:800;font-size:24px;box-shadow:0 0 32px #fc72a83a}.identity strong{display:block;letter-spacing:-.025em;font-size:15px}.identity small{color:var(--sub);font-size:11px}
.nav-title{margin:14px 14px 10px;color:#748397;font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:#a6b4c6;border-radius:11px;padding:12px 14px;font-weight:600}.nav button:hover{background:#222b3a;color:#fff}.nav button.active{background:#f868a91c;border-color:#f868a93c;color:#ffc2dc}.nav .icon{display:inline-flex;width:22px;justify-content:center;font-size:18px}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--stroke);padding:16px 10px 0}.sidebar-bottom .dot{width:7px;height:7px;background:var(--teal);display:inline-block;border-radius:50%;margin-right:6px}.sidebar-bottom small{font-size:11px;color:var(--muted)}
.app{min-width:0}.topbar{min-height:77px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px clamp(20px,3.8vw,57px);border-bottom:1px solid var(--stroke);background:#10151cc9;backdrop-filter:blur(18px);position:sticky;top:0;z-index:9}.crumb{font-weight:700;color:#d4dce6}.crumb b{color:var(--hot)}.top-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{font-size:11px;padding:7px 10px;border:1px solid #3a4756;border-radius:999px;color:#bac7d5;white-space:nowrap}.badge.live{color:#83f0d5;border-color:#327968;background:#16453b2b}.badge.warning{color:var(--amber);border-color:#8c6940;background:#8c69401a}
.content{padding:34px clamp(20px,3.8vw,57px) 90px;max-width:1580px;margin:auto}.eyebrow{letter-spacing:.18em;color:var(--hot);font-weight:800;text-transform:uppercase;font-size:10px}.lead{max-width:850px;font-size:16px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:34px;align-items:center;margin-bottom:30px}.hero-art{min-height:225px;border:1px solid #3b3445;background:linear-gradient(145deg,#251729,#171e29);border-radius:20px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-art svg{width:100%;height:100%;position:absolute;inset:0}.hero-art .orb{position:absolute;border:1px solid #ed8bb76b;border-radius:50%;inset:30px 70px;box-shadow:0 0 40px #ef65a12e,inset 0 0 40px #ff86bd15}.hero-art .center-word{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-size:19px;font-weight:700;white-space:nowrap}.hero-art .center-word small{display:block;text-align:center;font-size:11px;margin-top:7px;color:#c5a9c0;font-weight:500}
.views{min-height:65vh}.view[hidden]{display:none!important}.panel{background:linear-gradient(145deg,#19212d,#141b26);border:1px solid var(--stroke);border-radius:18px;padding:22px;box-shadow:0 8px 28px #05070a21}.panel + .panel{margin-top:16px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.section-head p{margin:5px 0 0}.muted{color:var(--muted)}.section-flag{display:inline-block;border:1px solid #4f4253;background:#342438;padding:6px 10px;border-radius:7px;color:#ffc4dc;font-size:11px;font-weight:700;letter-spacing:.06em}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:25px 0 30px}.stat{background:#18202a;border:1px solid #2c3949;border-radius:15px;padding:19px}.stat .value{font-family:'Space Grotesk';font-size:31px;font-weight:700;letter-spacing:-.05em}.stat .caption{color:#a5b2c3;font-size:12px;margin-top:4px}
.columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr);gap:15px}.columns.equal{grid-template-columns:1fr 1fr}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.spacer{flex:1}.btn{border:1px solid #425166;border-radius:10px;padding:11px 15px;background:#212a38;color:#f0f3f7;font-weight:650;transition:.16s ease}.btn:hover{border-color:#a16e98;background:#323041}.btn.primary{background:linear-gradient(105deg,#fa75ab,#ef5896);color:#24101d;border-color:transparent;box-shadow:0 10px 35px #fa75ab2a}.btn.active{color:#ffaacb;background:#f975a81c;border-color:#f975a884}.btn.quiet{background:transparent}.btn.small{font-size:12px;padding:8px 11px}.btn.full{width:100%}.control,select{background:#0e1621;color:#ecf0f6;border:1px solid #38475a;border-radius:10px;min-height:43px;padding:10px 12px;max-width:100%}.control::placeholder{color:#8392a4}input.control{width:100%}select{cursor:pointer}.input-label{font-size:11px;color:#aab7c6;display:block;margin-bottom:6px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.question{font:650 clamp(22px,2vw,31px)/1.28 'Space Grotesk',sans-serif;margin:15px 0}.description{line-height:1.7;color:#b8c6d6}.answer{border-left:3px solid var(--hot);padding:13px 18px;border-radius:3px 12px 12px 3px;background:#261d2a;margin:17px 0}.answer.good{border-color:var(--teal);background:#152c2c}.answer p{margin:0 0 13px;color:#e1e8ef}.answer p:last-child{margin-bottom:0}.notice{background:#1a2630;border:1px solid #365468;color:#bcdce7;border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.6}.notice.amber{background:#302718;border-color:#78613b;color:#ffe3b2}.micro{font-size:11px;color:#a1adbc;line-height:1.6}
.trace{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.source-chip,.pill{border:1px solid #475a68;border-radius:999px;background:#1b2734;color:#c9dde7;padding:6px 10px;font-size:11px;font-weight:700}.source-chip{cursor:pointer}.source-chip:hover{background:#314255;color:white}.pill.pink{color:#ffadcb;border-color:#774765;background:#3b2233}.pill.green{color:#81ebc8;border-color:#376a59;background:#17372e}.pill.red{color:#ffb0aa;border-color:#854850;background:#381d27}.pill.amber{color:#ffdb9b;border-color:#86694b;background:#403020}.pill.gray{color:#b8c4d5}.sep{height:1px;background:var(--stroke);margin:20px 0}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:23px}.pipe{border:1px solid #374457;border-radius:13px;padding:16px 12px;background:#18202b;min-height:110px}.pipe strong{display:block;font-size:13px;margin-top:9px}.pipe small{display:block;margin-top:6px;line-height:1.5;color:#99a9ba}.pipe i{font-style:normal;color:var(--hot);font:700 13px 'Space Grotesk'}
.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:680px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;color:#91a3b9;text-transform:uppercase;padding:11px;border-bottom:1px solid #415167}.table td{padding:12px 11px;font-size:12px;border-bottom:1px solid #2c3748;vertical-align:top;color:#d0dae5}.table tr:hover td{background:#1e2a38}.table tbody tr{cursor:pointer}.table .sub{display:block;color:#8393a7;margin-top:3px;font-size:11px}
.filter-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(125px,1fr));gap:10px;margin-bottom:14px}.filter-row .control{width:100%}
.doc-inspector{min-height:220px}.doc-body{white-space:pre-wrap;line-height:1.8;color:#dce8f2;font-size:14px;background:#121c28;padding:18px;border-radius:12px;border:1px solid #334257}.keyline{display:grid;grid-template-columns:130px 1fr;gap:9px;font-size:12px;margin:8px 0}.keyline span:first-child{color:#8395ab}.candidate{display:flex;justify-content:space-between;gap:8px;background:#1b2935;border:1px solid #344557;padding:10px 12px;border-radius:9px;margin:7px 0}.candidate span{color:#bad4df}.candidate b{color:#9ef0cc;font-size:12px}
.term-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:11px}.term-card{background:#1d2634;border:1px solid #344154;border-radius:12px;padding:15px;text-align:left;color:#eef3f8}.term-card:hover,.term-card.active{border-color:var(--hot);background:#292438}.term-card strong{display:block;margin:7px 0}.term-card small{color:#a5b8c8}.term-detail{margin-top:16px}
.graph-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(235px,1fr);gap:15px}.graph-canvas{background:radial-gradient(ellipse at center,#1e2b3c,#0f1722);border:1px solid #344455;border-radius:16px;min-height:540px;position:relative;overflow:hidden}.graph-canvas svg{display:block;width:100%;height:540px}.graph-node{cursor:pointer}.graph-node circle{transition:.2s}.graph-node:hover circle{filter:drop-shadow(0 0 10px #ff82bd);stroke:#fff;stroke-width:2}.graph-node text{pointer-events:none;fill:#dbe5f1;font:11px 'DM Sans',sans-serif}.graph-edge{stroke:#607f8c;stroke-opacity:.35}.graph-edge.highlight{stroke:#fd87bd;stroke-opacity:.85;stroke-width:2}
.review-item{padding:17px;border:1px solid #374557;border-radius:13px;background:#18212e;margin-top:11px}.review-item h4{margin:9px 0}.review-item p{margin:5px 0 11px}.review-item .row{justify-content:space-between}.review-item .actions{display:flex;gap:7px;flex-wrap:wrap}.timeline{position:relative;padding-left:17px;border-left:2px solid #394a5b;margin-left:10px}.milestone{padding:0 0 23px 18px;position:relative}.milestone:before{content:"";position:absolute;left:-24px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--hot);border:3px solid #13202b}.milestone p{margin:4px 0;font-size:12px}.milestone strong{font-size:13px}
.comparison-card{border:1px solid #394656;background:#1b2632;padding:16px;border-radius:13px;margin-bottom:10px}.comparison-card h4{margin:10px 0}.comparison-card p{margin:0 0 11px;font-size:12px}.comparison-card button{margin-top:4px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tabs button{border:1px solid #39485c;padding:9px 12px;border-radius:10px;background:#202a37;color:#b8c7d8;font-weight:700}.tabs button.active{border-color:#f881b4;color:#ffb7d3;background:#402b39}
.progress{height:9px;border-radius:999px;background:#394452;overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#fc72a8,#76e5ca);border-radius:inherit}
.empty{padding:25px;text-align:center;color:#aab6c7;border:1px dashed #4b5765;border-radius:12px}.footer{margin-top:52px;border-top:1px solid var(--stroke);padding:22px 0;font-size:11px;color:#8492a5}
.hidden{display:none!important}
@media(max-width:1150px){.shell{grid-template-columns:80px minmax(0,1fr)}.sidebar{padding:23px 12px}.identity{padding:5px 5px 25px}.identity div:nth-child(2),.nav-title,.nav .nav-label,.sidebar-bottom .words{display:none}.nav button{justify-content:center;padding:12px}.nav .icon{width:auto}.sidebar-bottom{text-align:center}.pipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:840px){.hero,.columns,.columns.equal,.graph-layout{grid-template-columns:1fr}.hero-art{min-height:170px}.stat-grid{grid-template-columns:repeat(2,1fr)}.filter-row{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shell{display:block}.sidebar{height:auto;position:sticky;top:0;padding:8px 12px;flex-direction:row;align-items:center;overflow:auto;border-right:0;border-bottom:1px solid #354251}.identity{padding:0 12px 0 0}.identity div:nth-child(2){display:none}.brand-icon{width:28px;height:28px;font-size:19px}.nav{display:flex;gap:3px}.nav button{padding:9px 10px}.nav .icon{font-size:16px}.sidebar-bottom{display:none}.topbar{position:static;padding:13px 17px}.top-right .badge.warning{display:none}.content{padding:22px 16px 70px}.hero{margin-bottom:12px}.hero-art{display:none}.stat-grid{gap:8px}.stat{padding:13px}.stat .value{font-size:25px}.panel{padding:16px}.filter-row{grid-template-columns:1fr}.table{min-width:590px}.graph-canvas{min-height:420px}.graph-canvas svg{height:420px}.pipe{min-height:92px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Native evidence inspector modal: keyboard-dismissable and accessible on mobile. */
#docDialog{color:var(--text);background:transparent;border:0;padding:0;width:min(760px,calc(100vw - 28px));max-height:90vh;max-width:760px;box-shadow:var(--shadow)}
#docDialog::backdrop{background:#03060bc9;backdrop-filter:blur(7px)}
#docDialog .panel{max-height:85vh;overflow:auto;border:1px solid #617183}
#docDialog .trace{max-height:180px;overflow:auto}
#docDialog[open]{display:block}
a:hover{text-decoration-color:var(--hot)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.table tr[data-action="doc"]:focus-visible{outline:2px solid var(--hot);outline-offset:-3px}

.nav a.nav-ai-link{display:flex;align-items:center;gap:12px;width:100%;text-decoration:none;text-align:left;border:1px solid #9d567a69;background:#ff79b018;color:#ffc4dc;border-radius:11px;padding:12px 14px;font-weight:700;margin-top:8px}
.nav a.nav-ai-link:hover{background:#ff79b02e;border-color:#ff88bf;color:white}
.nav a.nav-ai-link .icon{display:inline-flex;width:22px;justify-content:center;font-size:20px}
@media(max-width:1150px){.nav a.nav-ai-link{justify-content:center;padding:12px}.nav a.nav-ai-link .nav-label{display:none}}
@media(max-width:560px){.nav a.nav-ai-link{padding:9px 10px;margin-top:0}}


/* Multi-layer evidence network: explicit source, meaning, context and decision layers. */
.graph-controls{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 15px}
.graph-controls>div{flex:1 1 210px}
.graph-controls select{width:100%;max-width:380px}
.graph-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 16px}
.graph-metrics>div{border:1px solid #394c5b;background:#172330;border-radius:12px;padding:11px}
.graph-metrics strong{display:block;color:#ffd0e4;font-size:21px}
.graph-metrics span{font-size:11px;color:#aabfcd}
.graph-canvas{overflow-x:auto;overflow-y:hidden;min-height:800px;scrollbar-color:#607386 #121924}
.graph-canvas svg{min-width:1060px;width:100%;height:800px;display:block}
.graph-column-head{font:700 13px 'DM Sans',sans-serif;letter-spacing:1px;fill:#aac0cd}
.graph-link{fill:none;stroke:#75a0b4;stroke-opacity:.22;stroke-width:1.6}
.graph-link.graph-risk{stroke:#fba3c2;stroke-dasharray:5 4;stroke-opacity:.36}
.graph-link.highlight{stroke:#ff89be;stroke-opacity:.9;stroke-width:3}
.graph-object{cursor:pointer;outline:none}
.graph-object rect{fill:#203648;stroke:#688ba0;stroke-width:1.4;transition:stroke .15s}
.graph-object.graph-document rect{fill:#152735;stroke:#4c7d93}
.graph-object.graph-context rect{fill:#322641;stroke:#da8cbd}
.graph-object.graph-issue rect{fill:#462e39;stroke:#f4a8bd}
.graph-object.graph-decision rect{fill:#1e4641;stroke:#84e8be}
.graph-object.selected rect,.graph-object:focus-visible rect{stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 7px #ff82bd)}
.graph-object.muted{opacity:.37}
.graph-object text{pointer-events:none;font:700 12px 'DM Sans',sans-serif;fill:#f0f6fd}
.graph-object.graph-document text{font-size:11px}
.graph-object .node-subtitle{font:10px 'DM Sans',sans-serif;fill:#b8c9d9}
.graph-detail{align-self:start;position:relative}
@media(max-width:850px){
  .graph-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .graph-canvas{min-height:800px}
  .graph-canvas svg{height:800px;min-width:1060px}
}
