:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef1f5;--border: #e3e7ee;--text: #1f2630;--prose: #3c4655;--muted: #6b7585;--accent: #2f6feb;--accent-soft: #eaf1ff;--code-bg: #f7f8fa;--critical: #d9480f;--critical-soft: #fdeee5;--normal: #2f6feb;--normal-soft: #eaf1ff;--skim: #71798a;--skip: #a4abb8;--radius: 12px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}.page{max-width:1120px;margin:0 auto;padding:56px 40px 120px}.muted{color:var(--muted)}.error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:var(--radius);padding:16px 20px}.header{margin-bottom:44px;border-bottom:1px solid var(--border);padding-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--accent);margin:0 0 12px}.thesis{font-size:26px;line-height:1.32;margin:0 0 18px;letter-spacing:-.01em}.blast{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.blast__item{font-size:12.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 11px}.index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.index__link{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;transition:border-color .15s,box-shadow .15s}.index__link:hover{border-color:var(--accent);box-shadow:0 1px 4px #2f6feb1f}.index__thesis{font-size:16px;font-weight:600;letter-spacing:-.01em}.index__meta{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.chapters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;counter-reset:none}.chapter{display:grid;grid-template-columns:40px 1fr;gap:16px}.chapter__rail{display:flex;flex-direction:column;align-items:center}.chapter__num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:14px}.chapter__title{font-size:19px;margin:3px 0 8px;letter-spacing:-.01em}.chapter__prose{margin:0 0 16px;color:var(--prose)}.sentences{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:14px}.sentence{padding:12px 14px;background:var(--accent-soft);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:9px}.sentence__intent{margin:0;font-size:15px;font-weight:600;color:var(--text)}.sentence__intent--loose{color:var(--muted);font-weight:500}.sentence__why{margin:3px 0 0;font-size:13px;color:var(--prose)}.sentence .segments{margin-top:10px}.segment__file{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:11px;color:var(--accent);opacity:.9}.files{margin:0 0 4px;font-size:13px}.files__summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none}.files__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.files__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.files__file{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:12px;color:var(--text)}.files__note{color:var(--muted)}.regions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.region{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:9px;padding:11px 14px}.region--critical{border-left-color:var(--critical);background:linear-gradient(90deg,var(--critical-soft),var(--surface) 60%)}.region--normal{border-left-color:var(--normal)}.region--skim{border-left-color:var(--skim)}.region--skip{border-left-color:var(--skip);opacity:.55;padding:7px 14px}.region__head{display:flex;align-items:center;gap:10px}.region__file{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:13px;color:var(--text)}.region__note{margin:6px 0 0;font-size:14px;color:var(--prose)}.region--skip .region__note{display:none}.badge{flex:none;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:6px}.badge--critical{color:var(--critical);background:var(--critical-soft)}.badge--normal{color:var(--normal);background:var(--normal-soft)}.badge--skim{color:var(--skim);background:var(--surface-2)}.badge--skip{color:var(--skip);background:var(--surface-2)}.region__guidepost{margin:9px 0 0;font-size:13px;color:#8a5a00;background:#fff8e6;border:1px solid #f3e2b3;border-radius:7px;padding:8px 11px}.region__guidepost-label{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b45309;margin-right:8px}.evidence{margin-top:9px;border-radius:7px;padding:8px 11px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border)}.evidence--ok{border-left-color:#1a7f37}.evidence--fail{border-left-color:#cf222e}.evidence__head{display:flex;align-items:baseline;gap:8px}.evidence__mark{font-weight:800;font-size:13px}.evidence--ok .evidence__mark{color:#1a7f37}.evidence--fail .evidence__mark{color:#cf222e}.evidence--pending .evidence__mark{color:var(--muted)}.evidence__claim{font-size:13.5px;color:var(--text)}.evidence__cmd{display:block;margin-top:6px;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:11.5px;color:var(--muted)}.evidence__out{margin-top:6px}.evidence__summary{cursor:pointer;list-style:none;font-size:11.5px;color:var(--accent);-webkit-user-select:none;user-select:none}.evidence__summary::-webkit-details-marker{display:none}.evidence__summary:before{content:"▸ "}.evidence__out[open] .evidence__summary:before{content:"▾ "}.evidence__pre{margin:7px 0 0;padding:8px 10px;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;overflow-x:auto;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:11.5px;line-height:1.5;color:var(--prose);white-space:pre}.segments{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.segment{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.segment--critical{border-left-color:var(--critical)}.segment--normal{border-left-color:var(--normal)}.segment--skim{border-left-color:var(--skim)}.segment--skip{border-left-color:var(--skip);opacity:.6}.segment__head{cursor:pointer;list-style:none;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:9px 12px;-webkit-user-select:none;user-select:none}.segment__head::-webkit-details-marker{display:none}.segment__head:before{content:"▸";color:var(--muted);font-size:11px}.segment[open] .segment__head,.segment details[open] .segment__head{border-bottom:1px solid var(--border)}details[open]>.segment__head:before{content:"▾"}.segment__symbol{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:12px;color:var(--text)}.segment__shape{font-size:11.5px;font-variant-numeric:tabular-nums}.segment__gloss{flex:1 1 100%;font-size:13.5px;color:var(--prose)}.segment .diff__body{border-top:none}.diff{margin-top:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--code-bg)}.diff__summary{cursor:pointer;list-style:none;padding:7px 12px;font-size:12px;color:var(--muted);background:var(--surface-2);-webkit-user-select:none;user-select:none}.diff__summary::-webkit-details-marker{display:none}.diff__summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--muted)}.diff[open] .diff__summary:before{content:"▾"}.diff__add{color:#1a7f37;font-variant-numeric:tabular-nums}.diff__del{color:#cf222e;font-variant-numeric:tabular-nums}.diff__body{margin:0;padding:8px 0;overflow-x:auto;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.5}.diff__body code.hljs{display:block;background:none;padding:0;color:var(--text)}.dl{display:block;padding:0 12px;white-space:pre}.dl--add{background:#1a7f371a}.dl--del{background:#cf222e14}.dl--hunk{display:block;padding:0 12px;color:#0550ae;background:#2f6feb14}.dl__marker{display:inline-block;width:1ch;-webkit-user-select:none;user-select:none;color:var(--muted)}.dl--add .dl__marker{color:#1a7f37}.dl--del .dl__marker,.hljs-keyword,.hljs-literal{color:#cf222e}.hljs-type,.hljs-built_in,.hljs-title.class_{color:#953800}.hljs-string,.hljs-regexp,.hljs-meta .hljs-string{color:#0a3069}.hljs-comment{color:#6e7781;font-style:italic}.hljs-number{color:#0550ae}.hljs-title,.hljs-title.function_,.hljs-section{color:#8250df}.hljs-attr,.hljs-property{color:#0550ae}.hljs-variable,.hljs-template-variable{color:#e36209}.hljs-meta,.hljs-doctag{color:#116329}.hljs-punctuation,.hljs-operator{color:#57606a}.hljs-attribute,.hljs-symbol,.hljs-bullet{color:#116329}.header__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.overall{display:flex;align-items:center;gap:10px}.overall__reset{font:inherit;font-size:12px;color:var(--muted);background:none;border:1px solid var(--border);border-radius:6px;padding:2px 9px;cursor:pointer}.overall__reset:hover{color:var(--text);border-color:var(--skim)}.progress{font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;white-space:nowrap}.progress--done{color:#1a7f37;background:#eaf6ec;border-color:#bce0c4}.chapter__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.segment__check{flex:none;width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--accent);align-self:center}.segment--viewed{opacity:.5}.segment--viewed:hover{opacity:1}.segment__changed{flex:none;font-size:10.5px;font-weight:700;color:var(--critical);background:var(--critical-soft);border-radius:6px;padding:1px 7px}.segment__noted{flex:none;font-size:12px;color:var(--accent)}.segment__note{display:block;width:auto;margin:8px 12px 2px;padding:6px 8px;font:inherit;font-size:12.5px;color:var(--text);background:#fffdf4;border:1px solid #efe6c6;border-radius:6px;resize:vertical}.segment__note::placeholder{color:var(--muted)}.segment__untested{flex:none;font-size:10.5px;font-weight:700;color:#b45309;background:#fff4e2;border:1px solid #f3dcb0;border-radius:6px;padding:1px 7px}.segment__tested{flex:none;font-size:10.5px;font-weight:600;color:#1a7f37;background:#eaf6ec;border-radius:6px;padding:1px 7px}.segment__callers-badge{flex:none;font-size:10.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:1px 7px}.segment__security-badge{flex:none;font-size:10.5px;font-weight:700;color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:6px;padding:1px 7px}.security{list-style:none;margin:8px 12px 2px;padding:7px 10px;display:flex;flex-direction:column;gap:4px;font-size:12px;background:#fff1f2;border:1px solid #fecdd3;border-left:3px solid #be123c;border-radius:6px}.security__flag{display:flex;align-items:baseline;gap:8px}.security__concern{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#be123c;background:#ffe4e6;border-radius:5px;padding:1px 6px}.security__detail{color:var(--text)}.rollup__chip--security{color:#be123c;background:#ffe4e6}.map__security{color:#be123c}.segment__unpinned{flex:none;font-size:10.5px;font-weight:700;color:#0e7490;background:#e0f2fe;border:1px solid #bae6fd;border-radius:6px;padding:1px 7px}.behavior{margin:8px 12px 2px;padding:6px 10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;font-size:12px;border-radius:6px;background:#ecfdff;border:1px solid #c7eef6;border-left:3px solid #0e7490}.behavior--unpinned{background:#fff7ed;border-color:#fed7aa;border-left-color:#c2410c}.behavior__mark{flex:none;font-weight:700;color:#0e7490}.behavior--unpinned .behavior__mark{color:#c2410c}.behavior__kinds{font-weight:600;color:var(--text)}.behavior__status{font-size:11px}.behavior__status--unpinned{color:#c2410c;font-weight:600}.behavior__status--pinned{color:#1a7f37}.rollup__chip--unpinned{color:#c2410c;background:#fff2e8}.map__unpinned{color:#c2410c}.segment__design-badge{flex:none;font-size:11px;color:#6f42c1}.design{list-style:none;margin:8px 12px 2px;padding:7px 10px;display:flex;flex-direction:column;gap:4px;font-size:12px;background:#f7f4fd;border:1px solid #e6ddf7;border-left:3px solid #6f42c1;border-radius:6px}.design__note{display:flex;align-items:baseline;gap:7px}.design__mark{flex:none;color:#6f42c1}.design__detail{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:11.5px;color:var(--text)}.design__uses{flex:none;font-size:10.5px;font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:6px;padding:1px 7px}.design__uses--few{color:#b45309;background:#fff4e2}.segment__refs{margin:8px 12px 2px;font-size:12px}.segment__refs-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;font-weight:600}.segment__refs-summary::-webkit-details-marker{display:none}.segment__refs-summary:before{content:"▸ ";color:var(--muted)}.segment__refs[open] .segment__refs-summary:before{content:"▾ "}.segment__refs--tests .segment__refs-summary{color:#1a7f37}.segment__refs--callers .segment__refs-summary{color:var(--accent)}.segment__refs-list{list-style:none;margin:6px 0 0;padding:8px 10px;border-radius:6px;display:flex;flex-direction:column;gap:3px}.segment__refs--tests .segment__refs-list{background:#f3f9f4;border:1px solid #d8ecdc}.segment__refs--callers .segment__refs-list{background:#f2f6ff;border:1px solid #d8e3f8}.segment__ref{display:flex;align-items:baseline;gap:8px;font-size:12px}.segment__ref-mark{flex:none;font-weight:700}.segment__refs--tests .segment__ref-mark{color:#1a7f37}.segment__refs--callers .segment__ref-mark{color:var(--accent)}.segment__ref-name{color:var(--text)}.segment__ref-file{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:11px;color:var(--muted)}.badge__raised{font-weight:800;opacity:.85}.chapter__meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:flex-end}.header__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rollup{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}.rollup__chip{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}.rollup__chip--load{color:var(--accent);background:var(--accent-soft)}.rollup__chip--untested{color:#b45309;background:#fff4e2}.rollup__chip--design{color:#6f42c1;background:#f3eefc}.layout{display:grid;grid-template-columns:1fr}.layout--mapped{grid-template-columns:196px 1fr;gap:32px;align-items:start}@media(max-width:900px){.layout--mapped{grid-template-columns:1fr}.map-rail{display:none}}.map-rail{position:sticky;top:24px}.map__label{margin:0 0 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.map__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.map__item{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;font:inherit;font-size:12.5px;color:var(--prose);background:none;border:0;border-left:2px solid transparent;padding:4px 8px;cursor:pointer;border-radius:0 6px 6px 0}.map__item:hover{background:var(--surface-2);border-left-color:var(--accent);color:var(--text)}.map__num{flex:none;min-width:16px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);font-size:11px}.map__title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map__counts{flex:none;display:inline-flex;gap:6px;font-size:10.5px;font-weight:700}.map__load{color:var(--accent)}.map__untested{color:#b45309}.map__design{color:#6f42c1}.rollup__chip{border:0;cursor:pointer;font-family:inherit;line-height:1.5}.rollup__chip:hover{filter:brightness(.97);text-decoration:underline}@keyframes jump-pulse{0%,65%{box-shadow:0 0 0 2px var(--accent)}to{box-shadow:0 0 0 2px #2f6feb00}}.is-jump{animation:jump-pulse 1.2s ease-out}.badge--dot{width:9px;height:9px;padding:0;border-radius:999px;align-self:center}.badge--dot.badge--critical{background:var(--critical)}.badge--dot.badge--normal{background:var(--normal)}.badge--dot.badge--skim{background:var(--skim)}.badge--dot.badge--skip{background:var(--skip)}.segment__note-add{display:inline-block;margin:8px 12px 2px;font:inherit;font-size:11.5px;color:var(--accent);background:none;border:0;padding:0;cursor:pointer}.segment__note-add:hover{text-decoration:underline}.sentence--loose{background:none;border:0;border-left:0;padding:0}.loose{font-size:13px}.loose__summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;color:var(--muted);font-weight:600;padding:4px 0}.loose__summary::-webkit-details-marker{display:none}.loose__summary:before{content:"▸ "}.loose[open] .loose__summary:before{content:"▾ "}.diff__more{margin:0}.diff__more-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;padding:4px 12px;font-size:11.5px;color:var(--accent);background:var(--accent-soft)}.diff__more-summary::-webkit-details-marker{display:none}.diff__more-summary:before{content:"▸ "}.diff__more[open] .diff__more-summary:before{content:"▾ "}
