:root{--color-primary-green: #7CB342;--color-dark-green: #2E7D32;--color-warm-brown: #8D6E63;--color-sky-blue: #64B5F6;--color-gold: #FFD54F;--color-teal: #4DD0E1;--color-white: #F5F5F5;--color-warm-orange: #FF9800;--color-red: #EF5350;--font-display: "Fredoka One", cursive;--font-body: "Nunito", sans-serif;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-body);background:#000;touch-action:none}#root{width:100%;height:100%;overflow:hidden}button{border:none;background:none;cursor:pointer;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.night-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0f28f2;z-index:60;animation:fade-in .5s ease-out}.night-screen-inner{width:94%;max-width:520px;max-height:calc(100vh - var(--safe-area-top, 0px) - var(--safe-area-bottom, 0px) - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:0;padding-top:var(--safe-area-top, 0px);padding-bottom:var(--safe-area-bottom, 0px)}.night-day-summary{background:#ffffff14;border-radius:16px;padding:1.25rem 1.5rem;text-align:center;margin-bottom:12px;animation:scale-in .4s ease-out;border:1px solid rgba(255,255,255,.1)}.night-day-heading{font-family:var(--font-display);font-size:1.6rem;color:#ffd54f;text-shadow:0 2px 8px rgba(255,213,79,.4);margin-bottom:.25rem}.night-day-earnings{font-family:var(--font-display);font-size:2.2rem;color:#7cb342;text-shadow:0 2px 8px rgba(124,179,66,.4);margin-bottom:.75rem}.night-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.night-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.night-stat-icon{font-size:1.3rem}.night-stat-value{font-family:var(--font-display);font-size:1.1rem;color:#fff;font-weight:700}.night-stat-label{font-size:.65rem;color:#ffffff80;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.night-shop-section{display:flex;flex-direction:column;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.08);margin-bottom:12px;animation:scale-in .4s ease-out .1s both}.night-shop-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.night-shop-title{font-family:var(--font-display);font-size:1.1rem;color:#fff;letter-spacing:1px}.night-shop-balance{font-family:var(--font-display);font-size:1rem;color:#7cb342;font-weight:700}.night-shop-grid{padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:start}.night-upgrade-card{background:#ffffff12;border-radius:12px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.08);transition:border-color .15s ease,background .15s ease}.night-upgrade-card:hover{border-color:#ffffff26;background:#ffffff1a}.night-upgrade-card.maxed{opacity:.6}.night-upgrade-name{font-family:var(--font-display);font-size:.75rem;color:#fff;text-align:center;line-height:1.2;letter-spacing:.3px}.night-upgrade-desc{font-size:.6rem;color:#ffffff80;text-align:center;line-height:1.2}.night-level-dots{display:flex;gap:4px}.night-level-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,213,79,.6);background:transparent;transition:background .2s ease}.night-level-dot.filled{background:#ffd54f;border-color:#ffd54f}.night-upgrade-cost{font-family:var(--font-display);font-size:.7rem;color:#ffd54f;font-weight:700}.night-upgrade-cost.maxed-text{color:#fff6}.night-buy-btn{width:100%;padding:5px 8px;border-radius:8px;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#7cb342,#558b2f);color:#fff;transition:transform .1s ease,opacity .15s ease;box-shadow:0 2px 6px #7cb3424d}.night-buy-btn:active:not(:disabled){transform:scale(.93)}.night-buy-btn:disabled{background:#ffffff14;color:#ffffff4d;box-shadow:none;cursor:default}.night-zones-section{background:#ffffff0d;border-radius:16px;padding:.75rem 1.25rem;margin-bottom:12px;border:1px solid rgba(255,255,255,.08);animation:scale-in .4s ease-out .15s both}.night-zones-title{font-family:var(--font-display);font-size:.9rem;color:#fff;letter-spacing:1px;margin-bottom:8px}.night-zone-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.night-zone-row:last-child{border-bottom:none}.night-zone-info{display:flex;flex-direction:column;gap:2px}.night-zone-name{font-weight:700;font-size:.85rem;color:#fff}.night-zone-threshold,.night-zone-progress{font-size:.7rem;color:#fff6}.night-unlock-btn{padding:5px 14px;border-radius:8px;font-family:var(--font-display);font-size:.75rem;font-weight:700;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 8px #ff980066;transition:transform .1s ease;animation:pulse-scale 1s infinite alternate}.night-unlock-btn:active{transform:scale(.93)}.night-zone-new-badge{padding:3px 10px;border-radius:8px;font-family:var(--font-display);font-size:.7rem;font-weight:800;background:#ffd54f;color:#5d4037;animation:pulse-scale 1s infinite alternate}.night-zone-locked-label{font-size:.7rem;color:#ffffff4d;font-weight:600}.night-start-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:16px;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:1.5px;background:linear-gradient(135deg,#7cb342,#558b2f);color:#fff;box-shadow:0 4px 16px #7cb34266;transition:transform .15s ease,box-shadow .15s ease;animation:scale-in .4s ease-out .2s both;flex-shrink:0;position:sticky;bottom:0}.night-start-btn:active{transform:scale(.95);box-shadow:0 2px 8px #7cb3424d}.night-start-icon{font-size:1.4em}.night-end-season-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:16px;font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:1.5px;background:linear-gradient(135deg,#ffd54f,#ff9800);color:#5d4037;box-shadow:0 4px 16px #ffd54f66;transition:transform .15s ease,box-shadow .15s ease;animation:scale-in .4s ease-out .25s both;flex-shrink:0;margin-top:8px}.night-end-season-btn:active{transform:scale(.95);box-shadow:0 2px 8px #ffd54f4d}@media(max-width:480px){.night-shop-grid{grid-template-columns:repeat(2,1fr)}.night-day-heading{font-size:1.3rem}.night-day-earnings{font-size:1.8rem}.night-stats-grid{grid-template-columns:repeat(3,1fr);gap:6px}.night-screen-inner{width:96%}}.season-summary{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0f28f2;z-index:60;animation:fade-in .5s ease-out}.season-summary-card{width:90%;max-width:420px;max-height:calc(100vh - var(--safe-area-top, 0px) - var(--safe-area-bottom, 0px) - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#ffffff14;border-radius:24px;padding:2rem 1.5rem;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);text-align:center;animation:scale-in .4s ease-out;display:flex;flex-direction:column;gap:1.25rem}.season-summary-title{font-family:var(--font-display);font-size:1.8rem;color:#ffd54f;text-shadow:0 2px 8px rgba(255,213,79,.4)}.season-summary-subtitle{font-size:.85rem;color:#ffffff80;margin-top:.25rem}.season-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.season-stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff0f;border-radius:12px;padding:10px 6px}.season-stat-value{font-family:var(--font-display);font-size:1.3rem;color:#fff;font-weight:700}.season-stat-label{font-size:.65rem;color:#ffffff80;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.season-star-section{background:#ffffff0f;border-radius:16px;padding:1rem;border:1px solid rgba(255,213,79,.15)}.season-star-section-title{font-family:var(--font-display);font-size:.9rem;color:#ffd54f;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.season-star-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.season-star-row:last-child{border-bottom:none}.season-star-label{font-size:.85rem;color:#fffc;font-weight:600}.season-star-label.dimmed{color:#ffffff59}.season-star-value{font-family:var(--font-display);font-size:1rem;color:#ffd54f}.season-star-value.dimmed{color:#ffffff40}.season-total-stars{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:.5rem}.season-total-stars-icon{font-size:2.2rem;animation:pulse-scale 1s infinite alternate}.season-total-stars-count{font-family:var(--font-display);font-size:2.5rem;color:#ffd54f;text-shadow:0 2px 8px rgba(255,213,79,.5)}.season-claim-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:16px;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:1.5px;background:linear-gradient(135deg,#ffd54f,#ff9800);color:#5d4037;box-shadow:0 4px 16px #ffd54f66;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.season-claim-btn:active{transform:scale(.95);box-shadow:0 2px 8px #ffd54f4d}@media(max-width:480px){.season-summary-title{font-size:1.4rem}.season-summary-card{padding:1.5rem 1rem}.season-stats-grid{grid-template-columns:repeat(2,1fr)}}.prestige-shop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0f28f2;z-index:60;animation:fade-in .5s ease-out}.prestige-shop-inner{width:94%;max-width:520px;max-height:calc(100vh - var(--safe-area-top, 0px) - var(--safe-area-bottom, 0px) - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:0;padding-top:var(--safe-area-top, 0px);padding-bottom:var(--safe-area-bottom, 0px)}.prestige-header{text-align:center;margin-bottom:12px;animation:scale-in .4s ease-out}.prestige-title{font-family:var(--font-display);font-size:1.6rem;color:#ffd54f;text-shadow:0 2px 8px rgba(255,213,79,.4)}.prestige-star-balance{display:inline-flex;align-items:center;gap:6px;margin-top:.5rem;background:#ffd54f1f;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,213,79,.2)}.prestige-star-icon{font-size:1.1rem}.prestige-star-count{font-family:var(--font-display);font-size:1.2rem;color:#ffd54f;font-weight:700}.prestige-tabs{display:flex;gap:4px;margin-bottom:12px;background:#ffffff0d;border-radius:12px;padding:4px}.prestige-tab{flex:1;padding:10px;border-radius:10px;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.5px;color:#ffffff80;background:transparent;transition:all .2s ease}.prestige-tab.active{background:linear-gradient(135deg,#7cb342,#558b2f);color:#fff;box-shadow:0 2px 8px #7cb3424d}.prestige-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.08);margin-bottom:12px;animation:scale-in .4s ease-out .1s both}.mastery-card{background:#ffffff12;border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.08);transition:border-color .15s ease,background .15s ease}.mastery-card:hover{border-color:#ffffff26;background:#ffffff1a}.mastery-card.maxed{opacity:.6}.mastery-name{font-family:var(--font-display);font-size:.8rem;color:#fff;text-align:center;line-height:1.2;letter-spacing:.3px}.mastery-desc{font-size:.6rem;color:#ffffff80;text-align:center;line-height:1.3}.mastery-level-dots{display:flex;gap:4px}.mastery-level-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,213,79,.6);background:transparent;transition:background .2s ease}.mastery-level-dot.filled{background:#ffd54f;border-color:#ffd54f}.mastery-cost{display:flex;align-items:center;gap:3px;font-family:var(--font-display);font-size:.7rem;color:#ffd54f;font-weight:700}.mastery-cost.maxed-text{color:#fff6}.mastery-buy-btn{width:100%;padding:5px 8px;border-radius:8px;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#ffd54f,#ff9800);color:#5d4037;transition:transform .1s ease,opacity .15s ease;box-shadow:0 2px 6px #ffd54f4d}.mastery-buy-btn:active:not(:disabled){transform:scale(.93)}.mastery-buy-btn:disabled{background:#ffffff14;color:#ffffff4d;box-shadow:none;cursor:default}.catalog-card{background:#ffffff12;border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.08);transition:border-color .15s ease,background .15s ease}.catalog-card:hover{border-color:#ffffff26;background:#ffffff1a}.catalog-card.owned{border-color:#7cb3424d}.catalog-card.unavailable{opacity:.5}.catalog-name{font-family:var(--font-display);font-size:.8rem;color:#fff;text-align:center;line-height:1.2}.catalog-desc{font-size:.6rem;color:#ffffff80;text-align:center;line-height:1.3}.catalog-cost{display:flex;align-items:center;gap:3px;font-family:var(--font-display);font-size:.7rem;color:#ffd54f;font-weight:700}.catalog-buy-btn{width:100%;padding:5px 8px;border-radius:8px;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#ffd54f,#ff9800);color:#5d4037;transition:transform .1s ease,opacity .15s ease;box-shadow:0 2px 6px #ffd54f4d}.catalog-buy-btn:active:not(:disabled){transform:scale(.93)}.catalog-buy-btn:disabled{background:#ffffff14;color:#ffffff4d;box-shadow:none;cursor:default}.catalog-owned-badge{font-family:var(--font-display);font-size:.7rem;font-weight:700;color:#7cb342;letter-spacing:.5px}.prestige-start-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;border-radius:16px;font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:1.5px;background:linear-gradient(135deg,#7cb342,#558b2f);color:#fff;box-shadow:0 4px 16px #7cb34266;transition:transform .15s ease,box-shadow .15s ease;animation:scale-in .4s ease-out .2s both;flex-shrink:0;position:sticky;bottom:0}.prestige-start-btn:active{transform:scale(.95);box-shadow:0 2px 8px #7cb3424d}@media(max-width:400px){.prestige-grid{grid-template-columns:1fr}.prestige-title{font-size:1.3rem}.prestige-shop-inner{width:96%}}.virtual-joystick{position:fixed;bottom:calc(40px + var(--safe-area-bottom, 0px));left:calc(40px + var(--safe-area-left, 0px));width:120px;height:120px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;touch-action:none;z-index:100;-webkit-user-select:none;user-select:none}.joystick-knob{width:48px;height:48px;border-radius:50%;background:#ffffff80;border:2px solid rgba(255,255,255,.7);pointer-events:none;will-change:transform}@media(hover:hover)and (pointer:fine){.virtual-joystick{display:none}}.app-container{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#87ceeb}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.ui-overlay>*{pointer-events:auto}.boot-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e7d32,#7cb342,#aed581);z-index:100}.boot-content{text-align:center;padding:2rem}.boot-logo{margin-bottom:3rem}.logo-icon{font-size:4rem;margin-bottom:.5rem;animation:bounce-in .6s ease-out}.boot-title{font-family:var(--font-display);font-size:2.5rem;color:#fffde7;text-shadow:0 3px 6px rgba(0,0,0,.3);letter-spacing:2px;animation:slide-up .5s ease-out .2s both}.boot-subtitle{font-family:var(--font-display);font-size:1.2rem;color:#ffd54f;text-shadow:0 2px 4px rgba(0,0,0,.2);margin-top:.25rem;animation:slide-up .5s ease-out .4s both}.progress-bar-container{width:200px;height:8px;background:#0003;border-radius:4px;margin:0 auto 1rem;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#ffd54f,#ff9800);border-radius:4px;transition:width .3s ease}.loading-text{font-size:.9rem;color:#fffc;font-weight:600}.main-menu{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0000,#0006);z-index:50}.menu-content{text-align:center;padding:2rem}.menu-logo{margin-bottom:3rem}.game-title{font-family:var(--font-display);font-size:3rem;color:#fffde7;text-shadow:0 4px 8px rgba(0,0,0,.4),0 0 40px rgba(255,213,79,.3);letter-spacing:3px}.game-subtitle{font-family:var(--font-display);font-size:1.3rem;color:#ffd54f;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-top:.25rem}.menu-buttons{display:flex;flex-direction:column;gap:.8rem;align-items:center}.menu-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 2rem;border-radius:16px;font-family:var(--font-display);font-size:1.1rem;letter-spacing:1px;min-width:220px;transition:transform .15s ease,box-shadow .15s ease}.menu-btn:active{transform:scale(.95)}.play-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 4px 12px #ff980066;font-size:1.3rem;padding:1rem 2.5rem}.play-btn:active{box-shadow:0 2px 8px #ff98004d}.secondary-btn{background:#ffffff26;backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-icon{font-size:1.2em}.menu-season-badge{display:inline-block;margin-top:.5rem;padding:4px 14px;border-radius:12px;background:#ffd54f33;border:1px solid rgba(255,213,79,.3);font-family:var(--font-display);font-size:.9rem;color:#ffd54f;letter-spacing:1px}.menu-star-count{display:inline-flex;align-items:center;gap:4px;margin-top:.4rem;font-family:var(--font-display);font-size:1rem;color:#ffd54f}.menu-milestones{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:1rem}.menu-milestone-badge{padding:3px 10px;border-radius:10px;background:#ffffff1f;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);font-family:var(--font-display);font-size:.7rem;font-weight:700;color:#ffffffd9;letter-spacing:.5px}.prestige-btn{background:linear-gradient(135deg,#ffd54f,#ff9800);color:#5d4037;box-shadow:0 4px 12px #ffd54f66}.prestige-btn:active{box-shadow:0 2px 8px #ffd54f4d}.menu-footer{margin-top:3rem}.version-text{font-size:.75rem;color:#fff6}.game-hud{position:absolute;inset:0;pointer-events:none}.game-hud>*{pointer-events:auto}.top-bar{position:absolute;top:calc(var(--safe-area-top) + 8px);left:8px;right:8px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:20}.top-bar>*{pointer-events:auto}.timer-pill{display:flex;align-items:center;gap:6px;background:#0009;backdrop-filter:blur(8px);padding:6px 14px;border-radius:20px;color:#fff;font-family:var(--font-display);font-size:1.1rem;transition:all .3s ease}.timer-pill.rush{background:#ff9800cc;animation:pulse-glow 1s infinite alternate}.timer-pill.low-time .timer-text{color:var(--color-red)}.timer-icon{font-size:.9rem}.rush-badge{font-size:.65rem;background:#ef5350;color:#fff;padding:1px 6px;border-radius:8px;font-weight:800;animation:pulse-scale .5s infinite alternate}.top-right-counters{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.resource-pill{display:flex;align-items:center;gap:6px;background:#0009;backdrop-filter:blur(8px);padding:4px 12px;border-radius:16px;color:#fff;font-family:var(--font-display);font-size:.95rem}.resource-pill.money{font-size:1.05rem}.resource-icon{font-size:.85em}.resource-value{font-weight:700}.event-banner{position:absolute;top:calc(var(--safe-area-top) + 50px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 20px;border-radius:12px;color:#fff;font-family:var(--font-display);font-size:.95rem;z-index:25;animation:slide-down .3s ease-out;box-shadow:0 4px 12px #0000004d}.event-icon{font-size:1.2em}.event-name{letter-spacing:1px}.event-timer{background:#fff3;padding:2px 8px;border-radius:8px;font-size:.85em}.production-feed{position:absolute;left:8px;top:calc(var(--safe-area-top) + 80px);display:flex;flex-direction:column;gap:4px;pointer-events:none;z-index:15}.feed-item{display:flex;align-items:center;gap:6px;background:#00000080;backdrop-filter:blur(6px);padding:4px 10px;border-radius:10px;color:#fff;font-size:.8rem;font-weight:600;animation:slide-in-left .3s ease-out,fade-out .3s ease-in 2.7s forwards;white-space:nowrap}.feed-icon{font-size:.9em}.action-dock{position:absolute;bottom:calc(var(--safe-area-bottom) + 16px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:20}.action-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:16px;font-family:var(--font-display);font-size:1rem;color:#fff;transition:transform .15s ease,opacity .15s ease;min-width:140px;justify-content:center}.action-btn.active{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 12px #ff980066}.action-btn.disabled{background:#0000004d;opacity:.5}.action-btn:active:not(.disabled){transform:scale(.93)}.action-icon{font-size:1.3em}.dock-info{background:#0006;backdrop-filter:blur(6px);padding:4px 12px;border-radius:10px;color:#fffc;font-size:.75rem;font-weight:600}.round-end{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);z-index:60;animation:fade-in .5s ease-out}.round-end-card{background:linear-gradient(135deg,#2e7d32,#388e3c);border-radius:24px;padding:2rem;width:90%;max-width:360px;text-align:center;box-shadow:0 8px 32px #0006;animation:scale-in .4s ease-out}.round-end-title{font-family:var(--font-display);font-size:1.8rem;color:#fffde7;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.final-score{margin-bottom:1.5rem}.score-label{display:block;font-size:.85rem;color:#ffffffb3;font-weight:600;margin-bottom:.25rem}.score-value{font-family:var(--font-display);font-size:3rem;color:#ffd54f;text-shadow:0 2px 8px rgba(255,213,79,.5)}.score-breakdown{background:#00000026;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.breakdown-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.9rem;color:#ffffffe6;font-weight:600}.round-end-actions{display:flex;flex-direction:column;gap:.6rem}.settings-overlay,.leaderboard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);z-index:70;animation:fade-in .2s ease-out}.settings-card,.leaderboard-card{background:#f5f5f5;border-radius:24px;padding:1.5rem;width:90%;max-width:360px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;animation:scale-in .3s ease-out;color:#333}.settings-header,.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.settings-header h2,.leaderboard-header h2{font-family:var(--font-display);font-size:1.4rem;color:#2e7d32}.close-btn{width:36px;height:36px;border-radius:50%;background:#00000014;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#666;transition:background .15s}.close-btn:active{background:#00000026}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.setting-label{font-weight:700;font-size:.95rem}.toggle-btn{padding:6px 16px;border-radius:20px;font-weight:700;font-size:.85rem;transition:all .15s ease}.toggle-btn.on{background:var(--color-primary-green);color:#fff}.toggle-btn.off{background:#0000001a;color:#999}.quality-buttons{display:flex;gap:4px}.quality-btn{padding:4px 12px;border-radius:12px;font-weight:700;font-size:.8rem;background:#0000000f;color:#666;transition:all .15s}.quality-btn.active{background:var(--color-primary-green);color:#fff}.leaderboard-tabs{display:flex;gap:4px;margin-bottom:1rem}.tab-btn{flex:1;padding:8px;border-radius:12px;font-weight:700;font-size:.85rem;background:#0000000f;color:#666;transition:all .15s}.tab-btn.active{background:var(--color-primary-green);color:#fff}.leaderboard-list{display:flex;flex-direction:column;gap:4px}.leaderboard-entry{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#00000008;transition:background .15s}.leaderboard-entry.top-three{background:#ffd54f26}.entry-rank{width:36px;font-weight:800;font-size:.9rem;color:#999}.entry-rank.rank-1{font-size:1.2rem}.entry-rank.rank-2{font-size:1.1rem}.entry-rank.rank-3{font-size:1rem}.entry-name{flex:1;font-weight:700;font-size:.9rem}.entry-score{font-family:var(--font-display);color:var(--color-primary-green);font-size:.95rem}.leaderboard-footer{text-align:center;margin-top:1rem}.footer-note{font-size:.8rem;color:#999}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slide-in-left{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce-in{0%{transform:scale(0)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pulse-glow{0%{box-shadow:0 0 8px #ff980066}to{box-shadow:0 0 20px #ff9800b3}}@keyframes pulse-scale{0%{transform:scale(1)}to{transform:scale(1.1)}}
