@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,400;1,700&family=Source+Serif+4:ital,wght@0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--np-paper: #F2EFE7;--np-surface: #EDE9DE;--np-border: #D8D5CB;--np-rule: #C9C6BB;--np-text: #1A1A18;--np-muted: #5F5E5A;--np-faint: #8A8880;--rust: #993C1D;--rust-dim: rgba(153,60,29,.1);--pass: #2D6A2D;--pass-dim: rgba(45,106,45,.12);--fail: #8B1A1A;--fail-dim: rgba(139,26,26,.12);--warn: #7A5200;--warn-dim: rgba(122,82,0,.12);--inc: #5F5E5A;--inc-dim: rgba(95,94,90,.12);--font-serif: "Source Serif 4", "Georgia", serif;--font-head: "Playfair Display", "Georgia", serif;--font-mono: "JetBrains Mono", "Menlo", "Courier New", monospace;--font-ui: system-ui, -apple-system, sans-serif;--font-sans: system-ui, -apple-system, sans-serif;--r: 0px;--r2: 0px;--col-rule: 1px solid var(--np-rule);--page-max: 960px;--page-pad: 40px}html,body,#root{height:100%;background:var(--np-paper);color:var(--np-text);font-family:var(--font-serif);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header-wrap{background:var(--np-paper)}.header-inner{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad);width:100%}.masthead{background:var(--np-paper);padding-top:22px;text-align:center}.masthead-title{font-family:var(--font-head);font-size:23px;font-weight:900;letter-spacing:.3em;margin-left:-.3em;color:var(--np-text);line-height:1;text-transform:uppercase;display:inline-block}.masthead-rule-thin{margin:8px 0 0;border:none;border-top:1px solid var(--np-text)}.masthead-rule-double{margin:0;border:none;border-top:3px double var(--np-text)}.dateline{background:var(--np-paper);padding:5px 0;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--np-muted)}.dateline-item{flex:1;text-align:center}.dateline-item:first-child{text-align:left}.dateline-item:last-child{text-align:right}.top-nav{display:flex;align-items:center;justify-content:center;gap:0;background:var(--np-surface);border-top:1px solid var(--np-rule);border-bottom:2px solid var(--np-text);flex-wrap:wrap}.nav-btn{background:none;border:none;border-bottom:3px solid transparent;color:var(--np-muted);cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;padding:10px 14px 8px;text-transform:uppercase;transition:color .12s,border-color .12s}.nav-btn:hover{color:var(--np-text)}.nav-btn.active{color:var(--rust);border-bottom-color:var(--rust)}.section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--rust);text-transform:uppercase;margin-bottom:8px}.rule-hair{border:none;border-top:1px solid var(--np-rule);margin:16px 0}.rule-muted{border:none;border-top:1px solid var(--np-border);margin:12px 0}.rule-double{border:none;border-top:3px double var(--np-text);margin:24px 0}.screen{flex:1;overflow-y:auto;display:flex;flex-direction:column}.page-body{max-width:var(--page-max);margin:0 auto;padding:32px var(--page-pad) 48px;width:100%}.article-dateline{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--np-faint);text-align:center;text-transform:uppercase;margin-bottom:10px}.article-columns{column-count:2;column-gap:40px;column-rule:var(--col-rule)}@media(max-width:700px){.article-columns{column-count:1}.page-body{padding:20px 18px 32px}.masthead{padding-top:16px}.header-inner{padding:0 18px}.top-nav{justify-content:flex-start}}.article-columns>p:first-of-type:first-letter,.prose-drop>p:first-of-type:first-letter{font-family:var(--font-head);font-size:3.8em;font-weight:700;line-height:.85;float:left;margin:.06em .07em 0 0;color:var(--np-text)}.prose p{font-family:var(--font-serif);font-size:15px;line-height:1.7;margin-bottom:14px;color:var(--np-text)}.prose p:last-child{margin-bottom:0}h1,.h1{font-family:var(--font-head);font-size:clamp(24px,4vw,38px);font-weight:700;line-height:1.2;color:var(--np-text);margin-bottom:10px}h2,.h2{font-family:var(--font-head);font-size:22px;font-weight:700;line-height:1.25;color:var(--np-text);margin-bottom:8px}h3,.h3{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--np-text);margin-bottom:6px}.standfirst{font-family:var(--font-serif);font-style:italic;font-size:16px;color:var(--np-muted);line-height:1.55;margin-bottom:18px}.figure-inset{margin:18px 0;break-inside:avoid}.figure-inset-rule-top{border:none;border-top:1px solid var(--np-text);margin:0 0 8px}.figure-inset-plot{background:var(--np-surface);border:none;padding:10px}.figure-inset-rule-bottom{border:none;border-top:1px solid var(--np-text);margin:8px 0 4px}.figure-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--np-muted);text-transform:uppercase;margin-bottom:3px}.figure-inset figcaption{font-family:var(--font-serif);font-style:italic;font-size:12px;color:var(--np-muted);line-height:1.5}.dispo-chip{display:inline-flex;align-items:center;border-radius:0;padding:1px 8px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:lowercase}.dispo-chip.candidate{background:var(--pass-dim);color:var(--pass)}.dispo-chip.candidate_with_caveats{background:var(--warn-dim);color:var(--warn)}.dispo-chip.false_positive{background:var(--fail-dim);color:var(--fail)}.dispo-chip.ambiguous{background:var(--inc-dim);color:var(--inc)}.vet-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--np-border);font-size:14px}.vet-row:last-child{border-bottom:none}.vet-row.triggering{background:#8b1a1a0a}.vet-numeral{flex-shrink:0;width:24px;font-family:var(--font-mono);font-size:10px;color:var(--np-faint);padding-top:12px;text-align:right;letter-spacing:.04em}.vet-badge{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:0;font-size:16px;line-height:1}.vet-badge.PASS{background:var(--pass-dim);color:var(--pass)}.vet-badge.FAIL{background:var(--fail-dim);color:var(--fail)}.vet-badge.FLAG{background:var(--warn-dim);color:var(--warn)}.vet-badge.INCONCLUSIVE{background:var(--inc-dim);color:var(--inc)}.vet-body{flex:1}.vet-headline{font-family:var(--font-serif);font-weight:600;font-size:14px;color:var(--np-text)}.vet-why{font-size:13px;color:var(--np-muted);line-height:1.5;margin-top:2px}.vet-trigger-label{font-family:var(--font-mono);font-size:10px;color:var(--fail);margin-left:8px;letter-spacing:.04em}.vet-row.inconclusive{background:transparent}.vet-inconclusive-reason{font-family:var(--font-serif);font-size:13px;color:var(--np-muted);line-height:1.55;margin-top:4px;font-style:italic;border-left:2px solid var(--np-border);padding-left:8px}.vet-badge.NOT_RUN{background:var(--np-surface);color:var(--np-faint);border:1px solid var(--np-border);font-family:var(--font-mono);font-size:18px}.vet-row.not-run{opacity:.6}.vet-not-run-label{font-family:var(--font-mono);font-size:9px;color:var(--np-faint);margin-left:8px;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border:1px solid var(--np-border);padding:1px 4px}.vet-not-run-reason{font-family:var(--font-mono);font-size:11px;color:var(--np-faint);line-height:1.5;margin-top:4px}.expander-btn{background:none;border:1px solid var(--np-rule);border-radius:0;color:var(--np-muted);cursor:pointer;font-family:var(--font-mono);font-size:10px;padding:1px 7px;margin-top:4px;transition:border-color .1s,color .1s}.expander-btn:hover{border-color:var(--rust);color:var(--rust)}.expander-panel{background:var(--np-surface);border:1px solid var(--np-border);border-radius:0;padding:8px 10px;margin-top:5px;font-family:var(--font-mono);font-size:12px;color:var(--np-muted);line-height:1.8}.detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;border-bottom:1px solid var(--np-border);font-size:13px}.detail-row:last-child{border-bottom:none}.detail-row .lbl{color:var(--np-muted);flex-shrink:0;font-family:var(--font-serif)}.detail-row .val{color:var(--np-text);text-align:right;font-family:var(--font-mono);font-size:12px}.detail-row .val[data-source]{cursor:help;text-decoration:underline dotted;text-decoration-color:var(--np-rule)}.lc-container{padding:2px 0}.btn-primary{background:var(--np-text);border:none;border-radius:0;color:var(--np-paper);cursor:pointer;font-family:var(--font-serif);font-size:14px;font-weight:600;padding:10px 22px;transition:opacity .1s;display:inline-flex;align-items:center;gap:7px}.btn-primary:hover{opacity:.82}.btn-primary:disabled{opacity:.38;cursor:default}.btn-secondary{background:none;border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);cursor:pointer;font-family:var(--font-serif);font-size:14px;padding:8px 18px;transition:border-color .1s}.btn-secondary:hover{border-color:var(--rust);color:var(--rust)}.target-chip{background:var(--np-surface);border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);cursor:pointer;font-family:var(--font-mono);font-size:11px;padding:4px 10px;transition:border-color .1s,background .1s}.target-chip:hover{border-color:var(--rust);background:var(--rust-dim)}.search-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-row input,.search-row select{background:var(--np-paper);border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);font-family:var(--font-serif);font-size:14px;padding:7px 10px;outline:none;transition:border-color .12s}.search-row input{min-width:220px;flex:1}.search-row input:focus,.search-row select:focus{border-color:var(--rust)}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--np-rule);margin:24px 0}.how-step{padding:18px 20px;border-right:1px solid var(--np-rule)}.how-step:last-child{border-right:none}.how-step-num{font-family:var(--font-head);font-size:28px;font-weight:700;color:var(--np-rule);line-height:1;margin-bottom:4px}.how-step-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--np-text);margin-bottom:4px}.how-step-body{font-family:var(--font-serif);font-size:13px;color:var(--np-muted);line-height:1.55}@media(max-width:700px){.how-strip{grid-template-columns:1fr}.how-step{border-right:none;border-bottom:1px solid var(--np-rule)}.how-step:last-child{border-bottom:none}}.verdict-card{border:1px solid var(--np-rule);background:var(--np-surface);padding:20px 24px;margin:24px 0}.orbital-fallback{padding:8px 0}.orbital-fallback-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--np-border);font-size:13px;width:100%;text-align:left;background:transparent;border-left:none;border-right:none;border-top:none;cursor:pointer;transition:background .1s}.orbital-fallback-row:hover{background:var(--np-surface)}.orbital-fallback-row.active{background:var(--rust-dim);border-left:3px solid var(--rust);padding-left:5px}.orbital-fallback-row:last-child{border-bottom:none}.fallback-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fallback-tce-id{color:var(--np-text);min-width:140px;font-family:var(--font-mono);font-size:12px}.fallback-fields{display:flex;gap:20px;color:var(--np-muted);flex-wrap:wrap}.fallback-field{display:flex;flex-direction:column}.fallback-field .f-label{font-family:var(--font-mono);font-size:10px;color:var(--np-faint);letter-spacing:.06em}.fallback-field .f-value{font-family:var(--font-mono);font-size:12px;color:var(--np-text)}.chat-layout{display:flex;flex-direction:column;height:100%;overflow:hidden;min-height:0}.chat-messages{flex:1;overflow-y:auto;padding:20px 32px;display:flex;flex-direction:column;gap:16px}.chat-bubble{max-width:88%;padding:12px 16px;border-radius:0;font-family:var(--font-serif);font-size:14px;line-height:1.65}.chat-bubble.user{align-self:flex-end;background:var(--np-surface);border:1px solid var(--np-rule);color:var(--np-text)}.chat-bubble.assistant{align-self:flex-start;background:#fefcf7;border:1px solid var(--np-rule);border-left:3px solid var(--rust);color:var(--np-text)}.chat-bubble.offline{border-color:var(--warn-dim)}.offline-badge{font-family:var(--font-mono);font-size:10px;color:var(--warn);margin-bottom:6px;letter-spacing:.05em}.chat-sources{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}.source-chip{background:var(--np-surface);border:1px solid var(--np-rule);border-radius:0;color:var(--np-muted);cursor:pointer;font-family:var(--font-mono);font-size:10px;padding:2px 7px;transition:background .1s,color .1s}.source-chip:hover,.source-chip.highlighted{background:var(--rust-dim);color:var(--rust);border-color:var(--rust)}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 32px;border-top:1px solid var(--np-border)}.suggestion-btn{background:var(--np-surface);border:1px solid var(--np-rule);border-radius:0;color:var(--np-muted);cursor:pointer;font-family:var(--font-serif);font-size:13px;padding:5px 12px;transition:border-color .1s,color .1s}.suggestion-btn:hover{border-color:var(--rust);color:var(--rust)}.chat-input-row{display:flex;gap:8px;padding:12px 32px;border-top:1px solid var(--np-rule);flex-shrink:0;background:var(--np-surface)}.chat-input-row input{flex:1;background:var(--np-paper);border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);font-family:var(--font-serif);font-size:14px;padding:8px 12px;outline:none}.chat-input-row input:focus{border-color:var(--rust)}.chat-input-row button{background:var(--np-text);border:none;border-radius:0;color:var(--np-paper);cursor:pointer;font-family:var(--font-serif);font-size:14px;font-weight:600;padding:8px 18px}.chat-input-row button:disabled{opacity:.4;cursor:default}.drop-zone{border:2px dashed var(--np-rule);border-radius:0;padding:40px 24px;text-align:center;color:var(--np-muted);font-family:var(--font-serif);font-size:15px;cursor:pointer;transition:border-color .15s,background .15s;outline:none}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--rust);background:var(--rust-dim)}.drop-zone.has-file{border-color:var(--pass);background:var(--pass-dim)}.col-map-table{width:100%;border-collapse:collapse;margin:10px 0}.col-map-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--rust);text-align:left;padding:4px 8px;border-bottom:1px solid var(--np-rule);text-transform:uppercase}.col-map-table td{padding:6px 8px;border-bottom:1px solid var(--np-border);font-size:13px}.col-map-table select{background:var(--np-paper);border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);font-family:var(--font-serif);font-size:13px;padding:3px 7px;width:100%}.time-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.time-card{border:1px solid var(--np-rule);border-radius:0;padding:12px 14px;cursor:pointer;transition:border-color .1s,background .1s;background:var(--np-paper)}.time-card:hover{border-color:var(--rust)}.time-card.selected{border-color:var(--rust);background:var(--rust-dim)}.time-card-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--np-text);margin-bottom:4px}.time-card-desc{font-family:var(--font-serif);font-size:12px;color:var(--np-muted);line-height:1.45}@media(max-width:700px){.time-cards{grid-template-columns:1fr}}.prov-table{width:100%;border-collapse:collapse}.prov-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--rust);text-align:left;padding:5px 8px;border-bottom:2px solid var(--np-rule);text-transform:uppercase}.prov-table td{padding:6px 8px;border-bottom:1px solid var(--np-border);font-size:13px}.prov-table td.mono{font-family:var(--font-mono);font-size:12px}.wired-chip{display:inline-block;background:var(--pass-dim);color:var(--pass);border-radius:0;padding:1px 7px;font-family:var(--font-mono);font-size:10px;font-weight:600}.aspir-chip{display:inline-block;background:var(--inc-dim);color:var(--inc);border-radius:0;padding:1px 7px;font-family:var(--font-mono);font-size:10px;font-weight:600}.non-claim-block{background:var(--np-surface);border:1px solid var(--np-rule);border-left:4px solid var(--rust);border-radius:0;padding:14px 16px}.non-claim-block .nc-locked{font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--np-text);margin-bottom:8px}.non-claim-block ul{list-style:none;padding:0}.non-claim-block li{font-family:var(--font-serif);font-size:13px;color:var(--np-muted);padding:3px 0;border-bottom:1px solid var(--np-border);line-height:1.55}.non-claim-block li:last-child{border-bottom:none}.non-claim-block li:before{content:"— ";color:var(--np-faint)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--np-rule);border:1px solid var(--np-rule);margin:12px 0}.metric-cell{background:var(--np-surface);padding:14px 16px}.metric-cell .m-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--rust);text-transform:uppercase}.metric-cell .m-value{font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--np-text);margin-top:4px}.metric-cell .m-baseline{font-family:var(--font-mono);font-size:11px;color:var(--np-muted);margin-top:2px}.leakage-badge{display:inline-flex;align-items:center;gap:6px;border-radius:0;font-family:var(--font-mono);font-size:12px;padding:4px 10px}.leakage-badge.pass{background:var(--pass-dim);color:var(--pass)}.leakage-badge.fail{background:var(--fail-dim);color:var(--fail)}.panel-section{margin-bottom:28px}.step-section{margin-bottom:24px}.rejection-box{background:var(--fail-dim);border:1px solid rgba(139,26,26,.3);border-radius:0;color:var(--fail);font-family:var(--font-mono);font-size:12px;padding:10px 12px;margin-top:10px}.no-data{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:var(--np-muted);font-family:var(--font-serif);font-style:italic;font-size:15px;text-align:center;line-height:1.7}.console-inner{padding:6px 14px;font-family:var(--font-mono);font-size:11px;line-height:1.6}.console-line{display:flex;gap:10px;border-bottom:1px solid var(--np-border);padding:3px 0}.con-ts{color:var(--np-faint);flex-shrink:0;min-width:80px}.con-method{flex-shrink:0;width:38px;color:var(--rust)}.con-url{color:var(--np-text);flex:1}.con-status{flex-shrink:0;min-width:30px}.con-ms{color:var(--np-muted);flex-shrink:0;min-width:56px;text-align:right}.con-status.ok{color:var(--pass)}.con-status.err{color:var(--fail)}.job-status-badge{font-family:var(--font-mono);font-size:10px;border-radius:0;padding:2px 8px;letter-spacing:.05em}.job-status-badge.queued{background:var(--inc-dim);color:var(--inc)}.job-status-badge.running{background:var(--rust-dim);color:var(--rust)}.job-status-badge.done{background:var(--pass-dim);color:var(--pass)}.job-status-badge.failed{background:var(--fail-dim);color:var(--fail)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--np-border);border-top-color:var(--rust);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.disclaimer-primary{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;background:var(--np-surface);border:1px solid var(--np-rule);border-left:4px solid var(--warn);margin-bottom:18px;font-family:var(--font-serif);font-size:13px;color:var(--np-muted);line-height:1.55}.disclaimer-primary-label{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--warn);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding-top:2px;flex-shrink:0}.disclaimer-primary strong{font-family:var(--font-mono);font-size:11px;color:var(--np-text)}.disclaimer-secondary{font-family:var(--font-serif);font-style:italic;font-size:12px;color:var(--np-faint);line-height:1.5;margin-top:4px}.vet-why-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:var(--font-mono);font-size:10px;color:var(--np-faint);letter-spacing:.04em;text-decoration:underline dotted;text-decoration-color:var(--np-faint)}.vet-why-btn:hover{color:var(--np-muted)}.vet-why-detail{font-family:var(--font-serif);font-style:italic;font-size:12px;color:var(--np-faint);line-height:1.5;margin-top:3px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--np-border);border-radius:0}:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.dl-btn{display:flex;align-items:center;gap:6px;background:var(--np-surface);border:1px solid var(--np-rule);border-radius:0;color:var(--np-text);cursor:pointer;font-family:var(--font-serif);font-size:13px;padding:6px 12px;margin:4px 0;width:100%;text-align:left;transition:border-color .12s}.dl-btn:hover{border-color:var(--rust)}a{color:var(--rust);text-decoration:underline}a:hover{opacity:.8}.tag{background:var(--np-surface);border:1px solid var(--np-rule);border-radius:0;padding:1px 6px;font-family:var(--font-mono);font-size:10px;color:var(--np-muted);letter-spacing:.04em}
