:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-panel: #1a1a1a;--accent-lime: #c8e600;--accent-gold: #d4a017;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--danger: #e63946;--success: #2ecc71;--font-display: "Impact", "Arial Black", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif}.app-container{width:100vw;height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}@media (min-width: 480px){.app-container{background:radial-gradient(ellipse at center,#1a1a2e,#0a0a0a)}}.screen{width:100%;height:100%;max-width:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;position:relative;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash-screen{background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%)}.splash-content{display:flex;flex-direction:column;align-items:center;gap:16px}.splash-title{font-family:var(--font-display);font-size:3.2rem;line-height:.9;letter-spacing:.05em;text-transform:uppercase}.splash-title-ceo{display:block;color:var(--accent-lime);text-shadow:0 0 20px rgba(200,230,0,.4)}.splash-title-penalty{display:block;color:var(--text-primary)}.splash-title-cup{display:block;color:var(--accent-gold);font-size:2.4rem}.splash-subtitle{color:var(--text-secondary);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase}.splash-progress-wrap{width:200px;height:4px;background:var(--bg-panel);border-radius:2px;overflow:hidden;margin-top:24px}.splash-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-lime),var(--accent-gold));border-radius:2px;transition:width .2s ease}.splash-loading{color:var(--text-muted);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;margin-top:8px}.start-screen{background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%)}.start-content{display:flex;flex-direction:column;align-items:center;gap:24px}.start-title{font-family:var(--font-display);font-size:3.5rem;line-height:.95;color:var(--text-primary);text-shadow:0 0 30px rgba(200,230,0,.2)}.start-subtitle{color:var(--accent-lime);font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase}.name-screen{background:var(--bg-primary);gap:20px}.screen-title{font-family:var(--font-display);font-size:1.8rem;color:var(--text-primary);letter-spacing:.05em;margin-bottom:8px}.name-input{width:100%;max-width:320px;padding:16px 20px;font-size:1.1rem;text-align:center;background:var(--bg-panel);border:2px solid #333;border-radius:12px;color:var(--text-primary);outline:none;transition:border-color .2s}.name-input:focus{border-color:var(--accent-lime)}.name-input::placeholder{color:var(--text-muted)}.input-error{color:var(--danger);font-size:.85rem;min-height:20px}.tutorial-screen{background:var(--bg-primary);gap:24px}.tutorial-steps{display:flex;flex-direction:column;gap:16px;width:100%;max-width:300px}.tutorial-step{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-panel);border-radius:12px;font-size:1rem;color:var(--text-primary)}.step-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-lime);color:var(--bg-primary);font-weight:700;border-radius:50%;font-size:.9rem;flex-shrink:0}.tutorial-hint{color:var(--accent-lime);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}.countdown-screen{background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%);gap:16px}.countdown-vs{font-family:var(--font-display);font-size:1.6rem;color:var(--accent-lime);letter-spacing:.05em}.countdown-shots{color:var(--text-secondary);font-size:1rem;letter-spacing:.15em}.countdown-number{font-family:var(--font-display);font-size:8rem;color:var(--text-primary);text-shadow:0 0 40px rgba(200,230,0,.3);line-height:1;margin:16px 0}.countdown-final-title{font-family:var(--font-display);font-size:2rem;color:var(--accent-gold);letter-spacing:.05em;text-transform:uppercase}.countdown-final-sub{color:var(--text-secondary);font-size:.9rem;letter-spacing:.1em}.game-screen{padding:0;justify-content:flex-start;background:linear-gradient(180deg,#0d1f0d,#0a0a0a)}.game-hud{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#0009;z-index:10}.game-hud-shot{font-size:.85rem;color:var(--text-secondary);letter-spacing:.1em}.game-hud-score{font-family:var(--font-display);font-size:1.5rem;color:var(--accent-lime)}.game-canvas-wrap{position:relative;width:100%;flex:1;display:flex;align-items:center;justify-content:center}.game-canvas{width:100%;max-width:390px;height:auto;max-height:70vh;touch-action:none;-webkit-user-select:none;user-select:none}.shot-result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000b3;animation:fadeIn .3s ease;gap:12px}.shot-score{font-family:var(--font-display);font-size:4rem;color:var(--accent-lime);text-shadow:0 0 20px rgba(200,230,0,.4)}.shot-joke{color:var(--text-secondary);font-size:1rem;max-width:280px;text-align:center;padding:0 20px}.comment-screen{background:var(--bg-primary);gap:20px}.comment-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-panel);border:2px solid var(--accent-lime);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.8rem;color:var(--accent-lime)}.comment-bubble{background:var(--bg-panel);padding:20px 24px;border-radius:16px;border:1px solid #333;max-width:320px;position:relative}.comment-bubble:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);border-width:0 10px 10px;border-style:solid;border-color:transparent transparent var(--bg-panel) transparent}.comment-text{font-size:1.1rem;color:var(--text-primary);line-height:1.5}.comment-score{display:flex;flex-direction:column;align-items:center;gap:4px}.comment-score-label{font-size:.85rem;color:var(--accent-lime);letter-spacing:.1em;text-transform:uppercase}.comment-score-value{font-family:var(--font-display);font-size:2.5rem;color:var(--accent-lime)}.comment-total{color:var(--text-muted);font-size:.9rem;letter-spacing:.1em}.result-screen{background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%);gap:16px}.result-title{font-family:var(--font-display);font-size:1.4rem;color:var(--text-primary);letter-spacing:.03em;text-transform:uppercase}.result-score{font-family:var(--font-display);font-size:5rem;color:var(--accent-lime);text-shadow:0 0 30px rgba(200,230,0,.3);line-height:1}.result-rank{color:var(--text-secondary);font-size:1rem;letter-spacing:.1em}.result-best{color:var(--accent-gold);font-size:.9rem;letter-spacing:.05em}.result-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px;margin-top:16px}.leaderboard-screen{background:var(--bg-primary);padding:16px;justify-content:flex-start;gap:16px}.leaderboard-list{width:100%;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;padding-right:4px}.leaderboard-row{display:grid;grid-template-columns:32px 32px 1fr 60px;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-panel);border-radius:10px;font-size:.9rem}.leaderboard-row.ceo-row{background:linear-gradient(90deg,rgba(212,160,23,.2),var(--bg-panel));border:1px solid rgba(212,160,23,.4)}.leaderboard-row.player-row{background:linear-gradient(90deg,rgba(200,230,0,.15),var(--bg-panel));border:1px solid rgba(200,230,0,.3)}.lb-rank{font-family:var(--font-display);font-size:1rem;color:var(--text-secondary)}.ceo-row .lb-rank{color:var(--accent-gold)}.lb-avatar{font-size:1.2rem;text-align:center}.lb-name{color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-score{font-family:var(--font-display);font-size:1rem;color:var(--accent-lime);text-align:right}.leaderboard-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.error-screen{background:var(--bg-primary);gap:20px}.error-text{color:var(--text-secondary);font-size:1rem;max-width:300px}.closed-screen{background:var(--bg-primary);gap:20px}.closed-text{color:var(--text-secondary);font-size:1rem}.btn-primary{width:100%;max-width:320px;padding:18px 32px;font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bg-primary);background:var(--accent-lime);border:none;border-radius:12px;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.btn-primary:hover{background:#d4f000;transform:translateY(-2px);box-shadow:0 8px 24px #c8e6004d}.btn-primary:active{transform:translateY(0)}.btn-secondary{width:100%;max-width:320px;padding:16px 32px;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);background:transparent;border:2px solid #333;border-radius:12px;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.btn-secondary:hover{border-color:var(--accent-lime);color:var(--accent-lime)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@supports (padding-top: env(safe-area-inset-top)){.screen{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}}.mute-btn{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:1.2rem;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;transition:all .2s}.mute-btn:hover{background:#fff3}.api-status{font-size:.75rem;letter-spacing:.1em;padding:6px 12px;border-radius:6px}.api-status.offline{color:var(--text-muted);background:#ffffff0d}.api-status.online{color:var(--success);background:#2ecc711a}.record-screen{background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%);gap:16px}.record-title{font-family:var(--font-display);font-size:2rem;color:var(--accent-gold);text-shadow:0 0 20px rgba(212,160,23,.3);letter-spacing:.05em}.record-score{font-family:var(--font-display);font-size:5rem;color:var(--accent-lime);text-shadow:0 0 30px rgba(200,230,0,.3);line-height:1}.record-best{color:var(--text-secondary);font-size:1rem;letter-spacing:.1em}.save-calm{color:#a0a0a0}.save-reach{color:#4fc3f7}.save-dive{color:#ff9800}.save-hard{color:#f44336}.save-extreme{color:var(--accent-lime)}.leaderboard-list::-webkit-scrollbar{width:4px}.leaderboard-list::-webkit-scrollbar-track{background:transparent}.leaderboard-list::-webkit-scrollbar-thumb{background:#333;border-radius:2px}
