@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600&display=swap";@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,500;0,700;1,400;1,500&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap";:root{--shell:#c8bca0;--surface:#f1ebd8;--surface-2:#f8f3e2;--surface-3:#ebe3cc;--text:#14110b;--text-2:#2a261a;--text-mute:#5e564a;--text-faint:#8c8473;--rule:#968e7a;--accent:#c8260d;--accent-soft:#c8260d1a;--accent-glow:#c8260d4d;--font-display-cn:"Noto Serif SC", "Source Han Serif SC", serif;--font-display-en:"Playfair Display", "GT Sectra", "Bodoni 72", "Times New Roman", serif;--font-body:"Source Serif 4", "Source Serif Pro", "Noto Serif SC", "Times New Roman", serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--font-features:"ss01", "tnum", "lnum";--dur-base:.65s;--dur-slow:1s;--dur-cinematic:1.5s;--r-card:var(--r-flat);--r-stage:0;--rule-w:1px;--rule-style:solid;--hero-num-font:var(--font-display-en);--hero-num-style:italic;--hero-num-weight:400;--hero-num-track:-.04em;--stage-pad-x:100px;--stage-pad-y:72px;--shadow-stage:0 60px 160px #281e0f4d, 0 0 0 1px #0000000d;--surface-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='320' height='320'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='8'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0.10 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--surface-pattern-size:320px 320px;--surface-pattern-blend:multiply;--surface-pattern-opacity:.6}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}img,svg,video{max-width:100%;display:block}button{font:inherit;color:inherit;background:0 0;border:0;padding:0}body{font-family:var(--font-display-cn);color:var(--text);background:var(--shell);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;text-wrap:pretty;font-feature-settings:var(--font-features,"tnum", "ss01");letter-spacing:var(--track-snug,-.005em);cursor:default}::selection{background:var(--accent);color:var(--surface)}:root{--t-display-1:clamp(140px, 11vw, 200px);--t-display-2:clamp(80px, 7vw, 128px);--t-h1:clamp(56px, 5vw, 88px);--t-h2:clamp(40px, 3.6vw, 60px);--t-body:20px;--t-micro:12px;--track-tight:-.025em;--track-snug:-.005em;--track-caps:.22em;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-7:48px;--space-9:96px;--stage-pad-x:96px;--stage-pad-y:80px;--r-flat:0;--r-xs:4px;--r-sm:8px;--r-md:16px;--r-xl:32px;--r-pill:999px;--r-card:var(--r-md);--bw-1:1px;--bw-2:2px;--bw-4:4px;--rule-w:1px;--rule-style:solid;--ease-quart:cubic-bezier(.19, 1, .22, 1);--ease-expo:cubic-bezier(.86, 0, .07, 1);--ease-soft:cubic-bezier(.4, 0, .1, 1);--ease-overshoot:cubic-bezier(.34, 1.56, .64, 1);--dur-quick:.28s;--dur-base:.6s;--dur-slow:.9s;--dur-cinematic:1.4s;--hero-num-font:var(--font-display-en);--hero-num-style:italic;--hero-num-weight:400;--hero-num-track:var(--track-tight);--shadow-stage:0 60px 160px #0000008c, 0 0 0 1px #ffffff06}.app-shell{background:var(--shell);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stage-fitter{isolation:isolate;position:relative}.stage-frame{transform-origin:0 0;background:var(--surface);cursor:pointer;width:1920px;height:1080px;box-shadow:var(--shadow-stage);border:var(--stage-border,none);border-radius:var(--r-stage,0);position:absolute;top:0;left:0;overflow:hidden}.stage-frame:after{content:"";pointer-events:none;background-image:var(--surface-pattern,none);background-size:var(--surface-pattern-size,auto);mix-blend-mode:var(--surface-pattern-blend,normal);opacity:var(--surface-pattern-opacity,1);z-index:1;position:absolute;inset:0}.stage-frame:before{content:"";pointer-events:none;background:var(--surface-vignette,none);z-index:1;position:absolute;inset:0}.scene{z-index:2;position:absolute;inset:0}.serif-cn{font-family:var(--font-display-cn);letter-spacing:var(--track-tight);text-shadow:var(--text-shadow,none);font-style:normal;font-weight:700}.serif-it{font-family:var(--font-display-en);letter-spacing:var(--track-tight);text-shadow:var(--text-shadow,none);font-style:italic;font-weight:400}.display-en{font-family:var(--font-display-en);letter-spacing:var(--track-tight);text-shadow:var(--text-shadow,none);font-style:normal;font-weight:700}.mono{font-family:var(--font-mono)}.label-mono{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-mute);font-weight:500}.kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);font-size:13px}.hero-num{font-family:var(--hero-num-font);font-style:var(--hero-num-style);font-weight:var(--hero-num-weight);letter-spacing:var(--hero-num-track);font-variant-numeric:tabular-nums;color:var(--text);line-height:.9}.scene-pad{padding:var(--stage-pad-y) var(--stage-pad-x);flex-direction:column;display:flex;position:absolute;inset:0}.stack{flex-direction:column;display:flex}.row{flex-direction:row;display:flex}.fill{flex:1}.center{place-items:center;display:grid}.rule{border:0;border-top:var(--rule-w) var(--rule-style) var(--rule);width:100%;height:0;margin:0}.rule-accent{border:0;border-top:var(--bw-2) solid var(--accent);width:100%;height:0;margin:0}.dot-accent{background:var(--accent);width:8px;height:8px;box-shadow:0 0 14px var(--accent-glow);vertical-align:middle;border-radius:50%;display:inline-block}.corner-mark{top:var(--space-7);left:var(--space-9);z-index:5;align-items:baseline;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-mute);pointer-events:none;display:flex;position:absolute}.corner-mark .ord{font-family:var(--font-display-en);letter-spacing:0;color:var(--text);font-size:28px;font-style:italic;line-height:1}.corner-mark .slash{opacity:.3;font-size:16px}.click-cue{right:var(--space-9);bottom:var(--space-7);z-index:5;align-items:center;gap:var(--space-3);font-family:var(--font-mono);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-mute);opacity:0;transition:opacity var(--dur-slow) var(--ease-quart);pointer-events:none;font-size:11px;display:flex;position:absolute}.click-cue.visible{opacity:.6}.click-cue .arrow{font-family:var(--font-display-en);letter-spacing:0;animation:nudge 2.4s var(--ease-soft) infinite;font-size:20px;font-style:italic;display:inline-block}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.badge-mono{align-items:center;gap:var(--space-2);border:var(--bw-1) solid var(--rule);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-mute);padding:4px 10px;font-size:11px;display:inline-flex}.badge-mono.is-accent{color:var(--accent);border-color:var(--accent)}.pull-quote{border-left:var(--bw-4) solid var(--accent);padding:var(--space-3) 0 var(--space-3) var(--space-5);font-family:var(--font-display-cn);font-weight:700;font-size:var(--t-h2);color:var(--text);line-height:1.3}.card{background:var(--surface-2);border:var(--bw-1) solid var(--rule);border-radius:var(--r-card);box-shadow:var(--card-shadow,none)}.card-glass{background:var(--card-glass-bg,#ffffff0f);-webkit-backdrop-filter:blur(20px);border:var(--bw-1) solid var(--card-glass-border,#ffffff1f);border-radius:var(--r-card)}.tr-rule{border-top:var(--rule-w) var(--rule-style) var(--rule)}.masthead{align-items:baseline;gap:var(--space-5);width:100%;display:flex}.masthead .brand{font-family:var(--font-display-en);color:var(--text);letter-spacing:0;font-size:22px;font-style:italic}.masthead .issue{font-family:var(--font-mono);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-mute);margin-left:auto;font-size:11px}.fade-in{animation:fade-in var(--dur-base) var(--ease-quart) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mask-reveal{clip-path:inset(0 100% 0 0);transition:clip-path .7s var(--ease-quart)}.mask-reveal.in{clip-path:inset(0)}.rule-grow{transform-origin:0;transition:transform var(--dur-cinematic) var(--ease-expo);transform:scaleX(0)}.rule-grow.in{transform:scaleX(1)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes caret-blink{50%{opacity:0}}@keyframes pulse-halo{0%{opacity:.6;transform:scale(.9)}70%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}.letter-stagger>.letter{opacity:0;animation:letter-rise var(--dur-slow) var(--ease-expo) forwards;animation-delay:calc(var(--i,0) * 60ms);display:inline-block;transform:translateY(40px)scale(.85)}@keyframes letter-rise{to{opacity:1;transform:translateY(0)scale(1)}}.auto-gate{z-index:100;-webkit-backdrop-filter:blur(20px);cursor:pointer;background:#000000c7;place-items:center;animation:.32s ease-out auto-gate-fade-in;display:grid;position:fixed;inset:0}@keyframes auto-gate-fade-in{0%{opacity:0}to{opacity:1}}.auto-gate-card{text-align:center;color:#f4f4f5;flex-direction:column;align-items:center;gap:12px;padding:48px 64px;display:flex}.auto-gate-kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#f4f4f58c;font-size:11px}.auto-gate-title{font-family:var(--font-display-en,system-ui);letter-spacing:-.02em;font-size:56px;font-weight:600;line-height:1.1}.auto-gate-sub{font-family:var(--font-body,var(--font-display-en));color:#f4f4f5a6;margin-top:8px;font-size:16px;line-height:1.6}.auto-gate-sub kbd{font-family:var(--font-mono);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:4px;padding:2px 6px;font-size:12px}.at-hover{z-index:11;pointer-events:auto;justify-content:flex-end;align-items:flex-start;width:160px;height:60px;padding:12px;display:flex;position:fixed;top:0;right:0}.at-btn{-webkit-backdrop-filter:blur(20px);color:#f4f4f5;font-family:var(--font-mono);letter-spacing:.18em;cursor:pointer;opacity:0;background:#000000d9;border-radius:0 0 0 8px;align-items:center;gap:8px;padding:8px 14px;font-size:11px;transition:opacity .28s,transform .28s;display:inline-flex;transform:translateY(-100%)}.at-hover:hover .at-btn{opacity:1;transform:translateY(0)}.at-dot{background:#888;border-radius:50%;width:8px;height:8px;display:inline-block}.at-manual .at-dot{background:#888}.at-audio .at-dot{background:#facc15;box-shadow:0 0 8px #facc1599}.at-auto .at-dot{background:#4ade80;box-shadow:0 0 8px #4ade80b3}.pb-hover{z-index:10;pointer-events:auto;justify-content:center;align-items:flex-end;height:60px;display:flex;position:fixed;bottom:0;left:0;right:0}.pb{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);scrollbar-width:thin;scrollbar-color:var(--text-faint) transparent;opacity:0;max-width:calc(100vw - 32px);transition:opacity var(--dur-base) var(--ease-quart), transform var(--dur-base) var(--ease-quart);background:#000000d9;border-radius:12px 12px 0 0;gap:6px;padding:12px 20px;display:flex;overflow:auto hidden;transform:translateY(100%)}.pb::-webkit-scrollbar{height:4px}.pb::-webkit-scrollbar-track{background:0 0}.pb::-webkit-scrollbar-thumb{background:var(--text-faint);border-radius:2px}.pb-hover:hover .pb{opacity:1;transform:translateY(0)}.pb-chapter{color:var(--text-mute);font-family:var(--font-mono);cursor:pointer;transition:color var(--dur-quick), border-color var(--dur-quick);background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:flex}.pb-chapter:hover{color:var(--text)}.pb-active{color:var(--text);border-color:var(--accent)}.pb-num{color:var(--accent);font-weight:600}.pb-pips{flex-shrink:0;gap:3px;margin-left:8px;display:flex}.pb-pip{background:var(--text-faint);cursor:pointer;width:6px;height:6px;transition:background var(--dur-quick);border-radius:50%;flex-shrink:0}.pb-pip-on{background:var(--accent)}.pb-github{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:36px;height:36px;color:var(--text);opacity:0;transition:opacity var(--dur-base) var(--ease-quart), transform var(--dur-base) var(--ease-quart), color var(--dur-quick);background:#000000d9;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:flex;position:absolute;bottom:12px;right:16px;transform:translateY(100%)}.pb-github:hover{color:var(--accent)}.pb-hover:hover .pb-github{opacity:1;transform:translateY(0)}.pb-github svg{display:block}
