:root{--room: #0e1a22;--surface: #15242e;--raised: #1d3140;--line: #2a4152;--line-strong: #3b5769;--text: #e6eef2;--text-2: #9db1bd;--text-3: #6d8593;--lamp: #f3f7f9;--focus: #7cd4ff;--o-chrome: #ff5c5c;--o-heading: #ffd54f;--o-table: #2fd4c1;--o-formula: #b58cff;--o-picture: #6ee7a0;--o-vector: #c8d6e0;--o-chomper: #4ea8ff;--o-naive: #ff8c42;--sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--fs-xs: .8125rem;--fs-s: .875rem;--fs-m: .9375rem;--fs-l: 1.0625rem;--fs-xl: 1.3125rem;--fs-2xl: 1.6875rem;--fs-3xl: 2.125rem;--fs-4xl: 2.75rem;--gutter: 16px;--radius: 6px;--radius-l: 10px;--max: 1400px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{margin:0;background:var(--room);color:var(--text);font-family:var(--sans);font-size:var(--fs-m);line-height:1.5;overflow-x:hidden;min-height:100dvh}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.15;letter-spacing:-.01em}p{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--lamp)}button{font:inherit;color:inherit}img{display:block;max-width:100%}kbd,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:#4ea8ff66}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-header{display:flex;align-items:center;gap:12px;padding:10px var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--room) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}.app-header .wordmark{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;color:var(--text);white-space:nowrap;flex:0 0 auto}.app-header .wordmark svg{width:20px;height:20px}.app-header .crumb{color:var(--text-2);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .crumb:not(:empty):before{content:"/";color:var(--text-3);margin-right:10px}.app-header .spacer{flex:0 0 8px}.app-header .src{font-size:var(--fs-s);color:var(--text-2);text-decoration:none}.app-header .src:hover{color:var(--lamp)}@media(max-width:640px){.app-header .src span{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--raised);color:var(--text);cursor:pointer;font-size:var(--fs-s);font-weight:500;line-height:1.2;min-height:40px;transition:background .12s ease,border-color .12s ease,transform .12s ease;text-decoration:none}.btn:hover{background:#24404f;border-color:#4b6d83}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--lamp);color:var(--room);border-color:var(--lamp)}.btn-primary:hover{background:#fff;border-color:#fff}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--raised);border-color:transparent}.btn-small{padding:5px 10px;min-height:30px;font-size:var(--fs-xs)}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);padding:2px;background:var(--surface)}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:var(--fs-s);font-weight:500;color:var(--text-2);min-height:32px;display:inline-flex;align-items:center;gap:6px}.seg button[aria-pressed=true]{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.seg .dot{width:8px;height:8px;border-radius:2px;display:inline-block}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text-2);font-size:var(--fs-xs);font-weight:500;cursor:pointer;min-height:30px;line-height:1}.chip[aria-pressed=true]{color:var(--text);border-color:var(--c, var(--line-strong));background:color-mix(in srgb,var(--c, var(--raised)) 16%,var(--surface))}.chip .sw{width:10px;height:10px;border-radius:2px;background:var(--c);box-shadow:0 0 0 1px #0006 inset}.chip .sw.stroke{background:transparent;border:2px solid var(--c)}.chip .sw.dashed{background:transparent;border:1.5px dashed var(--c)}.chip .n{color:var(--text-3);font-variant-numeric:tabular-nums}.chip[aria-pressed=true] .n{color:var(--text-2)}.chip:disabled{opacity:.45;cursor:default}.landing{padding:40px var(--gutter) 64px;max-width:var(--max);margin:0 auto}.hero{max-width:760px}.hero h1{font-size:clamp(2rem,6.4vw,var(--fs-4xl));letter-spacing:-.02em;text-wrap:balance;margin-bottom:18px}.hero .lede{font-size:var(--fs-l);color:var(--text-2);max-width:62ch}.hero .lede b{color:var(--text);font-weight:500}.pick{display:grid;gap:28px;margin-top:40px}@media(min-width:960px){.pick{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}}.pick h2{font-size:var(--fs-xl);margin-bottom:14px}.pick h2 small{display:block;font-size:var(--fs-s);font-weight:400;color:var(--text-3);margin-top:4px}.samples{display:grid;gap:10px}.film{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:stretch;padding:10px;border-radius:var(--radius-l);border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;width:100%;text-decoration:none;color:inherit;transition:border-color .12s ease,background .12s ease}.film:hover{border-color:var(--line-strong);background:var(--raised)}.film .thumb{width:56px;aspect-ratio:3 / 4;border-radius:3px;overflow:hidden;background:var(--lamp);box-shadow:0 0 0 1px #0008,0 6px 18px -6px #4ea8ff55;align-self:start}.film .thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.film .thumb.kind{display:grid;place-items:center;color:var(--room);font-weight:600;font-size:12px;letter-spacing:.02em}.film .thumb.kind.pptx{background:#ffd9b8}.film .thumb.kind.docx{background:#cfe6ff}.film .thumb.kind.scan{background:repeating-linear-gradient(135deg,#e6e6e6 0,#e6e6e6 6px,#f6f6f6 6px,#f6f6f6 12px)}.film .title{font-weight:600;font-size:var(--fs-m);line-height:1.3}.film .meta{color:var(--text-3);font-size:var(--fs-xs);margin-top:2px}.film ul{margin:8px 0 0;padding-left:16px;color:var(--text-2);font-size:var(--fs-xs);line-height:1.45}.film ul li+li{margin-top:2px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-l);padding:26px 20px;background:var(--surface);display:grid;gap:10px;text-align:left;position:relative;transition:border-color .12s ease,background .12s ease}.dropzone.over{border-color:var(--o-chomper);background:#4ea8ff14}.dropzone .big{font-size:var(--fs-l);font-weight:600}.dropzone .fine{color:var(--text-3);font-size:var(--fs-xs);line-height:1.5}.dropzone .fine b{color:var(--text-2);font-weight:500}.dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.dropzone .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;position:relative;z-index:1}.how{margin-top:56px;max-width:760px}.how h2{font-size:var(--fs-xl);margin-bottom:12px}.how p{color:var(--text-2);max-width:66ch}.how p+p{margin-top:10px}.landing-foot{margin-top:56px;padding-top:18px;border-top:1px solid var(--line);color:var(--text-3);font-size:var(--fs-xs);display:flex;flex-wrap:wrap;gap:6px 18px}.doc{max-width:var(--max);margin:0 auto;padding:18px var(--gutter) 80px}.doc-head{display:grid;gap:6px;margin-bottom:18px}.doc-head h1{font-size:clamp(1.4rem,4.5vw,var(--fs-2xl));text-wrap:balance}.doc-head .meta{color:var(--text-2);font-size:var(--fs-s);display:flex;flex-wrap:wrap;gap:4px 14px}.doc-head .meta .lic{color:var(--text-3)}.doc-grid{display:grid;gap:22px}.section{border-top:1px solid var(--line);padding-top:18px}.section>h2{font-size:var(--fs-xl);margin-bottom:4px}.section>.sub{color:var(--text-2);font-size:var(--fs-s);max-width:70ch;margin-bottom:14px}.scoreboard{display:grid;gap:8px}.score-legend{display:flex;gap:14px;font-size:var(--fs-xs);color:var(--text-2);margin-bottom:4px}.score-legend span{display:inline-flex;align-items:center;gap:6px}.score-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.score-rows{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.score{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"label label" "a b" "bars bars";gap:2px 14px;align-items:end;padding:12px 14px 10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.score .label{grid-area:label;font-size:var(--fs-s);color:var(--text-3);line-height:1.3;margin-bottom:8px;min-height:2.6em}.score .label b{color:var(--text);font-weight:600;display:block;font-size:var(--fs-m)}.score .num{font-size:var(--fs-3xl);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.score .num.a{grid-area:a;color:var(--o-chomper)}.score .num.b{grid-area:b;color:var(--o-naive);text-align:right}.score .num.zero{color:var(--text-3)}.score .num.good{color:var(--o-picture)}.score .bars{grid-area:bars;display:grid;gap:3px;margin-top:8px}.score .bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.score .bar i{display:block;height:100%;width:0;transition:width .7s cubic-bezier(.2,.7,.2,1)}.score .bar.a i{background:var(--o-chomper)}.score .bar.b i{background:var(--o-naive)}.score-note{color:var(--text-3);font-size:var(--fs-xs);margin-top:6px}.xray{display:grid;gap:10px}.xray .key{font-size:var(--fs-xs);color:var(--text-3);margin:-2px 0 0}.hint{font-size:var(--fs-xs);color:var(--text-3);margin-top:4px}.xray-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.xray-controls .grow{flex:1}.layers{display:flex;flex-wrap:wrap;gap:6px}.stage{position:relative;background:#050b0f;border-radius:var(--radius-l);border:1px solid var(--line);padding:clamp(8px,2vw,18px);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 80px #000a}.stage-page{position:relative;width:100%;max-width:100%;margin:0 auto}.stage[data-fit=page] .stage-page{max-width:min(100%,calc(var(--stage-h, 70vh) * var(--ar, .77)))}.stage-page img,.stage-page canvas{width:100%;height:auto;display:block;background:#fff;box-shadow:0 0 0 1px #000,0 0 60px -10px #4ea8ff44}.stage-page svg.overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.stage-page .placeholder{width:100%;aspect-ratio:8.5 / 11;background:#dfe6ea;display:grid;place-items:center;color:#4a5a66;font-size:var(--fs-s)}.stage-page[data-touch]{touch-action:pan-y}.overlay rect,.overlay path,.overlay text{vector-effect:non-scaling-stroke}.overlay .band{cursor:pointer}.overlay .band:focus-visible,.overlay .band:hover{filter:brightness(1.15)}.overlay .band.chomper{fill:var(--o-chomper);fill-opacity:.2;stroke:var(--o-chomper);stroke-opacity:.55;stroke-width:1}.overlay .band.chomper.alt{fill-opacity:.34}.overlay .band.naive{fill:var(--o-naive);fill-opacity:.2;stroke:var(--o-naive);stroke-opacity:.55;stroke-width:1}.overlay .band.naive.alt{fill-opacity:.34}.overlay .band.selected{stroke-width:2.5;stroke-opacity:1;fill-opacity:.44}.overlay .band.hit{stroke-width:2;stroke-opacity:1;stroke-dasharray:4 3}.overlay .band-label{font:600 8px var(--sans);font-size:calc(var(--k, 1) * 11px);fill:#fff;paint-order:stroke;stroke:#0b1620;stroke-width:2.5px;pointer-events:none}.overlay .band-label.chomper{fill:#dff0ff}.overlay .band-label.naive{fill:#ffe3cf}.overlay .break-mark{stroke:var(--o-naive);stroke-width:2;stroke-dasharray:3 2}.overlay .chrome{fill:var(--o-chrome);fill-opacity:.28;stroke:var(--o-chrome);stroke-width:1}.overlay .chrome-strike{stroke:var(--o-chrome);stroke-width:1.5}.overlay .heading{fill:var(--o-heading);fill-opacity:.1;stroke:var(--o-heading);stroke-width:1.5}.overlay .table{fill:var(--o-table);fill-opacity:.08;stroke:var(--o-table);stroke-width:1.75}.overlay .formula{fill:var(--o-formula);fill-opacity:.12;stroke:var(--o-formula);stroke-width:1.5}.overlay .picture{fill:none;stroke:var(--o-picture);stroke-width:1.75}.overlay .vector{fill:url(#hatch);stroke:var(--o-vector);stroke-width:1.25;stroke-dasharray:5 3}.overlay .tag{font:600 7px var(--sans);font-size:calc(var(--k, 1) * 10px);paint-order:stroke;stroke:#0b1620;stroke-width:2px;pointer-events:none}.overlay .tag.heading{fill:var(--o-heading)}.overlay .tag.chrome{fill:#ffd0d0}.overlay .tag.table{fill:var(--o-table)}.overlay .tag.formula{fill:var(--o-formula)}.overlay .tag.picture{fill:var(--o-picture)}.overlay .tag.vector,.overlay .tag.line{fill:var(--o-vector)}.overlay .interactive{pointer-events:auto}.overlay .passive{pointer-events:none}.textlayer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;user-select:text;-webkit-user-select:text;z-index:2}.textlayer span{position:absolute;display:block;color:transparent;pointer-events:auto;cursor:text;white-space:pre;overflow:hidden;line-height:1;font-family:var(--serif);-webkit-touch-callout:none}.textlayer span::selection{background:transparent}.textlayer span.removed{cursor:help}.textlayer.dragging span{cursor:text}.overlay .mark-word{fill:var(--o-heading);fill-opacity:.45;stroke:none}.overlay .mark-line{fill:var(--o-heading);fill-opacity:.28;stroke:var(--o-heading);stroke-width:1}.overlay .mark-removed{fill:var(--o-chrome);fill-opacity:.4;stroke:var(--o-chrome);stroke-width:1.5}.overlay .band.hover{stroke-width:2.5;stroke-opacity:1;fill-opacity:.4;filter:none}.overlay .chrome.hover{fill-opacity:.55}.overlay .lbl{pointer-events:auto;cursor:default;transition:opacity .12s ease}.overlay .lbl:hover{opacity:.12}.overlay .lbl rect{fill:#0b1620;fill-opacity:.92;stroke:none}.overlay .lbl.chomper rect{fill:#10314f}.overlay .lbl.naive rect{fill:#4a2a10}.overlay .lbl.chrome rect{fill:#4a1418}.overlay .lbl text{paint-order:normal;stroke:none;font:600 8px var(--sans);font-size:calc(var(--k, 1) * 10px);fill:#e6eef2}.overlay .lbl.chomper text{fill:#cfe7ff}.overlay .lbl.naive text{fill:#ffdcc2}.overlay .lbl.heading text{fill:var(--o-heading)}.overlay .lbl.table text{fill:var(--o-table)}.overlay .lbl.formula text{fill:var(--o-formula)}.overlay .lbl.picture text{fill:var(--o-picture)}.overlay .lbl.vector text{fill:var(--o-vector)}.overlay .lbl.chrome text{fill:#ffd0d0}.overlay .lbl.break text{fill:#ffdcc2}.overlay .lbl.break rect{fill:#4a2a10}.stage.scan:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--lamp),transparent);box-shadow:0 0 18px 4px #7cd4ff66;animation:scan .9s cubic-bezier(.4,0,.2,1) 1 both}@keyframes scan{0%{transform:translateY(0);opacity:1}to{transform:translateY(calc(100% + 600px));opacity:0}}@media(prefers-reduced-motion:reduce){.stage.scan:after{display:none}}.split-handle{position:absolute;top:0;bottom:0;width:28px;margin-left:-14px;cursor:col-resize;touch-action:none;display:grid;place-items:center;z-index:3}.split-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--lamp);box-shadow:0 0 0 1px #0008,0 0 12px #fff8}.split-handle .knob{width:26px;height:26px;border-radius:50%;background:var(--lamp);color:var(--room);display:grid;place-items:center;box-shadow:0 2px 10px #0009;font-size:12px;font-weight:700}.split-tags{position:absolute;bottom:6px;left:6px;right:6px;display:flex;justify-content:space-between;pointer-events:none;z-index:2}.split-tags span{font-size:11px;font-weight:600;padding:3px 7px;border-radius:4px;background:#0b1620e6}.split-tags .a{color:var(--o-chomper)}.split-tags .b{color:var(--o-naive)}.pager{display:flex;align-items:center;gap:8px}.pager .n{font-variant-numeric:tabular-nums;color:var(--text-2);font-size:var(--fs-s);min-width:5ch;text-align:center}.filmstrip{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.filmstrip button{flex:0 0 auto;width:44px;aspect-ratio:3 / 4;border-radius:3px;border:2px solid transparent;padding:0;cursor:pointer;background:#dfe6ea;overflow:hidden;scroll-snap-align:start;position:relative;display:grid;place-items:center;color:#3a4a55;font-size:11px;font-weight:600}.filmstrip button img{width:100%;height:100%;object-fit:cover;object-position:top}.filmstrip button[aria-current=true]{border-color:var(--lamp);box-shadow:0 0 10px #fff6}.filmstrip button .hitdot{position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:var(--o-heading);box-shadow:0 0 0 1px #0008}.stage-empty{padding:22px;margin:0 auto;text-align:center;color:var(--text-2);max-width:46ch;font-size:var(--fs-s)}.stage-empty b{color:var(--text);display:block;margin-bottom:6px;font-size:var(--fs-l)}.panel{display:grid;gap:12px;min-width:0;container-type:inline-size;container-name:panel}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs button{border:0;background:transparent;padding:10px 12px;cursor:pointer;color:var(--text-2);font-weight:500;font-size:var(--fs-s);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--lamp)}.tabs button .count{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.tabpanel{min-width:0}.chunk-list{display:grid;gap:6px;max-height:60vh;overflow:auto;padding-right:2px}@media(min-width:1024px){.chunk-list{max-height:calc(100vh - 260px)}}.chunk-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%}.chunk-row:hover{background:var(--raised)}.chunk-row[aria-current=true]{border-color:var(--c);box-shadow:inset 3px 0 0 var(--c)}.chunk-row .id{font-size:var(--fs-xs);font-weight:600;color:var(--c);font-variant-numeric:tabular-nums;min-width:3.2ch}.chunk-row .snippet{font-family:var(--serif);font-size:var(--fs-s);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chunk-row .tok{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.chunk-row .flag{color:var(--o-naive)}.chunk-detail{display:grid;gap:12px}.chunk-detail .head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.chunk-detail .head .id{font-weight:600;color:var(--c)}.chunk-detail .head .kind{color:var(--text-2);font-size:var(--fs-s)}.chunk-detail .path{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:var(--fs-xs);color:var(--text-2)}.chunk-detail .path span{padding:2px 7px;border-radius:3px;background:var(--raised);border:1px solid var(--line)}.chunk-detail .path .sep{background:none;border:0;padding:0;color:var(--text-3)}.chunk-detail .path .none{font-style:italic;color:var(--text-3);background:none;border:0;padding:0}.stats{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.stats b{color:var(--text);font-weight:600}.breaks{display:grid;gap:6px}.break{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--radius);background:#ff8c4218;border:1px solid #ff8c4255;color:#ffd9c2;font-size:var(--fs-s)}.break.ok{background:#6ee7a014;border-color:#6ee7a044;color:#cdf5dc}.break svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}.chunk-text{font-family:var(--serif);font-size:1rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;border-radius:var(--radius);background:#f6f4ee;color:#1a1f24;max-height:46vh;overflow:auto;box-shadow:inset 0 0 0 1px #0002}.chunk-text.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.45;white-space:pre;overflow:auto}.chunk-text mark{background:#ffd54f;color:#1a1f24;padding:0 1px;border-radius:2px}.chunk-text .sel{background:#4ea8ff55;box-shadow:0 0 0 1px #4ea8ff;border-radius:2px}.chunk-text .sel.term{background:#ffd54f}.chunk-text .t{white-space:pre-wrap}.chunk-text.mono .t{white-space:pre}.chunk-text .tbl{overflow-x:auto;margin:6px 0;-webkit-overflow-scrolling:touch}.chunk-text table.pipe{border-collapse:collapse;font-family:var(--sans);font-size:.8125rem;line-height:1.35;min-width:100%}.chunk-text table.pipe th,.chunk-text table.pipe td{border:1px solid #c9c4b8;padding:4px 8px;text-align:left;vertical-align:top;white-space:nowrap}.chunk-text table.pipe th{background:#e9e5da;font-weight:600;position:sticky;top:0}.chunk-text table.pipe td.num{text-align:right;font-variant-numeric:tabular-nums}.chunk-text table.pipe tr:nth-child(2n) td{background:#f0ede6}.chunk-row:hover,.card:hover,.hit:hover{outline:1px solid var(--c)}.chunk-text .cut{background:#ff8c4266;box-shadow:0 0 0 1px #ff8c42;border-radius:2px}.chunk-text-cap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;font-size:var(--fs-xs);color:var(--text-3)}.chunk-text-cap>span:first-child{flex:1 1 14ch}.chunk-text-cap>span:last-child{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.empty{color:var(--text-3);font-size:var(--fs-s);padding:14px 0}.outline{display:grid;gap:2px;max-height:60vh;overflow:auto}@media(min-width:1024px){.outline{max-height:calc(100vh - 260px)}}.outline button{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;text-align:left;width:100%;padding:6px 8px;border:0;background:transparent;border-radius:4px;cursor:pointer;color:var(--text);font-size:var(--fs-s);padding-left:calc(8px + (var(--lvl) - 1) * 14px)}.outline button:hover{background:var(--raised)}.outline button[aria-current=true]{background:var(--raised);box-shadow:inset 2px 0 0 var(--o-heading)}.outline .lvl{font-size:10px;font-weight:600;color:var(--o-heading);border:1px solid var(--o-heading);border-radius:3px;padding:0 4px;line-height:1.5}.outline .sig{font-size:var(--fs-xs);color:var(--text-3)}.outline .pg{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.outline .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.outline-note{color:var(--text-3);font-size:var(--fs-xs);margin-top:8px}.cards{display:grid;gap:10px;min-width:0}.cards>*{min-width:0}@media(min-width:760px){.cards.two{grid-template-columns:1fr 1fr;gap:14px}}@media(min-width:900px){.cards.three{grid-template-columns:1.15fr 1fr 1fr;gap:14px;align-items:start}}.src-page{font-size:var(--fs-xs);color:var(--text-3);margin:8px 0 2px;font-variant-numeric:tabular-nums}.src-item{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);border-left:3px solid var(--o-heading);cursor:pointer}.src-item:hover,.src-item:focus-visible{background:var(--raised)}.src-item.heading{border-left-color:var(--o-heading)}.src-item.text{border-left-color:var(--line-strong)}.src-item.table{border-left-color:var(--o-table)}.src-item.notes{border-left-color:var(--o-formula)}.src-item .top{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-3);margin-bottom:4px}.src-item .landed{color:var(--text-2)}.src-item .landed.none{color:var(--o-chrome)}.src-text{font-family:var(--serif);font-size:var(--fs-s);line-height:1.45;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.src-text.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xs);white-space:pre;overflow-x:auto;max-width:100%}.src-text .sel{background:#4ea8ff55;box-shadow:0 0 0 1px #4ea8ff;border-radius:2px}.card.hover{outline:2px solid var(--c)}.cards h3{font-size:var(--fs-m);display:flex;align-items:center;gap:8px;margin-bottom:8px}.cards h3 i{width:10px;height:10px;border-radius:2px;display:inline-block}.card-col{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-content:start;min-width:0}.card-col>*{min-width:0;max-width:100%}.card{text-align:left;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;border-left:3px solid var(--c)}.card:hover{background:var(--raised)}.card[aria-current=true]{background:var(--raised);box-shadow:0 0 0 1px var(--c)}.card .top{display:flex;gap:8px;align-items:baseline;font-size:var(--fs-xs);color:var(--text-3)}.card .top b{color:var(--c)}.card .path{color:var(--text-2)}.card .snippet{font-family:var(--serif);font-size:var(--fs-s);color:var(--text-2);margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card .flag{color:var(--o-naive);font-size:var(--fs-xs);margin-top:4px}.ask{display:grid;gap:12px}.ask form{display:flex;gap:8px}.ask input[type=search]{flex:1;min-width:0;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-size:16px}.ask input[type=search]::placeholder{color:var(--text-3)}.showcase{display:flex;flex-wrap:wrap;gap:6px}.showcase button{text-align:left;border-radius:var(--radius)}.ask-opts{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:var(--fs-s);color:var(--text-2)}.ask-opts label{display:inline-flex;align-items:center;gap:8px}.ask-opts input[type=range]{width:110px;accent-color:var(--lamp)}.ask-opts output{font-variant-numeric:tabular-nums;color:var(--text);min-width:1.5ch}.model-note{font-size:var(--fs-xs);color:var(--text-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.model-note progress{width:120px;height:6px;accent-color:var(--o-chomper)}.why{font-size:var(--fs-s);color:var(--text-2);padding:8px 10px;border-left:2px solid var(--o-heading);background:#ffd54f10}.results{display:grid;gap:14px}@container panel (min-width: 480px){.results{grid-template-columns:1fr 1fr}}.result-col h3{font-size:var(--fs-m);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:8px}.result-col h3 i{width:10px;height:10px;border-radius:2px;display:inline-block}.result-col h3 .hint{flex-basis:100%;font-size:var(--fs-xs);font-weight:400;color:var(--text-3)}.result-col .list{display:grid;gap:8px}.hit{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);border-left:3px solid var(--c);display:grid;gap:6px}.hit .top{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:var(--fs-xs);color:var(--text-3)}.hit .top .rank{font-weight:600;color:var(--text)}.hit .top .ranks{display:inline-flex;gap:4px}.hit .top .ranks span{padding:1px 6px;border-radius:3px;background:var(--raised);border:1px solid var(--line);color:var(--text-2);font-variant-numeric:tabular-nums}.hit .top .ranks span.na{color:var(--text-3);border-style:dashed}.hit .snip{font-family:var(--serif);font-size:var(--fs-s);line-height:1.5;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hit .snip mark{background:#ffd54f;color:#1a1f24;padding:0 1px;border-radius:2px}.hit .actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.hit .warn{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-xs);color:#ffd9c2}.hit .warn svg{width:14px;height:14px}.hit .answer-here{font-size:var(--fs-xs);color:var(--o-picture)}.prompt-box{display:grid;gap:8px}.prompt-box .cap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.prompt-box .cap .t{font-weight:600;font-size:var(--fs-m)}.prompt-box .cap .n{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.prompt{font-family:var(--serif);font-size:.9375rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 16px;border-radius:var(--radius);background:#f6f4ee;color:#1a1f24;max-height:50vh;overflow:auto;box-shadow:inset 0 0 0 1px #0002}.prompt .hdr{font-family:var(--sans);font-size:var(--fs-xs);font-weight:600;color:#4a5a66;letter-spacing:.01em}.prompt .hdr.naive{color:#b5551a}.prompt .hdr.chomper{color:#1e63a8}.prompt .cut{background:#ff8c4266;box-shadow:0 0 0 1px #ff8c42;border-radius:2px}.prompt .sys{color:#4a5a66;font-style:italic}.honest{display:grid;gap:22px}@media(min-width:900px){.honest{grid-template-columns:1fr 1fr;gap:36px}}.honest h3{font-size:var(--fs-l);margin-bottom:8px}.honest ul{margin:0;padding-left:18px;color:var(--text-2);display:grid;gap:6px}.honest .steps{list-style:none;padding:0;margin:0;display:grid;gap:10px;counter-reset:st}.honest .steps li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:var(--text-2)}.honest .steps li:before{counter-increment:st;content:counter(st);width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--text)}.honest .steps b{color:var(--text);font-weight:600}.honest .ver{color:var(--text-3);font-size:var(--fs-xs);margin-top:10px}.upload{max-width:720px;margin:0 auto;padding:40px var(--gutter) 80px;display:grid;gap:18px}.upload h1{font-size:var(--fs-2xl)}.progress{display:grid;gap:8px;padding:16px;border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line)}.progress .stepline{display:flex;gap:10px;align-items:center;color:var(--text-2);font-size:var(--fs-s)}.progress .stepline.done{color:var(--text-3)}.progress .stepline.now{color:var(--text)}.progress .stepline i{width:10px;height:10px;border-radius:50%;border:2px solid var(--line-strong)}.progress .stepline.done i{background:var(--o-picture);border-color:var(--o-picture)}.progress .stepline.now i{border-color:var(--lamp);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 4px #f3f7f930}}.error{padding:14px 16px;border-radius:var(--radius);background:#ff5c5c14;border:1px solid #ff5c5c66;color:#ffd6d6;display:grid;gap:6px}.error b{color:#fff}.error .fix{color:#ffb8b8;font-size:var(--fs-s)}dialog.sheet{border:1px solid var(--line-strong);border-radius:var(--radius-l);background:var(--surface);color:var(--text);padding:20px;max-width:min(92vw,440px)}dialog.sheet::backdrop{background:#000a}dialog.sheet h3{margin-bottom:8px}dialog.sheet p{color:var(--text-2);font-size:var(--fs-s)}dialog.sheet .row{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}@media(max-width:1023px){.sheet-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line-strong);border-radius:14px 14px 0 0;max-height:78dvh;overflow:auto;padding:12px var(--gutter) calc(16px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #000a;transform:translateY(100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.sheet-mobile[data-open=true]{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}.sheet-mobile .grab{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto 10px}}@media(min-width:1024px){.sheet-mobile .grab{display:none}}.toast-host{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:60;display:grid;gap:6px;pointer-events:none}.toast{background:var(--lamp);color:var(--room);padding:8px 14px;border-radius:6px;font-size:var(--fs-s);font-weight:500;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 20px #000a}.toast.in{opacity:1;transform:none}.note{font-size:var(--fs-s);color:var(--text-2)}.legend-inline{display:inline-flex;align-items:center;gap:6px}.legend-inline i{width:10px;height:10px;border-radius:2px;display:inline-block}.muted{color:var(--text-3)}.nowrap{white-space:nowrap}.images{display:grid;gap:12px}.img-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}.img-strip button{flex:0 0 auto;width:96px;border:2px solid var(--line);border-radius:var(--radius);padding:0;background:#0b1620;cursor:pointer;overflow:hidden;display:grid;gap:0;text-align:left;color:var(--text-2)}.img-strip button[aria-pressed=true]{border-color:var(--lamp);box-shadow:0 0 10px #fff4}.img-strip button .ph{width:96px;height:68px;object-fit:contain;background:#fff;display:block}.img-strip button .ph.empty{display:grid;place-items:center;font-size:var(--fs-xs);color:var(--text-3);background:var(--raised)}.img-strip button .cap{font-size:10px;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.img-strip button .cap.vec{color:var(--o-vector)}.img-strip button .cap.pic{color:var(--o-picture)}.img-preview{display:grid;gap:8px}.img-preview img{max-height:220px;width:auto;max-width:100%;background:#fff;border-radius:var(--radius);box-shadow:0 0 0 1px #000;justify-self:start}.img-preview .where{font-size:var(--fs-xs);color:var(--text-3)}.presets{display:flex;flex-wrap:wrap;gap:6px}.images textarea{width:100%;min-height:64px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-size:16px;resize:vertical}.images .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.images .status{font-size:var(--fs-xs);color:var(--text-3)}.images .off{padding:10px 12px;border-radius:var(--radius);background:var(--surface);border:1px dashed var(--line-strong);color:var(--text-2);font-size:var(--fs-s)}.result{display:grid;gap:8px}.result .out{padding:12px 14px;border-radius:var(--radius);background:#f6f4ee;color:#1a1f24;font-family:var(--serif);font-size:.9375rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px #0002}.result .out .tbl{overflow-x:auto;margin:6px 0}.result .out table.pipe{border-collapse:collapse;font-family:var(--sans);font-size:.8125rem}.result .out table.pipe th,.result .out table.pipe td{border:1px solid #c9c4b8;padding:4px 8px;white-space:nowrap;text-align:left}.result .out table.pipe th{background:#e9e5da;font-weight:600}.result .out .mermaid{background:#fff;border-radius:4px;padding:8px;overflow:auto;white-space:normal}.result .out .mermaid svg{max-width:100%;height:auto}.result .meta{font-size:var(--fs-xs);color:var(--text-3);display:flex;gap:12px;flex-wrap:wrap}.result .insert{padding:12px 14px;border-radius:var(--radius);background:#f6f4ee;color:#1a1f24;font-family:var(--serif);font-size:.9rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px #0002;max-height:40vh;overflow:auto}.result .insert .added{background:#6ee7a055;box-shadow:0 0 0 1px #2f9e5c;border-radius:2px}.result .insert-cap{font-size:var(--fs-xs);color:var(--text-2)}.result .insert-cap b{color:var(--text)}.compact-only,.tabs button.compact-only{display:none}.doc.workspace{max-width:1680px;padding-top:12px;padding-bottom:24px}.doc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-bottom:12px}.doc-bar .doc-head{margin:0;min-width:0;flex:1 1 320px;gap:2px}.doc-bar .doc-head h1{font-size:clamp(1.1rem,2.2vw,1.35rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-bar .doc-head .meta{font-size:var(--fs-xs)}.scoreboard{display:block;flex:0 1 auto;min-width:0;max-width:100%}.score-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.score-legend{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-3);margin:0 4px 0 0;white-space:nowrap}.score-legend i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-left:4px}.pill{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:var(--fs-xs);white-space:nowrap}.pill .l{color:var(--text-2)}.pill .v{display:inline-flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums}.pill .v b{font-size:var(--fs-s);font-weight:650}.pill .v b.a{color:var(--o-chomper)}.pill .v b.b{color:var(--o-naive)}.pill .v b.good{color:var(--o-picture)}.pill .v b.zero{color:var(--text-3)}.pill .vs{color:var(--text-3);font-size:.7rem}.pill[data-better=a]{border-color:#4ea8ff55}.score-more{position:relative;font-size:var(--fs-xs)}.score-more summary{cursor:pointer;color:var(--text-2);padding:4px 6px;border-radius:var(--radius);list-style:none;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.score-more summary::-webkit-details-marker{display:none}.score-more summary:hover{color:var(--text)}.score-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:25;width:min(440px,calc(100vw - 32px));padding:12px 14px;display:grid;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-l);box-shadow:0 18px 40px #0009;color:var(--text-2);font-size:var(--fs-s)}.score-pop ul{margin:0;padding-left:16px;display:grid;gap:2px}.score-pop b{color:var(--text);font-weight:600}.xray-controls{gap:8px}.layers-menu{position:relative}.layers-menu>summary{list-style:none;cursor:pointer}.layers-menu>summary::-webkit-details-marker{display:none}.layers-menu>summary .n{color:var(--text-3);font-variant-numeric:tabular-nums}.layers-menu[open]>summary{background:#24404f;border-color:#4b6d83}.layers-menu .menu{position:absolute;left:0;top:calc(100% + 6px);z-index:25;width:min(420px,calc(100vw - 32px));padding:12px;display:grid;gap:10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-l);box-shadow:0 18px 40px #0009}.layers-menu .key{margin:0}.detail-nav{display:flex;align-items:center;gap:8px;padding:6px 0 8px;border-bottom:1px solid var(--line)}.detail-nav .pos{flex:1;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-s);color:var(--text-2);font-variant-numeric:tabular-nums;min-width:0}.detail-nav .pos .dot{width:8px;height:8px;border-radius:2px;flex:0 0 auto}.detail-nav .steps{display:inline-flex;gap:4px}.detail-nav .steps .btn{min-width:36px;font-size:var(--fs-m)}@media(min-width:1024px){.doc.workspace{display:flex;flex-direction:column;height:calc(100dvh - 45px);min-height:620px;padding-bottom:12px}.doc.workspace .doc-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(380px,5fr);gap:20px;align-items:stretch}.doc-grid>.col-view{min-height:0;display:flex;flex-direction:column}.doc-grid>.col-view>.xray{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}.xray .stage{flex:1 1 auto;min-height:0;overflow:auto;display:block;scrollbar-width:thin}.xray .stage[data-fit=page]{display:grid;place-items:center}.xray .stage-caption:empty{display:none}.xray .filmstrip{flex:0 0 auto}.xray .filmstrip button{height:52px}.doc-grid>.col-view>.cards{min-height:0;overflow:auto}.doc-grid>.panel{min-height:0;display:flex;flex-direction:column;gap:10px}.panel>.tabpanel{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-width:thin;padding-right:4px}.panel .chunk-list,.panel .outline{max-height:none;overflow:visible}.chunks[data-mode=detail]>.seg,.chunks[data-mode=detail]>.chunk-list{display:none}.chunks>.seg{position:sticky;top:0;z-index:2;background:var(--room);padding-bottom:8px}.chunks .sheet-mobile{display:block}.detail-nav{position:sticky;top:0;z-index:2;background:var(--room)}.chunk-detail .chunk-text{max-height:none}}@media(min-width:1024px)and (max-height:640px){.doc.workspace{height:auto}}@media(max-width:1023px){.compact-only,.tabs button.compact-only{display:inline-flex}.doc.workspace{padding-top:10px}.doc-bar{margin-bottom:8px}.doc-bar>*{flex:1 1 100%}.score-strip{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter)}.score-strip::-webkit-scrollbar{display:none}.score-more{position:static}.score-pop{left:var(--gutter);right:var(--gutter);width:auto}.doc.workspace .doc-grid{display:flex;flex-direction:column;gap:12px}.doc-grid>.panel{display:contents}.panel>.tabs{position:sticky;top:45px;z-index:20;background:var(--room);order:0;padding-top:4px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-right:24px}.doc-grid>.col-view{order:1}.panel>.tabpanel{order:2}.doc-grid:not([data-tab=page])>.col-view{display:none}.doc-grid[data-tab=page] .chunks>:not(.sheet-mobile){display:none}.xray .stage{padding:6px}.xray-controls .fit{display:none}.stage[data-fit] .stage-page{max-width:100%}.panel .chunk-list{max-height:none;overflow:visible}.sheet-mobile .detail-nav{position:sticky;top:-12px;z-index:2;background:var(--surface);margin-top:-4px}}
