@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-gradient:radial-gradient(circle at center, #18143c 0%, #080911 100%);--panel-bg:#ffffff08;--panel-border:#ffffff12;--glass-blur:blur(20px);--primary:#6366f1;--primary-glow:#6366f166;--secondary:#ec4899;--secondary-glow:#ec489966;--success:#10b981;--success-glow:#10b98166;--warning:#f59e0b;--warning-glow:#f59e0b66;--danger:#ef4444;--danger-glow:#ef444466;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow-x:hidden}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--panel-border);border-radius:24px;transition:all .3s;box-shadow:0 16px 40px #0006}.glass-panel:hover{border-color:#ffffff1f}.join-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.join-card{text-align:center;width:100%;max-width:440px;padding:40px}.join-title{background:linear-gradient(135deg,#a5b4fc 0%,#ec4899 100%);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2.5rem;font-weight:800}.join-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem}.join-form{flex-direction:column;gap:20px;display:flex}.input-group{text-align:left;flex-direction:column;gap:8px;display:flex}.input-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:.8rem;font-weight:600}.neon-input{font-family:var(--font-family);color:#fff;background:#0003;border:1.5px solid #ffffff1a;border-radius:12px;outline:none;padding:14px 18px;font-size:1rem;transition:all .3s}.neon-input:focus{border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow);background:#0000004d}.formula-input{letter-spacing:1.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.neon-btn{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;font-family:var(--font-family);cursor:pointer;box-shadow:0 4px 14px var(--primary-glow);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.neon-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}.neon-btn:active{transform:translateY(0)}.neon-btn:disabled,.btn-buzz:disabled{color:var(--text-muted)!important;cursor:not-allowed!important;box-shadow:none!important;filter:none!important;background:#ffffff14!important;border:1px solid #ffffff0d!important;transform:none!important}.dashboard{flex:1;grid-template-columns:320px 1fr;gap:24px;width:100%;max-width:1440px;min-height:100vh;margin:0 auto;padding:24px;display:grid}.mobile-header{display:none}.show-on-mobile{display:none!important}@media (width<=1024px){.dashboard{flex-direction:column;gap:16px;padding:16px;display:flex}.main-content{order:1;gap:12px}.sidebar{order:2}.mobile-header{text-align:center;margin-bottom:0;padding:10px;display:block}.sidebar .brand-section{display:none}.show-on-mobile{display:block!important}.hide-on-mobile{display:none!important}.show-on-mobile .player-list{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.show-on-mobile .player-row{border-radius:8px;min-width:0;padding:6px 10px;font-size:.85rem}.show-on-mobile .player-info{flex:1;gap:6px;min-width:0}.show-on-mobile .player-name{max-width:55px}.show-on-mobile .player-score{border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:.85rem}.show-on-mobile .self-badge,.show-on-mobile .player-vote-badge{margin-left:2px;padding:1px 4px;font-size:.6rem}}.sidebar{flex-direction:column;gap:20px;height:calc(100vh - 48px);display:flex;position:sticky;top:24px}@media (width<=1024px){.sidebar{height:auto;position:static}}.brand-section{text-align:center;padding:16px}.brand-title{background:linear-gradient(135deg,#a5b4fc 0%,#ec4899 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800}.leaderboard-panel{flex-direction:column;flex:1;padding:20px;display:flex;overflow:hidden}.panel-title{color:var(--text-primary);border-bottom:1px solid var(--panel-border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:1.1rem;font-weight:700;display:flex}.player-list{flex-direction:column;flex:1;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.player-list::-webkit-scrollbar{width:6px}.activity-list::-webkit-scrollbar{width:6px}.player-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.activity-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.player-row{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.player-row.self{background:#6366f10d;border-color:#6366f166}.player-row.buzzed{background:#f59e0b14;border-color:#f59e0b99;animation:1.5s infinite scorePulse}.player-info{align-items:center;gap:10px;display:flex}.status-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 8px var(--success-glow);border-radius:50%}.player-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.self-badge{background:var(--primary);border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.player-score{color:var(--secondary);background:#ffffff14;border-radius:8px;padding:4px 10px;font-size:1.1rem;font-weight:700}.player-vote-badge{color:var(--danger);background:#ef444426;border:1px solid #ef44444d;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.65rem;font-weight:600}.main-content{flex-direction:column;gap:24px;display:flex}.game-board{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 20px 40px;display:flex;position:relative;overflow:hidden}.buzzer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0f172ab3;border-radius:24px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.buzzer-alert{text-align:center;padding:30px;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleIn}.buzzer-alert-title{color:var(--warning);text-shadow:0 0 15px var(--warning-glow);margin-bottom:8px;font-size:1.8rem;font-weight:800}.buzzer-alert-name{color:#fff;margin-bottom:24px;font-size:1.3rem;font-weight:600}.cards-wrapper{perspective:1000px;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin:20px 0 32px;display:flex}.playing-card{aspect-ratio:226/314;cursor:pointer;border-radius:10px;width:140px;height:auto;transition:all .4s cubic-bezier(.2,.8,.2,1);box-shadow:0 10px 25px #00000073}.playing-card:hover{filter:brightness(1.05);transform:translateY(-12px)rotateY(8deg)scale(1.06);box-shadow:0 20px 40px #6366f159}.celebration-card{aspect-ratio:226/314;border-radius:6px;width:70px;height:auto;box-shadow:0 4px 8px #0000004d}.game-controls{justify-content:center;gap:16px;width:100%;display:flex}.btn-buzz{background:linear-gradient(135deg, var(--warning) 0%, #d97706 100%);box-shadow:0 0 20px var(--warning-glow);text-transform:uppercase;letter-spacing:.5px;border-radius:16px;padding:18px 48px;font-size:1.2rem;font-weight:800}.btn-buzz:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 0 30px #f59e0bcc}.btn-no-solution{color:#ef4444;cursor:pointer;background:#ef44441a;border:1.5px solid #ef44444d;border-radius:16px;padding:18px 28px;font-size:1rem;font-weight:600;transition:all .3s}.btn-no-solution:hover{border-color:var(--danger);box-shadow:0 0 15px var(--danger-glow);background:#ef444433}.btn-no-solution.active{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 0 20px var(--danger-glow)}.vote-status{color:var(--text-secondary);margin-top:16px;font-size:.85rem}.vote-count{color:var(--danger);font-weight:700}.activity-feed{flex-direction:column;max-height:250px;padding:20px;display:flex}.activity-list{flex-direction:column;flex:1;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.activity-item{border-left:3px solid var(--text-muted);background:#ffffff03;border-radius:8px;gap:12px;padding:8px 12px;font-size:.85rem;display:flex}.activity-time{color:var(--text-muted);white-space:nowrap;font-weight:600}.activity-text{color:var(--text-secondary)}.activity-join{border-left-color:var(--primary)}.activity-correct{border-left-color:var(--success)}.activity-incorrect{border-left-color:var(--danger)}.activity-buzz{border-left-color:var(--warning)}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#080911cc;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:520px;padding:32px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow:hidden}.modal-header{margin-bottom:24px}.modal-title{color:var(--warning);align-items:center;gap:8px;font-size:1.5rem;font-weight:800;display:flex}.timer-bar-container{background:#ffffff1a;border-radius:3px;width:100%;height:6px;margin-top:16px;overflow:hidden}.timer-bar{background:linear-gradient(90deg, var(--warning) 0%, #ea580c 100%);width:100%;height:100%;box-shadow:0 0 10px var(--warning-glow);transition:width .1s linear}.modal-body{flex-direction:column;gap:20px;display:flex}.helper-cards{justify-content:center;gap:12px;display:flex}.helper-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:50px;height:75px;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;position:relative}.helper-card.used{border-color:var(--success);color:var(--success);opacity:.5;background:#10b98114;text-decoration:line-through}.helper-card.used:after{content:"✓";background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;display:flex;position:absolute;top:-6px;right:-6px;text-decoration:none!important}.formula-error{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-top:-8px;padding:10px 14px;font-size:.85rem}.modal-footer{gap:12px;margin-top:8px;display:flex}.modal-footer button{flex:1}.btn-cancel{color:#fff;font-family:var(--font-family);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:14px 24px;font-size:1rem;font-weight:600;transition:all .2s}.btn-cancel:hover{background:#ffffff1a;border-color:#fff3}@keyframes scorePulse{0%{box-shadow:0 0 10px #f59e0b33}50%{box-shadow:0 0 20px #f59e0b80}to{box-shadow:0 0 10px #f59e0b33}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.instructions-box{color:var(--text-secondary);background:#6366f108;border:1px dashed #6366f133;border-radius:16px;padding:16px;font-size:.8rem;line-height:1.4}.instructions-box p{margin-bottom:6px}.instructions-box ul{padding-left:16px}.btn-quit{color:#f87171;font-family:var(--font-family);cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-quit:hover{border-color:var(--danger);box-shadow:0 0 15px var(--danger-glow);color:#fff;background:#ef444426}@media (width<=480px){.playing-card{width:45%;max-width:150px}.cards-wrapper{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;margin:8px 0 16px}.game-board{padding:12px 10px 20px}.btn-buzz{padding:14px 28px;font-size:1.05rem}.btn-no-solution{padding:14px 18px;font-size:.9rem}.modal-content{padding:24px 16px}.helper-card{width:44px;height:66px;font-size:1.1rem}}.helper-card.clickable{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.helper-card.clickable:not(.used):hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff1a}.operator-buttons{justify-content:center;gap:10px;margin-top:10px;display:flex}.op-btn{color:#fff;width:44px;height:44px;font-family:var(--font-family);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.op-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 10px var(--primary-glow);background:#6366f126}.system-notice-toast{border:1.5px solid var(--danger);color:#fff;z-index:999;box-shadow:0 8px 32px var(--danger-glow);background:#ef444426;border-radius:12px;padding:12px 24px;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:fixed;top:24px;left:50%;transform:translate(-50%)}.lobby-waiting-container{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.lobby-waiting-panel{text-align:center;flex-direction:column;gap:24px;width:100%;max-width:520px;padding:40px;display:flex}.lobby-title{background:linear-gradient(135deg,#a5b4fc 0%,#ec4899 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:800}.lobby-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.lobby-players-list{text-align:left;background:#00000026;border:1px solid #ffffff0d;border-radius:16px;padding:20px}.lobby-section-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;font-size:.85rem;font-weight:700}.lobby-players-list ul{flex-direction:column;gap:10px;list-style:none;display:flex}.lobby-player-item{background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:1.05rem;font-weight:500;display:flex}.host-badge{background:var(--warning);color:#fff;box-shadow:0 0 8px var(--warning-glow);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:700}.you-badge{background:var(--primary);color:#fff;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:.65rem;font-weight:700}.lobby-action{margin-top:12px}.host-prompt{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem}.btn-start-game{text-transform:uppercase;letter-spacing:.5px;border-radius:14px;width:100%;padding:16px;font-size:1.1rem;font-weight:800}.waiting-prompt{color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;font-size:.95rem;display:flex}.waiting-spinner{border:3px solid #ffffff1a;border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;margin:12px auto 0;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.btn-toggle-feed{color:var(--text-muted);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-family);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin:0 auto;padding:10px 20px;transition:all .2s;display:flex}.btn-toggle-feed:hover{color:#fff;background:#ffffff14;border-color:#fff3}
