.fx-overlay{transform:translate(-50%, -50%) scale(var(--fx-scale,1));will-change:transform, opacity;max-width:90%;max-height:90%;position:absolute}.fx-overlay.anim-fadeIn{animation:.8s ease-out both fx-fade-in}.fx-overlay.anim-slideDown{animation:.7s cubic-bezier(.22,1,.36,1) both fx-slide-down}.fx-overlay.anim-slideUp{animation:.7s cubic-bezier(.22,1,.36,1) both fx-slide-up}.fx-overlay.anim-pop{animation:.5s cubic-bezier(.34,1.56,.64,1) both fx-pop}.fx-overlay.anim-bob{animation:.5s ease-out both fx-fade-in,2.4s ease-in-out .5s infinite fx-bob}.fx-overlay.anim-pulse{animation:.5s ease-out both fx-fade-in,1.8s ease-in-out .5s infinite fx-pulse}@keyframes fx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fx-slide-down{0%{opacity:0;transform:translate(-50%, calc(-50% - 14vh)) scale(var(--fx-scale,1))}to{opacity:1;transform:translate(-50%, -50%) scale(var(--fx-scale,1))}}@keyframes fx-slide-up{0%{opacity:0;transform:translate(-50%, calc(-50% + 14vh)) scale(var(--fx-scale,1))}to{opacity:1;transform:translate(-50%, -50%) scale(var(--fx-scale,1))}}@keyframes fx-pop{0%{opacity:0;transform:translate(-50%, -50%) scale(calc(var(--fx-scale,1) * .3))}to{opacity:1;transform:translate(-50%, -50%) scale(var(--fx-scale,1))}}@keyframes fx-bob{0%,to{transform:translate(-50%, -50%) scale(var(--fx-scale,1))}50%{transform:translate(-50%, calc(-50% - 1.5vh)) scale(var(--fx-scale,1))}}@keyframes fx-pulse{0%,to{transform:translate(-50%, -50%) scale(var(--fx-scale,1))}50%{transform:translate(-50%, -50%) scale(calc(var(--fx-scale,1) * 1.06))}}:root{--bg-dark:#0f1419;--bg-card:#1a2028;--bg-card-alt:#222a33;--text-primary:#e8e0d4;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-green:#86c232;--accent-gold:#d4a853;--accent-blue:#5b8fb9;--accent-coral:#c77d6a;--border:#ffffff14;--shadow:0 8px 32px #0006;--r-bg:#fef4e0;--r-text:#375484;--r-text-rgb:55, 84, 132;--r-text-contrast:#fef4e0;--r-accent-1:#faf26d;--r-accent-1-contrast:#011960;--r-accent-2:#ffda22;--r-gradient:linear-gradient(0deg, #e89d4d 28%, #fef4e0 100%);--r-card-bg:#425c86;--r-card-text:#fbbd59;--r-border-width:2px;--r-btn-radius:.5rem;--r-btn-shadow:0px 5px 0px var(--r-text);--r-btn-shadow-hover:0px 3px 0px var(--r-text);--r-card-radius:.375rem;--font-sans:"Instrument Sans", "Inter", -apple-system, sans-serif;--font-serif:var(--font-sans);--game-width:100vw;--game-height:100dvh}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg-dark);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);overflow:hidden}.screen{width:var(--game-width);height:var(--game-height);flex-direction:column;display:none;position:fixed;inset:0}.screen.active{display:flex}.hidden{display:none!important}#boot-loader{z-index:9000;background:var(--r-bg);color:var(--r-text);opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;transition:opacity .4s;display:flex;position:fixed;inset:0}#boot-loader.fading{opacity:0}.boot-loader-spinner{border:4px solid rgba(var(--r-text-rgb), .18);border-top-color:var(--r-text);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite bootSpin}.boot-loader-label{font-family:var(--font-sans);letter-spacing:.02em;opacity:.85;font-weight:600}@keyframes bootSpin{to{transform:rotate(360deg)}}#title-screen{background:var(--r-bg);color:var(--r-text);justify-content:center;align-items:center;position:relative;overflow:hidden}.title-backdrop{background:radial-gradient(ellipse at 30% 85%, #e89d4d1f 0%, transparent 55%), radial-gradient(ellipse at 70% 15%, #faf26d14 0%, transparent 50%), var(--r-bg);animation:8s ease-in-out infinite alternate backdropPulse;position:absolute;inset:0}.title-backdrop:after{content:"";pointer-events:none;opacity:.7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none'%3E%3Cpath d='M100 180c-50-15-90-65-80-130S100 10 100 10s50 20 80 85-30 115-80 130z' stroke='%23375484' stroke-width='1.5' fill='none' opacity='.08'/%3E%3Cpath d='M100 170c-25-40-20-90 5-130s65-55 65-55' stroke='%23375484' stroke-width='1' fill='none' opacity='.06'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:280px;height:280px;position:absolute;top:-60px;right:-40px}@keyframes backdropPulse{0%{opacity:.85}to{opacity:1}}.title-content{z-index:1;text-align:center;padding:2rem;position:relative}.title-logo-container{width:100%;max-width:480px;margin:0 auto 1.25rem;animation:1s ease-out fadeInUp}.title-logo-img{width:100%;height:auto;display:block}.title-logo-subtitle{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--r-text);opacity:.85;text-align:center;margin-top:.6rem;font-size:clamp(.7rem,2.2vw,.82rem);font-weight:700;animation:1s ease-out .1s both fadeInUp}.title-tagline-main{font-family:var(--font-sans);color:var(--r-text);letter-spacing:.02em;max-width:440px;margin:0 auto .8rem;font-size:clamp(.95rem,3vw,1.2rem);font-weight:700;line-height:1.4;animation:1s ease-out .2s both fadeInUp}.title-tagline-sub{font-family:var(--font-sans);color:rgba(var(--r-text-rgb), .75);max-width:380px;margin:0 auto 2.5rem;font-size:clamp(.85rem,2.5vw,1rem);font-weight:400;line-height:1.5;animation:1s ease-out .4s both fadeInUp}.title-buttons{flex-direction:column;align-items:center;gap:.75rem;animation:1s ease-out .5s both fadeInUp;display:flex}#title-screen .btn-primary{background:var(--r-accent-1);color:var(--r-accent-1-contrast);border:var(--r-border-width) solid var(--r-text);border-radius:var(--r-btn-radius);box-shadow:var(--r-btn-shadow);font-family:var(--font-sans);text-transform:none;letter-spacing:.02em;padding:14px 48px;font-weight:700;transition:transform .15s,box-shadow .15s}#title-screen .btn-primary:hover{background:var(--r-accent-1);box-shadow:var(--r-btn-shadow-hover);transform:translateY(2px)}#title-screen .btn-primary:active{box-shadow:none;transform:translateY(5px)}#title-screen .btn-secondary{color:var(--r-text);border:var(--r-border-width) solid rgba(var(--r-text-rgb), .25);border-radius:var(--r-btn-radius);box-shadow:none;font-family:var(--font-sans);text-transform:none;letter-spacing:.02em;background:0 0;font-weight:500}#title-screen .btn-secondary:hover{background:rgba(var(--r-text-rgb), .06);border-color:rgba(var(--r-text-rgb), .4)}.title-credit-bottom{letter-spacing:.15em;text-transform:uppercase;color:rgba(var(--r-text-rgb), .5);margin-top:2.5rem;font-size:.72rem;font-weight:700;animation:1s ease-out .6s both fadeInUp}.title-credit-bottom a{color:inherit;border-bottom:1px solid rgba(var(--r-text-rgb), .2);text-decoration:none;transition:border-color .2s}.title-credit-bottom a:hover{border-color:rgba(var(--r-text-rgb), .6)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.btn-primary,.btn-secondary,.btn-danger{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;min-width:200px;padding:14px 48px;font-size:.85rem;font-weight:500;transition:all .2s}.btn-primary{background:var(--accent-green);color:#0f1419}.btn-primary:hover{background:#9ad63e;transform:translateY(-1px);box-shadow:0 4px 20px #86c2324d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-alt);border-color:#ffffff26}.btn-danger{color:var(--accent-coral);background:0 0;border:1px solid #c77d6a4d}.btn-danger:hover{background:#c77d6a1a}#game-screen{background:var(--bg-dark);position:relative;overflow:hidden}#scene-layer{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#scene-image{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;transition:opacity .8s;position:relative;overflow:hidden}#scene-img,#scene-video{object-fit:cover;object-position:50% 50%;will-change:object-position, transform;width:100%;height:100%;transition:transform .4s;position:absolute;top:0;left:0}#scene-image.pan-active #scene-img,#scene-image.pan-active #scene-video{transform:scale(1.2)}#scene-layers{width:100%;height:100%;position:absolute;top:0;left:0}#scene-layers .layer-group{position:absolute;inset:0}#scene-layers .composite-layer{object-fit:cover;object-position:50% 50%;will-change:object-position, transform;width:100%;height:100%;transition:transform .4s;position:absolute;top:0;left:0}#scene-image.pan-active #scene-layers .composite-layer{transform:scale(1.2)}#scene-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#0f141999 70%,#0f1419f2 100%);position:absolute;inset:0}#scene-fx{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}#scene-image:after{content:"";pointer-events:none;z-index:1;opacity:0;transition:opacity .6s;position:absolute;inset:0;box-shadow:inset 0 0 60px 15px #0000002e}#scene-image.pan-active:after{opacity:1}#day-counter{top:calc(env(safe-area-inset-top,0px) + 12px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.05em;border:1px solid var(--border);background:#0f1419b3;border-radius:20px;padding:6px 14px;font-size:.75rem;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}#day-number{color:var(--accent-gold);font-weight:600}#btn-zoom-toggle{top:calc(env(safe-area-inset-top,0px) + 12px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.05em;border:1px solid var(--border);cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;background:#0f141999;border-radius:20px;outline:none;padding:6px 14px;font-size:.75rem;font-weight:500;transition:all .2s;position:absolute;left:16px}#btn-zoom-toggle:hover{color:var(--accent-gold);background:#0f1419d9;border-color:#d4a85366}#btn-zoom-toggle.zoomed-in{color:var(--accent-gold);border-color:var(--accent-gold);background:#d4a85333}#btn-res-toggle{top:calc(env(safe-area-inset-top,0px) + 52px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:.05em;border:1px solid var(--border);cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;background:#0f141999;border-radius:20px;outline:none;padding:6px 14px;font-size:.75rem;font-weight:500;transition:all .2s;position:absolute;left:16px}#btn-res-toggle:hover{color:var(--accent-gold);background:#0f1419d9;border-color:#d4a85366}#btn-res-toggle.mobile-tier{color:var(--accent-gold);border-color:var(--accent-gold);background:#d4a85333}#dialogue-layer{padding:24px 20px;padding-bottom:max(24px, env(safe-area-inset-bottom));cursor:pointer;z-index:10;flex-direction:column;justify-content:flex-end;min-height:35%;max-height:50%;display:flex;position:absolute;bottom:0;left:0;right:0}#dialogue-layer.enter{animation:.4s ease-out dialogueSlideIn}@keyframes dialogueSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#speaker-name{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-green);margin-bottom:8px;font-size:.7rem;font-weight:600}#speaker-name:empty{display:none}#speaker-name[data-speaker=friend]{color:var(--accent-blue)}#speaker-name[data-speaker=narrator]{color:var(--accent-gold)}#dialogue-text{font-family:var(--font-sans);color:var(--text-primary);max-height:30vh;font-size:clamp(1rem,4.5vw,1.25rem);font-weight:400;line-height:1.7;overflow-y:auto}#dialogue-text[data-speaker=narrator]{color:var(--text-secondary);border-left:2px solid var(--accent-gold);padding-left:14px;font-style:italic;font-weight:300}#dialogue-text[data-speaker=friend]{color:var(--text-primary);font-style:normal}#dialogue-advance{text-align:center;color:var(--text-muted);margin-top:12px;font-size:.7rem;animation:1.5s ease-in-out infinite advancePulse}@keyframes advancePulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}#choice-layer{padding:24px 20px;padding-bottom:max(24px, env(safe-area-inset-bottom));z-index:15;animation:.4s ease-out dialogueSlideIn;position:absolute;bottom:0;left:0;right:0}#choice-prompt{font-family:var(--font-sans);color:var(--text-secondary);text-align:center;margin-bottom:16px;font-size:clamp(.95rem,4vw,1.15rem);font-style:italic;font-weight:400}#choice-options{flex-direction:column;gap:8px;display:flex}.choice-btn{font-family:var(--font-serif);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:10px;padding:16px 20px;font-size:clamp(.9rem,3.5vw,1.05rem);font-weight:400;transition:all .2s}.choice-btn:hover{background:var(--bg-card-alt);border-color:var(--accent-green);transform:translate(4px)}.choice-btn:active{background:#86c2321a;transform:translate(2px)}.choice-btn .choice-number{text-align:center;width:24px;height:24px;color:var(--accent-green);line-height:24px;font-family:var(--font-sans);background:#86c23226;border-radius:50%;flex-shrink:0;margin-right:12px;font-size:.7rem;font-weight:600;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#minigame-canvas{z-index:35;touch-action:none;opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}#minigame-canvas.active{opacity:1;display:block!important}#minigame-canvas.fade-out{opacity:0}#game-screen.in-minigame .btn-phone,#game-screen.in-minigame #phone-banner{display:none!important}.minigame-card{text-align:center;z-index:40;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#0f1419e6;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:.4s both fadeIn;display:flex;position:absolute;inset:0}.minigame-card.dismiss{animation:.35s forwards fadeOut}.minigame-result{cursor:default;background:#0f1419c7}.minigame-card-eyebrow{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:.72rem;font-weight:600;animation:.7s ease-out .1s both fadeInUp}.minigame-card-title{font-family:var(--font-serif);color:var(--accent-gold);max-width:20ch;font-size:clamp(1.4rem,6vw,2rem);font-weight:300;line-height:1.25;animation:.7s ease-out .15s both fadeInUp}.minigame-card-instruction{font-family:var(--font-serif);color:var(--text-secondary);max-width:30ch;margin-top:14px;font-size:clamp(.9rem,3.4vw,1.05rem);font-style:italic;line-height:1.6;animation:.7s ease-out .25s both fadeInUp}.minigame-card-tap{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-top:28px;font-size:.7rem;animation:1.6s ease-in-out infinite advancePulse}.minigame-card-headline{font-family:var(--font-serif);color:var(--accent-gold);font-size:clamp(1.3rem,5.5vw,1.8rem);font-weight:300;animation:.7s ease-out .1s both fadeInUp}.minigame-card-line{font-family:var(--font-serif);color:var(--text-secondary);max-width:32ch;margin-top:14px;font-size:clamp(.9rem,3.6vw,1.05rem);font-style:italic;line-height:1.6;animation:.7s ease-out .2s both fadeInUp}.minigame-card-tip{border-top:1px solid var(--border);max-width:32ch;margin-top:24px;padding-top:18px;animation:.7s ease-out .35s both fadeInUp}.minigame-card-tip-eyebrow{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-green);margin-bottom:6px;font-size:.65rem;font-weight:600}.minigame-card-tip-text{font-family:var(--font-serif);color:var(--text-primary);font-size:clamp(.85rem,3.2vw,1rem);font-style:italic;line-height:1.6}.minigame-card-continue{margin-top:30px;animation:.7s ease-out .5s both fadeInUp}#transition-overlay{background:var(--bg-dark);opacity:0;pointer-events:none;z-index:50;transition:opacity .6s;position:absolute;inset:0}#transition-overlay.active{opacity:1;pointer-events:all}.btn-menu{top:calc(env(safe-area-inset-top,0px) + 12px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;z-index:30;background:#0f141999;border-radius:8px;font-size:1rem;transition:all .2s;position:absolute;right:16px}.btn-menu:hover{background:var(--bg-card);color:var(--text-primary)}#pause-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0f1419eb;justify-content:center;align-items:center}.pause-content{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pause-content h2{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:16px;font-size:1.5rem;font-weight:300}.time-skip-layer{z-index:12;cursor:pointer;animation:.6s both fadeIn;position:absolute;inset:0}.time-skip-layer.dismiss{animation:.5s forwards fadeOut}.time-skip-caption{z-index:12;cursor:pointer;background:linear-gradient(#0a0e1400 65%,#0a0e148c 100%);animation:.6s both fadeIn;position:absolute;inset:0}.time-skip-caption.dismiss{animation:.5s forwards fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.time-skip-narration{text-align:center;font-family:var(--font-serif);color:var(--text-secondary);z-index:5;max-width:80%;font-size:clamp(.9rem,3.5vw,1.1rem);font-style:italic;line-height:1.6;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.time-skip-hint{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;animation:1.6s ease-in-out infinite advancePulse;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.checkpoint-overlay{z-index:25;background:#0f1419e6;flex-direction:column;justify-content:center;align-items:center;animation:.6s fadeIn;display:flex;position:absolute;inset:0}.checkpoint-title{font-family:var(--font-serif);color:var(--accent-gold);margin-bottom:8px;font-size:clamp(1.2rem,5vw,1.8rem);font-weight:300}.checkpoint-subtitle{font-family:var(--font-serif);color:var(--text-secondary);text-align:center;max-width:70%;margin-bottom:32px;font-size:clamp(.85rem,3vw,1rem);font-style:italic;font-weight:300;line-height:1.6}.ending-overlay{text-align:center;background:var(--bg-dark);z-index:60;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.growth-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e8f3d8;z-index:40;pointer-events:none;background:#0f1115d1;border:1px solid #86c23273;border-radius:999px;align-items:center;gap:9px;padding:9px 18px;font-family:Outfit,Inter,sans-serif;font-size:.92rem;line-height:1.15;animation:.55s cubic-bezier(.2,.9,.3,1.2) both growthBadgeIn;display:flex;position:absolute;top:16%;left:50%;box-shadow:0 10px 30px #00000073}.growth-badge.leaving{animation:.5s forwards growthBadgeOut}.growth-badge-icon{font-size:1.2rem}.growth-badge-text b{color:#86c232}.growth-badge-total{opacity:.65;margin-top:2px;font-size:.68rem;display:block}@keyframes growthBadgeIn{0%{opacity:0;transform:translate(-50%,-10px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes growthBadgeOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}.ending-overlay{cursor:default;animation:.8s both fadeIn}.ending-title{font-family:var(--font-serif);color:var(--accent-gold);letter-spacing:.04em;font-size:clamp(1.6rem,7vw,2.4rem);font-weight:300;animation:1.2s ease-out .3s both fadeInUp}.ending-subtitle{font-family:var(--font-serif);color:var(--text-secondary);max-width:34ch;margin:18px 0 36px;font-size:clamp(.9rem,3vw,1.1rem);font-style:italic;line-height:1.7;animation:1.2s ease-out .6s both fadeInUp}.ending-overlay .btn-primary{animation:1.2s ease-out .9s both fadeInUp}.ending-card{flex-direction:column;align-items:center;width:100%;max-width:560px;display:flex}.ending-actions{flex-direction:column;align-items:center;gap:12px;animation:1.2s ease-out .9s both fadeInUp;display:flex}.ending-report-btn,.ending-slideshow-btn{text-transform:none;letter-spacing:.02em}.slideshow-overlay{z-index:60;padding:max(2rem, env(safe-area-inset-top)) 1rem 1.5rem;background:radial-gradient(120% 90% at 50% 30%,#14110c 0%,#060707 80%);flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.4s both fadeIn;display:flex;position:absolute;inset:0}.slideshow-overlay.leaving{animation:.35s both fadeOut}.slideshow-title{font-family:var(--font-serif);color:var(--accent-gold);letter-spacing:.04em;font-size:clamp(1.1rem,4.5vw,1.5rem);font-weight:300}.slideshow-stage{flex:0 auto;justify-content:center;align-items:center;width:100%;max-width:460px;display:flex}.slideshow-img{object-fit:contain;background:#0a0e14;border-radius:14px;max-width:100%;max-height:58vh;box-shadow:0 12px 40px #0009}.slideshow-img--in{animation:4s ease-out both slideshowKenBurns}@keyframes slideshowKenBurns{0%{opacity:0;transform:scale(1.04)}20%{opacity:1}to{opacity:1;transform:scale(1)}}.slideshow-caption{font-family:var(--font-serif);color:var(--text-secondary);text-align:center;max-width:36ch;min-height:1.4em;font-size:clamp(.85rem,3vw,1rem);font-style:italic}.slideshow-controls{align-items:center;gap:16px;display:flex}.slideshow-prev,.slideshow-next{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1;transition:background .15s}.slideshow-prev:hover,.slideshow-next:hover{background:#ffffff2e}.slideshow-dots{gap:7px;display:flex}.slideshow-dot{background:#ffffff40;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.slideshow-dot.active{background:var(--accent-gold);transform:scale(1.25)}.slideshow-close{top:max(1rem, env(safe-area-inset-top));color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;width:40px;height:40px;font-size:1.1rem;position:absolute;right:1rem}.slideshow-close:hover{background:#fff3}.ending-overlay--death{background:radial-gradient(120% 90% at 50% 26%, #1a1611 0%, var(--bg-dark) 72%)}.ending-overlay--death .ending-title{color:#cf6f5e}.ending-overlay--reveal{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:radial-gradient(125% 100% at 50% 44%,#08090b57 0%,#08090be0 80%)}.ending-overlay--reveal .ending-title,.ending-overlay--reveal .ending-subtitle{text-shadow:0 2px 16px #000000eb,0 1px 3px #000000f2}#game-screen.run-over #day-counter,#game-screen.run-over #btn-zoom-toggle,#game-screen.run-over #btn-res-toggle,#game-screen.run-over #btn-menu,#game-screen.run-over #btn-phone,#game-screen.run-over #btn-radio{display:none!important}.death-tombstone{filter:drop-shadow(0 10px 22px #00000080);width:clamp(104px,30vw,138px);height:auto;margin-bottom:22px;animation:1s cubic-bezier(.2,.8,.25,1) both tombstoneRise}@keyframes tombstoneRise{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.death-tombstone .dt-stone{fill:#6b7079;stroke:#474b53;stroke-width:2px}.death-tombstone .dt-mound{fill:#0006}.death-tombstone .dt-rip,.death-tombstone .dt-name{fill:#2c2f35;font-family:var(--font-serif), Georgia, serif}.death-tombstone .dt-rip{letter-spacing:2.5px;font-size:13px}.death-tombstone .dt-name{font-size:17px;font-style:italic}.death-tombstone .dt-rule{stroke:#474b53;stroke-width:1.5px}.death-tombstone .dt-leaf{fill:#474b53}.unlock-reveal{text-align:left;border:1px solid var(--accent-green);background:#86c23214;border-radius:12px;align-items:center;gap:12px;max-width:34ch;margin:0 0 28px;padding:14px 18px;animation:1.2s ease-out 1.1s both fadeInUp;display:flex}.unlock-reveal-icon{font-size:1.6rem;line-height:1}.unlock-reveal-text{font-family:var(--font-sans,sans-serif);color:var(--accent-green);flex-direction:column;gap:3px;font-size:.95rem;display:flex}.unlock-reveal-sub{color:var(--text-secondary);font-size:.82rem;font-style:italic}.ending-overlay--report{padding:max(2rem, env(safe-area-inset-top)) 1rem 2rem;-webkit-overflow-scrolling:touch;justify-content:flex-start;overflow-y:auto}.run-report{text-align:left;width:100%;max-width:560px;margin:0 auto;animation:.5s both fadeIn}.run-report-head{text-align:center;margin-bottom:18px}.run-report-title{font-family:var(--font-serif);color:var(--accent-gold);letter-spacing:.03em;font-size:clamp(1.4rem,6vw,2rem);font-weight:300}.run-report-sub{color:var(--text-muted);margin-top:6px;font-size:.82rem;font-style:italic}.run-report-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;display:grid}.rr-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.rr-card-ic{font-size:1.1rem}.rr-card-val{color:var(--text-primary);font-size:.98rem;font-weight:700;line-height:1.2}.rr-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem}.run-report-charts{flex-direction:column;gap:10px;display:flex}.rr-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 12px 8px}.rr-chart-head{align-items:center;gap:7px;margin-bottom:4px;display:flex}.rr-ic{font-size:.95rem}.rr-label{color:var(--text-primary);font-size:.82rem;font-weight:600}.rr-val{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem;font-weight:600}.rr-svg{touch-action:pan-y;width:100%;height:64px;display:block;overflow:visible}.rr-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4;opacity:.5}.calendar-flip-widget{perspective:1000px;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards calendarPopIn}@keyframes calendarPopIn{0%{opacity:0;transform:translate(-50%,-20px)scale(.8)rotateX(-20deg)}to{opacity:1;transform:translate(-50%)scale(1)rotateX(0)}}.calendar-day-text{backface-visibility:hidden;transform-style:preserve-3d;transition:transform .15s ease-in-out}.calendar-day-flip{animation:.15s ease-in-out pageFlip}@keyframes pageFlip{0%{opacity:1;transform:rotateX(0)}50%{opacity:.5;transform:rotateX(90deg)}to{opacity:1;transform:rotateX(0)}}.scene-intro-overlay{z-index:24;background:var(--bg-dark);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:22px;animation:.6s both fadeIn;display:flex;position:absolute;inset:0}.scene-intro-overlay.dismiss{animation:.5s forwards fadeOut}.scene-intro-cal{border:1px solid var(--accent-gold);perspective:1000px;background:#161c24f2;border-radius:16px;flex-direction:column;align-items:center;width:132px;animation:.5s cubic-bezier(.175,.885,.32,1.275) both sceneCalPopIn;display:flex;overflow:hidden;box-shadow:0 20px 40px #0009}.scene-intro-cal-label{text-align:center;color:#fff;width:100%;font-family:var(--font-sans);letter-spacing:.15em;background:#a22;border-bottom:1px solid #ffffff1a;padding:7px 0;font-size:.72rem;font-weight:600}.scene-intro-cal-day{font-family:var(--font-sans);color:#fff;padding:18px 0 22px;font-size:3.4rem;font-weight:700;line-height:1}.scene-intro-caption{font-family:var(--font-serif);color:var(--accent-gold);letter-spacing:.03em;font-size:clamp(1rem,4.5vw,1.35rem);font-style:italic}.scene-intro-hint{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;animation:1.6s ease-in-out infinite advancePulse}@keyframes sceneCalPopIn{0%{opacity:0;transform:translateY(-16px)scale(.85)rotateX(-18deg)}to{opacity:1;transform:translateY(0)scale(1)rotateX(0)}}.watering-style-overlay{animation:.4s forwards fadeIn}.watering-style-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.watering-style-btn:active{transform:translateY(0)}@media (width>=600px){#game-root{max-width:420px;height:100vh;box-shadow:-1px 0 0 var(--border), 1px 0 0 var(--border);margin:0 auto;position:relative}.screen{max-width:420px;left:50%;transform:translate(-50%)}}.viewpoint-nav{z-index:8;-webkit-backdrop-filter:blur(12px);pointer-events:auto;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0f141980;border:1px solid #ffffff14;border-radius:24px;gap:6px;padding:4px;animation:.5s ease-out .3s both vpNavSlideIn;display:flex;position:absolute;bottom:38%;left:50%;transform:translate(-50%)}@keyframes vpNavSlideIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.viewpoint-btn{color:var(--text-secondary);font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #0000;border-radius:20px;outline:none;align-items:center;gap:5px;padding:7px 12px;font-size:.68rem;font-weight:500;transition:all .25s;display:flex}.viewpoint-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff1f}.viewpoint-btn:active{transform:scale(.96)}.viewpoint-btn.active{color:var(--accent-gold);background:#d4a8532e;border-color:#d4a85359;box-shadow:0 0 12px #d4a8531f}.vp-icon{font-size:.85rem;line-height:1}.vp-label{line-height:1}@media (width<=360px){.vp-label{display:none}.viewpoint-btn{padding:7px 10px}}#friend-select-screen{scroll-behavior:smooth;background:var(--r-bg);color:var(--r-text);justify-content:flex-start;align-items:center;position:relative;overflow:hidden auto}.friend-select-backdrop{background:radial-gradient(ellipse at 50% 90%, #faf26d1a 0%, transparent 55%), radial-gradient(ellipse at 20% 25%, #e89d4d14 0%, transparent 50%), radial-gradient(ellipse at 80% 35%, #3754840d 0%, transparent 50%), var(--r-bg);position:absolute;inset:0}.friend-select-content{z-index:1;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:420px;padding:2rem 1.5rem 70vh;display:flex;position:relative}.friend-select-header{color:var(--r-text);letter-spacing:-.01em;text-align:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:clamp(1.3rem,6vw,1.8rem);font-style:normal;font-weight:400;animation:1s ease-out fadeInUp}.friend-select-grid{flex-wrap:wrap;justify-content:center;gap:1rem;animation:1s ease-out .3s both fadeInUp;display:flex}.friend-card{background:var(--r-bg);border:var(--r-border-width) solid rgba(var(--r-text-rgb), .15);border-radius:var(--r-card-radius);cursor:pointer;width:115px;box-shadow:0 2px 0 rgba(var(--r-text-rgb), .08);outline:none;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;transition:all .25s;display:flex;position:relative}.friend-card-locked{border-style:dashed;border-color:rgba(var(--r-text-rgb), .2)}.friend-card-locked .friend-portrait img{filter:grayscale(.85)brightness(.92)}.friend-card-locked .friend-tagline{opacity:.55}.friend-lock-badge{z-index:2;background:rgba(var(--r-text-rgb), .55);color:var(--r-bg);font-family:var(--font-sans);letter-spacing:.5px;border:var(--r-border-width) solid var(--r-text);box-shadow:0 2px 0 var(--r-text);border-radius:4px;padding:2px 7px;font-size:9px;font-weight:700;position:absolute;top:-6px;right:-4px}.friend-preorder{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--r-text);border:var(--r-border-width) solid var(--r-text);background:var(--r-bg);box-shadow:0 2px 0 rgba(var(--r-text-rgb), .15);border-radius:999px;padding:4px 12px;font-size:.62rem;font-weight:700;transition:all .2s}.friend-card-locked:hover .friend-preorder{background:#faf26d40}.friend-card-locked.preordered .friend-preorder{color:var(--r-bg);background:var(--accent-green,#86c232);border-color:var(--r-text)}.friend-card-locked.preordered .friend-lock-badge{background:var(--accent-green,#86c232)}.friend-select-sub{color:rgba(var(--r-text-rgb), .7);margin-top:.4rem;font-size:.78em;display:inline-block}.friend-card:hover{border-color:rgba(var(--r-text-rgb), .35);box-shadow:0 5px 0 rgba(var(--r-text-rgb), .08);transform:translateY(-3px)}.friend-card:active{box-shadow:0 1px 0 rgba(var(--r-text-rgb), .08);transform:translateY(0)}.friend-card.selected{border-color:var(--r-text);box-shadow:0 4px 0 var(--r-text);background:#faf26d33;transform:translateY(-3px)}.friend-portrait{border:3px solid rgba(var(--r-text-rgb), .12);border-radius:50%;width:80px;height:80px;transition:all .3s;overflow:hidden}.friend-card.selected .friend-portrait{border-color:var(--r-text);box-shadow:0 0 0 3px var(--r-accent-1)}.friend-portrait img{object-fit:cover;width:100%;height:100%}.friend-tagline{font-family:var(--font-sans);color:rgba(var(--r-text-rgb), .6);text-align:center;font-size:.7rem;font-style:italic;line-height:1.4}.friend-card.selected .friend-tagline{color:var(--r-text)}.friend-naming{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:280px;scroll-margin-top:14vh;animation:.5s ease-out fadeInUp;display:flex}.friend-naming-prompt{font-family:var(--font-sans);color:var(--r-text);text-align:center;font-size:clamp(1rem,4vw,1.2rem);font-style:normal;font-weight:500}#friend-name-input{border:var(--r-border-width) solid rgba(var(--r-text-rgb), .2);border-radius:var(--r-btn-radius);width:100%;color:var(--r-text);font-family:var(--font-sans);text-align:center;letter-spacing:.05em;background:#fff;outline:none;padding:14px 20px;font-size:1rem;font-weight:500;transition:all .2s}#friend-name-input::placeholder{color:rgba(var(--r-text-rgb), .35);font-style:italic;font-weight:400}#friend-name-input:focus{border-color:var(--r-text);box-shadow:0 0 0 3px #faf26d66}#friend-select-screen .btn-primary,#btn-let-them-in{background:var(--r-accent-1);width:100%;color:var(--r-accent-1-contrast);border:var(--r-border-width) solid var(--r-text);border-radius:var(--r-btn-radius);box-shadow:var(--r-btn-shadow);font-family:var(--font-sans);text-transform:none;letter-spacing:.02em;font-weight:700;transition:transform .15s,box-shadow .15s}#friend-select-screen .btn-primary:hover,#btn-let-them-in:hover{background:var(--r-accent-1);box-shadow:var(--r-btn-shadow-hover);transform:translateY(2px)}#friend-select-screen .btn-primary:active,#btn-let-them-in:active{box-shadow:none;transform:translateY(5px)}#btn-let-them-in:disabled{opacity:.35;cursor:not-allowed;box-shadow:0px 5px 0px rgba(var(--r-text-rgb), .2);transform:none}.name-plant-overlay{z-index:30;background:#0f1419eb;justify-content:center;align-items:center;padding:24px;animation:.5s fadeIn;display:flex;position:absolute;inset:0}.name-plant-card{flex-direction:column;align-items:center;gap:1.1rem;width:100%;max-width:320px;animation:.5s ease-out fadeInUp;display:flex}.name-plant-prompt{font-family:var(--font-serif);color:var(--text-secondary);text-align:center;font-size:clamp(1.05rem,4.5vw,1.3rem);font-style:italic;font-weight:300;line-height:1.5}#plant-name-input{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-sans);text-align:center;letter-spacing:.05em;border-radius:10px;outline:none;padding:14px 20px;font-size:1rem;font-weight:500;transition:all .2s}#plant-name-input::placeholder{color:var(--text-muted);font-style:italic;font-weight:400}#plant-name-input:focus{border-color:var(--accent-green);box-shadow:0 0 12px #86c23226}.name-plant-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.name-chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.85rem;transition:all .15s}.name-chip:hover{border-color:var(--accent-green);color:var(--text-primary)}#btn-name-plant{width:100%;transition:all .2s}#btn-name-plant:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}.dialogue-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.speaker-avatar{border:2px solid var(--accent-blue);object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.btn-phone{right:16px;top:calc(env(safe-area-inset-top,0px) + 114px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:48px;height:48px;color:var(--text-primary);cursor:pointer;z-index:30;background:#0f141999;border-radius:50%;font-size:1.3rem;transition:transform .15s,background .2s;position:absolute}.btn-phone:hover{background:var(--bg-card)}.btn-phone:active{transform:scale(.92)}#game-screen.choosing .btn-phone{display:none}.phone-notif{background:var(--accent-coral);border:2px solid var(--bg-dark);border-radius:50%;width:12px;height:12px;position:absolute;top:2px;right:2px}.phone-banner{z-index:115;-webkit-backdrop-filter:blur(20px);cursor:pointer;background:#1e232aeb;border:.5px solid #ffffff1f;border-radius:16px;align-items:center;gap:10px;width:calc(100% - 32px);max-width:380px;padding:12px 14px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-banner-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.phone-banner-body{flex:1;min-width:0}.phone-banner-sender{font-family:var(--font-sans);color:#fff;font-size:.78rem;font-weight:600;line-height:1.3}.phone-banner-text{font-family:var(--font-sans);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.75rem;overflow:hidden}.phone-banner.show{animation:.35s bannerSlideDown}.phone-banner.dismiss{animation:.3s forwards bannerSlideUp}@keyframes bannerSlideDown{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes bannerSlideUp{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-100%)}}#phone-overlay{z-index:110;-webkit-backdrop-filter:blur(4px);background:#080b108c;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.phone-frame{background:#0a0e14;border-radius:38px 38px 0 0;flex-direction:column;width:100%;max-width:420px;height:92%;animation:.28s ease-out phoneSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,inset 1px 0 #ffffff0a,inset -1px 0 #ffffff0a,0 -8px 40px #00000080}.phone-frame--closing{animation:.28s ease-in forwards phoneSlideDown}@keyframes phoneSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes phoneSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.phone-handle{background:#ffffff4d;border-radius:3px;flex-shrink:0;width:36px;height:5px;margin:8px auto 4px}.phone-status-bar{flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 20px;display:flex}.phone-status-time{font-family:var(--font-sans);color:#fff;font-feature-settings:"tnum";min-width:42px;font-size:.82rem;font-weight:600}.phone-status-island{background:#000;border-radius:14px;width:100px;height:28px}.phone-status-icons{color:#fff;opacity:.9;justify-content:flex-end;align-items:center;gap:5px;min-width:42px;display:flex}.phone-status-icon{width:16px;height:16px}.phone-status-battery{width:22px;height:12px}.phone-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.phone-title{font-family:var(--font-sans);color:#fff;font-size:1rem;font-weight:600}.phone-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.phone-close:hover{background:#ffffff14}.phone-close svg{width:18px;height:18px}.phone-body{flex:1;position:relative;overflow:hidden}.phone-views-track{width:300%;height:100%;transition:transform .3s;display:flex}.phone-view{-webkit-overflow-scrolling:touch;flex-shrink:0;width:33.3333%;padding:14px;overflow-y:auto}.phone-empty{text-align:center;color:var(--text-muted);margin-top:40%;font-style:italic}.phone-msg-bubble{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.phone-msg-avatar{object-fit:cover;border:1.5px solid #ffffff1a;border-radius:50%;flex-shrink:0;width:28px;height:28px}.phone-msg-content{flex-direction:column;max-width:78%;display:flex}.phone-msg-sender{font-family:var(--font-sans);color:var(--text-secondary);margin-bottom:2px;margin-left:2px;font-size:.7rem;font-weight:600}.phone-msg-text{font-family:var(--font-sans);color:var(--text-primary);word-wrap:break-word;background:#1c1c1e;border-radius:18px 18px 18px 4px;padding:9px 14px;font-size:.88rem;line-height:1.45}.phone-msg-time{font-family:var(--font-sans);color:var(--text-muted);margin-top:3px;margin-left:2px;font-size:.62rem}.phone-msg-bubble.unread .phone-msg-text{border:1px solid #5b8fb94d}.phone-msg-bubble.msg-new{animation:.35s ease-out msgSlideIn}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.phone-typing{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.phone-typing-dots{background:#1c1c1e;border-radius:18px 18px 18px 4px;gap:4px;padding:12px 16px;display:flex}.phone-typing-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite typingBounce}.phone-typing-dot:nth-child(2){animation-delay:.15s}.phone-typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.phone-view--camera{position:relative;padding:0!important}.phone-viewfinder{background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.phone-viewfinder--empty{color:var(--text-muted);cursor:default;font-style:italic}.phone-viewfinder:not(.phone-viewfinder--empty){cursor:grab;touch-action:none;animation:4s ease-in-out infinite viewfinderPulse}@keyframes viewfinderPulse{0%,to{transform:scale(1)}50%{transform:scale(1.003)}}.phone-zoom-rail{z-index:4;-webkit-backdrop-filter:blur(8px);background:#0000006b;border-radius:22px;gap:4px;padding:4px;display:flex;position:absolute;bottom:40px;right:14px}.phone-view-btn{color:#ffffffd1;font-family:var(--font-sans,sans-serif);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:18px;padding:7px 14px;font-size:.74rem;font-weight:600;transition:background .15s,color .15s}.phone-view-btn:hover{color:#fff}.phone-view-btn.active{color:#111;background:#fff}.phone-capture-bar{z-index:5;-webkit-backdrop-filter:blur(8px);background:#00000080;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.phone-capture-hint{font-family:var(--font-sans,sans-serif);color:#fff;flex:1;font-size:.78rem;line-height:1.3}.phone-capture-skip{color:#fff;font-family:var(--font-sans,sans-serif);cursor:pointer;background:#ffffff29;border:none;border-radius:14px;flex:none;padding:6px 12px;font-size:.74rem;font-weight:600}.phone-capture-skip:hover{background:#ffffff42}#phone-overlay.phone--capture .phone-nav,#phone-overlay.phone--capture .phone-close{display:none}.phone-flash{opacity:0;pointer-events:none;z-index:5;background:#fff;position:absolute;inset:0}.phone-flash.flash{animation:.32s phoneFlash}@keyframes phoneFlash{0%{opacity:.95}to{opacity:0}}.phone-shutter{z-index:4;cursor:pointer;background:0 0;border:3px solid #ffffffd9;border-radius:50%;width:72px;height:72px;padding:0;transition:transform .15s;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0000004d}.phone-shutter:after{content:"";background:#ffffffe6;border-radius:50%;transition:transform .15s;position:absolute;inset:4px}.phone-shutter:active{transform:translate(-50%)scale(.95)}.phone-shutter:active:after{transform:scale(.85)}.phone-review-overlay{z-index:5;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:20px;animation:.3s reviewSlideIn;display:flex;position:absolute;inset:0}.phone-review-img{object-fit:contain;border-radius:12px;max-width:90%;max-height:60%}.phone-review-actions{gap:16px;margin-top:24px;display:flex}.phone-review-btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:24px;padding:12px 28px;font-size:.85rem;font-weight:600;transition:opacity .15s}.phone-review-btn:hover{opacity:.88}.phone-review-btn--keep{background:var(--accent-blue);color:#fff}.phone-review-btn--retake{color:#fff;background:#ffffff1f;border:1px solid #ffffff26}@keyframes reviewSlideIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.phone-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.phone-photo{cursor:pointer;position:relative}.phone-photo img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;transition:transform .2s;display:block}.phone-photo:hover img{transform:scale(1.03)}.phone-photo span{font-family:var(--font-sans);color:#fff;background:#0009;border-radius:8px;padding:2px 6px;font-size:.65rem;position:absolute;bottom:6px;left:6px}.phone-nav{-webkit-backdrop-filter:blur(20px);background:#14181ef2;border-top:.5px solid #ffffff1a;flex-shrink:0;display:flex}.phone-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;transition:color .2s;display:flex;position:relative}.phone-tab.active{color:var(--accent-blue)}.phone-tab-icon{width:22px;height:22px;transition:color .2s}.phone-tab-label{font-family:var(--font-sans);letter-spacing:.02em;font-size:.6rem;font-weight:500}.phone-tab-badge{background:var(--accent-coral);color:#fff;min-width:16px;height:16px;font-family:var(--font-sans);text-align:center;border-radius:8px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:16px;position:absolute;top:4px;left:calc(50% + 6px)}.phone-home-indicator{background:#fff3;border-radius:3px;flex-shrink:0;width:134px;height:5px;margin:6px auto 8px}.phone-lightbox{z-index:120;background:#000000f2;flex-direction:column;justify-content:center;align-items:center;animation:.25s lightboxFadeIn;display:flex;position:absolute;inset:0}.phone-lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.phone-lightbox-close:hover{background:#ffffff2e}.phone-lightbox-close svg{width:20px;height:20px}.phone-lightbox-img{object-fit:contain;border-radius:8px;max-width:94%;max-height:70%}.phone-lightbox-caption{color:var(--text-secondary);font-family:var(--font-sans);text-align:center;margin-top:12px;font-size:.8rem}.phone-lightbox-nav{gap:40px;display:flex;position:absolute;bottom:40px}.phone-lightbox-prev,.phone-lightbox-next{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex}.phone-lightbox-prev:hover,.phone-lightbox-next:hover{background:#ffffff2e}.phone-lightbox-prev svg,.phone-lightbox-next svg{width:20px;height:20px}@keyframes lightboxFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.phone-toast{-webkit-backdrop-filter:blur(12px);color:var(--text-primary);font-family:var(--font-sans);border:1px solid var(--border);opacity:0;pointer-events:none;background:#080b10eb;border-radius:24px;padding:8px 18px;font-size:.85rem;transition:opacity .2s,transform .2s;position:absolute;bottom:80px;left:50%;transform:translate(-50%)translateY(10px)}.phone-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.now-playing{top:calc(env(safe-area-inset-top,0px) + 50px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);z-index:3;pointer-events:none;opacity:0;background:#0f1419cc;border-radius:22px;align-items:center;gap:9px;max-width:min(82%,100% - 150px);padding:7px 14px 7px 12px;transition:opacity .4s,transform .4s;display:flex;position:absolute;left:50%;transform:translate(-50%,-12px)}.now-playing.show{opacity:1;transform:translate(-50%)}.now-playing .np-icon{font-size:1.05rem;line-height:1}.now-playing .np-text{min-width:0;line-height:1.18;font-family:var(--font-sans);flex-direction:column;display:flex}.now-playing .np-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.58rem}.now-playing .np-title{color:var(--accent-gold);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.now-playing .np-artist{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.artist-credit{border:1px solid var(--border);font-family:var(--font-sans);background:#ffffff0a;border-radius:12px;flex-direction:column;align-items:center;gap:3px;margin:18px auto 2px;padding:14px 16px;display:flex}.artist-credit-blurb{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.68rem}.artist-credit-name{color:var(--accent-gold);font-size:.95rem;font-weight:600}.artist-credit-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:9px;display:flex}.artist-credit-links a{color:var(--accent-blue);border:1px solid var(--border);border-radius:16px;padding:5px 13px;font-size:.8rem;text-decoration:none;transition:all .15s}.artist-credit-links a:hover{color:var(--bg-dark);background:var(--accent-blue);border-color:var(--accent-blue)}.btn-radio{right:16px;top:calc(env(safe-area-inset-top,0px) + 58px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:48px;height:48px;color:var(--text-primary);cursor:pointer;z-index:30;background:#0f141999;border-radius:50%;font-size:1.3rem;transition:transform .15s,background .2s;position:absolute}.btn-radio:hover{background:var(--bg-card)}.btn-radio:active{transform:scale(.92)}#game-screen.choosing .btn-radio,#game-screen.in-minigame .btn-radio{display:none!important}.radio-overlay{z-index:40;background:var(--bg-dark);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.radio-panel{background:var(--bg-dark);font-family:var(--font-sans);position:absolute;inset:0}.radio-close{top:calc(env(safe-area-inset-top,0px) + 12px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;z-index:3;background:#0f14198c;border:none;border-radius:50%;width:34px;height:34px;font-size:.95rem;position:absolute;right:14px}.radio-close:hover{background:#0f1419cc}.radio-stage{background-repeat:no-repeat;background-color:var(--bg-dark);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.radio-stage.has-image .radio-stage-placeholder{display:none}.radio-stage-placeholder{opacity:.4;font-size:3rem}.radio-screen{font-family:var(--font-sans);color:#cfe8b0;text-shadow:0 0 4px #b4ff8c73;flex-direction:column;justify-content:center;align-items:stretch;padding:2px;display:none;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.radio-stage.has-image .radio-screen{display:flex}.radio-line{white-space:nowrap;text-align:center;width:100%;overflow:hidden}.radio-line.is-marquee{text-align:left}.radio-line.is-marquee>span{will-change:transform;animation:radioMarquee var(--marquee-dur,8s) ease-in-out infinite alternate;display:inline-block}@keyframes radioMarquee{0%,16%{transform:translate(0)}84%,to{transform:translateX(var(--marquee-shift,0))}}.radio-screen .radio-now-title{white-space:nowrap;color:inherit;font-size:.62rem;font-weight:600;display:inline-block}.radio-screen .radio-now-artist{opacity:.8;white-space:nowrap;color:inherit;font-size:.56rem;display:inline-block}.radio-wave{width:100%;height:10px;margin-top:2px;display:block}.radio-spots{pointer-events:none;position:absolute;inset:0}.radio-stage:not(.has-image) .radio-spots{display:none}.radio-spot{aspect-ratio:1;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;width:12%;padding:0;transition:transform .1s,background .15s;position:absolute;transform:translate(-50%,-50%)}.radio-spot:active{background:radial-gradient(circle,#ffffff4d,#0000 70%);transform:translate(-50%,-50%)scale(.9)}.radio-artist-link{background:var(--accent-gold);color:var(--bg-dark);border-radius:18px;align-self:center;margin-top:2px;padding:7px 18px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .15s}.radio-artist-link:hover{opacity:.85}.radio-dock{z-index:2;padding:40px 14px calc(env(safe-area-inset-bottom,0px) + 16px);background:linear-gradient(#0000,#0f1419f2 40%);flex-direction:column;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.radio-tracklist{flex-direction:column;gap:6px;max-height:38vh;display:flex;overflow-y:auto}.radio-track{border:1px solid var(--border);color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff08;border-radius:12px;flex-direction:row;align-items:center;gap:11px;padding:9px 12px;transition:background .15s,border-color .15s;display:flex}.radio-track:hover{background:var(--bg-card-alt)}.radio-track.active{border-color:var(--accent-gold);background:#d4a8531a}.radio-preset-num{width:26px;height:26px;color:var(--accent-gold);font-variant-numeric:tabular-nums;background:#d4a85326;border:1px solid #d4a85366;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.radio-track.active .radio-preset-num{background:var(--accent-gold);color:var(--bg-dark)}.radio-track-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.radio-track-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.radio-track.active .radio-track-title{color:var(--accent-gold)}.radio-track-artist{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.radio-track-eq{opacity:0;flex:none;align-items:flex-end;gap:2px;height:14px;display:flex}.radio-track.active .radio-track-eq{opacity:1}.radio-track-eq i{background:var(--accent-gold);border-radius:1px;width:3px;height:30%}.radio-track.active .radio-track-eq i{animation:.9s ease-in-out infinite radioEq}.radio-track.active .radio-track-eq i:nth-child(2){animation-delay:.3s}.radio-track.active .radio-track-eq i:nth-child(3){animation-delay:.6s}@keyframes radioEq{0%,to{height:25%}50%{height:100%}}.radio-credit{text-align:center;color:var(--text-muted);font-size:.72rem}.view-bar{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:20;background:var(--r-bg);border:var(--r-border-width) solid var(--r-text);width:min(92%,460px);box-shadow:0 4px 0 var(--r-text), 0 12px 30px #00000059;font-family:var(--font-sans);color:var(--r-text);border-radius:16px;flex-direction:column;align-items:center;gap:11px;padding:16px 16px 18px;animation:.4s ease-out both vpNavSlideIn;display:flex;position:absolute;transform:translate(-50%)}.view-bar-prompt{color:var(--r-text);text-align:center;font-size:.95rem;font-weight:700}.view-bar-hint{color:rgba(var(--r-text-rgb), .6);text-align:center;margin-top:-4px;font-size:.72rem}.view-bar-pills{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.view-bar .viewpoint-btn{background:var(--r-bg);color:var(--r-text);border:var(--r-border-width) solid rgba(var(--r-text-rgb), .25);box-shadow:0 2px 0 rgba(var(--r-text-rgb), .12);border-radius:999px;padding:8px 16px;font-size:.74rem;font-weight:600}.view-bar .viewpoint-btn:hover{color:var(--r-text);border-color:rgba(var(--r-text-rgb), .45);background:#faf26d40}.view-bar .viewpoint-btn.active{background:var(--r-accent-1);color:var(--r-accent-1-contrast);border-color:var(--r-text);box-shadow:0 2px 0 var(--r-text)}.view-bar-actions{gap:8px;width:100%;display:flex}.view-bar-zoom{border:var(--r-border-width) solid rgba(var(--r-text-rgb), .25);border-radius:var(--r-btn-radius);color:var(--r-text);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;flex:none;padding:0 16px;font-size:.78rem;font-weight:600;transition:all .2s}.view-bar-zoom:hover{background:rgba(var(--r-text-rgb), .06);border-color:rgba(var(--r-text-rgb), .45)}.view-bar .view-bar-confirm{background:var(--r-accent-1);min-width:0;color:var(--r-accent-1-contrast);border:var(--r-border-width) solid var(--r-text);border-radius:var(--r-btn-radius);box-shadow:var(--r-btn-shadow);letter-spacing:.02em;text-transform:none;flex:auto;padding:12px 18px;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s}.view-bar .view-bar-confirm:hover{background:var(--r-accent-1);box-shadow:var(--r-btn-shadow-hover);transform:translateY(2px)}.view-bar .view-bar-confirm:active{box-shadow:none;transform:translateY(5px)}
