:root{--ground: #F1F0EC;--surface: #FFFFFF;--ink: #641E28;--ink-soft: rgba(100, 30, 40, .72);--accent: #9B3741;--accent-ink: #FCEBED;--hairline: rgba(100, 30, 40, .14);--edge: rgba(155, 55, 65, .22);--chip-bg: rgba(100, 30, 40, .05);--code-bg: rgba(100, 30, 40, .07);--serif: "Fraunces", Georgia, serif;--sans: "Inter", -apple-system, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}::selection{background:#641e2833;color:inherit}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body{font-family:var(--sans);background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}.wrap{max-width:1150px;margin:0 auto;padding:0 20px 110px}.g-header{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:54px 0 10px}h1{font-family:var(--serif);font-size:clamp(32px,5.5vw,46px);font-weight:600;line-height:1.05;letter-spacing:-1px;text-wrap:balance}h1 em{font-style:italic;font-weight:400;color:var(--accent)}.print-btn{margin-left:auto;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--accent-ink);background:var(--accent);border:none;border-radius:4px;padding:10px 22px;cursor:pointer;transition:all .2s ease;margin-bottom:6px}.print-btn:hover{background:#aa4650;box-shadow:0 4px 12px #641e284d}.print-btn:active{background:#73232d;box-shadow:none}nav.chips{display:flex;flex-wrap:wrap;gap:7px 9px;padding:18px 0 4px}nav.chips button{font-family:var(--sans);font-size:12.5px;color:var(--ink);padding:5px 12px;border-radius:100px;background:var(--chip-bg);border:1px solid var(--hairline);cursor:pointer;transition:all .16s ease}nav.chips button:hover,nav.chips button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}section.g-sec{opacity:1;transform:none;transition:opacity .17s ease,transform .17s ease;padding-top:54px}section.g-sec.leaving{opacity:0;transform:translateY(12px)}section.g-sec.entering{animation:secIn .26s ease}@keyframes secIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.sec-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--hairline);padding-bottom:10px}.sec-num{font-family:var(--serif);font-size:12px;letter-spacing:2px;color:var(--accent)}.sec-head h2{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.15;letter-spacing:-.3px;text-wrap:balance}.sec-count{margin-left:auto;font-size:11.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.canvas{position:relative;padding:26px 0 6px}.canvas svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.canvas svg path{fill:none;stroke:var(--edge);stroke-width:1.3;transition:stroke .18s ease,opacity .18s ease}.canvas svg path.lit{stroke:var(--accent);stroke-width:2}.canvas svg path.dim{opacity:.14}.level{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:13px;padding:17px 0}.card{width:244px;max-width:100%;text-align:left;font-family:var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-top:3px solid var(--hairline);border-radius:6px;padding:12px 15px 11px;cursor:pointer;position:relative;z-index:2;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:7px;transition:box-shadow .16s ease,transform .16s ease,opacity .16s ease,border-color .16s ease}.card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 10px #00000017}.card.root{border-top-color:var(--accent)}.card .hw{font-family:var(--serif);font-size:16.5px;font-weight:700;line-height:1.2;letter-spacing:.1px}.card .hw code{font-family:var(--mono);font-size:14px;font-weight:600;background:none;padding:0}.card .pos{font-family:var(--serif);font-style:italic;font-weight:400;font-size:12.5px;color:var(--accent);margin-left:7px}.card .def{font-size:12.5px;line-height:1.52;color:var(--ink-soft)}.card .def code{font-size:11.5px}.card.lit{border-color:var(--accent);border-top-color:var(--accent);box-shadow:0 0 0 2px #9b374142}.card.sel{border-color:var(--accent);border-top-color:var(--accent);box-shadow:0 0 0 3px #9b374161,0 8px 20px #00000021;transform:translateY(-2px)}.card.dim{opacity:.22}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card code{font-family:var(--mono);font-size:.88em;background:var(--code-bg);padding:1.5px 5px;border-radius:4px}@media print{@page{size:Letter;margin:0}html,body{background:#fff!important;color:#000!important}nav.chips,.print-btn,.canvas svg,.sec-num,.sec-count,.g-header{display:none!important}.wrap{max-width:100%;padding:0}section.g-sec{display:block!important;opacity:1!important;transform:none!important;break-after:page;padding:.35in .45in .3in .4in;box-sizing:border-box}section.g-sec:last-of-type{break-after:auto}.sec-head{border-bottom:3pt solid #000;padding-bottom:5px}.sec-head h2{font-size:15pt;color:#000}.canvas{padding:4px 0 0}.level{gap:8px 9px;padding:6px 0}.card{flex:1 1 31%;min-width:31%;max-width:49.5%;width:auto;background:#fff!important;color:#000!important;border:1.6pt solid #000!important;border-radius:4px;padding:7px 9px 8px;box-shadow:none!important;transform:none!important;opacity:1!important;gap:3px}.card.root{border-top:4.5pt solid #000!important}.card .hw{font-size:11.5pt;color:#000}.card .hw code{font-size:10pt}.card .pos{font-size:8.2pt;color:#000}.card .def{font-size:9.2pt;line-height:1.34;color:#000}.card code{background:none;padding:0;font-size:8.3pt}section.compact .level{gap:5px 7px;padding:4px 0}section.compact .card{padding:4px 7px 5px}section.compact .card .hw{font-size:10.6pt}section.compact .card .pos{font-size:7.8pt}section.compact .card .def{font-size:8.1pt;line-height:1.27}section.compact .card code{font-size:7.6pt}}
