:root{--bg:#f5f6f4;--surface:#fff;--sunken:#eceeeb;--cell:#eef0ed;--ink:#111513;--ink-2:#3b423f;--muted:#6b736f;--line:#e1e4e0;--line-strong:#c9cec9;--heat:#e5484d;--attack:#cd2b31;--attack-soft:#fdecec;--benign:#18794e;--benign-soft:#e6f4ec;--cnn:#3e63dd;--lstm:#e09b12;--sim:#e09b12;--api:#3e63dd;--shadow:0 1px 2px #1115130f, 0 2px 8px #1115130a;--font:"Geist", "Segoe UI", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--r:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14.5px;line-height:1.5}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}code{font-family:var(--mono);font-size:.88em}.muted{color:var(--muted)}.small{font-size:.84rem}.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{gap:18px;max-width:1200px;margin:0 auto;padding-block:18px 28px;padding-inline:20px;display:grid}@media (width<=520px){.app{padding-inline:16px}}.top{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}@media (width<=980px){.top{grid-template-columns:1fr auto}.tabs{grid-area:2/1/auto/-1;justify-self:start}}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{color:var(--ink);flex:none}.brand h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650;line-height:1.2}.brand p{color:var(--muted);margin:0;font-size:.8rem}.source{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.api-url{font-family:var(--mono);border:1px solid var(--line);background:var(--surface);border-radius:8px;width:16rem;max-width:100%;padding:6px 10px;font-size:.8rem}.tabs,.seg{background:var(--sunken);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.tabs button,.seg button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:5px 12px;font-size:.86rem;font-weight:500;display:inline-flex}.tabs button:hover,.seg button:hover{color:var(--ink)}.tabs button[aria-selected=true],.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.src-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.src-dot--simulated{background:var(--sim)}.src-dot--api{background:var(--api)}.notice{color:var(--ink-2);border:1px dashed var(--line-strong);border-radius:8px;align-items:baseline;gap:10px;margin:0;padding:8px 12px;font-size:.84rem;display:flex}.notice .src-dot{transform:translateY(-1px)}.section-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:10px;display:flex}.section-head h2{letter-spacing:-.005em;margin:0;font-size:.95rem;font-weight:600}.section-head h2 code{background:var(--sunken);border-radius:5px;padding:1px 6px;font-size:.9em}.lede{color:var(--ink-2);max-width:66ch;margin:0 0 14px}h3{margin:18px 0 8px;font-size:.88rem;font-weight:600}.classify{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"request verdict""fields fields""detail detail";gap:26px 22px;display:grid}.request{grid-area:request;min-width:0}.verdict{grid-area:verdict;min-width:0}.fields{grid-area:fields;min-width:0}.detail{grid-area:detail;min-width:0}@media (width<=860px){.classify{grid-template-columns:minmax(0,1fr);grid-template-areas:"request""verdict""fields""detail"}}.editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.editor:focus-within{border-color:var(--line-strong)}.editor textarea{resize:vertical;width:100%;font-family:var(--mono);tab-size:2;background:0 0;border:0;outline:none;min-height:11rem;padding:14px 16px;font-size:.84rem;line-height:1.65;display:block}.editor-bar{border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex}.run{background:var(--ink);color:var(--surface);border:0;border-radius:7px;padding:7px 14px;font-size:.86rem;font-weight:600}.run:hover{opacity:.88}.run:disabled{opacity:.5;cursor:default}.samples{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.sample{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:baseline;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.sample:hover{border-color:var(--line-strong)}.sample-where{font-family:var(--mono);color:var(--muted);font-size:.72rem}.sample.is-on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.sample.is-on .sample-where{color:inherit;opacity:.7}.verdict{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);align-content:start;gap:12px;padding:18px 20px;display:grid}.status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.status--attack{background:var(--attack-soft);color:var(--attack)}.status--attack .status-dot{box-shadow:0 0 0 3px color-mix(in oklab, var(--attack) 25%, transparent)}.status--benign{background:var(--benign-soft);color:var(--benign)}.headline{letter-spacing:-.02em;text-wrap:balance;color:var(--ink-2);margin:0;font-size:1.45rem;line-height:1.25}.headline strong{color:var(--ink);font-weight:650}.headline code{background:var(--sunken);color:var(--ink);border-radius:5px;padding:1px 6px;font-size:.8em}.facts{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:4px 0 0;display:grid;overflow:hidden}.facts div{background:var(--surface);padding:8px 12px}.facts dt{color:var(--muted);font-size:.74rem}.facts dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem}.facts .of{color:var(--muted);font-size:.8em}.note{color:var(--ink-2);border-left:2px solid var(--lstm);margin:0;padding-left:10px;font-size:.82rem}.note--sim{border-left-color:var(--line-strong);color:var(--muted)}.error{background:var(--attack-soft);color:var(--attack);border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem}.ftable{border-top:1px solid var(--line);display:grid}.frow{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:14px minmax(0,10rem) minmax(0,1fr) minmax(0,11rem) 4.5rem;align-items:center;gap:14px;padding:9px 10px;font-size:.86rem;display:grid}button.frow:hover{background:var(--surface)}button.frow.is-sel{background:var(--surface);box-shadow:inset 2px 0 0 var(--ink)}.frow--head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-block:7px;font-size:.72rem}.fdot{background:var(--line-strong);border-radius:50%;justify-self:center;width:8px;height:8px}.is-attack .fdot{background:var(--attack);box-shadow:0 0 0 3px color-mix(in oklab, var(--attack) 22%, transparent)}.fname{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;min-width:0;font-weight:500;display:flex;overflow:hidden}.floc{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:500}.fval{font-family:var(--mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.flong{color:var(--lstm);border:1px solid;border-radius:4px;margin-left:8px;padding:0 4px;font-size:.68rem}.fpred{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.is-attack .fpred{color:var(--attack);font-weight:600}@media (width<=720px){.frow{grid-template-columns:14px minmax(0,1fr) 3.8rem;gap:0 10px}.frow--head,.frow .fval{display:none}.frow .fdot{grid-row:1/3}.frow .fpred{grid-area:2/2;font-size:.8rem}.frow .num{grid-area:1/3/3}}@media (width<=560px){.matrix-scroll .matrix{--label:7.5rem;--prob:3.4rem}.m-prob--gate .unit{display:none}}.matrix-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.matrix-scroll{padding:14px 16px 10px;scroll-padding-left:15rem;overflow-x:auto}.matrix{--label:10.5rem;--prob:4.5rem;grid-template-columns:var(--label) var(--prob) repeat(var(--n), minmax(8px, 11px));grid-auto-rows:20px;gap:3px 1px;width:max-content;min-width:100%;display:grid}.m-head{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-self:end;font-size:.68rem}.m-head--prob{text-align:right;padding-right:10px}.m-head--label,.m-label{z-index:2;background:var(--surface);margin-left:-16px;padding-left:16px;position:sticky;left:-16px}.m-head--prob,.m-prob{left:calc(var(--label) - 16px);z-index:2;background:var(--surface);position:sticky}.m-char{font-family:var(--mono);color:var(--muted);text-align:center;-webkit-user-select:none;user-select:none;border-radius:3px;font-size:11px;line-height:20px}.m-char.is-space{opacity:.45}.m-char.is-col{color:var(--ink);background:var(--sunken);font-weight:600}.m-label{text-align:left;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border:0;padding-right:8px;font-size:.8rem;line-height:20px;overflow:hidden}.m-label:hover{color:var(--ink)}.m-label.is-top{color:var(--ink-2);font-weight:500}.m-label.is-sel{color:var(--ink);font-weight:600}.m-label.is-sel:before{content:"";background:var(--ink);border-radius:2px;width:3px;height:8px;position:absolute;top:6px;left:4px}.m-label--gate{cursor:default;color:var(--muted);align-self:center;font-size:.74rem;line-height:1}.m-prob{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);justify-content:flex-end;align-items:center;padding-right:10px;font-size:.74rem;display:flex}.m-prob.is-top{color:var(--ink);font-weight:500}.m-prob-bar{height:2px;width:calc(var(--p) * (100% - 10px));background:var(--line-strong);border-radius:2px;position:absolute;bottom:1px;left:0}.m-prob.is-top .m-prob-bar{background:var(--ink)}.m-prob-val{position:relative}.m-prob--gate{white-space:nowrap;font-size:.7rem}.m-prob--gate .unit{color:var(--muted);margin-left:2px}.m-cell{background:color-mix(in oklab, var(--heat) calc(var(--v) * 100%), var(--cell));opacity:.6;border-radius:2px;transition:opacity .15s}.m-cell.is-sel{opacity:1}.m-cell.is-col,.m-gate.is-col{box-shadow:0 0 0 1px var(--ink);z-index:1;position:relative}.m-gate{background:color-mix(in oklab, var(--cnn) var(--g), var(--lstm));border-radius:2px;align-self:center;height:10px}.m-tip{left:clamp(8px, var(--x), calc(100vw - 264px));top:var(--y);transform:translateY(var(--up));z-index:30;background:var(--ink);width:256px;color:var(--surface);pointer-events:none;border-radius:9px;gap:6px;padding:10px 12px;font-size:.78rem;line-height:1.45;display:grid;position:fixed;box-shadow:0 8px 24px #1115132e}.m-tip code{background:#ffffff29;border-radius:4px;padding:0 5px}.m-tip-head{justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;display:flex}.m-tip-head .tip-muted{font-weight:400}.m-tip-rows{gap:1px;margin:0;display:grid}.m-tip-rows div{justify-content:space-between;align-items:baseline;gap:12px;font-weight:500;display:flex}.m-tip-rows .is-dim{opacity:.62;font-weight:400}.m-tip-rows dd{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.m-tip-foot{opacity:.8;border-top:1px solid #ffffff26;padding-top:6px}.readout{border-top:1px solid var(--line);background:var(--bg);color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:9px 16px;font-size:.82rem;display:flex}.readout b{font-family:var(--mono);color:var(--ink);font-weight:500}.readout code{background:var(--sunken);color:var(--ink);border-radius:4px;padding:0 6px}.readout-pos{color:var(--muted)}.readout-why{background:var(--bg);color:var(--muted);gap:3px;padding:0 16px 10px;font-size:.78rem;display:grid}.readout-why p{margin:0}.readout-why b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:500}.t-cnn{color:var(--cnn)!important}.t-lstm{color:var(--lstm)!important}.cut{border-top:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;margin:0;padding:9px 16px;font-size:.8rem}.cut-label{color:var(--lstm);font-weight:500}.cut s{font-family:var(--mono)}.empty{color:var(--muted)}.explain{margin-bottom:12px}.explain h2{align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;display:flex;position:relative}.explain-field{font-family:var(--mono);background:var(--sunken);border-radius:5px;padding:1px 7px;font-size:.8rem;font-weight:500}.tip-btn{border:1px solid var(--line-strong);background:var(--surface);width:18px;height:18px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:.7rem;font-weight:600;line-height:1;display:inline-grid}.tip-btn:hover,.tip-btn:focus-visible{color:var(--ink);border-color:var(--ink)}.tip{z-index:20;background:var(--ink);width:min(30rem,100vw - 32px);color:var(--surface);border-radius:9px;padding:12px 14px;font-size:.82rem;font-weight:400;line-height:1.5;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #1115132e}.tip-wrap:hover .tip,.tip-wrap:focus-within .tip{gap:10px;display:grid}.tip-lead{display:block}.tip-list{border-top:1px solid #ffffff26;gap:4px;padding-top:10px;display:grid}.tip-list>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tip-muted{opacity:.65}.ramp{background:linear-gradient(90deg, var(--cell), var(--heat));border-radius:2px;width:44px;height:9px}.sw{border-radius:2px;width:10px;height:10px;display:inline-block}.sw-cnn{background:var(--cnn)}.sw-lstm{background:var(--lstm)}.model{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:32px;display:grid}@media (width<=960px){.model{grid-template-columns:minmax(0,1fr)}}.rail{gap:14px;margin:0;padding:0;list-style:none;display:grid;position:relative}.rail>li{padding-left:26px;position:relative}.rail>li:before{content:"";background:var(--surface);border:2px solid var(--line-strong);z-index:1;border-radius:50%;width:9px;height:9px;position:absolute;top:16px;left:6px}.rail>li:after{content:"";background:var(--line);width:2px;position:absolute;top:25px;bottom:-30px;left:10px}.rail>li:last-child:after{display:none}.stage{background:var(--surface);border:1px solid var(--line);border-radius:9px;gap:2px;padding:10px 12px;display:grid}.stage--changed{border-color:var(--ink)}.stage-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-name{font-size:.9rem;font-weight:600}.stage-shape{color:var(--muted);font-size:.78rem}.stage-note{color:var(--ink-2);font-size:.8rem}.tag{text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--surface);border-radius:4px;padding:1px 6px;font-size:.66rem;font-weight:600}.fork{grid-template-columns:1fr 1fr;gap:10px;display:grid}.branch{border-top:3px solid;border-radius:9px}.branch--cnn{border-color:var(--cnn)}.branch--lstm{border-color:var(--lstm)}.branch .stage{border-top:0;border-top-left-radius:0;border-top-right-radius:0}@media (width<=480px){.fork{grid-template-columns:1fr}}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;border-bottom-color:var(--line-strong);font-size:.7rem;font-weight:500}tbody th{font-family:var(--mono);font-weight:500}.published th,.published td{color:var(--muted)}.core th,.core td{background:var(--surface)}.core th{box-shadow:inset 2px 0 0 var(--ink)}.pending{color:var(--muted);font-family:var(--font);font-size:.8rem}.sd{color:var(--muted)}.calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}@media (width<=860px){.calc{grid-template-columns:minmax(0,1fr)}}.fields-form{gap:18px;display:grid}.field label{color:var(--ink-2);font-size:.86rem;font-weight:500}.field-row{align-items:center;gap:14px;margin-top:4px;display:flex}.field-row input[type=range]{min-width:0;accent-color:var(--ink);flex:1}.field-num{align-items:center;gap:4px;display:inline-flex}.field-num input{border:1px solid var(--line);background:var(--surface);width:8rem;font-family:var(--mono);text-align:right;border-radius:7px;padding:6px 8px;font-size:.84rem}.suffix{color:var(--muted);width:1ch}.big-stat{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.big-num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:650;line-height:1}.big-label{color:var(--ink-2)}.formula{font-family:var(--mono);color:var(--muted);margin:10px 0 0;font-size:.74rem}.sweep{gap:2px;display:grid}.sweep-row{border-radius:6px;grid-template-columns:6.5rem minmax(0,1fr) 4.5rem 7.5rem;align-items:center;gap:12px;padding:6px 8px;font-size:.82rem;display:grid}.sweep-row.is-now{background:var(--surface);box-shadow:var(--shadow)}.sweep-row .num:first-child{text-align:left}.sweep-track{background:var(--sunken);border-radius:99px;height:8px;overflow:hidden}.sweep-bar{height:100%;width:calc(var(--p) * 100%);background:var(--ink);border-radius:99px;display:block}@media (width<=520px){.sweep-row{grid-template-columns:5.5rem minmax(0,1fr) 4rem}.sweep-row>:last-child{display:none}}.foot{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 18px;padding-top:14px;font-size:.76rem;display:flex}@media (prefers-reduced-motion:reduce){.m-cell{transition:none}}
