:root{--bg-dark:#0f0f0f;--bg-panel:#1a1a1a;--accent:#e8a23d;--accent-dim:#7a5a22;--text-light:#e0e0e0;--text-dim:#888;--success:#6a9d4f;--border:#2a2a2a}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg-dark);color:var(--text-light);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}.landing{z-index:300;background-color:#000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.landing-inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:720px;display:flex}.landing-image-wrap{width:100%;max-width:640px;position:relative}.landing-image{aspect-ratio:1536/1024;border-radius:12px;width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(75% 75% at 50% 45%,#000 55%,#0000 100%);mask-image:radial-gradient(75% 75% at 50% 45%,#000 55%,#0000 100%)}.landing-title{letter-spacing:8px;color:var(--text-light);text-shadow:0 0 24px #e8a23d59;margin-top:8px;font-size:52px;font-weight:700}.landing-punchline{letter-spacing:2px;color:var(--text-dim);margin-top:12px;font-size:17px}.landing-start{color:var(--accent);border:1px solid var(--accent);letter-spacing:3px;text-transform:uppercase;cursor:pointer;background-color:#0000;border-radius:8px;margin-top:36px;padding:14px 36px;font-size:15px;transition:all .25s}.landing-start:hover{background-color:var(--accent);color:#0b0a08;box-shadow:0 0 30px #e8a23d66}.landing-legal-links{gap:18px;margin-top:20px;display:flex}.landing-legal-links a{letter-spacing:1px;color:var(--text-dim);font-size:12px;text-decoration:none}.landing-legal-links a:hover{color:var(--accent);text-decoration:underline}.cl-modalBackdrop{align-items:center}@media (width<=600px){.landing-title{letter-spacing:5px;font-size:38px}.landing-punchline{font-size:15px}}@media (orientation:landscape) and (height<=500px){.landing{padding:8px}.landing-image-wrap{max-width:260px}.landing-title{letter-spacing:3px;margin-top:4px;font-size:22px}.landing-punchline{letter-spacing:1px;margin-top:4px;font-size:11px}.landing-start{letter-spacing:1px;margin-top:10px;padding:6px 20px;font-size:11px}.landing-legal-links{gap:12px;margin-top:8px}.landing-legal-links a{letter-spacing:.5px;font-size:10px}}.header{text-align:center;border-bottom:1px solid var(--border);padding:8px 0 20px}.header-greeting{color:var(--text-dim);letter-spacing:2px;font-size:13px}.header-level{flex-direction:column;align-items:center;margin-top:8px;display:flex}.header-level-label{color:var(--accent);letter-spacing:3px;font-size:12px}.header-level-number{color:var(--text-light);font-size:48px;font-weight:700;line-height:1}.header-streak{background-color:var(--bg-panel);border:1px solid var(--accent-dim);border-radius:20px;align-items:center;gap:5px;margin-top:6px;padding:3px 10px;display:inline-flex}.header-streak-fire{font-size:13px}.header-streak-count{color:var(--accent);font-size:13px;font-weight:700}.header-streak-label{letter-spacing:2px;color:var(--text-dim);font-size:9px}.energy-bar{margin-top:18px}.energy-bar-label{letter-spacing:1px;color:var(--text-light);align-items:center;gap:6px;margin-bottom:8px;font-size:14px;display:flex}.energy-bar-icon{color:var(--accent)}.energy-bar-track{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:7px;width:100%;height:14px;overflow:hidden}.energy-bar-fill{background-color:var(--accent);border-radius:7px;height:100%;transition:width .3s}.daily-progress{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-top:18px;padding:16px;display:flex}.daily-progress-label{letter-spacing:2px;color:var(--text-dim);font-size:12px}.daily-progress-value{color:var(--accent);font-size:20px;font-weight:700}.daily-progress-tasks{letter-spacing:1px;color:var(--text-dim);font-size:13px;font-weight:700}.day-nav{justify-content:space-between;align-items:center;margin-top:18px;margin-bottom:0;display:flex}.day-nav-arrow{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;width:36px;height:36px;font-size:22px;line-height:1;transition:background-color .2s,border-color .2s}.day-nav-arrow:hover{background-color:var(--bg-panel);border-color:var(--accent-dim)}.day-nav-center{flex-direction:column;align-items:center;gap:2px;display:flex}.day-nav-label{letter-spacing:3px;color:var(--accent);font-size:13px}.day-nav-date{letter-spacing:1px;color:var(--text-dim);font-size:12px}.mission-list{margin-top:18px}.mission-list-title{letter-spacing:3px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:14px}.mission-list-items{list-style:none}.mission{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:14px 8px;transition:background-color .2s;display:flex}.mission:hover{background-color:var(--bg-panel)}.mission-check{cursor:pointer;font:inherit;color:var(--accent);background:0 0;border:none;padding:0;font-size:18px}.mission-check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mission-name{color:var(--text-light);flex:1}.mission-xp{color:var(--accent);font-size:13px;font-weight:700}.mission-done .mission-name{color:var(--text-dim);text-decoration:line-through}.mission-done .mission-xp{color:var(--text-dim)}.mission-list-empty{color:var(--text-dim);padding:8px 0;font-size:14px}.mission-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;transition:color .2s}.mission-remove:hover{color:#c0504d}.mission-list-items{max-height:300px;overflow-y:auto}.mission-list-items::-webkit-scrollbar{width:8px}.mission-list-items::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.mission-list-items::-webkit-scrollbar-track{background:0 0}.mission{position:relative}.mission-pop{color:var(--accent);pointer-events:none;font-size:14px;font-weight:700;animation:.9s ease-out forwards xp-pop;position:absolute;top:50%;right:40px}@keyframes xp-pop{0%{opacity:0;transform:translateY(0)scale(.8)}20%{opacity:1;transform:translateY(-6px)scale(1.1)}to{opacity:0;transform:translateY(-28px)scale(1)}}.add-task{margin-top:18px}.add-task-button{background-color:var(--bg-panel);width:100%;color:var(--accent);border:1px solid var(--accent-dim);letter-spacing:1px;cursor:pointer;border-radius:8px;padding:14px;font-size:15px;transition:background-color .2s}.add-task-button:hover{background-color:#242424}.add-task-overlay{z-index:100;background-color:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.add-task-modal{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:440px;max-height:80vh;padding:20px;display:flex}.add-task-modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.add-task-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;transition:color .2s}.add-task-close:hover{color:var(--text-light)}.add-task-title{letter-spacing:3px;color:var(--text-dim);font-size:12px}.add-task-empty{color:var(--text-dim);font-size:14px}.add-task-options{flex:1;min-height:0;list-style:none;overflow-y:auto}.add-task-options::-webkit-scrollbar{width:8px}.add-task-options::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.add-task-options::-webkit-scrollbar-track{background:0 0}.add-task-option{border-bottom:1px solid var(--border);transition:background-color .2s}.add-task-option:last-child{border-bottom:none}.add-task-option:hover{background-color:#242424}.add-task-option-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:14px 8px;display:flex}.add-task-option-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.add-task-option-icon{font-size:18px}.add-task-option-name{color:var(--text-light);flex:1}.add-task-option-xp{color:var(--accent);font-size:13px;font-weight:700}.add-task-done{background-color:var(--accent-dim);width:100%;color:var(--text-light);border:1px solid var(--accent);letter-spacing:2px;cursor:pointer;border-radius:8px;margin-top:16px;padding:12px;font-size:14px;transition:background-color .2s}.add-task-done:hover{background-color:var(--accent);color:#1a1a1a}.add-task-search{width:100%;color:var(--text-light);border:1px solid var(--border);letter-spacing:1px;background-color:#1c1c1c;border-radius:8px;outline:none;margin-bottom:12px;padding:10px 12px;font-size:14px;transition:border-color .2s}.add-task-search::placeholder{color:var(--text-dim);letter-spacing:1px}.add-task-search:focus{border-color:var(--accent-dim)}@media (orientation:landscape) and (height<=500px){.add-task-overlay{padding:8px}.add-task-modal{max-height:calc(100dvh - 16px);padding:12px 16px}.add-task-modal-header{margin-bottom:6px}.add-task-search{margin-bottom:6px;padding:6px 10px}.add-task-option-button{padding:6px 8px}.add-task-done{margin-top:8px;padding:8px}}@media (pointer:coarse){.add-task-overlay{align-items:flex-start;padding-top:20px}.add-task-modal{max-height:calc(100dvh - 40px)}.add-task-search{font-size:16px}}.resource-bar{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:8px;justify-content:space-around;margin-top:18px;padding:16px;display:flex}.resource{flex-direction:column;align-items:center;gap:4px;display:flex}.resource-icon{font-size:28px}.resource-value{color:var(--text-light);font-size:20px;font-weight:700}.resource-label{letter-spacing:2px;color:var(--text-dim);font-size:10px}.resource{position:relative}.resource-gain{color:var(--success);pointer-events:none;font-size:14px;font-weight:700;animation:.9s ease-out forwards resource-pop;position:absolute;top:-6px;right:50%;transform:translate(50%)}@keyframes resource-pop{0%{opacity:0;transform:translate(50%)translateY(0)scale(.8)}25%{opacity:1;transform:translate(50%)translateY(-8px)scale(1.15)}to{opacity:0;transform:translate(50%)translateY(-24px)scale(1)}}.base-status,.base-loading{width:100%}.base-status-title,.base-loading-title{letter-spacing:3px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:8px;font-size:14px}.base-build,.base-loading-build{margin-top:16px}.base-build-header,.base-loading-build-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.base-build-label,.base-loading-build-label{letter-spacing:2px;color:var(--accent);font-size:13px}.base-build-locked{letter-spacing:1px;color:#c0504d;font-size:11px}.base-build-cost,.base-loading-build-cost{gap:16px;margin-bottom:12px;font-size:14px;display:flex}.cost-ok{color:var(--success)}.cost-missing{color:#c0504d}.base-build-button,.base-loading-build-button{background-color:var(--accent-dim);width:100%;color:var(--text-light);border:1px solid var(--accent);letter-spacing:1px;cursor:pointer;border-radius:8px;padding:12px;font-size:14px;transition:background-color .2s}.base-build-button:hover:not(:disabled){background-color:var(--accent);color:#1a1a1a}.base-build-button:disabled,.base-loading-build-button:disabled{background-color:var(--bg-panel);color:var(--text-dim);border-color:var(--border);cursor:not-allowed}.base-build-complete{text-align:center;color:var(--success);margin-top:16px;font-size:14px}.base-world,.base-loading-frame{width:100%}.base-world-svg,.base-loading-svg{aspect-ratio:4/3;border:1px solid var(--border);background-color:#0b0a08;border-radius:8px;width:100%;height:auto;display:block}.base-world-stage,.base-loading-stage{text-align:center;letter-spacing:3px;color:var(--accent);margin-top:12px;font-size:14px}.flame-outer,.flame-inner{transform-origin:280px 214px;transform-box:fill-box}.flame-outer{transform-origin:bottom;animation:1.1s ease-in-out infinite flicker-outer}.flame-inner{transform-origin:bottom;animation:.8s ease-in-out infinite flicker-inner}@keyframes flicker-outer{0%{transform:scaleY(1)scaleX(1)skew(0)}30%{transform:scaleY(1.08)scaleX(.96)skew(-2deg)}60%{transform:scaleY(.95)scaleX(1.03)skew(2deg)}to{transform:scaleY(1)scaleX(1)skew(0)}}@keyframes flicker-inner{0%{transform:scaleY(1)skew(0)}40%{transform:scaleY(1.12)skew(2deg)}70%{transform:scaleY(.92)skew(-2deg)}to{transform:scaleY(1)skew(0)}}.building-pop{transform-box:fill-box;transform-origin:bottom;animation:.9s cubic-bezier(.34,1.56,.64,1) building-pop}@keyframes building-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.flag{transform-box:fill-box;transform-origin:0;animation:2.2s ease-in-out infinite flag-wave}@keyframes flag-wave{0%{transform:scaleX(1)skewY(0)}25%{transform:scaleX(.92)skewY(-3deg)}50%{transform:scaleX(1)skewY(0)}75%{transform:scaleX(.92)skewY(3deg)}to{transform:scaleX(1)skewY(0)}}.star{animation:3s ease-in-out infinite twinkle}.star:first-child{animation-delay:0s}.star:nth-child(2){animation-delay:1.1s}.star:nth-child(3){animation-delay:.4s}.star:nth-child(4){animation-delay:2.2s}.star:nth-child(5){animation-delay:1.6s}.star:nth-child(6){animation-delay:.8s}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:1}}.rain-drop{animation-name:rain-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes rain-fall{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(330px)}}.snow-flake{animation-name:snow-fall;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes snow-fall{0%{opacity:0;transform:translateY(-10px)}10%{opacity:.9}50%{transform:translate(8px,150px)}90%{opacity:.9}to{opacity:0;transform:translate(-6px,330px)}}.lightning-bolt{opacity:0;filter:drop-shadow(0 0 6px #f2f0e0);animation:6s linear infinite lightning-bolt-flicker}@keyframes lightning-bolt-flicker{0%,46%,to{opacity:0}47%{opacity:1}48%{opacity:.2}49%{opacity:.9}50%{opacity:0}}.lightning-flash{opacity:0;mix-blend-mode:screen;animation:6s linear infinite lightning-flash-flicker}@keyframes lightning-flash-flicker{0%,46%,to{opacity:0}47%{opacity:.55}48%{opacity:.05}49%{opacity:.4}50%{opacity:0}}.spark{opacity:0;animation-name:spark-rise;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes spark-rise{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{transform:translate(var(--drift,0px), -38px);opacity:0}}.shooting-star{opacity:0;filter:drop-shadow(0 0 3px #f5f0e0);animation-name:shooting-star;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes shooting-star{0%,92%,to{opacity:0;transform:translate(0)}93%{opacity:1;transform:translate(0)}96%{opacity:1;transform:translate(calc(var(--dx) * 1px), calc(var(--dy) * 1px))}97%{opacity:0;transform:translate(calc(var(--dx) * 1.1px), calc(var(--dy) * 1.1px))}}.bird{animation-name:bird-fly;animation-timing-function:linear;animation-iteration-count:infinite;transform:translate(-20px)}@keyframes bird-fly{0%{opacity:0;transform:translate(-20px)}5%{opacity:1}95%{opacity:1}to{opacity:0;transform:translate(420px)}}.bird-wings{transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out infinite bird-flap}@keyframes bird-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}.butterfly{animation-name:butterfly-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes butterfly-drift{0%{transform:translate(0)}25%{transform:translate(6px,-4px)}50%{transform:translateY(-7px)}75%{transform:translate(-6px,-3px)}to{transform:translate(0)}}.butterfly-wing{transform-box:fill-box;transform-origin:50%;animation:.3s ease-in-out infinite butterfly-flap}@keyframes butterfly-flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.3)}}.ghost-float{animation-name:ghost-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes ghost-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.candle-flame{transform-box:fill-box;transform-origin:bottom;animation:1.4s ease-in-out infinite candle-flicker}@keyframes candle-flicker{0%{opacity:1;transform:scaleY(1)scaleX(1)skew(0)}30%{opacity:.9;transform:scaleY(1.1)scaleX(.9)skew(-3deg)}60%{opacity:1;transform:scaleY(.9)scaleX(1.05)skew(3deg)}to{opacity:.95;transform:scaleY(1)scaleX(1)skew(0)}}.bat{animation-name:bat-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes bat-drift{0%{transform:translate(0)}25%{transform:translate(-40px,-12px)}50%{transform:translate(30px,4px)}75%{transform:translate(-25px,-8px)}to{transform:translate(0)}}.bat-body{transform-box:fill-box;transform-origin:50%;animation:.4s ease-in-out infinite bat-flap}@keyframes bat-flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.55)}}.pumpkin-glow{animation:2.4s ease-in-out infinite pumpkin-flicker}@keyframes pumpkin-flicker{0%,to{opacity:1}45%{opacity:.7}70%{opacity:.9}}.christmas-light-glow{animation:1.6s ease-in-out infinite christmas-light-twinkle}@keyframes christmas-light-twinkle{0%,to{opacity:1}50%{opacity:.45}}.bunting-flag{transform-box:fill-box;transform-origin:top;animation:2.4s ease-in-out infinite bunting-flutter}@keyframes bunting-flutter{0%{transform:scaleY(1)skew(0)}25%{transform:scaleY(.94)skew(-3deg)}50%{transform:scaleY(1)skew(0)}75%{transform:scaleY(.94)skew(3deg)}to{transform:scaleY(1)skew(0)}}.newyear-sparkle{animation:2.2s ease-in-out infinite newyear-sparkle-twinkle}@keyframes newyear-sparkle-twinkle{0%,to{opacity:.25}50%{opacity:1}}.newyear-bubble-rise{transform-box:fill-box;transform-origin:bottom;animation:2.2s ease-in-out infinite newyear-bubble-rise}@keyframes newyear-bubble-rise{0%{opacity:0;transform:translateY(2px)}20%{opacity:.9}to{opacity:0;transform:translateY(-10px)}}.newyear-rocket-trail{transform-box:fill-box;transform-origin:50%;animation-name:rocket-rise;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes rocket-rise{0%{transform:translateY(var(--rise));opacity:0}8%{opacity:1}55%{opacity:1;transform:translateY(0)}65%{opacity:0}to{opacity:0}}.newyear-firework{transform-box:fill-box;transform-origin:50%;animation-name:firework-burst;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes firework-burst{0%,52%{opacity:0;transform:scale(.3)}58%{opacity:1;transform:scale(.75)}75%{opacity:.9;transform:scale(1.05)}to{opacity:0;transform:scale(1.3)}}.valentine-heart-float{animation-name:valentine-heart-rise;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes valentine-heart-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}50%{opacity:.9;transform:translateY(-14px)}85%{opacity:0}to{opacity:0;transform:translateY(-22px)}}.valentine-garland-heart{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite valentine-garland-pulse}@keyframes valentine-garland-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.valentine-heart-glow{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite valentine-heart-glow-pulse}@keyframes valentine-heart-glow-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.easter-egg-sway{transform-box:fill-box;transform-origin:top;animation:2.4s ease-in-out infinite easter-egg-sway}@keyframes easter-egg-sway{0%{transform:rotate(0)}25%{transform:rotate(-4deg)}50%{transform:rotate(0)}75%{transform:rotate(4deg)}to{transform:rotate(0)}}.neon-pulse{animation:2.8s ease-in-out infinite neon-flicker}@keyframes neon-flicker{0%,to{opacity:1}8%{opacity:.75}10%{opacity:1}52%{opacity:.85}55%{opacity:1}}.skyscraper-beacon{animation:1.8s ease-in-out infinite beacon-blink}@keyframes beacon-blink{0%,40%{opacity:1}50%,90%{opacity:.15}to{opacity:1}}.coffee-steam{transform-box:fill-box;transform-origin:bottom;animation:3s ease-in-out infinite steam-rise}@keyframes steam-rise{0%{opacity:0;transform:translateY(4px)}25%{opacity:.5}to{opacity:0;transform:translateY(-14px)}}.neon-sign-buzz{transform-box:fill-box;transform-origin:bottom;animation:3s ease-in-out infinite neon-sign-buzz}@keyframes neon-sign-buzz{0%,to{opacity:1;transform:scale(1)}6%{opacity:.7;transform:scale(.98)}9%{opacity:1;transform:scale(1)}48%{opacity:.85;transform:scale(1.03)}53%{opacity:1;transform:scale(1)}}.solar-flare-pulse{animation:3.4s ease-in-out infinite solar-flare-pulse}@keyframes solar-flare-pulse{0%,to{opacity:.45}50%{opacity:.8}}.meteor-shower-streak{opacity:0;filter:drop-shadow(0 0 3px #cfe8ff);animation-name:meteor-shower-streak;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes meteor-shower-streak{0%,70%,to{opacity:0;transform:translate(0)}72%{opacity:1;transform:translate(0)}88%{opacity:1;transform:translate(calc(var(--dx) * 1px), calc(var(--dy) * 1px))}92%{opacity:0;transform:translate(calc(var(--dx) * 1.1px), calc(var(--dy) * 1.1px))}}.cosmic-storm-pulse{animation:2.6s ease-in-out infinite cosmic-storm-shimmer}@keyframes cosmic-storm-shimmer{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.65;transform:scale(1.06)}}.cosmic-storm-flash{opacity:0;mix-blend-mode:screen;animation:5s linear infinite cosmic-storm-flash-flicker}@keyframes cosmic-storm-flash-flicker{0%,36%,to{opacity:0}37%{opacity:.4}38%{opacity:.05}39%{opacity:.3}40%{opacity:0}}.eclipse-rim-glow{animation:3s ease-in-out infinite eclipse-rim-pulse}@keyframes eclipse-rim-pulse{0%,to{opacity:.6}50%{opacity:1}}.reactor-pulse{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite reactor-pulse}@keyframes reactor-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hologram-flicker{animation:3.2s ease-in-out infinite hologram-flicker}@keyframes hologram-flicker{0%,to{opacity:1}4%{opacity:.5}6%{opacity:1}7%{opacity:.3}9%{opacity:1}60%{opacity:1}62%{opacity:.6}64%{opacity:1}}.hologram-scan-sweep{animation:2.6s linear infinite hologram-scan-sweep}@keyframes hologram-scan-sweep{0%{opacity:0;transform:translate(0)}5%{opacity:.3}50%{opacity:.3;transform:translate(82px)}55%{opacity:0}to{opacity:0;transform:translate(82px)}}@media (prefers-reduced-motion:reduce){.bat,.bat-body,.pumpkin-glow,.ghost-float,.candle-flame,.christmas-light-glow,.bunting-flag,.newyear-sparkle,.newyear-rocket-trail,.newyear-firework,.newyear-bubble-rise,.valentine-heart-float,.valentine-garland-heart,.valentine-heart-glow,.easter-egg-sway,.neon-pulse,.skyscraper-beacon,.coffee-steam,.neon-sign-buzz,.solar-flare-pulse,.meteor-shower-streak,.cosmic-storm-pulse,.cosmic-storm-flash,.eclipse-rim-glow,.reactor-pulse,.hologram-flicker,.hologram-scan-sweep{animation:none}}.survivor-body{transform-origin:243px 219px;animation:4.5s ease-in-out infinite survivor-sway}@keyframes survivor-sway{0%{transform:rotate(0)translateY(0)}50%{transform:rotate(-1.5deg)translateY(-.5px)}to{transform:rotate(0)translateY(0)}}.survivor-arm{transform-origin:240px 192px;animation:9s ease-in-out infinite survivor-poke}@keyframes survivor-poke{0%,82%,to{transform:rotate(0)}86%{transform:rotate(7deg)}90%{transform:rotate(-2deg)}94%{transform:rotate(4deg)}97%{transform:rotate(0)}}.survivor-body--city,.survivor-body--space{transform-origin:250px 195px;animation:4.5s ease-in-out infinite survivor-sway}.survivor-wave{transform-box:fill-box;transform-origin:20% 95%;animation:1.6s ease-in-out infinite survivor-wave}@keyframes survivor-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.survivor-sparkle circle{animation:1.8s ease-in-out infinite survivor-twinkle}.survivor-sparkle circle:nth-child(2){animation-delay:.4s}.survivor-sparkle circle:nth-child(3){animation-delay:.9s}@keyframes survivor-twinkle{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.survivor-wave,.survivor-sparkle circle{animation:none}}.base-loading-frame{position:relative}.base-loading-panel{flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.base-loading-glow{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:0;pointer-events:none;border-radius:50%;width:90px;height:90px;position:absolute}.base-loading--waking .base-loading-glow{opacity:.35;animation:2.4s ease-in-out infinite base-loading-pulse}.base-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);z-index:1;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite base-loading-spin}@keyframes base-loading-spin{to{transform:rotate(360deg)}}@keyframes base-loading-pulse{0%,to{opacity:.2;transform:scale(.9)}50%{opacity:.45;transform:scale(1.05)}}.base-loading-message{letter-spacing:.4px;color:var(--text-dim);text-align:center;z-index:1;max-width:220px;font-size:13px}.base-loading-stage{visibility:hidden}@media (prefers-reduced-motion:reduce){.base-loading-spinner,.base-loading-glow{animation:none}}.levelup-overlay{z-index:200;background-color:#0009;justify-content:center;align-items:center;animation:.3s ease-out levelup-fade;display:flex;position:fixed;inset:0}.levelup-card{text-align:center;animation:.5s ease-out levelup-rise}.levelup-label{letter-spacing:8px;color:var(--accent);text-shadow:0 0 20px #e8a23d80;font-size:20px}.levelup-number{color:var(--text-light);text-shadow:0 0 40px #e8a23d99;margin:8px 0;font-size:96px;font-weight:700;line-height:1}.levelup-sub{letter-spacing:2px;color:var(--text-dim);font-size:14px}@keyframes levelup-fade{0%{opacity:0}to{opacity:1}}@keyframes levelup-rise{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.worldcomplete-overlay{z-index:210;background-color:#000000b3;justify-content:center;align-items:center;animation:.4s ease-out worldcomplete-fade;display:flex;position:fixed;inset:0}.worldcomplete-card{text-align:center;padding:20px 40px;animation:.6s ease-out worldcomplete-rise;position:relative}.worldcomplete-burst{pointer-events:none;position:absolute;inset:0}.worldcomplete-ray{width:2px;height:90px;transform:translate(-50%, -100%) rotate(var(--angle)) scaleY(0);transform-origin:bottom;background:linear-gradient(#e8a23de6,#e8a23d00);animation:1.2s ease-out forwards worldcomplete-ray-shoot;position:absolute;top:50%;left:50%}@keyframes worldcomplete-ray-shoot{0%{opacity:0;transform:translate(-50%, -100%) rotate(var(--angle)) scaleY(0)}40%{opacity:1}to{opacity:0;transform:translate(-50%, -100%) rotate(var(--angle)) scaleY(1)}}.worldcomplete-label{letter-spacing:6px;color:var(--text-light);text-shadow:0 0 40px #e8a23db3;margin:0;font-size:30px;font-weight:700}.worldcomplete-sub{letter-spacing:1.5px;color:var(--text-dim);margin:10px 0 22px;font-size:14px}.worldcomplete-horizon{background:linear-gradient(90deg,#ff3d9a,#3de0ff,#ffd23d,#ff3d9a) 0 0/200% 100%;border-radius:2px;width:220px;height:4px;margin:0 auto;animation:3s linear infinite worldcomplete-horizon-glow;box-shadow:0 0 18px #ff3d9a99}@keyframes worldcomplete-horizon-glow{0%{background-position:0%}to{background-position:200%}}.worldcomplete-teaser{letter-spacing:.3px;color:var(--text-dim);max-width:320px;margin-top:18px;font-size:13px;font-style:italic}@keyframes worldcomplete-fade{0%{opacity:0}to{opacity:1}}@keyframes worldcomplete-rise{0%{opacity:0;transform:translateY(24px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.worldcomplete-ray,.worldcomplete-horizon{animation:none}}.achievement{z-index:210;background-color:var(--bg-panel);border:1px solid var(--accent-dim);cursor:pointer;border-radius:12px;align-items:center;gap:14px;max-width:90vw;padding:14px 20px;animation:.5s cubic-bezier(.34,1.56,.64,1) achievement-in;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 30px #00000080,0 0 20px #e8a23d33}.achievement-icon{font-size:34px}.achievement-label{letter-spacing:3px;color:var(--accent);font-size:10px}.achievement-title{color:var(--text-light);margin:2px 0;font-size:17px;font-weight:700}.achievement-desc{color:var(--text-dim);font-size:12px}@keyframes achievement-in{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.achievement-reward{color:var(--accent);margin-top:3px;font-size:12px;font-weight:700}.notice{z-index:210;background-color:var(--bg-panel);border:1px solid var(--accent-dim);cursor:pointer;border-radius:12px;align-items:center;gap:10px;max-width:90vw;padding:12px 18px;animation:.4s cubic-bezier(.34,1.56,.64,1) notice-in;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 30px #00000080}.notice-icon{font-size:20px}.notice-text{color:var(--text-light);font-size:13px}@keyframes notice-in{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.assistant{z-index:40;position:fixed;bottom:0;right:1.5rem}.assistant__backdrop{z-index:41;background:#080806b8;position:fixed;inset:0}.assistant__stage{z-index:42;position:relative}.assistant__figure{cursor:pointer;filter:drop-shadow(0 8px 18px #000000a6);background:0 0;border:none;width:calc(clamp(195px,28vh,320px)/1.3);height:clamp(195px,28vh,320px);padding:0;transition:transform .35s,width .35s,height .35s,filter .35s;display:block}.assistant__figure:hover{filter:drop-shadow(0 8px 18px #000000a6)drop-shadow(0 0 10px #ff963c8c)brightness(1.12);transform:translateY(-3px)scale(1.04)}.assistant__figure:focus{outline:none}.assistant__figure:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:12px}.assistant--open{justify-content:center;align-items:center;display:flex;inset:0}.assistant--open .assistant__stage{flex-direction:column;align-items:center;gap:1rem;display:flex}.assistant--open .assistant__figure{width:300px;height:390px}.assistant--open .assistant__figure:hover{transform:none}.face{width:100%;height:100%;display:block}.face__breathe{transform-origin:100px 210px;animation:4.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1.5px)scale(1.008)}}.face__eyes{transform-origin:100px 123px;animation:6s ease-in-out infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.face--speaking .face__mouth{transform-origin:100px 150px;animation:.32s ease-in-out infinite talk}@keyframes talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.12)}}.assistant__chat{background:#12160c;border:1px solid #6a7a4c;border-radius:14px;flex-direction:column;width:360px;max-width:92vw;display:flex;overflow:hidden;box-shadow:0 10px 34px #0000008c}.assistant__log{scrollbar-width:thin;scrollbar-color:#4a5a34 transparent;flex-direction:column;gap:.5rem;max-height:32vh;padding:.9rem;display:flex;overflow-y:auto}.assistant__log::-webkit-scrollbar{width:8px}.assistant__log::-webkit-scrollbar-thumb{background:#4a5a34;border-radius:8px}.assistant__log::-webkit-scrollbar-track{background:0 0}.assistant__empty{color:#8a8a7a;text-align:center;padding:.5rem 0;font-size:.9rem;font-style:italic}.chat-msg{word-wrap:break-word;border-radius:12px;max-width:82%;padding:.55rem .75rem;font-size:.95rem;line-height:1.35}.chat-msg--you{color:#f0ead9;background:#3a3320;border-bottom-right-radius:4px;align-self:flex-end}.chat-msg--them{color:#e6e0d2;background:#1e2614;border:1px solid #3f4a2a;border-bottom-left-radius:4px;align-self:flex-start}.chat-msg--typing{letter-spacing:2px;opacity:.7}.assistant__actions{gap:.5rem;padding:0 .9rem .6rem;display:flex}.assistant__chip{color:#cdd4bb;cursor:pointer;background:#1e2614;border:1px solid #3f4a2a;border-radius:999px;flex:1;padding:.4rem .6rem;font-size:.82rem;transition:background .2s,color .2s}.assistant__chip:hover:not(:disabled){color:#e6e0d2;background:#2c3720}.assistant__chip:disabled{opacity:.5;cursor:default}.assistant__ask{gap:.4rem;padding:0 .9rem .9rem;display:flex}.assistant__input{color:#e6e0d2;background:#151a0f;border:1px solid #6a7a4c;border-radius:10px;outline:none;flex:1;padding:.45rem .7rem;font-size:.9rem}.assistant__input::placeholder{color:#8a8a7a}.assistant__input:focus{border-color:#9ab06a}.assistant__input:disabled{opacity:.6}.assistant__send{color:#111;cursor:pointer;background:#6a7a4c;border:none;border-radius:10px;width:42px;font-size:1.4rem;line-height:1;transition:background .2s}.assistant__send:hover:not(:disabled){background:#9ab06a}.assistant__send:disabled{opacity:.5;cursor:default}.face__sparkle circle{animation:1.8s ease-in-out infinite twinkle}.face__sparkle circle:nth-child(2){animation-delay:.4s}.face__sparkle circle:nth-child(3){animation-delay:.9s}@media (prefers-reduced-motion:reduce){.face__breathe,.face__eyes,.face--speaking .face__mouth,.face__sparkle circle{animation:none}}@media (orientation:landscape) and (height<=500px){.assistant{right:10px;bottom:var(--companion-bottom)}.assistant__figure{height:min(var(--companion-max-height), 140px);width:calc(min(var(--companion-max-height), 140px) * 60 / 79)}.assistant--open .assistant__stage{flex-direction:row;align-items:flex-end;gap:.6rem;padding:.5rem}.assistant--open .assistant__figure{width:120px;height:156px}.assistant__chat{width:300px}.assistant__log{max-height:60vh}}@media (orientation:landscape) and (height<=500px) and (width>=780px){.assistant{right:16px}}@media (width>=900px) and (height<=820px){.assistant{right:16px;bottom:var(--companion-bottom)}.assistant__figure{height:min(var(--companion-max-height), 140px);width:calc(min(var(--companion-max-height), 140px) * 60 / 79)}.assistant--open{bottom:0;right:0}.assistant--open .assistant__stage{flex-direction:row;align-items:flex-end;gap:1rem;padding:1rem}.assistant--open .assistant__figure{width:240px;height:312px}.assistant__log{max-height:50vh}}@media (pointer:coarse){.assistant__input{font-size:16px}}.rotate-notice{display:none}@media (orientation:portrait) and (width<=600px),(orientation:portrait) and (width<=1024px) and (pointer:coarse){.rotate-notice{z-index:100000;background-color:var(--bg-dark);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}}.rotate-notice-bubble{background-color:var(--bg-panel);border:1px solid var(--accent-dim);border-radius:12px;max-width:280px;padding:16px 18px 12px;position:relative}.rotate-notice-bubble:after{content:"";background-color:var(--bg-panel);border-right:1px solid var(--accent-dim);border-bottom:1px solid var(--accent-dim);width:16px;height:16px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.rotate-notice-title{color:var(--text-light);margin-bottom:4px;font-size:15px}.rotate-notice-text{color:var(--text-dim);font-size:13px}.rotate-notice-phone{fill:none;width:36px;height:36px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;margin-top:8px;animation:2.4s ease-in-out infinite rotate-notice-turn}.rotate-notice-figure{width:160px;height:160px}@keyframes rotate-notice-turn{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.rotate-notice-phone{animation:none;transform:rotate(-90deg)}}.app{max-width:1100px;margin:0 auto;padding:14px 16px}.app-left,.app-right{min-width:0}.user-menu{z-index:1000;position:fixed;top:20px;right:20px}.cl-userButtonAvatarBox{width:40px!important;height:40px!important}.cl-badge[data-color=primary]{color:#c58a22!important;background:#c58a2226!important;border:1px solid #c58a2266!important}.cl-formFieldCheckboxInput{appearance:none;cursor:pointer;border-radius:3px;flex-shrink:0;width:16px;height:16px;margin:0;background-color:#151515!important;border:1px solid #c58a22!important}.cl-formFieldCheckboxInput:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23151515' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px 12px;background-color:#c58a22!important}.cl-formFieldCheckboxInput:focus-visible{outline-offset:2px;outline:2px solid #c58a22}.cl-otpCodeFieldInput{background-color:#1c1c1c!important;border:1px solid #8a641c!important;border-radius:4px!important}.cl-otpCodeFieldInput:focus{border-color:#c58a22!important}.cl-formFieldInputShowPasswordButton{color:#a89a80!important}.cl-formFieldInputShowPasswordButton:hover,.cl-formFieldInputShowPasswordButton:focus-visible{color:#c58a22!important}@media (pointer:coarse){.cl-otpCodeFieldInput{width:44px!important;height:48px!important;font-size:20px!important}}@media (width>=900px){.app{grid-template-columns:1fr 1.3fr;align-items:stretch;gap:40px;display:grid}.app-right{margin-top:121.5px}.app-left{contain:size;flex-direction:column;display:flex}.app-left>*{flex-shrink:0}.mission-list{flex-direction:column;flex:1;min-height:0;display:flex}.mission-list-items{flex:1;min-height:0;max-height:none}}@media (width>=1200px) and (height>=821px){.app{align-content:center;max-width:clamp(1100px,230dvh - 920px,1500px);min-height:100dvh;padding-bottom:48px}}@media (width>=900px) and (height<=820px){.energy-bar,.daily-progress,.day-nav,.mission-list,.add-task,.resource-bar{margin-top:12px}.energy-bar-label{margin-bottom:4px}.daily-progress,.resource-bar{padding:10px 14px}.daily-progress-value,.resource-value{font-size:18px}.day-nav-arrow{width:30px;height:30px;font-size:18px}.base-status-title,.base-loading-title{margin-bottom:8px}.app-right{height:calc(100dvh - 149.5px)}.base-status,.base-loading{flex-direction:column;height:100%;display:flex}.base-world,.base-loading-frame{flex:1;min-height:0}.base-world-svg,.base-loading-svg{width:auto;max-width:100%;height:auto;max-height:calc(100% - 20px);margin:0 auto}.base-world-stage,.base-loading-stage{margin-top:6px}.base-build,.base-loading-build{margin-top:10px}.base-build-header,.base-loading-build-header{margin-bottom:6px}.base-build-cost,.base-loading-build-cost{margin-bottom:8px}.base-build-button,.base-loading-build-button{padding:10px}}@media (orientation:landscape) and (height<=500px){.app{grid-template-columns:1fr 1fr;align-items:start;gap:12px;padding:6px 10px;display:grid}.app-right{height:calc(100dvh - 12px);margin-top:0}.app-left{flex-direction:column;height:calc(100dvh - 12px);display:flex}.app-left>*{flex-shrink:0}.mission-list{flex-direction:column;flex:1;min-height:0;display:flex}.user-menu{top:4px;right:var(--world-right-inset,10px)}.cl-userButtonAvatarBox{width:28px!important;height:28px!important}.header{border-bottom:1px solid var(--border);flex-direction:row;justify-content:center;align-items:center;gap:8px;height:28px;padding:0;display:flex}.header-greeting{font-size:10px}.header-level{flex-direction:row;align-items:baseline;gap:4px;margin-top:0}.header-level-label{font-size:10px}.header-level-number{font-size:16px}.header-streak{gap:3px;margin-top:0;padding:1px 6px}.header-streak-fire,.header-streak-count{font-size:10px}.header-streak-label{font-size:8px}.energy-bar,.daily-progress,.day-nav,.mission-list,.add-task,.resource-bar{margin-top:3px}.energy-bar-label{margin-bottom:3px;font-size:11px}.energy-bar-track{height:8px}.daily-progress,.resource-bar{padding:4px 6px}.daily-progress-label{font-size:10px}.daily-progress-value{font-size:13px}.day-nav-arrow{width:24px;height:24px;font-size:14px}.day-nav-label{font-size:11px}.day-nav-date{font-size:10px}.mission-list-items{flex:1;min-height:0;max-height:none}.mission{padding:6px 8px}.add-task-button{padding:6px}.resource{gap:2px}.resource-icon{font-size:15px}.resource-value{font-size:13px}.resource-label{font-size:8px}.base-status-title,.base-loading-title{align-items:center;height:28px;margin-bottom:4px;padding-bottom:0;padding-right:28px;font-size:11px;display:flex}.base-status,.base-loading{flex-direction:column;height:100%;display:flex}.base-world-svg,.base-loading-svg{width:auto;max-width:100%;height:auto;max-height:230px;margin:0 auto}.base-world-stage,.base-loading-stage{margin-top:2px;font-size:11px}.base-build,.base-build-complete,.base-loading-build{margin-top:auto}.base-build-header,.base-loading-build-header{margin-bottom:4px}.base-build-cost,.base-loading-build-cost{margin-bottom:6px}.base-build-button,.base-loading-build-button{padding:6px}.cl-modalContent{height:auto!important;max-height:calc(100dvh - 16px)!important;margin:8px 0!important;overflow-y:auto!important}.cl-signIn-root .cl-card,.cl-signUp-root .cl-card{gap:16px!important;padding:18px 24px!important}.cl-signIn-root .cl-header,.cl-signUp-root .cl-header{gap:4px!important}.cl-signIn-root .cl-main,.cl-signUp-root .cl-main,.cl-signIn-root .cl-form,.cl-signUp-root .cl-form{gap:14px!important}.cl-signIn-root .cl-footer,.cl-signUp-root .cl-footer{padding-top:0!important;padding-bottom:0!important}.cl-signIn-root .cl-footerAction,.cl-signUp-root .cl-footerAction{padding:10px!important}.cl-cardBox,.cl-card{height:auto!important}.cl-modalContent:has(.cl-userProfile-root){max-height:calc(100dvh - 16px)!important;margin:8px 0!important;overflow:hidden!important}.cl-userProfile-root .cl-cardBox{max-height:calc(100dvh - 16px)!important}.cl-userProfile-root .cl-navbar{padding:12px!important}.cl-userProfile-root .cl-pageScrollBox{padding:12px 16px!important}.cl-userProfile-root .cl-profileSection{padding-top:8px!important;padding-bottom:8px!important}.cl-userProfile-root .cl-navbarMobileMenuButton,.cl-modalCloseButton{min-width:44px!important;min-height:44px!important}.cl-userProfile-root .cl-navbarMobileMenuButtonIcon,.cl-modalCloseButton svg{width:22px!important;height:22px!important}.cl-userProfile-root .cl-avatarBox,.cl-userProfile-root .cl-userPreviewAvatarBox{width:64px!important;height:64px!important}}@media (orientation:landscape) and (height<=500px) and (width>=780px){.app{gap:20px;padding:8px 16px}.app-right,.app-left{height:calc(100dvh - 16px)}.header-greeting{font-size:12px}.header-level-label{font-size:11px}.header-level-number{font-size:20px}.header-streak{gap:4px;padding:2px 8px}.header-streak-fire,.header-streak-count{font-size:12px}.header-streak-label{font-size:9px}.energy-bar,.daily-progress,.day-nav,.mission-list,.add-task,.resource-bar{margin-top:6px}.energy-bar-label{margin-bottom:4px;font-size:13px}.energy-bar-track{height:10px}.daily-progress,.resource-bar{padding:6px 10px}.daily-progress-label{font-size:11px}.daily-progress-value{font-size:15px}.day-nav-arrow{width:28px;height:28px;font-size:16px}.day-nav-label{font-size:12px}.day-nav-date{font-size:11px}.mission-list-items{max-height:none}.mission{padding:8px 10px}.resource{gap:3px}.resource-icon{font-size:18px}.resource-value{font-size:15px}.resource-label{font-size:9px}.base-status-title,.base-loading-title{margin-bottom:2px}.base-world,.base-loading-frame{flex:1;min-height:0}.base-world-svg,.base-loading-svg{max-height:calc(100% - 18px)}.base-world-stage,.base-loading-stage{margin-top:1px}.base-build-cost,.base-loading-build-cost{margin-bottom:4px}}@media (pointer:coarse){.mission-check,.mission-remove,.day-nav-arrow{line-height:1;position:relative}.mission-check{font-size:22px}.mission-remove{padding:0 6px;font-size:20px}.day-nav-arrow{width:32px;height:32px;font-size:18px}.mission-check:after,.mission-remove:after,.day-nav-arrow:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mission-list-items{overflow-x:hidden}}.legal-modal-overlay{z-index:100010;background-color:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.legal-modal{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:12px;outline:none;flex-direction:column;width:100%;max-width:760px;max-height:85vh;display:flex}.legal-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.legal-modal-title{color:var(--text-light);font-size:17px}.legal-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;transition:color .2s}.legal-modal-close:hover{color:var(--text-light)}.legal-modal-body{padding:20px;line-height:1.6;overflow-y:auto}.legal-modal-body::-webkit-scrollbar{width:8px}.legal-modal-body::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.legal-modal-body::-webkit-scrollbar-track{background:0 0}.legal-modal-body{scrollbar-color:var(--border) transparent;scrollbar-width:thin}.legal-modal-body h1{display:none}.legal-modal-body h2{color:var(--text-light);border-bottom:1px solid var(--border);margin-top:26px;margin-bottom:10px;padding-bottom:6px;font-size:16px}.legal-modal-body h2:first-child{margin-top:0}.legal-modal-body p{color:var(--text-dim);margin-bottom:14px}.legal-modal-body ul{color:var(--text-dim);margin:0 0 14px;padding-left:22px}.legal-modal-body li{margin-bottom:6px}.legal-modal-body table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:14px;display:block;overflow-x:auto}.legal-modal-body th,.legal-modal-body td{text-align:left;border:1px solid var(--border);color:var(--text-dim);padding:8px 10px}.legal-modal-body th{color:var(--text-light);background-color:var(--bg-dark)}@media (orientation:landscape) and (height<=500px){.legal-modal-overlay{padding:8px}.legal-modal{max-height:90vh}.legal-modal-header{padding:10px 14px}.legal-modal-body{padding:12px 16px;font-size:13px}.legal-modal-title{font-size:14px}.legal-modal-body h2{margin-top:18px;font-size:14px}.legal-modal-body table{font-size:12px}}@media (width<=600px){.legal-modal-title{font-size:15px}}.sign-up-page{background-color:var(--bg-dark);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}
