:root{--cream: #FFF8EC;--peach: #FFD9B8;--sage: #C8D5B9;--terracotta: #C96F4A;--shadow: #A27461;--ink: #3B2D26;--bg: var(--cream);--card: #FFFDF9;--divider: rgba(162, 116, 97, .28);--bronze: var(--terracotta);--bronze-highlight: #A85A3B;--bronze-dark: #8B4A34;--text-primary: var(--ink);--text-secondary: #8A6F60;--text-disabled: #C4AC9C;--success: #4C7A4E;--warning: #B23A3A;--gold: #D4AF37;--midnight-bg: #0B0908;--midnight-card: #181411;--midnight-divider: #2A2218;--midnight-bronze: #C49349;--midnight-bronze-highlight: #D4A85A;--midnight-text: #E8E0D8;--midnight-text-secondary: #9A9088;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--space-6: 64px;--radius-btn: 8px;--radius-card: 12px;--radius-modal: 16px;--font-main: "Inter", -apple-system, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--font-num: "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--h1-size: 48px;--h2-size: 32px;--body-size: 16px;--caption-size: 12px;--balance-size: 64px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text-primary);font-family:var(--font-main);font-size:var(--body-size);line-height:1.5;min-height:100%;overscroll-behavior:none}#root{min-height:100dvh}h1{font-size:var(--h1-size);font-weight:700}h2{font-size:var(--h2-size);font-weight:700}button{font-family:var(--font-main);cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:var(--font-main);color:var(--text-primary);background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-btn);padding:12px 16px;font-size:16px;outline:none}input:focus{border-color:var(--bronze)}a{color:var(--bronze-highlight);text-decoration:underline;text-underline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.card{background:var(--card);border-radius:var(--radius-card);border:1px solid var(--divider);padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:var(--radius-btn);padding:12px 20px;font-size:16px;transition:transform .12s ease,opacity .12s ease,background .12s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-bronze{background:transparent;color:var(--bronze-highlight);border:1px solid var(--bronze)}.btn-bronze:not(:disabled):hover{background:#c96f4a1f}.btn-solid{background:var(--bronze);color:#fff8ec}.btn-solid:not(:disabled):hover{background:var(--bronze-highlight)}.btn-success{background:var(--success);color:#e8f0ea}.btn-danger{background:var(--warning);color:#f5e8e8}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--divider)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-box{background:var(--bg);border:2px solid var(--bronze);border-radius:var(--radius-modal);padding:24px;width:100%;max-width:420px;max-height:86vh;overflow-y:auto}.modal-title{font-size:20px;font-weight:700;margin-bottom:16px}.modal-box-midnight{background:var(--midnight-bg);border-color:var(--midnight-bronze);color:var(--midnight-text)}.tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-btn);padding:4px;overflow-x:auto}.tab{flex:1;min-width:max-content;padding:10px 16px;border-radius:6px;color:var(--text-secondary);font-weight:600;font-size:15px;text-align:center;white-space:nowrap}.tab.active{background:var(--bronze);color:#fff8ec}.toast-wrap{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;width:calc(100% - 48px);max-width:420px}.toast{background:var(--card);border:1px solid var(--bronze);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:14px;box-shadow:0 8px 24px #00000080;animation:toastIn .25s ease}.toast.error{border-color:var(--warning)}.toast.success{border-color:var(--success)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:3px}::-webkit-scrollbar-track{background:transparent}@keyframes floatUp{0%{opacity:0;transform:translateY(8px) scale(.9)}20%{opacity:1}to{opacity:0;transform:translateY(-64px) scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.agegate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(#3b2d266b,#3b2d268c),url(../assets/images/garage-bg.jpg) center/cover no-repeat;animation:ageKenBurns 24s ease-in-out infinite alternate}@keyframes ageKenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}.agegate-card{position:relative;z-index:1;width:100%;max-width:400px;background:#fffdf9e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.55);box-shadow:0 20px 60px #00000073;padding:36px 28px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:ageFadeUp .6s cubic-bezier(.22,1,.36,1)}@keyframes ageFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.agegate-logo{width:240px;max-width:85%;height:auto;border-radius:16px;margin-bottom:24px;box-shadow:0 12px 32px #8b4a3459;animation:ageFloat 3.2s ease-in-out infinite}@keyframes ageFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.btn-game{background:linear-gradient(135deg,#d97752,#c96f4a);border-radius:12px;padding:14px 20px;font-size:17px;box-shadow:0 6px 20px #c96f4a73;animation:ageGlow 2.2s ease-in-out infinite}.btn-game:not(:disabled):hover{background:linear-gradient(135deg,#e08a63,#d97752);transform:translateY(-1px)}@keyframes ageGlow{0%,to{box-shadow:0 6px 20px #c96f4a66}50%{box-shadow:0 6px 30px #c96f4abf}}.tut-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;color:var(--midnight-text);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 32px;text-align:center;overflow-y:auto;background:linear-gradient(#0b0908b8,#0b0908d6),url(../assets/images/garage-bg.jpg) center/cover no-repeat}.tut-logo{height:40px;border-radius:10px;margin-bottom:14px;box-shadow:0 8px 24px #00000080}.tut-overline{font-size:13px;color:var(--midnight-bronze);letter-spacing:3px;margin-bottom:12px;font-weight:700}.tut-title{font-size:21px;font-weight:800;margin-bottom:8px;text-shadow:0 2px 12px rgba(0,0,0,.6)}.tut-desc{font-size:13.5px;color:var(--midnight-text-secondary);margin-bottom:22px;max-width:360px;line-height:1.7}.tut-team-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px;margin-bottom:24px}.tut-team-card{display:flex;align-items:center;gap:14px;background:#181411b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(196,147,73,.35);border-radius:16px;padding:12px 14px;text-align:left;box-shadow:0 8px 24px #00000059;animation:ageFadeUp .5s cubic-bezier(.22,1,.36,1) both;transition:transform .15s ease,border-color .15s ease}.tut-team-card:hover{transform:translateY(-2px);border-color:var(--midnight-bronze)}.tut-avatar{width:84px;height:84px;border-radius:16px;flex-shrink:0;object-fit:cover;border:2px solid rgba(196,147,73,.55);box-shadow:0 6px 18px #00000073}.tut-team-name{font-weight:800;font-size:16px;margin-bottom:4px}.tut-team-sub{font-size:12px;color:var(--midnight-text-secondary)}.tut-res-row{display:flex;gap:16px;margin-bottom:24px}.tut-res-item{display:flex;flex-direction:column;align-items:center;gap:8px;animation:ageFadeUp .5s cubic-bezier(.22,1,.36,1) both}.tut-res-icon{width:72px;height:72px;border-radius:18px;background:#181411b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--midnight-bronze);display:flex;align-items:center;justify-content:center;padding:14px;box-shadow:0 8px 24px #00000059}.tut-res-label{font-size:11px;color:var(--midnight-text-secondary)}.tut-report-card{width:100%;max-width:300px;background:#181411b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--midnight-bronze);border-radius:16px;padding:20px 16px;margin-bottom:24px;box-shadow:0 8px 24px #00000059;animation:ageFadeUp .5s cubic-bezier(.22,1,.36,1) both}.tut-report-title{font-weight:700;font-size:14px;margin-bottom:8px}.tut-report-body{font-size:12px;color:var(--midnight-text-secondary);line-height:1.8}.btn-tut-cta{background:linear-gradient(135deg,#d9a85a,#c49349);color:#1a140c;font-weight:800;border-radius:12px;padding:14px 20px;box-shadow:0 6px 20px #c4934966}.btn-tut-cta:not(:disabled):hover{background:linear-gradient(135deg,#e4b96f,#d9a85a);transform:translateY(-1px)}.ending-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;text-align:center;overflow-y:auto;background:linear-gradient(#fff8ece6,#fff8ecf5),url(../assets/images/studio-bg.jpg) center/cover no-repeat}.ending-badge{font-size:13px;color:var(--bronze-highlight);letter-spacing:3px;margin-bottom:12px;font-weight:700;text-transform:uppercase}.ending-title{font-size:26px;font-weight:800;margin-bottom:10px;color:var(--ink)}.ending-desc{font-size:14px;color:var(--text-secondary);margin-bottom:24px;max-width:380px;line-height:1.7}.ending-stats-card{width:100%;max-width:320px;background:var(--card);border:1px solid var(--bronze);border-radius:16px;padding:20px 18px;margin-bottom:24px;box-shadow:0 8px 24px #8b4a342e;animation:ageFadeUp .5s cubic-bezier(.22,1,.36,1) both}.ending-stats-title{font-weight:700;font-size:14px;margin-bottom:10px;color:var(--bronze-highlight)}.ending-stats-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:4px 0}.coin-icon-box{width:48px;height:48px;border-radius:14px;background:#fff;border:2px solid var(--bronze);display:flex;align-items:center;justify-content:center;padding:7px;box-shadow:0 4px 14px #c96f4a47;animation:coinSpin 2.6s ease-in-out infinite}@keyframes coinSpin{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}.coin-value{font-size:34px;font-weight:800;color:var(--bronze-highlight);animation:coinPop .4s ease}@keyframes coinPop{0%{transform:scale(1)}30%{transform:scale(1.22);color:#e8a33d;text-shadow:0 0 16px rgba(212,175,55,.9)}to{transform:scale(1)}}.stat-badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--text-secondary);background:var(--card);border:1px solid var(--divider);padding:5px 10px;border-radius:20px}.stat-badge.stat-good{color:var(--success);border-color:var(--success)}.stat-badge.stat-warn{color:var(--warning);border-color:var(--warning)}.report-card{border-left:4px solid var(--bronze)}.report-body{margin-top:12px;display:flex;flex-direction:column;gap:6px;animation:reportIn .45s cubic-bezier(.22,1,.36,1)}@keyframes reportIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.report-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text-secondary);background:var(--cream);border-radius:8px;padding:7px 12px}.report-gain{color:var(--bronze-highlight);font-weight:800;font-size:15px;background:linear-gradient(135deg,#ffd8b899,#c8d5b959)}.report-warn-row{color:var(--warning)}.report-hint{margin-top:10px;font-size:13px;color:var(--text-secondary);background:var(--cream);border:1px dashed var(--divider);border-radius:10px;padding:12px;text-align:center;line-height:1.6}.home-full{min-height:100dvh;position:relative;background:#f5ead8}.home-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:url(../assets/images/ui/home-bg.jpg) center 30%/cover no-repeat;z-index:0}.home-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse 120% 90% at 50% 42%,transparent 55%,rgba(60,42,30,.34) 100%),linear-gradient(180deg,#fff8ece6,#fff8ec66 13%,#fff8ec1f 30%,#1e16103d 68%,#1e161094);pointer-events:none}.home-title{display:flex;justify-content:center;margin-bottom:12px}.home-title img{animation:ageFloat 3.4s ease-in-out infinite}.btn-img img{filter:saturate(1.08) brightness(1.05)}.btn-img span{color:#4a2a12;font-weight:900;letter-spacing:.3px;text-shadow:0 1px 2px rgba(255,255,255,.65)}.btn-glow img{animation:btnBreathe 2.4s ease-in-out infinite}@keyframes btnBreathe{0%,to{filter:brightness(1) drop-shadow(0 3px 10px rgba(201,111,74,.35))}50%{filter:brightness(1.09) drop-shadow(0 4px 18px rgba(212,154,66,.75))}}.home-content{position:relative;z-index:2;padding:14px 16px 110px}.home-content .card,.home-content .report-hint,.home-content .tabs .tab.active{background:#fffdf9b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #4a312129}.home-content .report-row{background:#ffd8b873}.home-balance{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 12px}.home-stage{position:relative;height:170px;border-radius:18px;overflow:hidden;margin-bottom:12px;border:2px solid rgba(255,255,255,.65);box-shadow:0 8px 24px #4a312140}.home-stage-tag{position:absolute;left:10px;top:10px;background:#fffdf9e6;border:1px solid var(--bronze);color:var(--bronze-highlight);padding:3px 10px;border-radius:20px;font-size:12.5px;font-weight:700;z-index:1}.scene-map{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#f5ead8}.scene-map-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.scene-hud{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 56px 10px 14px;background:linear-gradient(180deg,#1e161080,#1e161000)}.scene-hud-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scene-stat{display:inline-flex;align-items:center;gap:4px;background:#fffdf9e6;border:1px solid rgba(201,111,74,.35);color:#4a2a12;border-radius:20px;padding:3px 10px;font-size:12.5px;box-shadow:0 2px 8px #00000026}.scene-stage-tag{position:absolute;right:12px;top:64px;left:auto;z-index:4;background:#fffdf9e6;border:1px solid var(--bronze);color:var(--bronze-highlight);padding:3px 12px;border-radius:20px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #00000026}.map-spot{position:absolute;transform:translate(-50%,-50%);z-index:3;width:26vmin;height:26vmin;min-width:100px;min-height:100px;border-radius:50%;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-spot:active,.map-spot-hero:active{background:radial-gradient(circle,#fff8ec47,#fff8ec00 70%);box-shadow:0 0 22px #ffdcb499}.map-spot-sm{width:17vmin;height:17vmin;min-width:60px;min-height:60px}.map-spot-hero{width:80vmin;height:44vmin;min-width:300px;min-height:168px;border-radius:18px;border:none;background:transparent}@keyframes spotPulse{0%,to{box-shadow:0 0 #ffd6788c}50%{box-shadow:0 0 0 14px #ffd67800}}.map-spot-emoji{font-size:30px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35));pointer-events:none}.map-spot-name{margin-top:2px;font-size:12px;font-weight:800;color:#fff;background:#4a2a12b8;border-radius:10px;padding:1px 8px;white-space:nowrap;pointer-events:none;box-shadow:0 2px 6px #00000040}.map-dock{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;justify-content:space-around;align-items:center;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#1e161099,#1e161000)}.map-dock-item{display:flex;flex-direction:column;align-items:center;background:#fffdf9e6;border:1px solid rgba(201,111,74,.3);border-radius:12px;padding:3px 7px;min-width:42px;font-size:15px;color:#4a2a12;cursor:pointer;box-shadow:0 2px 6px #0003;transition:transform .12s ease}.map-dock-item span:last-child{font-size:9px;line-height:1.2}.map-dock-item:active{transform:scale(.92)}.scene-panel-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#1e16108c;display:flex;align-items:flex-end;animation:panelUp .22s ease}@keyframes panelUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scene-panel{width:100%;max-height:74dvh;overflow-y:auto;background:#fffdf9f5;border-radius:22px 22px 0 0;padding:16px;box-shadow:0 -8px 30px #00000040}.scene-panel-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:16px;margin-bottom:14px}.scene-panel-close{border:none;background:#c96f4a1f;color:#4a2a12;width:32px;height:32px;border-radius:50%;font-size:15px;cursor:pointer}.scene-wip{position:fixed;top:0;right:0;bottom:0;left:0;background:url(../assets/images/map/map-main.webp) center/cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:10}.scene-wip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1e16108c}.scene-wip-card{position:relative;background:#fffdf9f2;border-radius:22px;padding:28px 32px;text-align:center;max-width:320px;box-shadow:0 12px 40px #00000059}.scene-enter{animation:sceneZoomIn .5s cubic-bezier(.22,.8,.36,1)}@keyframes sceneZoomIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.scene-leave{animation:sceneLeave .3s ease forwards}@keyframes sceneLeave{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.14);filter:brightness(.6)}}.map-spot.kicking{animation:kickAnim .32s cubic-bezier(.34,1.56,.64,1);z-index:8}@keyframes kickAnim{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(.86)}70%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1)}}.fx-cloud{position:absolute;z-index:2;width:26vmin;height:9vmin;background:radial-gradient(ellipse at 30% 50%,rgba(255,255,255,.85),rgba(255,255,255,.35) 55%,transparent 75%),radial-gradient(ellipse at 70% 50%,rgba(255,255,255,.7),transparent 70%);filter:blur(1px);pointer-events:none;opacity:.8}.fx-cloud-1{top:8%;left:-30vmin;animation:cloudDrift 55s linear infinite}.fx-cloud-2{top:20%;left:-40vmin;animation:cloudDrift 85s linear 12s infinite;opacity:.55;transform:scale(.7)}.fx-cloud-3{top:4%;left:-25vmin;animation:cloudDrift 70s linear 30s infinite;opacity:.4;transform:scale(.55)}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(140vw)}}.fx-sun-glow{position:absolute;z-index:1;top:3%;right:6%;width:34vmin;height:34vmin;background:radial-gradient(circle,rgba(255,216,130,.65) 0%,rgba(255,216,130,.18) 45%,transparent 72%);pointer-events:none;animation:sunPulse 4.5s ease-in-out infinite}@keyframes sunPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.fx-car{position:absolute;z-index:2;font-size:6vmin;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));pointer-events:none}.fx-car-1{left:44%;animation:carDriveV 18s linear infinite}.fx-car-2{left:52%;animation:carDriveV 26s linear 4s infinite;font-size:4.5vmin}.fx-car-3{left:40%;animation:carDriveV 32s linear 10s infinite;font-size:7vmin;opacity:.9}@keyframes carDriveV{0%{top:112%;transform:scale(.75);opacity:0}8%{opacity:1}85%{opacity:1}to{top:-10%;transform:scale(1.15);opacity:0}}.fx-person{position:absolute;z-index:2;font-size:4vmin;pointer-events:none;animation:personWalk 40s linear infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.fx-person-1{left:36%;animation-duration:46s}.fx-person-2{left:60%;animation-duration:58s;animation-delay:8s;font-size:3.4vmin}@keyframes personWalk{0%{top:114%;opacity:0}6%{opacity:1}90%{opacity:1}to{top:-6%;opacity:0}}.fx-bird{position:absolute;z-index:2;font-size:3.6vmin;pointer-events:none;animation:birdFly 24s linear infinite;opacity:.9}.fx-bird-1{top:14%;animation-delay:0s}.fx-bird-2{top:10%;animation-delay:13s;font-size:2.8vmin}@keyframes birdFly{0%{left:-8%;transform:scaleX(1)}45%{transform:scaleX(1) translateY(-2vmin)}50%{transform:scaleX(-1) translateY(0)}95%{transform:scaleX(-1) translateY(-2vmin)}to{left:108%;transform:scaleX(-1)}}.fx-neon{position:absolute;z-index:2;width:4vmin;height:4vmin;border-radius:50%;background:radial-gradient(circle,#ff78a0f2,#ff78a000);pointer-events:none;animation:neonBlink 1.8s steps(2,jump-none) infinite}.fx-neon-1{left:46%;top:70%}.fx-neon-2{left:54%;top:68%;background:radial-gradient(circle,#78dcfff2,#78dcff00);animation-delay:.9s}@keyframes neonBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.15;transform:scale(.6)}}.fx-leaf{position:absolute;z-index:2;font-size:3vmin;pointer-events:none;animation:leafFall 11s linear infinite;opacity:.8}.fx-leaf-1{left:30%;animation-delay:0s}.fx-leaf-2{left:70%;animation-delay:5s}@keyframes leafFall{0%{top:-4%;transform:translate(0) rotate(0)}50%{transform:translate(2.5vmin) rotate(160deg)}to{top:106%;transform:translate(-2vmin) rotate(320deg)}}.fx-smoke{position:absolute;z-index:2;width:3.4vmin;height:3.4vmin;border-radius:50%;background:radial-gradient(circle,#ffffffb3,#fff0);pointer-events:none;animation:smokeRise 3.2s ease-out infinite}.fx-smoke-1{left:38%;top:30%}.fx-smoke-2{left:62%;top:26%;animation-delay:1.6s}@keyframes smokeRise{0%{opacity:0;transform:translate(0) scale(.5)}25%{opacity:.8}to{opacity:0;transform:translate(2.5vmin,-16vmin) scale(1.8)}}@keyframes spotFloat{0%,to{margin-top:0}50%{margin-top:-5px}}.gold-bounce{display:inline-block;animation:goldPop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes goldPop{0%{transform:scale(1)}40%{transform:scale(1.35);color:#ffb02e;text-shadow:0 0 10px rgba(255,176,46,.7)}to{transform:scale(1)}}.fx-scanline{position:absolute;z-index:2;width:17vmin;height:11vmin;pointer-events:none;border-radius:8px;overflow:hidden;opacity:.75}.fx-scanline:after{content:"";position:absolute;left:0;right:0;height:2.2vmin;background:linear-gradient(180deg,transparent,rgba(190,255,190,.4),transparent);animation:scanSweep 2.6s linear infinite}@keyframes scanSweep{0%{top:-2.2vmin}to{top:11vmin}}.fx-cursor{position:absolute;width:1.1vmin;height:2.6vmin;background:#8cff96e6;box-shadow:0 0 8px #8cff96e6;pointer-events:none;animation:cursorBlink 1s steps(1) infinite}@keyframes cursorBlink{0%,55%{opacity:1}56%,to{opacity:0}}.fx-zzz{position:absolute;font-size:4.5vmin;pointer-events:none;animation:zzzFloat 2.4s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}@keyframes zzzFloat{0%,to{transform:translate(0) scale(.85);opacity:.55}50%{transform:translate(1.5vmin,-3.5vmin) scale(1.1);opacity:1}}.btn-img{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:0;cursor:pointer;transition:transform .12s ease,filter .12s ease;-webkit-tap-highlight-color:transparent}.btn-img img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.btn-img span{position:relative;z-index:1;font-size:14px;font-weight:800;color:#4a2e1a;text-shadow:0 1px 2px rgba(255,255,255,.5);padding:0 8px;line-height:1.2}.btn-img:not(:disabled):active{transform:scale(.95)}.btn-img:not(:disabled):hover{filter:brightness(1.06)}.btn-img:disabled{filter:grayscale(.5) opacity(.6);cursor:not-allowed}.map-hand{position:absolute;left:47%;top:74%;transform:translate(-50%,-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-hand-icon{font-size:11vmin;animation:handTap 1.1s ease-in-out infinite;filter:drop-shadow(0 3px 8px rgba(0,0,0,.45))}.map-hand-bubble{background:#2b1e148c;color:#fff8ec;font-size:3vmin;font-weight:700;padding:5px 13px;border-radius:999px;white-space:nowrap;box-shadow:0 3px 10px #00000040;border:1px solid rgba(255,248,236,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes handTap{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-14px) scale(1.08)}55%{transform:translateY(-14px) scale(1.08)}}.desktop{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#0b0908;-webkit-user-select:none;user-select:none}.desktop-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.desktop-icons{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:16px;z-index:2}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;width:86px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);font-size:12px;font-weight:700}.desktop-icon:active{background:#ffffff2e}.desktop-icon img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.desktop-taskbar{position:absolute;left:0;right:0;bottom:0;height:46px;background:#141210d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;padding:0 14px;z-index:5;color:#fff;font-size:12px}.taskbar-start{font-weight:800;letter-spacing:.5px}.taskbar-back{display:flex;align-items:center;gap:6px;background:linear-gradient(180deg,#0a5fbf,#0d77d8);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:800;padding:6px 12px;cursor:pointer;box-shadow:inset 0 1px #ffffff4d}.taskbar-back:active{filter:brightness(.85)}.taskbar-time{opacity:.8}.retro-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-54%);width:86%;max-width:400px;height:64%;background:#fffdf9;border-radius:14px;box-shadow:0 20px 60px #0000008c,0 0 0 1px #c96f4a59;display:flex;flex-direction:column;overflow:hidden;z-index:10;animation:winPop .22s ease}@keyframes winPop{0%{transform:translate(-50%,-54%) scale(.92);opacity:0}to{transform:translate(-50%,-54%) scale(1);opacity:1}}.retro-window-title{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(180deg,#0a5fbf,#0d77d8);border-bottom:2px solid #FFD9B8;color:#fff;font-size:14px;font-weight:800;box-shadow:inset 0 1px #ffffff59}.retro-window-icon{font-size:15px}.retro-window-name{flex:1}.retro-window-close{width:26px;height:26px;border-radius:6px;border:none;background:linear-gradient(180deg,#e66a5c,#d63e2f);color:#fff;font-size:13px;cursor:pointer;font-weight:800;box-shadow:inset 0 1px #ffffff4d}.retro-window-close:active{filter:brightness(.85)}.retro-window-body{flex:1;overflow-y:auto;padding:14px}.acq-list{display:flex;flex-direction:column;gap:10px}.acq-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:14px}.acq-capital{font-size:12px;font-weight:600;color:var(--text-secondary)}.gold-text{color:#b8860b}.acq-hint{font-size:12px;color:var(--text-secondary);line-height:1.5}.acq-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff6ea;border:1px solid rgba(201,111,74,.18);border-radius:12px}.acq-owned{background:#f2f6ec;border-color:#4c7a4e59}.acq-emoji{font-size:24px}.acq-info{flex:1;min-width:0}.acq-name{font-weight:800;font-size:14px}.acq-meta{font-size:11px;color:var(--text-secondary);margin-top:2px}.acq-badge{color:#4c7a4e;font-weight:900;font-size:18px}.acq-buy{border:none;border-radius:10px;padding:9px 14px;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}.acq-buy-ok{background:linear-gradient(180deg,#e8b64a,#c98f2b);color:#fff;box-shadow:0 2px 8px #c98f2b66}.acq-buy-ok:active{transform:scale(.95)}.acq-buy-no{background:#e8e0d6;color:#a99b8c}.app-sec-title{font-size:12px;font-weight:800;color:var(--text-secondary);margin-bottom:6px}.mail-report{background:#fff6ea;border:1px solid rgba(201,111,74,.2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.mail-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.mail-gain{color:#4c7a4e;font-weight:800}.mail-warn{color:#b23a3a}.mail-endday{width:100%;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:900;cursor:pointer;background:linear-gradient(180deg,#e8b64a,#c98f2b);color:#fff;box-shadow:0 4px 14px #c98f2b73}.mail-endday:disabled{background:#c4ac9c;box-shadow:none}.mail-endday:not(:disabled):active{transform:scale(.97)}.desktop-boot{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0908;display:flex;align-items:center;justify-content:center}.desktop-boot-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.9}.desktop-boot-card{position:relative;background:#141210b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;padding:26px 34px;text-align:center;color:#fff;min-width:240px}.desktop-boot-title{font-size:22px;font-weight:900;letter-spacing:1px;color:#ffd9b8}.desktop-boot-sub{font-size:12px;opacity:.7;margin-top:4px;letter-spacing:2px}.desktop-boot-bar{margin-top:18px;height:8px;border-radius:4px;background:#ffffff26;overflow:hidden}.desktop-boot-fill{height:100%;background:linear-gradient(90deg,#e8b64a,#c96f4a);transition:width .2s ease;border-radius:4px}.desktop-boot-pct{margin-top:8px;font-size:11px;opacity:.8}.incubator-panel{position:absolute;left:5%;right:5%;bottom:3%;max-height:68%;overflow-y:auto;background:#fffdf9f5;border:2px solid var(--terracotta);border-radius:20px;padding:16px;box-shadow:0 12px 40px #00000059;z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.incubator-panel::-webkit-scrollbar{width:0}.star-card{background:#fffdf9;border:2px solid rgba(201,111,74,.35);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px}.star-head{display:flex;align-items:center;gap:12px}.star-portrait{width:64px;height:64px;border-radius:12px;object-fit:cover;border:2px solid var(--terracotta)}.star-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.star-name{font-weight:800;font-size:15px}.star-gender{font-size:12px}.star-buff{font-size:11px;color:var(--terracotta)}.star-lv{font-size:11px;color:var(--text-secondary)}.star-rank{display:flex;flex-direction:column;gap:4px}.star-rank>span{font-size:11px;font-weight:700}.star-rank-list{display:flex;gap:8px;flex-wrap:wrap}.star-rank-item{font-size:11px;background:#fff1e3;padding:3px 8px;border-radius:999px}.star-rank-me{background:var(--terracotta);color:#fff;font-weight:700}.acq-owned-actions{display:flex;align-items:center;gap:8px}.acq-up{border:none;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer;background:linear-gradient(180deg,#e8c87a,#c9a24b);color:#3b2d26}.acq-up-no{background:#e5ddd2;color:#a99f93;cursor:not-allowed}.acq-income{display:flex;align-items:baseline;gap:6px;font-size:15px;font-weight:800;color:var(--terracotta);background:#fff1e3;border-radius:10px;padding:8px 12px;margin-bottom:8px}.acq-income-sub{font-size:11px;color:var(--text-secondary);font-weight:400}.offline-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#140c088c;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.offline-card{background:#fffdf9;border-radius:22px;padding:28px 24px;max-width:300px;width:86%;text-align:center;border:2px solid var(--terracotta);box-shadow:0 16px 48px #00000059;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}.offline-icon{font-size:44px;margin-bottom:8px}.offline-title{font-size:18px;font-weight:800;margin-bottom:8px}.offline-desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.offline-claim{width:100%;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:800;color:#3b2d26;cursor:pointer;background:linear-gradient(180deg,#f2d48a,#d4af37);box-shadow:0 4px 14px #d4af3766}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.tut-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tut-wrap>*:not(.tut-bg){position:relative;z-index:1}.tut-card{background:#3b2d26b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid rgba(255,248,236,.35);border-radius:20px;padding:20px;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:10px}.tut-card-in{animation:tutIn .35s ease}@keyframes tutIn{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.tut-avatar{width:96px;height:96px;border-radius:18px;object-fit:cover;border:3px solid var(--terracotta);box-shadow:0 6px 18px #00000059}.tut-step-title{font-size:16px;font-weight:800;color:#fff8ec}.tut-desc{font-size:13px;color:#fff8ecd9;line-height:1.7;text-align:center}.tut-next{width:100%;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:800;color:#3b2d26;cursor:pointer;background:linear-gradient(180deg,#f2d48a,#d4af37);box-shadow:0 4px 14px #d4af3766}
