:root{--bg:#080808;--surface:#0e0e0e;--surface-2:#141414;--surface-3:#1a1a1a;--border:#222;--border-soft:#1a1a1a;--border-strong:#333;--text:#fff;--text-muted:#787878;--text-quiet:#4a4a4a;--paper:#ede6d6;--paper-2:#e0d8c8;--paper-text:#1a1a1a;--paper-muted:#5a5a52;--paper-border:#c8c0ae;--copper:#b97955;--copper-light:#d49a78;--copper-ink:#8a4f2b;--mint:#50c881;--mint-soft:#3a9d62;--mint-bg:#50c8811a;--clay:#bc7169;--clay-bg:#bc71691a;--amber:#c5a060;--sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-full:999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 24px 60px #00000080;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-synthesis:none}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible,.evidence-row:focus-visible{outline:2px solid var(--copper-light);outline-offset:3px}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border-soft);background:var(--surface);flex-direction:column;height:100vh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.brand{font:700 13px var(--mono);letter-spacing:.15em;align-items:center;gap:11px;padding:0 9px 28px;display:flex}.brand-mark{width:25px;height:25px;color:var(--copper)}.local-chip{color:var(--text-muted);letter-spacing:.12em;margin-left:auto;font-size:11px}.nav-label{color:var(--text-muted);font:11px var(--mono);letter-spacing:.15em;padding:0 10px 9px}.sidebar nav{gap:2px;display:grid}.nav-button{border-radius:var(--r-sm);color:var(--text-muted);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px;font-size:13px;display:flex;position:relative}.nav-button:hover{background:var(--surface-2);color:var(--text)}.nav-button.active{background:var(--surface-3);color:var(--text)}.nav-button.active:before{content:"";background:var(--copper);width:2px;position:absolute;top:8px;bottom:8px;left:0}.nav-button>span:first-child{width:17px;color:var(--text-quiet);font:14px var(--mono);text-align:center}.connection{border-top:1px solid var(--border-soft);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding:18px 8px 4px;font-size:11px;display:flex}.connection i{border-radius:var(--r-full);background:var(--amber);width:7px;height:7px}.connection.connected i{background:var(--mint)}.connection.error i{background:var(--clay)}.connection small{width:100%;color:var(--text-muted);font:11px var(--mono);padding-left:16px;display:block}.main{min-width:0}.topbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;height:62px;padding:0 44px;display:flex}.crumb,.eyebrow{color:var(--copper-light);font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0}.main>:not(.topbar){max-width:1370px;margin-left:auto;margin-right:auto}.page-head{grid-template-columns:1fr auto;align-items:end;gap:24px;padding:44px 44px 0;display:grid}.page-head h1{font:600 clamp(38px, 3.6vw, 48px) / 1.05 var(--sans);letter-spacing:-.03em;color:var(--text);margin:9px 0 0}.intro{max-width:680px;color:var(--text-muted);margin:14px 44px 29px;font-size:14px;line-height:1.65}.button,.quiet-button{border-radius:var(--r-sm);color:var(--text-muted);font:600 11px var(--mono);letter-spacing:.06em;background:0 0;border:0}.button{border:1px solid var(--border);background:var(--copper);color:#fff;padding:11px 15px;font-weight:600}.button:hover{background:var(--copper-light);border-color:var(--copper-light)}.button.subtle,.quiet-button{border-bottom:1px solid var(--border-strong);padding:7px 0}.button.subtle{border:1px solid var(--border);color:var(--text);background:0 0;padding:9px 12px}.button.subtle:hover{border-color:var(--copper);background:#b979550f}.quiet-button:hover{color:var(--text)}.button span{padding-left:12px}.stats,.split{gap:12px;margin:0 44px 12px;display:grid}.stats{grid-template-columns:1fr 1fr .8fr .8fr}.metric,.panel{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.metric{min-height:142px;padding:20px}.metric:first-child{border-top:2px solid var(--copper)}.metric span,.metric small,.muted{color:var(--text-muted);font:11px var(--mono)}.metric strong{color:var(--text);font:600 35px / 1.1 var(--sans);margin:14px 0 10px;display:block}.metric small{color:var(--text-muted);line-height:1.5}.split{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 19px;display:flex}.panel h2{font:600 20px / 1.3 var(--sans);color:var(--text);margin:0}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:34px;display:flex}.empty-icon{border:1px solid var(--border);border-radius:var(--r-sm);width:30px;height:30px;color:var(--copper);place-items:center;margin-bottom:15px;display:grid}.empty h2{color:var(--text);font-size:20px}.empty p{max-width:460px;color:var(--text-muted);margin:9px 0 0;font-size:13px;line-height:1.65}.safeguards{padding:0 18px 18px}.safeguards h2{border-bottom:1px solid var(--border-soft);margin:0 -18px;padding:18px}.safeguards p,.notice{color:var(--text-muted);font-size:12px;line-height:1.65}.safeguards p{border-bottom:1px solid var(--border-soft);margin:0;padding:20px 3px}.safeguards p:last-child{border:0}.safeguards b,.notice strong{color:var(--text);font:600 11px var(--mono);display:block}.state{min-height:180px;color:var(--text-muted);justify-content:center;align-items:center;gap:9px;padding:24px;font-size:13px;display:flex}.state.error{border-left:2px solid var(--clay);background:var(--clay-bg);color:#d9aca8;flex-direction:column;justify-content:flex-start;align-items:flex-start}.state.error strong{color:#e2a39d}.spinner{border:2px solid var(--border-strong);border-top-color:var(--mint);border-radius:var(--r-full);width:16px;height:16px;animation:.85s linear infinite spin}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{background:var(--surface-3);color:var(--text-muted);font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 18px}td{border-top:1px solid var(--border-soft);color:var(--text-muted);vertical-align:top;padding:15px 18px}td strong,code{color:var(--paper);font:12px var(--mono);overflow-wrap:anywhere;display:block}td code{color:var(--text-muted);margin-top:5px;font-size:11px}.definition-list{margin:0}.definition-list>div{border-top:1px solid var(--border-soft);grid-template-columns:200px 1fr;gap:16px;padding:16px 18px;display:grid}.definition-list dt{color:var(--text-muted);font-size:12px}.definition-list dd{margin:0}.notice{border-left:2px solid var(--copper);background:var(--surface-2);margin:0 44px;padding:10px 0 10px 14px}.notice.warning{border-left-color:var(--clay);color:#d8ada9}.verify .panel{padding:18px}.verify label{justify-content:space-between;margin-bottom:9px;font-size:12px;font-weight:650;display:flex}.verify label span{color:var(--text-muted);font-weight:400}.verify textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:#c8c8c8;width:100%;min-height:300px;font:400 12px / 1.55 var(--mono);padding:13px}input::placeholder,textarea::placeholder{color:var(--text-quiet)}.form-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.form-footer small{color:var(--text-muted);font-size:11px}.result-panel h2{border-bottom:1px solid var(--border-soft);padding-bottom:16px}.decision{padding:18px}.decision>strong{font:600 25px / 1.2 var(--sans);color:var(--text)}.decision>code{color:var(--mint);margin:8px 0}.decision.invalid>code{color:var(--clay)}.decision p{color:var(--text-muted);font-size:12px;line-height:1.55}.decision dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;display:grid}.decision dl div{background:var(--surface-3);border-radius:var(--r-sm);padding:8px}.decision dt{color:var(--text-muted);font-size:11px}.decision dd{color:var(--text);font:12px var(--mono);margin:4px 0 0}.graph-shell{grid-template-columns:minmax(0,1fr) 280px;min-height:480px;display:grid}.graph-stage{background-image:linear-gradient(#22222280 1px,#0000 1px),linear-gradient(90deg,#22222280 1px,#0000 1px);background-size:32px 32px;min-height:480px;position:relative;overflow:hidden}.graph-lines{width:100%;height:100%;position:absolute;inset:0}.graph-lines line{stroke:var(--copper);stroke-width:.5px}.graph-node{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);min-width:86px;color:var(--text);justify-items:center;gap:5px;padding:7px 8px;display:grid;position:absolute;transform:translate(-50%,-50%)}.graph-node:hover,.graph-node.selected{border-color:var(--copper-light);box-shadow:0 0 0 3px #b9795524}.graph-node span{color:var(--copper);font-size:16px}.graph-node small{max-width:100px;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-detail{border-left:1px solid var(--border-soft);background:var(--surface-3);padding:18px}.graph-detail h2{margin-bottom:15px}.graph-detail p{color:var(--text-muted);font-size:12px;line-height:1.6}.evidence-list{margin:14px 44px;padding:18px}.evidence-list h2{margin-bottom:7px}.evidence-list p{margin-top:0}.evidence-row{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);width:100%;color:var(--text-muted);text-align:left;grid-template-columns:130px minmax(140px,1fr) minmax(160px,1.5fr);gap:12px;margin-top:8px;padding:12px;display:grid}.evidence-row:hover,.evidence-row[aria-pressed=true]{border-color:var(--copper)}.evidence-row span{color:var(--text-muted);font-size:11px}.evidence-row strong{color:var(--text);font-size:12px}.evidence-row code{color:var(--text-muted);font-size:11px}.mobile-top,.mobile-nav{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}@media (width<=960px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding-inline:11px}.brand{justify-content:center;padding-inline:4px}.brand>span:not(.brand-mark),.nav-label,.nav-button span:last-child,.connection span,.connection small{display:none}.nav-button,.connection{justify-content:center}.nav-button>span:first-child{width:auto}.stats{grid-template-columns:1fr 1fr}.split,.graph-shell{grid-template-columns:1fr}.graph-detail{border-top:1px solid var(--border-soft);border-left:0}}@media (width<=640px){.app-shell{padding-bottom:67px;display:block}.sidebar,.topbar{display:none}.mobile-top{border-bottom:1px solid var(--border-soft);background:var(--surface);justify-content:space-between;align-items:center;height:58px;padding:0 18px;display:flex}.mobile-top .brand{padding:0}.mobile-top .brand>span{display:inline}.mobile-top .local-chip{display:none}.mobile-top .connection{border:0;margin:0;padding:0;display:flex}.page-head{grid-template-columns:1fr;gap:24px;padding:30px 18px 0}.page-head h1{font-size:38px}.intro{margin:10px 18px 20px}.stats,.split{gap:9px;margin-left:18px;margin-right:18px}.metric{min-height:125px;padding:16px}.metric strong{font-size:28px}.empty{min-height:230px;padding:28px 18px}.verify .panel{padding:14px}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%}.graph-stage{min-height:410px}.graph-shell{min-height:0}.evidence-list{margin:10px 18px 74px;padding:14px}.evidence-row,.definition-list>div{grid-template-columns:1fr}.definition-list>div{gap:6px}.notice{margin:0 18px 74px}.mobile-nav{z-index:5;border-top:1px solid var(--border-soft);background:var(--surface);grid-template-columns:repeat(5,1fr);height:67px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav .nav-button{color:var(--text-muted);font:11px var(--mono);place-items:center;gap:3px;padding:7px 2px;display:grid}.mobile-nav .nav-button span:last-child{display:block}.mobile-nav .nav-button.active{border-top:2px solid var(--copper);color:var(--text);background:0 0}.mobile-nav .nav-button.active:before{display:none}.mobile-nav .nav-button>span:first-child{font-size:15px}}@media (width<=420px){.stats{grid-template-columns:1fr}.metric{min-height:110px}.decision dl{grid-template-columns:1fr}}.topbar-actions{align-items:center;gap:18px;display:flex}.user-chip{max-width:220px;color:var(--text-muted);font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-screen{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 18px;display:flex}.auth-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;width:100%;max-width:360px;padding:30px 28px 28px;display:flex}.auth-card .brand{justify-content:flex-start;padding:0 0 26px}.auth-card h1{font:600 30px / 1.15 var(--sans);letter-spacing:-.02em;color:var(--text);margin:0}.auth-card p{max-width:100%;color:var(--text-muted);margin:12px 0 0;font-size:13px;line-height:1.6}.auth-card code{color:var(--paper);font:12px var(--mono);display:inline}.auth-sub{margin-bottom:20px}.auth-form{flex-direction:column;gap:8px;margin-top:4px;display:flex}.auth-form label{color:var(--text-muted);font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.auth-form input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:13px var(--mono);padding:11px 13px}.auth-form input:focus-visible{outline:2px solid var(--copper-light);outline-offset:2px}.auth-error{border-left:2px solid var(--clay);background:var(--clay-bg);color:#d9aca8;margin:4px 0 0;padding:9px 11px;font-size:12px}.auth-form .button{width:100%;margin-top:10px;padding:12px 15px}@media (width<=640px){.topbar-actions{gap:12px}.user-chip{display:none}}
