*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--cyan)}::selection{background:#3ee0cf47}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(900px 480px at 14% -8%,rgba(62,224,207,.05),transparent 60%),radial-gradient(700px 420px at 100% 0%,rgba(45,190,123,.035),transparent 55%),var(--ground)}.topnav{flex:none;height:56px;display:flex;align-items:center;gap:24px;padding:0 20px;border-bottom:1px solid var(--hair);background:#161b218c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}.wordmark{font-size:17px;letter-spacing:-.01em;display:flex;align-items:baseline}.wm-veri{font-weight:700;letter-spacing:-.02em}.wm-set{font-family:var(--font-mono);font-weight:600;letter-spacing:.02em;color:var(--ink-dim);margin-left:1px}.nav-links{display:flex;align-items:center;gap:4px}.nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;text-decoration:none;padding:7px 13px;border-radius:999px;cursor:pointer;color:var(--ink-dim);font-weight:500;font-size:13px;transition:color .18s var(--ease),background .18s var(--ease)}.nav-link:hover{color:var(--ink)}.nav-link.active{background:var(--surface-3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair-strong)}.nav-spacer{flex:1}.tenant-pill{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--hair);border-radius:999px;padding:6px 12px 6px 10px;font-size:12px;color:var(--ink-dim)}.tenant-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #2dbe7b24;flex:none}.tenant-dot.mock{background:var(--amber);box-shadow:0 0 0 3px #e8a33d24}.tenant-key{font-family:var(--font-mono);color:var(--ink-faint)}.logout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--ink-faint);cursor:pointer;font-size:12px;padding:0;margin-left:2px;text-decoration:underline;text-decoration-color:transparent}.logout-btn:hover{color:var(--ink);text-decoration-color:var(--hair-strong)}.mock-banner{flex:none;background:var(--amber-dim);color:var(--amber);font-family:var(--font-mono);font-size:11.5px;text-align:center;padding:5px;border-bottom:1px solid rgba(232,163,61,.25)}.page-body{flex:1;min-height:0;overflow:auto}.page-wrap{max-width:1180px;margin:0 auto;padding:40px 32px 80px}.page-wrap.wide{max-width:1320px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;display:flex;align-items:center;gap:8px}.eyebrow .dotted{flex:1;height:1px;background-image:linear-gradient(to right,var(--hair-strong) 40%,transparent 0%);background-size:5px 1px;background-repeat:repeat-x;max-width:120px}h1.page-title{font-size:26px;font-weight:700;letter-spacing:-.015em;margin:0 0 8px}p.page-sub{color:var(--ink-dim);font-size:14px;margin:0 0 28px;max-width:640px}.field-block{margin-bottom:28px}.field-label{font-size:12px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;display:flex;align-items:center;gap:10px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-sm);padding:11px 20px;font-size:13.5px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .12s var(--ease),box-shadow .15s var(--ease),filter .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--cyan),#29b6a8);color:#08201c;box-shadow:0 0 0 1px #3ee0cf40,0 8px 22px #3ee0cf2e}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:transparent;border-color:var(--hair-strong);color:var(--ink-dim)}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:#ffffff3d}.btn-danger{background:transparent;border-color:#e5484d66;color:#f2a6a8}.btn-danger:hover:not(:disabled){background:var(--red-dim)}.btn-sm{padding:6px 12px;font-size:12px}.code-preview{margin-top:12px;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-sm);padding:14px 16px;font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);white-space:pre-wrap;word-break:break-word}.card{background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:22px}.cap{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px}.status-pill{font-size:11px;font-family:var(--font-mono);padding:3px 9px;border-radius:999px;background:var(--cyan-dim);color:var(--cyan);letter-spacing:.02em;white-space:nowrap}.status-pill.tone-done{background:var(--green-dim);color:var(--green)}.status-pill.tone-idle{background:var(--surface-2);color:var(--ink-faint)}.status-pill.tone-fail{background:var(--red-dim);color:var(--red)}.status-pill.tone-warn{background:var(--amber-dim);color:var(--amber)}.empty-state{text-align:center;padding:56px 24px;border:1px dashed var(--hair-strong);border-radius:12px;color:var(--ink-dim)}.empty-state h3{color:var(--ink);font-size:15px;margin:0 0 8px}.empty-state p{font-size:13px;margin:0 0 18px;color:var(--ink-faint)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(10px);background:var(--surface-3);border:1px solid var(--hair-strong);color:var(--ink);padding:9px 16px;border-radius:8px;font-size:12.5px;box-shadow:0 10px 30px #0006;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:50}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}table.data-table{width:100%;border-collapse:separate;border-spacing:0}table.data-table thead th{position:sticky;top:0;background:var(--ground);z-index:3;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600;padding:0 10px 10px;border-bottom:1px solid var(--hair-strong);white-space:nowrap}table.data-table td{padding:10px;border-bottom:1px solid var(--hair);vertical-align:middle}table.data-table tbody tr:hover{background:#ffffff04}.tabs{display:flex;gap:2px;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);padding:3px;width:fit-content;margin-bottom:24px}.tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;color:var(--ink-dim);font-size:13px;font-weight:500}.tab-btn:hover{color:var(--ink)}.tab-btn.active{background:var(--surface-3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair-strong)}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseUp{0%{transform:scale(1)}35%{transform:scale(1.16);text-shadow:0 0 14px rgba(62,224,207,.55)}to{transform:scale(1);text-shadow:none}}.pulse{animation:pulseUp .5s var(--ease)}@media (prefers-reduced-motion: reduce){.pulse,table.data-table tbody tr{animation:none!important}}:root{--ground: #0e1114;--surface: #161b21;--surface-2: #1b222a;--surface-3: #212933;--ink: #f3f5f3;--ink-dim: rgba(243, 245, 243, .62);--ink-faint: rgba(243, 245, 243, .38);--hair: rgba(255, 255, 255, .07);--hair-strong: rgba(255, 255, 255, .14);--green: #2dbe7b;--green-dim: rgba(45, 190, 123, .14);--red: #e5484d;--red-dim: rgba(229, 72, 77, .14);--amber: #e8a33d;--amber-dim: rgba(232, 163, 61, .14);--cyan: #3ee0cf;--cyan-dim: rgba(62, 224, 207, .14);--money: #9fdcc4;--radius: 8px;--radius-sm: 6px;--font-ui: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--ease: cubic-bezier(.16, 1, .3, 1)}.composer-wrap{max-width:1180px;margin:0 auto;padding:40px 32px 80px;display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}.composer-main{min-width:0}.entity-toggle{display:inline-flex;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);padding:3px;gap:2px}.entity-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:7px 14px;border-radius:5px;cursor:pointer;color:var(--ink-dim);font-size:13px;font-weight:500;transition:all .16s var(--ease)}.entity-toggle button:hover{color:var(--ink)}.entity-toggle button.active{background:var(--surface-3);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair-strong)}textarea.query-box{width:100%;min-height:76px;resize:vertical;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);color:var(--ink);padding:14px 16px;font-size:15px;line-height:1.5;outline:none;transition:border-color .15s}textarea.query-box:focus{border-color:#3ee0cf73}.suggest-criteria-btn{margin-left:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--cyan-dim);border:1px solid rgba(62,224,207,.35);color:var(--cyan);border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer;transition:filter .15s var(--ease),opacity .15s}.suggest-criteria-btn:hover:not(:disabled){filter:brightness(1.12)}.suggest-criteria-btn:disabled{opacity:.5;cursor:not-allowed}.suggest-warning{font-size:12px;color:var(--ink-faint);margin-bottom:8px}.criteria-list{border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.criteria-row{display:grid;grid-template-columns:22px 1fr 92px 128px 108px 28px;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--hair)}.criteria-row:last-of-type{border-bottom:none}.crit-index{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.crit-text{background:transparent;border:none;outline:none;color:var(--ink);font-size:13.5px;width:100%;padding:4px 0}.crit-text::placeholder{color:var(--ink-faint)}.hardsoft{display:flex;background:var(--surface-2);border:1px solid var(--hair);border-radius:999px;padding:2px;font-size:11px}.hardsoft button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:999px;padding:3px 9px;cursor:pointer;color:var(--ink-faint);font-family:var(--font-mono)}.hardsoft button.active[data-v=hard]{background:#e5484d29;color:#f2a6a8}.hardsoft button.active[data-v=soft]{background:var(--cyan-dim);color:var(--cyan)}.stepper{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--ink-dim)}.stepper button{width:20px;height:20px;border-radius:5px;background:var(--surface-2);border:1px solid var(--hair);color:var(--ink-dim);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.stepper button:hover{color:var(--ink);border-color:var(--hair-strong)}.stepper .n{min-width:22px;text-align:center}.stepper .unit{color:var(--ink-faint);font-size:10.5px}.crit-label-input{background:var(--surface-2);border:1px solid var(--hair);border-radius:5px;color:var(--ink-dim);font-family:var(--font-mono);font-size:11.5px;padding:5px 8px;width:100%;outline:none;text-align:center}.crit-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--ink-faint);cursor:pointer;font-size:15px;line-height:1;padding:4px}.crit-remove:hover{color:var(--red)}.add-criterion-row{position:relative;padding:12px 14px}.add-criterion-btn{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px dashed var(--hair-strong);border-radius:6px;color:var(--ink-faint);padding:9px;cursor:pointer;font-size:12.5px;transition:color .15s,border-color .15s}.add-criterion-btn:hover:not(:disabled){color:var(--cyan);border-color:#3ee0cf59}.easter-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);background:var(--surface-3);border:1px solid var(--hair-strong);border-radius:6px;padding:7px 11px;font-size:11.5px;color:var(--ink-dim);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s var(--ease),transform .15s var(--ease);box-shadow:0 8px 24px #0006}.easter-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--surface-3)}.add-criterion-row:hover .easter-tip{opacity:1;transform:translate(-50%)}.row-count{display:flex;align-items:center;gap:10px}input.count-input{width:80px;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:14px;padding:8px 10px;outline:none}input.count-input:focus{border-color:#3ee0cf73}.row-count .hint{color:var(--ink-faint);font-size:12px}.exclusion-list{display:flex;flex-direction:column;gap:9px}.exclusion-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.exclusion-item input[type=checkbox]{accent-color:var(--cyan);width:15px;height:15px;flex:none}.exclusion-item .name{flex:1}.exclusion-item .count{font-family:var(--font-mono);color:var(--ink-dim);font-size:12.5px}.exclusion-item.locked{opacity:.85}.exclusion-item .lock{color:var(--ink-faint);font-size:11px}.exclusion-item .always{font-size:10px;font-family:var(--font-mono);color:var(--cyan);background:var(--cyan-dim);padding:2px 6px;border-radius:4px;letter-spacing:.03em}.composer-actions{display:flex;gap:10px;margin-top:8px}.composer-footer{margin-top:14px;font-size:12px;color:var(--ink-faint)}.composer-footer button{background:none;border:none;color:var(--ink-faint);text-decoration:underline;text-decoration-color:var(--hair-strong);cursor:pointer;padding:0}.composer-footer button:hover{color:var(--cyan);text-decoration-color:var(--cyan)}.estimate-card{position:sticky;top:16px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:22px}.estimate-price{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--ink);line-height:1.25}.estimate-price .money{color:var(--money)}.estimate-sub{margin-top:12px;padding-top:12px;border-top:1px solid var(--hair);color:var(--ink-dim);font-size:12.5px;font-family:var(--font-mono);line-height:1.7}.estimate-sub .accent{color:var(--cyan)}.live-grid{height:calc(100vh - 56px);display:grid;grid-template-columns:280px 1fr;grid-template-rows:1fr 72px;grid-template-areas:"rail matrix" "rail flight"}.live-grid.settled{grid-template-rows:1fr;grid-template-areas:"rail matrix"}.funnel-rail{grid-area:rail;border-right:1px solid var(--hair);background:#161b2166;padding:20px 16px 16px;overflow-y:auto;position:relative}.run-meta{margin-bottom:18px}.run-meta .rid{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.status-row{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.elapsed{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.degraded-chip{font-family:var(--font-mono);font-size:10.5px;color:var(--amber);background:var(--amber-dim);padding:2px 8px;border-radius:999px;margin-top:8px;display:inline-block}.stations{position:relative;padding-left:14px}.rail-line{position:absolute;left:14px;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,var(--hair-strong),var(--hair) 70%,transparent);z-index:0}.station{position:relative;z-index:1;padding:14px 0 14px 20px;border-bottom:1px dashed var(--hair)}.station:last-child{border-bottom:none}.station-node{position:absolute;left:-4px;top:18px;width:9px;height:9px;border-radius:50%;background:var(--surface-3);border:1px solid var(--hair-strong)}.station.st-active .station-node{background:var(--cyan);box-shadow:0 0 0 4px var(--cyan-dim)}.station-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.station-count{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--ink);display:inline-block}.station-count.excluded{color:var(--green)}.station-sub{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint);margin-top:3px}.station-sub .money{color:var(--money)}.station-sub .matched-n{color:var(--green);font-weight:600}.retry-chip{display:inline-block;margin-top:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--hair);padding:2px 7px;border-radius:999px}.matrix-zone{grid-area:matrix;overflow:auto;padding:18px 22px 24px;position:relative}.run-context{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;flex-wrap:wrap}.run-context .q{font-size:14.5px;color:var(--ink);font-weight:500}.run-context .q .quote{color:var(--ink-faint)}.run-context .badge{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);background:var(--surface);border:1px solid var(--hair);padding:2px 8px;border-radius:999px}.credit-chip{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--cyan);background:var(--cyan-dim);border:1px solid var(--cyan-dim);padding:2px 9px;border-radius:999px;white-space:nowrap}.matrix-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.matrix-table thead th{position:sticky;top:0;background:var(--ground);z-index:3;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600;padding:0 10px 10px;border-bottom:1px solid var(--hair-strong);white-space:nowrap}.matrix-table thead th.crit-col{cursor:help}.matrix-table thead th .soft-mark{color:var(--cyan);margin-left:2px}.matrix-table th.name-col{min-width:210px}.matrix-table th.conf-col{text-align:center;min-width:96px}.matrix-table td{padding:10px;border-bottom:1px solid var(--hair);vertical-align:middle}.matrix-table tbody tr{animation:rowIn .32s var(--ease)}.matrix-table tbody tr:hover{background:#ffffff04}.matrix-table tbody tr.row-select{background:#3ee0cf0a}.cand-cell{display:flex;align-items:center;gap:10px}.favicon-dot{width:22px;height:22px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#0c0f12;font-family:var(--font-mono)}.cand-name{display:flex;flex-direction:column}.cand-name .n{font-size:13px;font-weight:500;color:var(--ink)}.cand-name .d{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono)}.matrix-table th.contact-col{min-width:180px}.contact-cell{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.contact-cell.muted{color:var(--ink-faint)}.contact-cell.reveal-actions{flex-direction:row;flex-wrap:wrap;gap:6px}.contact-cell .contact-email,.contact-cell .contact-phone{font-size:11.5px;color:var(--ink);text-decoration:none}.contact-cell .contact-email:hover{color:var(--cyan);text-decoration:underline}.contact-cell .contact-li{font-size:10px;font-weight:700;color:var(--ink-faint);text-decoration:none;border:1px solid var(--hair-strong);border-radius:4px;padding:0 4px;align-self:flex-start}.contact-cell .reveal-btn{font-size:11px;white-space:nowrap}.contact-cell .reveal-spinner{font-size:11px;color:var(--cyan);animation:pulseUp 1.1s var(--ease) infinite}.contact-cell .reveal-contact-lines{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.contact-cell .reveal-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.contact-cell .profile-enriched{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.profile-chip{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--cyan);background:var(--cyan-dim);border-radius:5px;padding:1px 6px;white-space:nowrap}.contact-cell .profile-line{font-size:11px;color:var(--ink-dim);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font-size:11px;color:var(--cyan);cursor:pointer;white-space:nowrap;text-decoration:none}.profile-view-btn:hover{text-decoration:underline}.profile-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.profile-tag{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);border:1px solid var(--hair-strong);border-radius:5px;padding:2px 7px;text-decoration:none}.profile-tag.link{color:var(--cyan);border-color:var(--cyan-dim)}.profile-tag.link:hover{background:var(--cyan-dim)}.profile-meta-grid{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.profile-meta-grid .pm-row{display:flex;gap:12px;align-items:baseline}.profile-meta-grid dt{flex:none;width:92px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.profile-meta-grid dd{margin:0;font-size:12.5px;color:var(--ink);line-height:1.4}.profile-about{font-size:12px;color:var(--ink-dim);line-height:1.6;margin-bottom:18px}.profile-skills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.skill-chip{font-size:11px;color:var(--ink-dim);background:var(--surface-2);border:1px solid var(--hair);border-radius:5px;padding:3px 8px}.profile-exp{display:flex;flex-direction:column;gap:10px}.profile-exp .exp-item{background:var(--surface-2);border:1px solid var(--hair);border-radius:8px;padding:10px 12px}.profile-exp .exp-title{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:3px}.profile-exp .exp-meta{font-size:10.5px;color:var(--ink-faint)}.cell-wrap{display:flex;align-items:center;justify-content:center}.cell{width:34px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;position:relative;font-family:var(--font-mono);font-size:12px;cursor:default}.cell.unknown .dot{width:6px;height:6px;border-radius:50%;background:var(--hair-strong)}.cell.verifying .ring{width:14px;height:14px;border-radius:50%;border:2px solid var(--hair-strong);border-top-color:var(--cyan);animation:spin .75s linear infinite}.cell.callfailed{border:1px dashed rgba(255,255,255,.22);color:var(--ink-faint);font-size:9.5px;padding:2px 4px;width:auto;min-width:34px;cursor:help}.cell.sealed{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;padding:0;margin:0;color:inherit;font:inherit}.cell.sealed:focus-visible,.cell.callfailed:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.cell.sealed .chip{width:26px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;position:relative}.cell.sealed.v-yes .chip{background:var(--green-dim);color:var(--green);box-shadow:inset 0 0 0 1px #2dbe7b59}.cell.sealed.v-no .chip{background:var(--red-dim);color:var(--red);box-shadow:inset 0 0 0 1px #e5484d59}.cell.sealed.v-unclear .chip{background:var(--amber-dim);color:var(--amber);box-shadow:inset 0 0 0 1px #e8a33d59}.cell.sealed.graphhit .chip{box-shadow:inset 0 0 0 1px #3ee0cf80,0 0 10px #3ee0cf59}@keyframes sealPop{0%{transform:scale(1.22);opacity:.5}60%{transform:scale(.94)}to{transform:scale(1);opacity:1}}.cell.seal-in .chip{animation:sealPop .2s var(--ease)}.src-sup{position:absolute;top:-6px;right:-6px;background:var(--surface-3);border:1px solid var(--hair-strong);border-radius:999px;font-size:8.5px;line-height:1;padding:2px 3.5px;color:var(--ink-dim);font-family:var(--font-mono)}.conf-cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:88px}.conf-n{font-family:var(--font-mono);font-size:13px;font-weight:600}.conf-n.matched{color:var(--green)}.conf-n.notmatched{color:var(--ink-faint)}.weak-badge{font-size:9.5px;font-family:var(--font-mono);color:var(--amber);background:var(--amber-dim);padding:1.5px 6px;border-radius:999px;cursor:help;letter-spacing:.02em}.verdict-chip-row{font-size:9.5px;font-family:var(--font-mono);padding:1.5px 6px;border-radius:999px;letter-spacing:.02em}.verdict-chip-row.matched{color:var(--green);background:var(--green-dim)}.verdict-chip-row.notmatched{color:var(--ink-faint);background:var(--surface-2)}.regather-banner{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--cyan-dim);color:var(--cyan);font-size:12.5px;font-family:var(--font-mono);border:1px solid rgba(62,224,207,.3)}.slow-banner{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-dim);font-size:12.5px;font-family:var(--font-mono);border:1px solid var(--hair-strong)}.approval-card{margin:0 0 14px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--amber-dim);color:var(--amber);font-size:13px;border:1px solid rgba(232,163,61,.3)}.complete-banner{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 18px;background:linear-gradient(135deg,#2dbe7b1a,#3ee0cf0f);border:1px solid rgba(45,190,123,.28);border-radius:10px;animation:rowIn .4s var(--ease);flex-wrap:wrap}.complete-banner .cb-text{font-size:13px;color:var(--ink)}.complete-banner .cb-text .mono{color:var(--money)}.complete-banner .cb-check{width:28px;height:28px;border-radius:8px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;color:var(--green);flex:none}.complete-banner.tone-fail{background:linear-gradient(135deg,#e5484d1a,#e5484d0a);border-color:#e5484d47}.complete-banner.tone-fail .cb-check{background:var(--red-dim);color:var(--red)}.flight-recorder{grid-area:flight;border-top:1px solid var(--hair);background:#161b2199;display:flex;align-items:center;gap:26px;padding:0 22px}.meter-block{display:flex;flex-direction:column;gap:2px;flex:none}.meter-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.meter-value{font-family:var(--font-mono);font-size:14px;color:var(--money);font-weight:600}.meter-value .op{color:var(--ink-faint);font-weight:400;margin:0 3px}.engine-value{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-dim)}.engine-bar{width:110px;height:3px;background:var(--surface-3);border-radius:999px;margin-top:5px;overflow:hidden}.engine-bar-fill{height:100%;background:var(--cyan);width:0%;transition:width .5s var(--ease)}.divider-v{width:1px;height:34px;background:var(--hair);flex:none}.ticker{flex:1;min-width:0;overflow:hidden;position:relative;height:20px}.ticker-line{font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-line .dim{color:var(--ink-faint)}.ticker-line .g{color:var(--green)}.ticker-line .c{color:var(--cyan)}.flight-right{display:flex;align-items:center;gap:16px;flex:none}.cancel-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--hair-strong);color:var(--ink-faint);padding:7px 14px;border-radius:6px;font-size:12px;cursor:pointer}.cancel-btn:hover:not(:disabled){color:var(--red);border-color:#e5484d66}.cancel-btn:disabled{cursor:not-allowed;opacity:.4}.drawer-backdrop{position:fixed;top:56px;right:0;bottom:0;left:0;background:#04050666;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:29}.drawer-backdrop.show{opacity:1;pointer-events:auto}.evidence-drawer{position:fixed;top:56px;right:0;bottom:0;width:400px;max-width:92vw;background:var(--surface);border-left:1px solid var(--hair-strong);transform:translate(100%);transition:transform .28s var(--ease);z-index:30;display:flex;flex-direction:column;box-shadow:-20px 0 50px #00000059}.evidence-drawer.open{transform:translate(0)}.drawer-head{padding:18px 20px 14px;border-bottom:1px solid var(--hair);display:flex;align-items:flex-start;gap:12px}.drawer-head .info{flex:1;min-width:0}.drawer-head .cand{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono);margin-bottom:4px}.drawer-head .crit{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4}.drawer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2);border:1px solid var(--hair);color:var(--ink-dim);width:26px;height:26px;border-radius:6px;cursor:pointer;flex:none;font-size:13px;line-height:1}.drawer-close:hover{color:var(--ink)}.drawer-body{flex:1;overflow-y:auto;padding:18px 20px 28px}.drawer-verdict{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.drawer-verdict .vchip{font-family:var(--font-mono);font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px}.drawer-verdict .vchip.v-yes{background:var(--green-dim);color:var(--green)}.drawer-verdict .vchip.v-no{background:var(--red-dim);color:var(--red)}.drawer-verdict .vchip.v-unclear{background:var(--amber-dim);color:var(--amber)}.drawer-verdict .srcs{font-size:11.5px;color:var(--ink-faint);font-family:var(--font-mono)}.drawer-verdict .ghpill{font-size:10px;font-family:var(--font-mono);color:var(--cyan);background:var(--cyan-dim);padding:2px 7px;border-radius:999px}.drawer-reasoning{font-size:13px;color:var(--ink-dim);line-height:1.65;margin-bottom:20px}.cite-cap{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:10px}.citation-card{background:var(--surface-2);border:1px solid var(--hair);border-radius:8px;padding:12px 13px;margin-bottom:10px}.citation-card .ct-title{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:5px}.citation-card .ct-snip{font-size:12px;color:var(--ink-dim);line-height:1.55;margin-bottom:8px}.citation-card .ct-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);gap:8px}.citation-card .ct-meta .url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-card .ct-meta .age.old{color:var(--amber)}.placeholder-evidence{text-align:center;padding:26px 14px;color:var(--ink-faint);font-size:12.5px;border:1px dashed var(--hair-strong);border-radius:8px}@media (prefers-reduced-motion: reduce){.cell.seal-in .chip,.complete-banner,.matrix-table tbody tr{animation:none!important}.cell.verifying .ring{animation:none;border-top-color:var(--hair-strong)}.evidence-drawer,.drawer-backdrop,.engine-bar-fill{transition:none!important}}
