:root{--bg-0: oklch(16.5% .006 70);--bg-1: oklch(19.5% .006 70);--bg-2: oklch(23% .006 70);--bg-3: oklch(27% .006 70);--line: oklch(31% .006 70);--line-soft: oklch(26% .006 70);--fg: oklch(96% .008 80);--fg-mute: oklch(72% .008 80);--fg-dim: oklch(55% .008 80);--fg-faint: oklch(40% .008 80);--bid: oklch(74% .135 152);--bid-soft: oklch(74% .135 152 / .16);--bid-line: oklch(74% .135 152 / .32);--ask: oklch(70% .165 28);--ask-soft: oklch(70% .165 28 / .16);--ask-line: oklch(70% .165 28 / .34);--warn: oklch(82% .145 78);--warn-soft: oklch(82% .145 78 / .14);--danger: oklch(70% .165 28);--info: oklch(74% .09 230);--info-soft: oklch(74% .09 230 / .14);--ok: oklch(74% .135 152);--brand: oklch(80% .15 80);--brand-soft: oklch(80% .15 80 / .16);--ui: "Geist", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--mono: "Geist Mono", ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 56px;--s-10: 72px;--r-1: 4px;--r-2: 6px;--r-3: 10px;--r-4: 14px;--shadow-1: 0 1px 0 rgba(255,255,255,.02) inset, 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 12px 30px -10px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg-0);color:var(--fg);font-family:var(--ui);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45;font-size:14px}.mono{font-family:var(--mono);font-feature-settings:"tnum","zero"}.tnum{font-variant-numeric:tabular-nums}::selection{background:var(--brand-soft);color:var(--fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:6px}::-webkit-scrollbar-track{background:transparent}.dossier{max-width:1440px;margin:0 auto;padding:56px 40px 120px}.section{border-top:1px solid var(--line-soft);padding:48px 0 8px;margin-top:16px}.section:first-of-type{border-top:0;padding-top:0}.section-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute);padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg-1)}.section-title{font-size:32px;line-height:1.1;margin:14px 0 6px;letter-spacing:-.01em;font-weight:500}.section-sub{color:var(--fg-mute);max-width:760px;font-size:15px;margin-bottom:28px}.card{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--r-3)}.kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--bg-2);color:var(--fg-mute)}.divider{height:1px;background:var(--line-soft)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.grid{display:grid}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}@media (max-width: 1024px){.dossier{padding:36px 24px 80px}.section-title{font-size:26px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 720px){body{font-size:13.5px}.dossier{padding:24px 14px 64px}.section{padding:32px 0 4px}.section-title{font-size:22px;line-height:1.15}.section-sub{font-size:14px}.stack-mobile,.grid[style*="repeat(2"],.grid[style*="repeat(3"],.grid[style*="repeat(4"],.grid[style*="repeat(6"]{grid-template-columns:1fr!important}.phone-row{grid-template-columns:max-content!important;gap:28px!important}.scroll-x-mobile{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.toc-card{display:none!important}.window-content{overflow-x:auto;-webkit-overflow-scrolling:touch}.window-content>*{min-width:1100px}.section-eyebrow{font-size:10px;padding:3px 6px}}@media (max-width: 720px){.swipe-hint:after{content:"swipe →";display:block;text-align:right;padding:6px 12px;font-family:var(--mono);font-size:10.5px;color:var(--fg-dim);border-top:1px dashed var(--line-soft)}}@keyframes qpulse{0%{box-shadow:0 0 0 0 currentColor}to{box-shadow:0 0 0 8px transparent}}@keyframes qfade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.qfade{animation:qfade .35s ease-out both}
