@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:#0d0b09;--surface:#1a1714;--surface-2:#231f1a;--surface-3:#2c2823;--text:#f5f0e5;--text-2:#ece4d2;--text-mute:#7a7972;--text-faint:#4a443e;--rule:#2f2a25;--accent:#ff4a2b;--accent-soft:#ff4a2b24;--accent-glow:#ff4a2b8c;--font-display-cn:"Noto Serif SC", "Source Han Serif SC", serif;--font-display-en:"Instrument Serif", "GT Sectra", "Playfair Display", Georgia, serif;--font-body:"Manrope", "Inter", "Noto Sans SC", -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--font-features:"ss01", "cv11", "tnum";--dur-base:.7s;--dur-slow:1.1s;--dur-cinematic:1.6s;--r-card:var(--r-sm);--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:-.025em;--stage-pad-x:140px;--stage-pad-y:100px;--surface-vignette:radial-gradient(circle at 50% 60%, transparent 0%, #00000073 100%)}*,: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)}}.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-component{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-component: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)}.opening-root{background:#010801;width:1920px;height:1080px;position:relative;overflow:hidden}.forest-bg-img{opacity:.45;mix-blend-mode:darken;z-index:0;background:url(/images/intro_forest.jpg) 50%/cover no-repeat;position:absolute;inset:0}.letterbox{z-index:60;pointer-events:none;background:#000;height:86px;position:absolute;left:0;right:0}.letterbox.top{top:0}.letterbox.bottom{bottom:0}.star-field{z-index:3;pointer-events:none;position:absolute;inset:0}.star{opacity:0;width:2px;height:2px;animation:twinkle var(--dur,2s) ease-in-out infinite;background:#fff;border-radius:50%;position:absolute}@keyframes twinkle{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.9;transform:scale(1.4)}}.shooting-star{opacity:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffc8cc,#fff);border-radius:2px;width:120px;height:2px;position:absolute;top:80px;left:-100px;transform:rotate(-35deg)}.shooting-star.animate{animation:1.2s ease-out forwards shootStar}@keyframes shootStar{0%{opacity:1;transform:rotate(-35deg)translate(0)}70%{opacity:1}to{opacity:0;transform:rotate(-35deg)translate(1100px)}}.mist-container{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mist{filter:blur(18px);background:linear-gradient(90deg,#0000 0%,#8cc88c0f 30%,#8cc88c1a 50%,#8cc88c0f 70%,#0000 100%);width:140%;height:120px;position:absolute;left:-20%}.mist-1{animation:12s ease-in-out infinite mistDrift;top:55%}.mist-2{opacity:.7;animation:18s ease-in-out -4s infinite reverse mistDrift;top:65%}.mist-3{opacity:.5;animation:22s ease-in-out -8s infinite mistDrift;top:72%}@keyframes mistDrift{0%,to{transform:translate(-5%)}50%{transform:translate(5%)}}.dark-overlay{z-index:4;pointer-events:none;background:#03080300;transition:background 1.5s;position:absolute;inset:0}.dark-overlay.active{background:#0308038c}.moon-wrap{z-index:5;opacity:0;transition:opacity 2s,transform 2s;position:absolute;top:65px;right:230px;transform:translateY(-20px)}.moon-wrap.show{opacity:.9;transform:translateY(0)}.moon-body{z-index:1;background:radial-gradient(circle at 35% 35%,#fffde0,#f5e050 40%,#c8a820);border-radius:50%;width:70px;height:70px;position:relative}.moon-glow{background:radial-gradient(circle,#fff06466 0%,#ffdc3c26 50%,#0000 70%);border-radius:50%;animation:4s ease-in-out infinite moonPulse;position:absolute;inset:-10px}@keyframes moonPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.forest-bottom{z-index:6;pointer-events:none;height:220px;position:absolute;bottom:0;left:0;right:0}.tree{background:#020802;border-radius:50% 50% 0 0;position:absolute;bottom:60px}.tree:after{content:"";background:#020802;width:8px;height:30px;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.t1{width:80px;height:140px;left:3%}.t2{width:60px;height:110px;left:12%}.t3{width:100px;height:170px;left:22%}.t4{width:90px;height:155px;right:25%}.t5{width:70px;height:120px;right:14%}.t6{width:85px;height:145px;right:4%}.fog-floor{background:linear-gradient(#0000 0%,#030a0566 40%,#030a05e6 100%);height:80px;position:absolute;bottom:0;left:0;right:0}.firefly-canvas{z-index:7;pointer-events:none;opacity:.8;width:100%;height:100%;position:absolute;inset:0}.deer-scene{z-index:20;opacity:0;align-items:center;gap:1rem;transition:opacity .5s;display:flex;position:absolute;top:50%;left:30%;transform:translate(-50%,-50%)}.deer-scene.show{opacity:1}.deer-scene.caught .deer-emoji{animation:.8s ease-in forwards deerVanish}@keyframes deerVanish{0%{opacity:1;filter:brightness();transform:scale(1)rotate(0)}40%{opacity:1;filter:brightness(2)hue-rotate(20deg);transform:scale(1.1)rotate(-5deg)}to{opacity:0;filter:brightness(3)blur(4px);transform:scale(.2)rotate(15deg)translateY(-40px)}}.deer-vanish-effect{background:radial-gradient(circle,#c8dcff99 0%,#0000 70%);border-radius:50%;animation:.8s ease-out forwards vanishRing;position:absolute;inset:-20px}@keyframes vanishRing{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2.5)}}.deer-emoji{filter:drop-shadow(0 0 12px #c8b48ccc);font-size:3.5rem;display:block}.lightning{z-index:9;pointer-events:none;background:0 0;transition:background 50ms;position:absolute;inset:0}.lightning.flash{animation:.8s ease-out lightningFlash}@keyframes lightningFlash{0%{background:#dce6ffe6}10%{background:0 0}20%{background:#dce6ff99}30%{background:0 0}45%{background:#dce6ff4d}to{background:0 0}}.rabbit-peek{z-index:18;opacity:0;transition:opacity .6s,transform .6s;position:absolute;bottom:180px;right:18%;transform:translate(30px)}.rabbit-peek.show{opacity:1;animation:1.2s ease-in-out infinite rabbitPeek;transform:translate(0)}@keyframes rabbitPeek{0%,to{transform:translate(0)translateY(0)}50%{transform:translate(-3px)translateY(-5px)}}.rabbit-emoji{filter:drop-shadow(0 0 8px #c8b4a099);font-size:2.5rem}.cinema-text{z-index:30;text-align:center;text-shadow:0 2px 20px #000000f2;width:100%;font-size:1.55rem;line-height:2;font-family:var(--font-display-cn);animation:.8s forwards fadeInText;position:absolute;left:0}@keyframes fadeInText{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.text-cream{color:var(--text-2)}.text-amber{color:#f5c542}.text-red{color:#ff6b6b;font-weight:600}.text-gold{color:#ffd060}.typewriter-text:after{content:"|";vertical-align:text-bottom;background:currentColor;width:2px;height:1.2em;margin-left:2px;animation:.6s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.fox-scene{z-index:20;flex-direction:column;align-items:center;gap:1rem;display:flex;position:absolute;top:50%}.fox-scene.fox-alone{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards foxEnter;left:50%;transform:translate(-50%,-50%)}@keyframes foxEnter{0%{opacity:0;transform:translate(-50%,-50%)translate(-80px)}to{opacity:1;transform:translate(-50%,-50%)translate(0)}}.fox-sprite{flex-direction:column;align-items:center;display:flex;position:relative}.fox-emoji{filter:drop-shadow(0 0 16px #ffc85099);font-size:4rem;display:block}.fox-bubble{font-size:1rem;font-family:var(--font-display-cn);text-align:center;border-radius:1rem;margin-top:.5rem;padding:.5rem 1.2rem;animation:.5s forwards fadeInText}.fox-bubble.mood-worried{color:#f5a0a0;background:#ff646426;border:1px solid #ff646466}.fox-bubble.mood-determined{color:#ffd060;background:#ffd05026;border:1px solid #ffd05080}.fox-sprite.trembling .fox-emoji{animation:.3s ease-in-out infinite foxTremble}@keyframes foxTremble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.help-scene{z-index:20;align-items:center;gap:3rem;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards foxEnter;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shake{animation:.8s ease-in-out infinite textShake}@keyframes textShake{0%,to{transform:translate(-50%)}20%{transform:translate(calc(-50% - 6px))rotate(-1deg)}40%{transform:translate(calc(6px - 50%))rotate(1deg)}60%{transform:translate(calc(-50% - 4px))}80%{transform:translate(calc(4px - 50%))}}.button-scene{z-index:35;flex-direction:column;align-items:center;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards btnAppear;display:flex;position:absolute;bottom:194px;left:50%;transform:translate(-50%)}@keyframes btnAppear{0%{opacity:0;transform:translate(-50%)scale(.7)translateY(20px)}to{opacity:1;transform:translate(-50%)scale(1)translateY(0)}}.start-btn{color:#ffd04a;cursor:pointer;font-size:1.15rem;font-family:var(--font-display-cn);background:linear-gradient(135deg,#1a3020,#0f200f);border:2px solid #e8a830;border-radius:40px;padding:18px 56px;transition:box-shadow .2s,transform .15s;box-shadow:0 0 32px #e8a83866,0 6px 24px #00000080}.start-btn:hover{transform:scale(1.04);box-shadow:0 0 50px #e8a838a6,0 8px 30px #00000080}.start-btn:active{transform:scale(.96)}
