@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#0f172a;--bg-color-alt:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--danger:#ef4444;--danger-hover:#dc2626;--success:#10b981;--warning:#f59e0b;--border:#ffffff1a;--glass-bg:#1e293bb3;--glass-border:#ffffff0d;--input-bg:#0003;--bg-panel:#1e293b;--font-scale:1;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5;font-size:calc(16px * var(--font-scale));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);background-color:var(--bg-color);background-image:radial-gradient(circle at 100% 0,#1e1b4b,#0000 40%),radial-gradient(circle at 0 100%,#0f172a,#0000 40%);background-size:cover;background-attachment:fixed}:root[data-theme=light]{--bg-color:#f1f5f9;--bg-color-alt:#e2e8f0;--text-main:#1e293b;--text-muted:#64748b;--border:#0000001a;--glass-bg:#ffffffd9;--glass-border:#0000000f;--input-bg:#0000000a;--bg-panel:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:radial-gradient(circle at 100% 0,#dbeafe,#0000 40%),radial-gradient(circle at 0 100%,#f1f5f9,#0000 40%)}:root[data-theme=light] .glass-panel{border-color:#0000000f;box-shadow:0 4px 24px #0000000f,0 1px 4px #00000008}:root[data-theme=light] button:hover{background-color:#0000000a}:root[data-theme=light] button.primary:hover{background-color:var(--accent-hover)}:root[data-theme=light] [style*="rgba(0,0,0,0.2)"],:root[data-theme=light] [style*="rgba(0, 0, 0, 0.2)"]{background:#00000009!important}:root[data-theme=light] [style*="rgba(255,255,255,0.04)"],:root[data-theme=light] [style*="rgba(255, 255, 255, 0.04)"]{background:#00000006!important}:root[data-theme=light] [style*="rgba(255,255,255,0.08)"],:root[data-theme=light] [style*="rgba(255, 255, 255, 0.08)"]{background:#0000000a!important}:root[data-font-size=small]{--font-scale:.85}:root[data-font-size=medium]{--font-scale:1}:root[data-font-size=large]{--font-scale:1.15}body{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);place-items:center;margin:0;display:flex}#root{width:100%;max-width:600px;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;margin:0 auto}*{box-sizing:border-box}:root.theme-transition,:root.theme-transition *,:root.theme-transition :before,:root.theme-transition :after{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s,background .35s!important}::selection{color:inherit;background:#3b82f64d}.skip-to-content{z-index:99999;background:var(--accent);color:#fff;border-radius:0 0 12px 12px;padding:12px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.skip-to-content:focus{outline:none;top:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px #3b82f626}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.slide-in,.fade-in,.scale-in,.page-enter{opacity:1!important;animation:none!important;transform:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:600}button{border:1px solid var(--border);background-color:var(--bg-color-alt);color:var(--text-main);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:48px;padding:.6em 1.2em;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}button:hover{background-color:#ffffff1a;transform:translateY(-1px)}button:active{transition:transform .1s;transform:scale(.97)translateY(1px)}button.primary{background-color:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 16px #3b82f659}button.primary:active{background-color:#1d4ed8;transform:scale(.96);box-shadow:0 2px 8px #3b82f633}button.danger{background-color:var(--danger);border-color:var(--danger)}button.danger:hover{background-color:var(--danger-hover);box-shadow:0 4px 12px #ef44444d}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:disabled:active{transform:none}button.loading{pointer-events:none;opacity:.7}input[type=text],input[type=number],input[type=password]{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);-webkit-appearance:none;border-radius:12px;outline:none;width:100%;min-height:48px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);-webkit-appearance:none;border-radius:12px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}textarea:focus,input:focus{border-color:var(--accent);background:#3b82f608;box-shadow:0 0 0 3px #3b82f626}input::placeholder{color:var(--text-muted);opacity:.5;transition:opacity .2s}input:focus::placeholder{opacity:.3}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}kbd{border:1px solid var(--border);box-shadow:0 1px 0 var(--border);background:#ffffff0f;border-radius:5px;padding:2px 8px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem}:root[data-theme=light] kbd{background:#0000000a;box-shadow:0 1px #0000001a}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:24px;box-shadow:0 8px 32px #0000004d}.fade-in[style*=background]{transition:background .2s,transform .15s,box-shadow .2s}.fade-in[style*=background]:active{transform:scale(.98)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}.slide-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn}.fade-in{animation:.2s forwards fadeIn}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes readyBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes successPop{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes badgePulse{0%,to{transform:translate(14px)scale(1)}50%{transform:translate(14px)scale(1.2)}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar{transform-origin:bottom;animation:.5s cubic-bezier(.16,1,.3,1) forwards barGrow}.bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--glass-border);padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:100;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-muted);opacity:.7;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:auto;min-height:auto;padding:6px 16px;font-size:.7rem;transition:color .2s,background .2s,transform .2s;display:flex}.bottom-nav-item:hover{background:#ffffff0d;transform:none}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:var(--accent);opacity:1;font-weight:600}.bottom-nav-item.active svg{filter:drop-shadow(0 0 4px #3b82f64d);transition:transform .2s;transform:scale(1.1)}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{-webkit-backdrop-filter:blur(16px);pointer-events:auto;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastIn;display:flex;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.toast-success{color:var(--success);background:#10b98133;border:1px solid #10b98159}.toast-error{color:var(--danger);background:#ef444433;border:1px solid #ef444459}.toast-info{color:var(--accent);background:#3b82f633;border:1px solid #3b82f659}.toast span{flex:1}.toast-close{opacity:.6;background:0 0;border:none;min-width:auto;min-height:auto;padding:2px}.toast-close:hover{opacity:1;transform:none}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastProgress{0%{transform-origin:0;transform:scaleX(1)}to{transform-origin:0;transform:scaleX(0)}}.member-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:flex}.member-row{border-radius:10px;align-items:center;gap:10px;padding:8px 12px;transition:background .2s,transform .15s;display:flex}.member-row:active{transform:scale(.98)}.member-row.ready{background:#10b98114}.member-row.ready .member-avatar{animation:1.5s infinite readyBounce}.timer-ring-wrapper{justify-content:center;align-items:center;margin:.5rem auto;display:flex;position:relative}.timer-ring-text{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:3rem 1rem;display:flex}.empty-state svg{opacity:.2;width:48px;height:48px;animation:4s ease-in-out infinite float}.empty-state p:first-of-type{color:var(--text-main);opacity:.7;font-weight:500}.password-wrapper{width:100%;position:relative}.password-toggle{color:var(--text-muted);background:0 0;border:none;min-width:auto;min-height:auto;padding:6px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-main);transform:translateY(-50%)}.has-bottom-nav{padding-bottom:80px}.page-enter{animation:.25s cubic-bezier(.16,1,.3,1) forwards pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.skeleton{background:linear-gradient(90deg,#ffffff08 0%,#ffffff0f 20%,#ffffff1f 50%,#ffffff0f 80%,#ffffff08 100%) 0 0/300% 100%;border-radius:8px;animation:2s ease-in-out infinite shimmer}:root[data-theme=light] .skeleton{background:linear-gradient(90deg,#0000000a 0%,#00000012 20%,#0000001f 50%,#00000012 80%,#0000000a 100%) 0 0/300% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scale-in{transition:transform .15s,box-shadow .2s;animation:.2s cubic-bezier(.16,1,.3,1) forwards scaleIn}.scale-in:active{transform:scale(.98)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes celebrate{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(.95)}75%{transform:scale(1.05)}}.celebrate{animation:.5s celebrate}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";opacity:0;background:#ffffff26;border-radius:50%;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:after{opacity:1;width:200%;padding-top:200%;transition:width .3s,padding-top .3s,opacity}.ripple:not(:active):after{transition:opacity .4s}:root[data-theme=light] .ripple:after{background:#00000014}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)scale(1)}25%{opacity:1;transform:translateY(25vh)rotate(180deg)translate(20px)scale(.9)}50%{opacity:.8;transform:translateY(50vh)rotate(360deg)translate(-15px)scale(1.1)}75%{opacity:.4;transform:translateY(75vh)rotate(540deg)translate(10px)scale(.8)}to{opacity:0;transform:translateY(100vh)rotate(720deg)translate(-5px)scale(.6)}}@keyframes confetti-fall-alt{0%{opacity:1;transform:translateY(-100vh)rotate(0)scale(.8)}30%{opacity:1;transform:translateY(30vh)rotate(-200deg)translate(-25px)scale(1)}60%{opacity:.6;transform:translateY(60vh)rotate(-400deg)translate(20px)scale(.9)}to{opacity:0;transform:translateY(100vh)rotate(-720deg)translate(-10px)scale(.5)}}.confetti-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;width:10px;height:10px;animation:3s ease-in forwards confetti-fall;position:absolute;top:-10px}.confetti-piece:nth-child(odd){border-radius:50%;animation-name:confetti-fall-alt}.confetti-piece:first-child{background:#ef4444;animation-duration:2.5s;animation-delay:0s;left:5%}.confetti-piece:nth-child(2){background:#3b82f6;width:8px;height:12px;animation-duration:2.8s;animation-delay:.1s;left:15%}.confetti-piece:nth-child(3){background:#facc15;animation-duration:3s;animation-delay:.2s;left:25%}.confetti-piece:nth-child(4){background:#10b981;width:12px;height:6px;animation-duration:2.6s;animation-delay:50ms;left:35%}.confetti-piece:nth-child(5){background:#ec4899;animation-duration:2.9s;animation-delay:.3s;left:45%}.confetti-piece:nth-child(6){background:#f59e0b;width:6px;height:14px;animation-duration:2.7s;animation-delay:.15s;left:55%}.confetti-piece:nth-child(7){background:#8b5cf6;animation-duration:3.1s;animation-delay:.25s;left:65%}.confetti-piece:nth-child(8){background:#06b6d4;width:14px;height:6px;animation-duration:2.4s;animation-delay:.1s;left:75%}.confetti-piece:nth-child(9){background:#ef4444;animation-duration:2.8s;animation-delay:.35s;left:85%}.confetti-piece:nth-child(10){background:#3b82f6;width:8px;height:12px;animation-duration:3.2s;animation-delay:.2s;left:95%}.confetti-piece:nth-child(11){background:#facc15;width:8px;height:12px;animation-duration:2.6s;animation-delay:.4s;left:10%}.confetti-piece:nth-child(12){background:#10b981;width:12px;height:8px;animation-duration:3s;animation-delay:.15s;left:30%}.confetti-piece:nth-child(13){background:#ec4899;animation-duration:2.5s;animation-delay:.3s;left:50%}.confetti-piece:nth-child(14){background:#8b5cf6;width:6px;height:14px;animation-duration:2.9s;animation-delay:50ms;left:70%}.confetti-piece:nth-child(15){background:#f59e0b;animation-duration:3.1s;animation-delay:.25s;left:90%}html,body{overscroll-behavior:none}.has-bottom-nav{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body.modal-open{width:100%;height:100%;position:fixed;overflow:hidden}.tap-highlight{-webkit-tap-highlight-color:transparent;transition:background .15s,transform .1s}.tap-highlight:active{background:#3b82f60f;transform:scale(.98)}:root[data-theme=light] .tap-highlight:active{background:#3b82f614}@media (width<=480px){.glass-panel{padding:20px}.bottom-nav-item{gap:3px;font-size:.75rem}.empty-state{padding:2rem .5rem}.auth-panel{margin-top:6vh!important}}@media (width<=380px){#root{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.glass-panel{border-radius:16px;padding:16px}.bottom-nav-item{gap:4px;padding:8px 12px;font-size:.75rem}.lobby-header{flex-wrap:wrap}.lobby-header-actions{justify-content:flex-end;width:100%;margin-top:4px}.toast-container{max-width:calc(100% - 16px)}.auth-panel{margin-top:4vh!important}}@media (height<=600px){.auth-panel{margin-top:3vh!important}.empty-state{padding:1.5rem .5rem}}@media (width>=768px){#root{max-width:720px;padding:1.5rem}.glass-panel{border-radius:24px;padding:28px}.bottom-nav{border-radius:20px 20px 0 0;max-width:480px;left:50%;transform:translate(-50%);box-shadow:0 -4px 24px #00000026}button{transition:all .2s cubic-bezier(.4,0,.2,1),box-shadow .2s}button:hover{box-shadow:0 2px 12px #00000026}.member-row:hover{background:#3b82f60a}.toast-container{max-width:420px}}@media (width>=1024px){#root{max-width:860px;padding:2rem}.glass-panel{padding:32px}.bottom-nav{border:1px solid var(--glass-border);max-width:420px;box-shadow:0 8px 32px #0003, 0 0 0 1px var(--glass-border);border-radius:20px;bottom:16px}.bottom-nav-item{border-radius:12px;padding:8px 20px;font-size:.75rem}.bottom-nav-item:hover{background:#3b82f614}.has-bottom-nav{padding-bottom:100px}.stats-grid{gap:12px;grid-template-columns:repeat(3,1fr)!important}.groups-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.member-row{padding:10px 16px}.toast-container{max-width:460px}}@media (width>=1280px){#root{max-width:960px}.bottom-nav{max-width:460px}}@media (hover:hover) and (pointer:fine){.scale-in:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001f}.fade-in[style*=background]:hover{filter:brightness(1.05)}.member-row:hover{cursor:default;background:#3b82f60f}}
