@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@400;500;600&display=swap";input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--bg-base:#070e0a;--bg-surface-1:#0a160fd9;--bg-surface-2:#0f1e14e6;--bg-surface-3:#16281cf2;--accent-primary:#4ade80;--accent-primary-glow:#4ade802e;--accent-primary-dim:#4ade8014;--accent-gold:#f5c842;--accent-gold-glow:#f5c84233;--accent-clay:#d97706;--accent-amber:#f59e0b;--accent-red:#ef4444;--accent-blue:#60a5fa;--text-primary:#f0f5f2;--text-secondary:#8fa898;--text-muted:#4a6358;--border-subtle:#4ade801a;--border-active:#4ade804d;--border-white:#ffffff0f;--bg-dark:var(--bg-base);--bg-card:var(--bg-surface-1);--bg-card-hover:var(--bg-surface-2);--accent-green:var(--accent-primary);--accent-secondary:#7c6aff;--accent-secondary-glow:#7c6aff33;--border-color:var(--border-subtle);--glass-blur:blur(24px);--gradient-hero:linear-gradient(135deg, #4ade80 0%, #22c55e 50%, #16a34a 100%);--gradient-gold:linear-gradient(135deg, #f5c842 0%, #d97706 100%);--gradient-card:linear-gradient(180deg, #4ade800a 0%, transparent 100%);--shadow-card:0 4px 24px #00000080, 0 0 0 1px var(--border-subtle);--shadow-glow-primary:0 0 24px var(--accent-primary-glow);--shadow-glow-gold:0 0 30px var(--accent-gold-glow);--shadow-elevated:0 20px 60px #0009, 0 0 0 1px var(--border-subtle);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-full:9999px;--font-display:"Outfit", sans-serif;--font-body:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 20% 80%,#16653438 0%,#0000 60%),radial-gradient(50% 40% at 80% 20%,#f5c8420f 0%,#0000 55%),radial-gradient(40% 60% at 60% 70%,#064e3b24 0%,#0000 50%);animation:22s ease-in-out infinite alternate ambientShift;position:fixed;inset:0}@keyframes ambientShift{0%{background:radial-gradient(60% 50% at 20% 80%,#16653438 0%,#0000 60%),radial-gradient(50% 40% at 80% 20%,#f5c8420f 0%,#0000 55%),radial-gradient(40% 60% at 60% 70%,#064e3b24 0%,#0000 50%)}50%{background:radial-gradient(65% 55% at 30% 70%,#16653447 0%,#0000 60%),radial-gradient(45% 45% at 75% 30%,#f5c84214 0%,#0000 55%),radial-gradient(50% 50% at 50% 80%,#064e3b2e 0%,#0000 50%)}to{background:radial-gradient(55% 60% at 15% 75%,#1665342e 0%,#0000 60%),radial-gradient(55% 35% at 85% 25%,#f5c8420d 0%,#0000 55%),radial-gradient(35% 65% at 65% 60%,#064e3b29 0%,#0000 50%)}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#4ade8026}::-webkit-scrollbar-thumb:hover{background:#4ade804d}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}h1{font-size:2rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.gradient-text{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.score-display-outline{font-family:var(--font-display);color:#0000;-webkit-text-stroke:2px var(--accent-primary);letter-spacing:-.04em;-webkit-user-select:none;user-select:none;font-size:5rem;font-weight:900;line-height:1}.card{background:var(--bg-surface-1);-webkit-backdrop-filter:blur(24px)saturate(1.4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border-top:1px solid #ffffff0f;padding:1.5rem;position:relative}.card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;pointer-events:none;background:linear-gradient(90deg,#0000,#4ade8033,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}.glass-panel{background:var(--bg-surface-1);-webkit-backdrop-filter:blur(24px)saturate(1.4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem}.card-elevated{background:var(--bg-surface-2);-webkit-backdrop-filter:blur(32px)saturate(1.6);border:1px solid var(--border-active);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);padding:1.5rem}.card-gold{background:var(--bg-surface-1);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-lg);box-shadow:0 0 40px #f5c8421a, var(--shadow-card);border:1px solid #f5c84238;border-top-color:#f5c84266;padding:1.5rem;animation:3s ease-in-out infinite pulse-gold}.app-container{min-height:100vh;display:flex}.sidebar{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--border-subtle);background:#050c08eb;flex-direction:column;width:220px;min-width:220px;height:100vh;padding:1.75rem 1.25rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.75rem;margin-bottom:2rem;padding:0 .25rem;font-size:1.1rem;font-weight:700;display:flex}.sidebar-logo svg{color:var(--accent-primary);flex-shrink:0}.nav-links{flex-direction:column;flex:1;gap:.2rem;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--accent-primary-dim);color:var(--text-primary);border-color:var(--border-subtle)}.nav-item.active{color:var(--accent-primary);box-shadow:inset 3px 0 0 var(--accent-primary);background:#4ade801a;border-color:#4ade802e}.main-content{flex:1;min-width:0;padding:2.5rem 2.75rem;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding:.65rem 1rem;font-size:.7rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:.85rem 1rem;font-size:.9rem}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{box-shadow:inset 3px 0 0 var(--accent-primary);background:#4ade800a}.data-table tbody tr:last-child td{border-bottom:none}.rank-badge{width:28px;height:28px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex}.rank-1{background:var(--gradient-gold);color:#000;box-shadow:var(--shadow-glow-gold)}.rank-2{color:#000;background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.rank-3{color:#fff;background:linear-gradient(135deg,#d97706,#b45309)}.score-1{color:#60a5fa;background-color:#60a5fa26;border-radius:4px;font-weight:700}.score-2{color:var(--accent-primary);background-color:#4ade801f;border-radius:4px;font-weight:600}.score-5,.score-6{color:#f59e0b;background-color:#f59e0b1f;border-radius:4px}.score-7{color:#f87171;background-color:#ef444433;border-radius:4px;font-weight:700}.score-total{background:var(--bg-surface-3);font-weight:700;font-family:var(--font-display)}.btn-primary{background:var(--accent-primary);color:#052e16;border-radius:var(--radius-md);font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 20px var(--accent-primary-glow);white-space:nowrap;letter-spacing:-.01em;border:none;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex}@keyframes modalPop{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes pulse-gold{0%,to{box-shadow:0 0 20px #f5c84226, var(--shadow-card)}50%{box-shadow:0 0 40px #f5c8424d, var(--shadow-card)}}.mini-stat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#4ade8008;padding:1rem}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 28px #4ade8047}.btn-primary:active{box-shadow:0 2px 12px var(--accent-primary-glow);transform:translateY(0)}.btn-secondary{background:var(--bg-surface-2);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg-surface-3);color:var(--accent-primary);border-color:#4ade8033}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{align-items:center;gap:1.25rem;display:flex}.stat-icon{border-radius:var(--radius-md);background:var(--accent-primary-dim);width:44px;height:44px;color:var(--accent-primary);border:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon.blue{color:var(--accent-blue);background:#60a5fa14;border-color:#60a5fa26}.stat-content h3{color:var(--text-secondary);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;font-size:.75rem;font-weight:500}.stat-content p{font-family:var(--font-display);font-size:1.75rem;font-weight:700}.scorecard-table{border-collapse:collapse;text-align:center;width:100%;font-size:.875rem}.scorecard-table th,.scorecard-table td{border:1px solid var(--border-subtle);padding:.65rem .5rem}.scorecard-table th{color:var(--text-secondary);background:#4ade800a;font-size:.8rem;font-weight:600}.modal-animate{animation:.35s cubic-bezier(.175,.885,.32,1.2) forwards modalPop}.fade-in{animation:.3s ease-out forwards fadeIn}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-full);box-shadow:var(--shadow-elevated);pointer-events:auto;white-space:nowrap;align-items:center;gap:.6rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;animation:.3s cubic-bezier(.175,.885,.32,1.2) forwards toastSlideIn;display:inline-flex}.toast-success{background:var(--accent-primary);color:#052e16}.toast-error{background:var(--accent-red);color:#fff}.toast-info{background:var(--bg-surface-2);border:1px solid var(--border-subtle);color:var(--text-primary)}.game-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.mini-stat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#4ade8008;flex-direction:column;gap:.4rem;padding:1rem;display:flex}.mini-stat-card span.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.mini-stat-card .value-row{font-weight:700;font-family:var(--font-display);justify-content:space-between;align-items:center;display:flex}.mobile-only{display:none}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:flex}.app-container{flex-direction:column}.main-content{padding:1.25rem 1rem;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.bottom-nav{bottom:calc(14px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(28px)saturate(1.5);border:1px solid var(--border-subtle);border-radius:var(--radius-full);z-index:100;width:auto;min-width:340px;max-width:calc(100vw - 24px);height:62px;box-shadow:0 8px 32px #0009, 0 0 0 1px var(--border-subtle);background:#050c08f2;border-top:1px solid #4ade801f;justify-content:space-around;align-items:center;gap:.1rem;padding:0 .5rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bottom-nav .nav-item{border-radius:var(--radius-full);text-align:center;min-width:44px;box-shadow:none;text-transform:uppercase;letter-spacing:.04em;border:none;flex-direction:column;justify-content:center;gap:.2rem;padding:.4rem .5rem;font-size:.57rem;font-weight:600;transition:all .2s}.bottom-nav .nav-item img{transition:filter .2s,transform .2s}.bottom-nav .nav-item.active img{transform:scale(1.1)}.bottom-nav .nav-item.active{color:var(--accent-primary);background:#4ade8014;border:none}.toast-container{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.data-table th,.data-table td{padding:.6rem .5rem;font-size:.8rem}h1{font-size:1.5rem}h2{font-size:1.15rem}}.modal-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:500;background-color:#040a06e6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.achievement-badge .achievement-tooltip{visibility:hidden}.achievement-badge:hover .achievement-tooltip,.achievement-badge:active .achievement-tooltip{visibility:visible;transform:translate(-50%)translateY(0);opacity:1!important}.achievement-badge .achievement-tooltip{transform:translate(-50%)translateY(5px)}.outline-text{color:#0000;-webkit-text-stroke:2px #ffffff1a;font-family:var(--font-display);-webkit-user-select:none;user-select:none}.scorecard-ribbon{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.scorecard-ribbon::-webkit-scrollbar{display:none}.scorecard-hole{background:var(--bg-surface-3);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.scorecard-hole.active{border-color:var(--accent-primary);box-shadow:0 0 10px #4ade804d}.scorecard-hole-num{color:var(--text-secondary);margin-bottom:2px;font-size:.6rem;font-weight:700}.scorecard-hole-score{color:var(--text-primary);font-size:1rem;font-weight:900;font-family:var(--font-display)}.tactile-btn{background:var(--bg-surface-3);width:64px;height:64px;color:var(--text-primary);cursor:pointer;border:none;border-top:1px solid #ffffff1a;border-bottom:1px solid #000c;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 8px 16px #0006,inset 0 2px 4px #ffffff0d}.tactile-btn:active{border-top:1px solid #000c;border-bottom:1px solid #ffffff0d;transform:scale(.92)translateY(4px);box-shadow:0 2px 4px #0009,inset 0 4px 8px #0006}.tactile-btn.primary{background:var(--accent-primary-glow);color:var(--bg-base);border-top:1px solid #ffffff80;box-shadow:0 8px 24px #4ade804d,inset 0 2px 8px #fff6}.tactile-btn.primary:active{box-shadow:0 2px 8px #4ade8033,inset 0 4px 12px #0003}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.stagger-row{animation:.3s ease-out both rowSlideIn}.stagger-row:first-child{animation-delay:20ms}.stagger-row:nth-child(2){animation-delay:50ms}.stagger-row:nth-child(3){animation-delay:80ms}.stagger-row:nth-child(4){animation-delay:.11s}.stagger-row:nth-child(5){animation-delay:.14s}.stagger-row:nth-child(6){animation-delay:.17s}.stagger-row:nth-child(7){animation-delay:.2s}.stagger-row:nth-child(8){animation-delay:.23s}.stagger-row:nth-child(9){animation-delay:.26s}.stagger-row:nth-child(10){animation-delay:.29s}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.stagger-card{animation:.4s cubic-bezier(.16,1,.3,1) both cardFadeUp}.stagger-card:first-child{animation-delay:50ms}.stagger-card:nth-child(2){animation-delay:.12s}.stagger-card:nth-child(3){animation-delay:.19s}.stagger-card:nth-child(4){animation-delay:.26s}.stagger-card:nth-child(5){animation-delay:.33s}@keyframes scoreFlash{0%{box-shadow:0 0 #4ade8000}40%{box-shadow:0 0 12px 4px #4ade8066}to{box-shadow:0 0 #4ade8000}}.score-input-flash{animation:.5s ease-out scoreFlash}.score-cell-input{transition:border-color .15s,box-shadow .15s,color .15s}.score-cell-input:focus{outline:none;box-shadow:0 0 0 2px #4ade8033,inset 0 0 8px #4ade800d;border-color:var(--accent-primary)!important}.score-cell-input:hover:not(:focus){border-color:#4ade8040!important}.card-hover{transition:transform .2s,box-shadow .2s}.card-hover:hover{box-shadow:0 12px 40px #00000080, 0 0 0 1px var(--border-active);transform:translateY(-2px)}.avatar-hover{cursor:pointer;transition:transform .2s,filter .2s}.avatar-hover:hover{filter:drop-shadow(0 0 8px #4ade8080);transform:scale(1.1)}@media (width<=768px){.bottom-nav .nav-item{transition:all .22s cubic-bezier(.34,1.56,.64,1)}.bottom-nav .nav-item.active{color:var(--accent-primary);background:#4ade801f;transform:scale(1.15)translateY(-2px);box-shadow:0 4px 16px #4ade8033}@keyframes fabPulse{0%,to{box-shadow:0 4px 12px #ffffff1a}50%{box-shadow:0 4px 20px #fff3,0 0 30px #4ade801a}}.mobile-fab{animation:3s ease-in-out infinite fabPulse}}.page-enter{animation:.3s cubic-bezier(.16,1,.3,1) both pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.playgame-table tr:hover td{background:#4ade8008!important}@keyframes splashGlowPulse{0%{filter:drop-shadow(0 0 #4ade8000)}50%{filter:drop-shadow(0 0 40px #4ade8099)}to{filter:drop-shadow(0 0 20px #4ade804d)}}.splash-logo-glow{animation:1.8s ease-out forwards splashGlowPulse}@keyframes splashTextReveal{0%{opacity:0;transform:translateY(12px) letterSpacing .3em}to{opacity:1;transform:translateY(0)}}.splash-title{animation:.6s ease-out .4s both splashTextReveal}.splash-subtitle{animation:.5s ease-out .75s both splashTextReveal}@keyframes scoreCountUp{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.score-updated{animation:.2s ease-out scoreCountUp}
