:root{--bg-primary: #07080d;--bg-surface: #0f121d;--bg-card: #141828;--border-subtle: #22293f;--border-glow: #8b5cf6;--text-primary: #f8fafc;--text-muted: #94a3b8;--aura-purple: #a855f7;--aura-cyan: #38bdf8;--aura-gold: #fbbf24;--aura-emerald: #34d399;--aura-rose: #f43f5e}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow-x:hidden;overflow-y:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}#app{width:100%;height:100%;height:100dvh;display:flex;flex-direction:column;position:relative;max-width:480px;margin:0 auto;overflow:hidden;background:radial-gradient(circle at 50% 15%,#151829,#07080d 75%);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.header-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0f121dd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);z-index:20}.brand-badge{display:flex;align-items:center;gap:6px}.brand-title{font-weight:900;font-size:1.15rem;letter-spacing:.08em;background:linear-gradient(135deg,#c084fc,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.badge-founder{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:linear-gradient(135deg,#f59e0b33,#a855f733);border:1px solid rgba(251,191,36,.5);border-radius:9999px;color:var(--aura-gold);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .2s}.badge-founder:active{transform:scale(.95)}.player-identity{display:flex;align-items:center;gap:6px;background:#151a2ad9;border:1px solid var(--border-subtle);border-radius:9999px;padding:4px 10px;font-size:.78rem;cursor:pointer;transition:all .2s}.player-identity:hover{border-color:var(--aura-purple)}.player-rank{color:var(--aura-gold);font-weight:800}.header-actions{display:flex;gap:6px}.icon-btn{background:#151a2ad9;border:1px solid var(--border-subtle);color:var(--text-primary);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .2s;touch-action:manipulation}.icon-btn:active{transform:scale(.92);border-color:var(--aura-purple)}.challenge-banner{background:linear-gradient(90deg,#a855f740,#38bdf840);border-bottom:1px solid rgba(168,85,247,.5);padding:8px 14px;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;z-index:15}.challenge-banner-content{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-banner-alert{font-weight:800;color:var(--aura-cyan)}.challenge-banner-tag{font-size:.65rem;color:var(--aura-purple);font-weight:800;background:#a855f733;padding:2px 6px;border-radius:4px;border:1px solid rgba(168,85,247,.4)}.challenge-target{font-weight:800;color:var(--aura-gold)}.hud-area{padding:10px 16px 0;display:flex;flex-direction:column;gap:6px;z-index:15}.timer-container{display:flex;flex-direction:column;gap:4px}.timer-header{display:flex;justify-content:space-between;font-size:.76rem;color:var(--text-muted);font-weight:700;letter-spacing:.05em}.timer-track{width:100%;height:6px;background:#181d2f;border-radius:9999px;overflow:hidden}.timer-bar{width:100%;height:100%;background:linear-gradient(90deg,var(--aura-cyan),var(--aura-purple));transition:width .08s linear}.timer-bar.critical{background:var(--aura-rose);animation:pulse-crit .4s infinite alternate}@keyframes pulse-crit{0%{opacity:.75}to{opacity:1}}.score-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:2px}.score-display{display:flex;flex-direction:column}.score-label{font-size:.68rem;color:var(--text-muted);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.score-val{font-size:2.1rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.combo-badge{padding:5px 12px;border-radius:9999px;font-weight:800;font-size:.82rem;background:#181d2f;color:var(--text-muted);border:1px solid var(--border-subtle);transition:all .2s}.combo-badge.active{background:#a855f740;border-color:var(--aura-purple);color:#d8b4fe}.combo-badge.locked-in{background:#fbbf2440;border-color:var(--aura-gold);color:#fde047;box-shadow:0 0 16px #fbbf2466;animation:pulse-glow .8s infinite alternate}.combo-badge.overdrive{background:linear-gradient(135deg,#fbbf2459,#f43f5e59);border-color:var(--aura-gold);color:#fff;box-shadow:0 0 20px #fbbf2499}@keyframes pulse-glow{0%{transform:scale(1)}to{transform:scale(1.04)}}.canvas-container{flex:1;position:relative;width:100%;min-height:160px;display:flex;align-items:center;justify-content:center}canvas{display:block;width:100%;height:100%}.tap-zone{height:190px;margin:8px 14px 14px;background:#141828a6;border:2px dashed rgba(168,85,247,.35);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .1s;user-select:none;touch-action:manipulation}.tap-zone:active{transform:scale(.98);background:#a855f733;border-color:var(--aura-purple)}.tap-zone.locked-in{border-color:var(--aura-gold);border-style:solid;box-shadow:inset 0 0 24px #fbbf2433,0 0 16px #fbbf2433}.tap-icon{font-size:2.2rem;margin-bottom:4px}.tap-label{font-size:1.15rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.tap-sub{font-size:.76rem;color:var(--text-muted);margin-top:3px}.overlay-screen{position:absolute;inset:0;background:#07080df0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center;overflow-y:auto}.intro-card{max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}.intro-badge{font-size:.68rem;font-weight:800;letter-spacing:.08em;background:#a855f733;color:var(--aura-purple);border:1px solid rgba(168,85,247,.4);padding:3px 10px;border-radius:9999px}.game-title{font-size:2.5rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(135deg,#c084fc,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}.game-subtitle{font-size:.92rem;color:var(--text-muted);line-height:1.4}.challenge-card-alert{background:#a855f71f;border:1px solid var(--aura-purple);border-radius:14px;padding:12px;width:100%;box-shadow:0 0 20px #a855f733}.challenge-alert-tag{font-size:.72rem;color:var(--aura-cyan);font-weight:800;letter-spacing:.05em}.challenge-alert-title{font-size:1.15rem;font-weight:900;margin:4px 0 8px;color:#fff}.challenge-alert-stats{display:flex;justify-content:space-around;background:#07080db3;border-radius:10px;padding:8px;border:1px solid rgba(255,255,255,.06)}.challenge-stat-item{display:flex;flex-direction:column}.challenge-stat-item .label{font-size:.65rem;color:var(--text-muted);font-weight:700}.challenge-stat-item .val{font-size:1.25rem;font-weight:900}.challenge-stat-item .val.highlight{color:var(--aura-gold)}.challenge-alert-sub{font-size:.78rem;color:var(--text-muted);margin-top:8px}.daily-card-alert{background:#38bdf81f;border:1px solid var(--aura-cyan);border-radius:14px;padding:12px;width:100%}.daily-alert-tag{font-size:.72rem;color:var(--aura-gold);font-weight:800}.daily-alert-title{font-size:1.1rem;font-weight:900;margin:4px 0}.daily-alert-sub{font-size:.78rem;color:var(--text-muted)}.intro-actions{display:flex;flex-direction:column;gap:10px;width:100%}.guest-notice{font-size:.72rem;color:var(--text-muted)}.btn-primary{width:100%;min-height:48px;padding:14px;background:linear-gradient(135deg,var(--aura-purple) 0%,#6366f1 100%);border:none;border-radius:14px;color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 20px #a855f759;transition:all .2s;touch-action:manipulation}.btn-primary:active{transform:scale(.97)}.btn-secondary{width:100%;min-height:46px;padding:12px;background:#151a2ae6;border:1px solid var(--border-subtle);border-radius:14px;color:var(--text-primary);font-size:.92rem;font-weight:700;cursor:pointer;transition:all .2s;touch-action:manipulation}.btn-secondary:active{transform:scale(.97)}.btn-revenge{width:100%;min-height:48px;padding:14px;background:linear-gradient(135deg,#f43f5e,#fbbf24);border:none;border-radius:14px;color:#000;font-size:1.05rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 20px #f43f5e59;transition:all .2s;touch-action:manipulation}.btn-revenge:active{transform:scale(.97)}.btn-sm{width:auto;min-height:38px;padding:8px 16px;font-size:.85rem}.result-card{max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 14px;background:#121626e6;border:1px solid rgba(168,85,247,.4);border-radius:20px;box-shadow:0 10px 30px #0009}.card-brand{font-size:.8rem;font-weight:900;letter-spacing:.15em;color:var(--text-muted)}.result-headline{font-size:1.85rem;font-weight:900;line-height:1.15}.result-headline.win{color:var(--aura-gold);text-shadow:0 0 20px rgba(251,191,36,.4)}.result-headline.loss{color:var(--aura-rose);text-shadow:0 0 20px rgba(244,63,94,.4)}.result-sub{font-size:.85rem;color:var(--text-muted)}.score-badge-large{padding:10px 20px;background:#0c0f1ad9;border:1px solid var(--border-subtle);border-radius:14px;display:flex;flex-direction:column;align-items:center;width:100%}.score-badge-large .player-tag{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--aura-cyan);text-transform:uppercase}.score-badge-large .val{font-size:2.6rem;font-weight:900;color:#fff;line-height:1;margin:2px 0}.score-badge-large .aura-gain{font-size:.9rem;font-weight:800;color:var(--aura-emerald)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%}.stat-box{background:#0f1322;border:1px solid #1e243a;border-radius:10px;padding:6px 2px;display:flex;flex-direction:column;align-items:center}.stat-box .num{font-weight:800;font-size:1.05rem}.stat-box .lbl{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.result-rank-box{width:100%;background:#0f1322cc;border:1px solid var(--border-subtle);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.rank-row{display:flex;justify-content:space-between;align-items:center}.rank-badge-pill{font-size:.72rem;font-weight:800;color:var(--aura-gold);background:#fbbf2426;border:1px solid rgba(251,191,36,.4);padding:2px 8px;border-radius:9999px}.rank-next-txt{font-size:.68rem;color:var(--text-muted);font-weight:600}.rank-progress-track{width:100%;height:6px;background:#0b0e1a;border-radius:9999px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.rank-progress-fill{height:100%;background:linear-gradient(90deg,var(--aura-purple) 0%,var(--aura-gold) 100%);border-radius:9999px;transition:width .3s ease}.card-challenge-prompt{font-size:.85rem;font-weight:900;letter-spacing:.06em;color:#fff;margin-top:2px}.copied-toast{font-size:.82rem;color:var(--aura-emerald);font-weight:800;min-height:18px}.actions-col{display:flex;flex-direction:column;gap:8px;width:100%}.seed-tag{font-size:.68rem;color:var(--text-muted)}.modal-overlay{position:absolute;inset:0;background:#07080de6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;padding:20px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.15rem;font-weight:900}.profile-handle-row{display:flex;gap:8px}.text-input{flex:1;padding:10px 12px;background:#090c14;border:1px solid var(--border-subtle);border-radius:10px;color:#fff;font-size:.95rem;outline:none}.text-input:focus{border-color:var(--aura-purple)}.rank-overview-card{background:#0b0e1b;border:1px solid var(--border-subtle);border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px}.rank-badge-large{font-size:1.1rem;font-weight:900;color:var(--aura-gold)}.rank-aura-total{font-size:1.8rem;font-weight:900;color:#fff}.stats-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-box{background:#0b0e1b;border:1px solid var(--border-subtle);border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;align-items:center}.summary-box .num{font-size:1.1rem;font-weight:900}.summary-box .lbl{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.history-summary-row{display:flex;justify-content:space-around;background:#090c14;padding:8px;border-radius:12px;border:1px solid var(--border-subtle);text-align:center}.history-summary-row .num{font-size:1.15rem;font-weight:900}.history-summary-row .lbl{font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;margin:4px 0;padding-right:4px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#0d101c;border:1px solid var(--border-subtle);border-radius:10px;font-size:.8rem}.history-item.win{border-left:3px solid var(--aura-gold)}.history-item.loss{border-left:3px solid var(--aura-rose)}.history-meta{display:flex;flex-direction:column;gap:2px}.history-score{font-weight:800;font-size:.9rem;color:#fff}.history-sub{font-size:.7rem;color:var(--text-muted)}.history-actions{display:flex;align-items:center;gap:6px}.history-tag{font-weight:800;font-size:.68rem;padding:2px 6px;border-radius:4px}.history-tag.win{background:#fbbf2433;color:var(--aura-gold)}.history-tag.loss{background:#f43f5e33;color:var(--aura-rose)}.history-tag.solo{background:#94a3b833;color:var(--text-muted)}.empty-history{text-align:center;color:var(--text-muted);font-size:.82rem;padding:20px}.hidden{display:none!important}@media(max-width:360px){.brand-title{font-size:1rem}.score-val{font-size:1.8rem}.tap-zone{height:160px}.result-headline{font-size:1.6rem}.score-badge-large .val{font-size:2.2rem}}
