:root{--font-primary:"Inter", sans-serif;--font-display:"Outfit", sans-serif;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--bg-main:#090a15;--bg-gradient:radial-gradient(circle at 50% 0%, #1c1836 0%, #090a15 70%);--glass-bg:#16162c73;--glass-border:#ffffff14;--glass-border-glow:#6366f133;--glass-shadow:0 8px 32px 0 #0000005e;--nav-bg:#0e0f1d;--nav-bg-glass:#0e0f1de6;--color-primary:#6366f1;--color-primary-glow:#6366f173;--color-secondary:#ec4899;--color-success:#10b981;--color-success-glow:#10b9814d;--color-danger:#ef4444;--color-danger-glow:#ef44444d;--color-warning:#f59e0b;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-dark:#1f2937}body.theme-sunset{--bg-main:#fdf8f5;--bg-gradient:radial-gradient(circle at 50% 0%, #ffeeda 0%, #fdf8f5 75%);--glass-bg:#fff8f0bf;--glass-border:#f973161f;--glass-border-glow:#f973164d;--glass-shadow:0 8px 32px 0 #f973160d;--nav-bg:#fdf2e9;--nav-bg-glass:#fdf2e9e6;--color-primary:#ea580c;--color-primary-glow:#ea580c26;--color-secondary:#db2777;--color-success:#16a34a;--color-success-glow:#16a34a26;--color-danger:#dc2626;--color-danger-glow:#dc262626;--color-warning:#ea580c;--text-main:#431407;--text-muted:#9a3412;--text-dark:#fff}body.theme-emerald{--bg-main:#050806;--bg-gradient:radial-gradient(circle at 50% 0%, #0c2214 0%, #050806 70%);--glass-bg:#101c1473;--glass-border:#ffffff14;--glass-border-glow:#10b98133;--glass-shadow:0 8px 32px 0 #0006;--nav-bg:#070d0a;--nav-bg-glass:#070d0ae6;--color-primary:#10b981;--color-primary-glow:#10b98173;--color-secondary:#06b6d4;--color-success:#34d399;--color-success-glow:#34d3994d;--color-danger:#f87171;--color-danger-glow:#f871714d;--color-warning:#fbbf24;--text-main:#f9fafb;--text-muted:#a7f3d0;--text-dark:#064e3b}body.theme-light{--bg-main:#f3f4f6;--bg-gradient:radial-gradient(circle at 50% 0%, #e0e7ff 0%, #f3f4f6 75%);--glass-bg:#ffffffa6;--glass-border:#00000014;--glass-border-glow:#6366f126;--glass-shadow:0 8px 32px 0 #1f26870f;--nav-bg:#e5e7eb;--nav-bg-glass:#e5e7ebe6;--color-primary:#4f46e5;--color-primary-glow:#4f46e526;--color-secondary:#db2777;--color-success:#059669;--color-success-glow:#05966926;--color-danger:#dc2626;--color-danger-glow:#dc262626;--color-warning:#d97706;--text-main:#1f2937;--text-muted:#6b7280;--text-dark:#fff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--bg-main);background-image:var(--bg-gradient);color:var(--text-main);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.app-container{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:16px;display:flex;position:relative}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:var(--transition-smooth);border-radius:20px;padding:24px}.glass-card:hover{border-color:var(--glass-border-glow);box-shadow:0 8px 32px #6366f126}.glass-input{border:1px solid var(--glass-border);width:100%;color:var(--text-main);font-family:var(--font-primary);transition:var(--transition-smooth);background:#ffffff0d;border-radius:12px;outline:none;padding:14px 16px;font-size:16px}.glass-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);background:#ffffff14}.btn{width:100%;font-family:var(--font-display);cursor:pointer;transition:var(--transition-smooth);-webkit-user-select:none;user-select:none;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:16px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #4f46e5);color:#fff;box-shadow:0 4px 16px var(--color-primary-glow)}.btn-primary:active{box-shadow:0 2px 8px var(--color-primary-glow);transform:scale(.98)}.btn-primary:disabled{color:var(--text-muted);box-shadow:none;cursor:not-allowed;background:#374151}.btn-secondary{color:var(--text-main);border:1px solid var(--glass-border);background:#ffffff14}.btn-secondary:active{background:#ffffff1f;transform:scale(.98)}.btn-accent{background:linear-gradient(135deg, var(--color-secondary), #db2777);color:#fff;box-shadow:0 4px 16px #ec48994d}.btn-accent:active{transform:scale(.98)}.progress-container{border:1px solid var(--glass-border);background:#ffffff14;border-radius:10px;width:100%;height:12px;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));height:100%;transition:width .4s ease-out;position:relative}.progress-bar:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff4d 50%,#fff0 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.option-card{border:1px solid var(--glass-border);cursor:pointer;width:100%;font-family:var(--font-primary);color:var(--text-main);text-align:left;transition:var(--transition-smooth);background:#ffffff0a;border-radius:16px;align-items:center;gap:12px;padding:16px;font-size:16px;display:flex}.option-card:hover{border-color:var(--glass-border-glow);background:#ffffff14}.option-badge{width:32px;height:32px;font-family:var(--font-display);color:var(--text-main);transition:var(--transition-smooth);background:#ffffff1a;border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:flex}.option-card.correct{border-color:var(--color-success);box-shadow:0 0 16px var(--color-success-glow);background:#10b98126}.option-card.correct .option-badge{background:var(--color-success);color:#fff}.option-card.wrong{border-color:var(--color-danger);box-shadow:0 0 16px var(--color-danger-glow);background:#ef444426}.option-card.wrong .option-badge{background:var(--color-danger);color:#fff}.player-list{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.player-item{border:1px solid var(--glass-border);background:#ffffff08;border-radius:12px;align-items:center;gap:10px;padding:12px;animation:.3s forwards fadeIn;display:flex}.player-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:36px;height:36px;font-weight:700;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.timer-container{font-family:var(--font-display);color:var(--color-primary);justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.timer-container.urgent{color:var(--color-danger);animation:1s infinite alternate pulse}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.podium-container{justify-content:center;align-items:flex-end;gap:16px;height:200px;margin:32px 0;display:flex}.podium-column{width:80px;transition:var(--transition-smooth);flex-direction:column;align-items:center;display:flex}.podium-block{width:100%;font-family:var(--font-display);color:#fff;box-shadow:var(--glass-shadow);border-radius:12px 12px 0 0;justify-content:center;align-items:center;font-size:24px;font-weight:800;display:flex}.podium-1st{background:linear-gradient(#facc15 0%,#ca8a04 100%);height:140px}.podium-2nd{background:linear-gradient(#cbd5e1 0%,#64748b 100%);height:100px}.podium-3rd{background:linear-gradient(#fed7aa 0%,#c2410c 100%);height:70px}body.theme-light,body.theme-sunset{--glass-shadow:0 8px 32px 0 #0000000d}body.theme-light .glass-card,body.theme-sunset .glass-card{box-shadow:0 8px 32px #00000008}body.theme-light .glass-input,body.theme-sunset .glass-input{color:var(--text-main);background:#fffc}body.theme-light .btn-secondary,body.theme-sunset .btn-secondary{color:var(--text-main);background:#ffffffe6}body.theme-light h1,body.theme-sunset h1,body.theme-light h2,body.theme-sunset h2,body.theme-light h3,body.theme-sunset h3,body.theme-light h4,body.theme-sunset h4,body.theme-light .player-name,body.theme-sunset .player-name{color:var(--text-main)!important}body.theme-light .option-card,body.theme-sunset .option-card{color:var(--text-main);background:#fffc}body.theme-light .option-card:hover,body.theme-sunset .option-card:hover{background:#fffffff2}body.theme-light .option-badge,body.theme-sunset .option-badge{color:var(--text-main);background:#0000000d}body.theme-light .flashcard-back,body.theme-sunset .flashcard-back{background:#ffffffd9}.bottom-nav{background:var(--nav-bg-glass);-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);max-width:448px;height:64px;box-shadow:var(--glass-shadow);z-index:1000;transition:var(--transition-smooth);border-radius:20px;justify-content:space-around;align-items:center;margin:0 auto;padding:0 8px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.modal-overlay{z-index:1100;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pin-digit-input{text-align:center;border:1.5px solid var(--glass-border);width:44px;height:52px;color:var(--text-main);background:#ffffff0d;border-radius:12px;outline:none;font-size:24px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.pin-digit-input:focus{border-color:var(--color-primary);box-shadow:0 0 12px var(--color-primary-glow);background:#ffffff1a;transform:translateY(-2px)}body.theme-light .pin-digit-input,body.theme-sunset .pin-digit-input{color:var(--text-main);background:#ffffffe6;border-color:#0000001a}.bottom-nav-item{color:var(--text-muted);font-family:var(--font-display);cursor:pointer;width:70px;height:50px;transition:var(--transition-smooth);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:var(--color-primary);background:#6366f114}.bottom-nav-padding{padding-bottom:80px}.theme-switch-btn{background:var(--glass-bg);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-main);cursor:pointer;box-shadow:var(--glass-shadow);transition:var(--transition-smooth);border-radius:12px;justify-content:center;align-items:center;display:flex}.theme-switch-btn:hover{border-color:var(--glass-border-glow)}.flashcard-scene{perspective:1000px;cursor:pointer;width:100%;height:300px;margin:16px 0}.flashcard-card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-card.is-flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;width:100%;height:100%;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute}.flashcard-front{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);color:var(--text-main)}.flashcard-back{-webkit-backdrop-filter:blur(16px);color:var(--text-main);background:#16162cb3;overflow-y:auto;transform:rotateY(180deg)}body.theme-light .flashcard-back{background:#ffffffd9}.auto-advance-container{background:#ffffff0d;border-radius:2px;width:100%;height:3px;margin-top:12px;overflow:hidden}.auto-advance-bar{background:var(--color-primary);transform-origin:0;width:100%;height:100%;animation:3.5s linear forwards shrinkWidth}.auto-advance-bar-fast{background:var(--color-primary);transform-origin:0;width:100%;height:100%;animation:1.2s linear forwards shrinkWidthFast}@keyframes shrinkWidth{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes shrinkWidthFast{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{transform-origin:50%;transition:stroke-dashoffset .35s}.settings-menu-list{flex-direction:column;gap:12px;margin-top:8px;display:flex}.settings-menu-item{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;width:100%;transition:var(--transition-smooth);color:var(--text-main);text-align:left;border-radius:16px;justify-content:space-between;align-items:center;padding:16px;display:flex}.settings-menu-item:hover{border-color:var(--glass-border-glow);transform:translateY(-1px);box-shadow:0 4px 12px #6366f114}.settings-menu-item:active{transform:translateY(1px)}.settings-menu-item-left{font-family:var(--font-display);align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.settings-menu-item-right{color:var(--text-muted);align-items:center;display:flex}.username-edit-container{flex-direction:column;gap:16px;display:flex}.username-input-group{border:1px solid var(--glass-border);transition:var(--transition-smooth);background:#ffffff0d;border-radius:12px;align-items:center;display:flex;overflow:hidden}.username-input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);background:#ffffff14}.username-input-prefix{color:var(--text-muted);font-weight:600;font-family:var(--font-display);-webkit-user-select:none;user-select:none;padding:14px 0 14px 16px;font-size:16px}.username-input-field{width:100%;color:var(--text-main);font-family:var(--font-primary);background:0 0;border:none;outline:none;padding:14px 16px 14px 4px;font-size:16px}body.theme-light .username-input-group,body.theme-sunset .username-input-group{background:#fffc;border-color:#00000014}.library-tabs{border:1px solid var(--glass-border);background:#00000026;border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex}body.theme-light .library-tabs,body.theme-sunset .library-tabs{background:#0000000d;border-color:#00000014}.library-tab-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.library-tab-btn:hover{color:var(--text-main)}.library-tab-btn.active{background:var(--color-primary);box-shadow:0 4px 12px var(--color-primary-glow);color:#fff!important}.library-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px;display:grid}.library-card{background:var(--glass-bg);border:1.5px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:125px;padding:12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.library-card:hover{border-color:var(--glass-border-glow);transform:translateY(-2px);box-shadow:0 8px 16px #6366f114}.library-card:active{transform:translateY(1px)}.library-card-title{color:var(--text-main);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0 0 8px;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.library-card-badges{flex-direction:column;gap:4px;margin-top:auto;display:flex}.library-card-badge{border-radius:6px;align-items:center;gap:4px;width:fit-content;padding:2px 6px;font-size:10px;display:inline-flex}.library-card-badge.primary{background:var(--color-primary-glow);color:var(--color-primary);border:1px solid #6366f133}.library-card-badge.secondary{color:var(--color-secondary);background:#ec48991a;border:1px solid #ec489933}.library-card-badge.neutral{color:var(--text-muted);border:1px solid var(--glass-border);background:#ffffff0d}body.theme-light .library-card-badge.neutral,body.theme-sunset .library-card-badge.neutral{color:var(--text-muted);background:#00000008}.bottom-sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1050;opacity:0;visibility:hidden;background:#0006;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.bottom-sheet-backdrop.active{opacity:1;visibility:visible}.bottom-sheet{-webkit-backdrop-filter:blur(20px);border-top:1.5px solid var(--glass-border);z-index:1060;background:#111827e6;border-top-left-radius:24px;border-top-right-radius:24px;max-width:480px;max-height:85vh;margin:0 auto;padding:24px 20px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -10px 25px #0006}body.theme-light .bottom-sheet,body.theme-sunset .bottom-sheet{background:#fffffff2;border-top:1.5px solid #00000014}.bottom-sheet.active{transform:translateY(0)}.bottom-sheet-handle{background:#ffffff26;border-radius:2px;width:36px;height:4px;margin:-12px auto 18px}body.theme-light .bottom-sheet-handle,body.theme-sunset .bottom-sheet-handle{background:#0000001f}.bottom-sheet-title{color:var(--text-main);text-align:center;margin:0 0 4px;font-size:18px;font-weight:700}.bottom-sheet-subtitle{color:var(--text-muted);text-align:center;margin:0 0 20px;font-size:11px}.bottom-sheet-options{flex-direction:column;gap:10px;display:flex}.bottom-sheet-option-btn{border:1px solid var(--glass-border);width:100%;color:var(--text-main);cursor:pointer;background:#ffffff08;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.bottom-sheet-option-btn:hover{border-color:var(--glass-border-glow);background:#ffffff14}body.theme-light .bottom-sheet-option-btn,body.theme-sunset .bottom-sheet-option-btn{background:#00000005;border-color:#0000000f}body.theme-light .bottom-sheet-option-btn:hover,body.theme-sunset .bottom-sheet-option-btn:hover{background:#0000000d}.bottom-sheet-option-btn.danger{color:var(--color-danger);border-color:#ef444433}.bottom-sheet-option-btn.danger:hover{background:#ef444414}
