:root{font-family:Nunito,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f8fafc;--error-color: #ef4444;--success-color: #22c55e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;display:flex;justify-content:center;align-items:flex-start;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-y:auto;-webkit-overflow-scrolling:touch}#app{max-width:800px;width:100%;margin:0 auto;padding:2rem;overflow-x:hidden;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));text-align:center;position:relative}.capacitor-app #app{padding:.5rem;padding-bottom:calc(1rem + 50px)}.capacitor-app header{margin-bottom:1rem;padding:.5rem 0}.capacitor-app h1{font-size:2em}.capacitor-app .tagline{font-size:.9em;margin-bottom:.25rem}.capacitor-app .total-players{font-size:.8em;margin:.25rem 0}.capacitor-app .player-id-display{padding:.4rem .6rem;margin-bottom:.5rem}.capacitor-app #screen-menu{padding:1rem;margin-bottom:30px;border-radius:16px}.capacitor-app .player-stats{padding:.5rem;margin-bottom:.75rem;gap:.5rem}.capacitor-app .player-stats .stat-value{font-size:1.1em}.capacitor-app .player-stats .stat-label{font-size:.65em}.capacitor-app .level-badge{font-size:.7em;padding:.15rem .4rem}.capacitor-app .play-now-btn{padding:.6rem 1.5rem;font-size:1.1em;margin-bottom:.75rem}.capacitor-app .quick-actions{gap:.5rem;margin-bottom:.75rem}.capacitor-app .quick-action-btn{padding:.5rem .75rem;font-size:.85em}.capacitor-app .custom-room-toggle,.capacitor-app .room-name-input-container,.capacitor-app .hint-purchase-section{padding:.5rem;margin-bottom:.5rem}.capacitor-app .solo-play-section{padding:.75rem;margin-top:.5rem}.capacitor-app .solo-play-section h3{font-size:.9em;margin-bottom:.5rem}.capacitor-app .theme-grid{gap:.4rem}.capacitor-app .theme-btn{padding:.4rem .6rem;font-size:.8em}.capacitor-app .suggestion-bar{margin-top:.5rem}.capacitor-app .site-footer{padding:.5rem;font-size:.75em}.capacitor-app .total-games,.challenge-mode .total-games{display:none}.palabra-domain #screen-menu.hidden{display:none!important}.palabra-domain #screen-menu:not(.hidden){display:block!important}.capacitor-app #screen-solve{padding-top:60px}.capacitor-app .solve-header{margin-top:0}.total-games{position:fixed;top:1.5rem;left:1.5rem;font-size:.85em;color:#ffffff80;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);z-index:100}header{margin-bottom:3rem;padding:2rem 0}.challenge-mode header{margin-bottom:0;padding:.25rem 0}.challenge-mode .header-top{margin-bottom:.25rem}.challenge-mode h1{margin-bottom:0}.challenge-mode .player-id-display,.challenge-mode .change-id-form,.challenge-mode .total-players,.challenge-mode .player-stats,.challenge-mode .streak-display{display:none}.challenge-mode .solve-header{margin-top:0;width:100%;flex-direction:column;align-items:center;justify-content:center}.challenge-mode .challenge-title-info{padding:0}.challenge-mode .timer-row{width:100%;justify-content:center}.challenge-mode #screen-solve{display:flex;flex-direction:column;align-items:center}@media(min-width:700px){.challenge-mode .crossword-layout{flex-direction:row;align-items:flex-start;gap:2rem}.challenge-mode .crossword-clues{flex-direction:column;gap:1.5rem;margin-top:12px}}.challenge-mode .hint-info{text-align:center;width:100%}.challenge-mode .leave-room-btn{align-self:center}.header-top{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;margin-bottom:1rem}h1{font-size:3.5em;line-height:1.1;margin:0;font-weight:800;color:#58cc02;letter-spacing:-.02em}.theme-toggle{display:none}.theme-toggle:hover{background:#646cff33;border-color:transparent}.theme-toggle .sun-icon{display:inline}.theme-toggle .moon-icon,.light-mode .theme-toggle .sun-icon{display:none}.light-mode .theme-toggle .moon-icon{display:inline}.tagline{color:#fff9;margin:0;font-size:1.25em;font-weight:300;letter-spacing:.05em}.screen{padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top,0px));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}@supports (padding-top: env(safe-area-inset-top)){.screen{padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}#screen-multiplication{display:flex;flex-direction:column;align-items:center}#screen-menu{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:3rem 2rem;max-width:480px;margin:0 auto;margin-bottom:max(2rem,calc(env(safe-area-inset-bottom,0px) + 2rem));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hidden{display:none!important}button{border-radius:16px;border:none;border-bottom:4px solid #e5e5e5;padding:.75em 1.5em;font-size:1em;font-weight:700;font-family:inherit;background-color:#fff;color:#3c3c3c;cursor:pointer;transition:all .1s ease;text-transform:uppercase;letter-spacing:.05em}button:hover{filter:brightness(.98)}button:active{border-bottom-width:2px;transform:translateY(2px)}button:disabled{opacity:.5;cursor:not-allowed}.primary-btn{background:#58cc02;border-bottom:4px solid #58A700;color:#fff;padding:1em 2.5em;font-size:1.2em;font-weight:700;border-radius:16px;box-shadow:none;transition:all .1s ease}.primary-btn:hover{background:#58cc02;filter:brightness(1.05);transform:none;box-shadow:none}.primary-btn:active{border-bottom-width:2px;transform:translateY(2px)}#find-match-btn{width:100%;max-width:280px;padding:1.5em 2em;font-size:1.4em}.play-now-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:320px;margin:0 auto}.play-options{display:flex;flex-direction:column;gap:.75rem;width:100%;animation:fadeSlideIn .3s ease}.play-options.hidden{display:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.play-option-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;background:#646cff1a;border:2px solid rgba(100,108,255,.3);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.play-option-btn:hover{background:#646cff33;border-color:#646cff80;transform:translate(4px)}.play-option-btn .option-icon{font-size:1.5rem;width:2rem;text-align:center}.play-option-btn .option-text{display:flex;flex-direction:column;gap:.15rem}.play-option-btn .option-title{font-size:1.1rem;font-weight:600;color:#fffffff2}.play-option-btn .option-desc{font-size:.85rem;color:#fff9}#quick-play-btn{background:#58cc0226;border-color:#58cc02}#quick-play-btn:hover{background:#58cc0240;border-color:#58a700}.theme-selector{display:flex;flex-direction:column;gap:.75rem;width:100%;animation:fadeSlideIn .3s ease}.theme-selector.hidden{display:none}.theme-selector-title{font-size:1rem;color:#ffffffb3;margin:0 0 .25rem;text-align:center}.theme-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;background:#8b5cf61a;border:2px solid rgba(139,92,246,.3);border-radius:12px;cursor:pointer;transition:all .2s ease}.theme-btn:hover{background:#8b5cf640;border-color:#8b5cf699;transform:translate(4px)}.theme-btn .theme-icon{font-size:1.5rem}.theme-btn .theme-name{font-size:1.1rem;font-weight:600;color:#fffffff2}.theme-back-btn{margin-top:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff9;cursor:pointer;font-size:.9rem;transition:all .2s ease}.theme-back-btn:hover{background:#ffffff0d;color:#ffffffe6}.light-mode .play-option-btn{background:#646cff14;border-color:#646cff40}.light-mode .play-option-btn:hover{background:#646cff26;border-color:#646cff66}.light-mode .play-option-btn .option-title{color:#1a1a2e}.light-mode .play-option-btn .option-desc{color:#1a1a2e99}.light-mode .theme-selector-title{color:#1a1a2eb3}.light-mode .theme-btn{background:#8b5cf614;border-color:#8b5cf640}.light-mode .theme-btn:hover{background:#8b5cf626;border-color:#8b5cf666}.light-mode .theme-btn .theme-name{color:#1a1a2e}.light-mode .theme-back-btn{border-color:#1a1a2e33;color:#1a1a2e99}.light-mode .theme-back-btn:hover{background:#1a1a2e0d;color:#1a1a2e}input[type=text]{padding:.75em 1.25em;font-size:1em;border-radius:10px;border:1px solid rgba(255,255,255,.15);background-color:#ffffff0d;color:#ffffffde;font-family:inherit;transition:all .2s ease}input[type=text]:focus{outline:none;border-color:#646cff;background-color:#646cff1a;box-shadow:0 0 0 3px #646cff33}input[type=text]::placeholder{color:#ffffff59}#status-text{margin:1.5rem 0;color:#fff9;font-size:.95em;min-height:1.5em}#status-text.first-time-status{font-size:1.5em;color:#ffffffe6;margin-top:4rem;margin-bottom:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}body.first-time-user #total-games,body.first-time-user #player-id-display,body.first-time-user #player-stats,body.first-time-user #streak-display,body.first-time-user #daily-challenge,body.first-time-user #active-games,body.first-time-user #total-players,body.first-time-user .tagline,body.first-time-user #screen-menu .divider,body.first-time-user #screen-menu .challenge-card,body.first-time-user #leaderboard-section,body.first-time-user #achievements-section{display:none!important}body.first-time-user #screen-menu{background:transparent!important;border:none!important;box-shadow:none!important}body.first-time-user #status-text{display:block!important;visibility:visible!important;opacity:1!important;color:#ffffffe6!important;font-size:1.5em!important;text-align:center!important;margin:3rem 0!important;animation:pulse 2s ease-in-out infinite!important;min-height:2em!important}body.first-time-user #cancel-matchmaking-btn{display:inline-block!important}.matchmaking-progress{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:2rem 0}.matchmaking-progress.hidden{display:none}body.first-time-user .matchmaking-progress{display:flex!important}body.first-time-user .matchmaking-progress.hidden{display:none!important}.progress-bar-container{width:100%;max-width:280px;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#818cf8,#a78bfa);border-radius:4px;transition:width .1s linear}.progress-hint{font-size:.9em;color:#fff9;margin:0;text-align:center}.active-games{position:fixed;top:1.5rem;right:1.5rem;color:#4ade80;font-size:.85em;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(74,222,128,.2);z-index:100}.total-players{position:fixed;top:1.5rem;right:1.5rem;color:#60a5fa;font-size:.85em;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(96,165,250,.2);z-index:100}.player-id-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.5rem 0 1rem;font-size:.95em;padding:.75rem 1.25rem;background:#646cff1a;border-radius:12px;border:1px solid rgba(100,108,255,.2);display:inline-flex}.player-id-label{color:#fff9}.player-id{font-family:SF Mono,Monaco,Inconsolata,monospace;color:#a78bfa;font-weight:600;letter-spacing:.02em}.change-id-btn{display:none;background:transparent;border:none;padding:.25rem;font-size:1rem;cursor:pointer;opacity:.6;transition:opacity .2s}.change-id-btn:hover{opacity:1;border-color:transparent}.change-id-form{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.change-id-form input{width:200px;font-family:monospace}.small-btn{padding:.4em .8em;font-size:.85em;white-space:nowrap}.small-btn.secondary{background:transparent;border:1px solid #666}.small-btn.secondary:hover{border-color:#888}.player-stats{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:1rem 0 0;font-size:.95em}.level-badge{background:linear-gradient(135deg,#646cff,#8b5cf6);color:#fff;padding:.4rem 1rem;border-radius:2rem;font-weight:600;font-size:.95em;box-shadow:0 2px 10px #646cff4d}.wins-info{color:#fff9}#player-wins{color:#4ade80;font-weight:600}#wins-to-next{color:#fbbf24;font-weight:600}.divider{margin:2.5rem 0;color:#ffffffbf;display:flex;align-items:center;gap:1.5rem;font-size:.9em;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.room-help{color:#ffffff80;font-size:.85em;margin:0 0 1.25rem;line-height:1.4}.manual-join{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.manual-join input{width:180px;padding:.75em 1em;border-radius:10px}.manual-join button{border-radius:10px;padding:.75em 1.5em}.challenge-card{background:linear-gradient(135deg,#7c3aed26,#7c3aed0d);border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.challenge-tagline{color:#ffffffb3;font-size:.9em;margin:0 0 1rem;line-height:1.4}.quick-share-btn{width:100%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.9em 1.5em;border-radius:10px;font-size:1em;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5em;transition:transform .15s,box-shadow .15s;margin-bottom:.75rem}.quick-share-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #7c3aed66}.quick-share-btn:active{transform:translateY(0)}.share-icon{font-size:1.1em}.custom-room-toggle{background:none;border:none;color:#fff9;font-size:.85em;cursor:pointer;padding:.5rem 0;display:flex;align-items:center;gap:.4em;transition:color .2s;width:100%;justify-content:center}.custom-room-toggle:hover{color:#ffffffe6}.toggle-icon{font-size:.7em;transition:transform .2s}.custom-room-toggle.expanded .toggle-icon{transform:rotate(90deg)}.manual-join-section{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin .2s ease;margin-top:0}.manual-join-section.visible{max-height:100px;opacity:1;margin-top:.5rem}.challenge-or{color:#ffffff80;font-size:.8em;margin:.5rem 0;text-align:center}.room-instructions{color:#ffffff80;font-size:.8em;margin:0 0 1rem;line-height:1.4}.friend-battles-count{color:#ffffff80;font-size:.8em;margin:1rem 0 0;text-align:center}.head-to-head{background:#7c3aed1a;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}.h2h-label{color:#ffffffb3}.h2h-record{font-weight:600;color:#7c3aed}.challenge-prompt{background:linear-gradient(135deg,#7c3aed33,#7c3aed1a);border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:1rem 1.25rem;margin:1.5rem 0;text-align:center}.challenge-prompt p{color:#fffc;margin:0 0 .75rem;font-size:.95em}.challenge-friend-btn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;padding:.6em 1.5em;border-radius:8px;font-size:.9em;cursor:pointer;transition:transform .15s,box-shadow .15s}.challenge-friend-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.rematch-section{margin:1.5rem 0;text-align:center}.rematch-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75em 2em;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.rematch-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.rematch-btn:disabled{opacity:.6;cursor:not-allowed}.rematch-status{color:#ffffffb3;font-size:.9em;margin:.75rem 0 0}.rematch-request{background:linear-gradient(135deg,#10b98133,#10b9811a);border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:1rem 1.25rem;margin-top:1rem}.rematch-request p{color:#ffffffe6;margin:0 0 .75rem;font-weight:500}.rematch-actions{display:flex;gap:.75rem;justify-content:center}.accept-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.5em 1.5em;border-radius:6px;font-size:.9em;cursor:pointer;transition:transform .15s,box-shadow .15s}.accept-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.decline-btn{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);padding:.5em 1.5em;border-radius:6px;font-size:.9em;cursor:pointer;transition:background .15s}.decline-btn:hover{background:#ffffff26}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem;text-align:center;max-width:320px;width:90%;box-shadow:0 20px 40px #0006;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon{font-size:3rem;margin-bottom:.5rem}.modal-content h3{margin:0 0 .5rem;font-size:1.4em;color:#fff}.modal-content p{margin:0 0 1.5rem;color:#fffc;font-size:1em}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-actions .accept-btn,.modal-actions .decline-btn{padding:.75em 1.75em;font-size:1em}.light-mode .modal-content{background:linear-gradient(135deg,#f8f8fc,#eef0f8);border-color:#0000001a}.light-mode .modal-content h3{color:#1a1a2e}.light-mode .modal-content p{color:#000000b3}.h2h-modal-content{max-width:380px}.h2h-list{max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.h2h-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.h2h-item:last-child{border-bottom:none}.h2h-opponent{font-weight:500;color:#ffffffe6}.h2h-record{font-size:.9em;color:#ffffffb3}.h2h-record .wins{color:#4ade80}.h2h-record .losses{color:#f87171}.h2h-empty{padding:2rem 1rem;color:#ffffff80;font-style:italic}.light-mode .h2h-item{border-color:#0000001a}.light-mode .h2h-opponent{color:#000000e6}.light-mode .h2h-record{color:#0009}.light-mode .h2h-empty{color:#0006}.suggestion-bar{text-align:center;margin-top:1rem;margin-bottom:.5rem}.suggestion-link{color:#60a5fa;font-size:.9em;font-weight:500;text-decoration:none;background:#60a5fa26;padding:.4em .8em;border-radius:1em;border:1px solid rgba(96,165,250,.3);transition:all .2s ease;display:inline-block}.suggestion-link:hover{color:#93c5fd;background:#60a5fa40;border-color:#60a5fa80;transform:scale(1.02)}.light-mode .suggestion-link{color:#2563eb;background:#2563eb1a;border-color:#2563eb40}.light-mode .suggestion-link:hover{color:#1d4ed8;background:#2563eb2e;border-color:#2563eb66}.suggestion-modal-content{max-width:400px}.suggestion-subtitle{margin-bottom:1rem!important;font-size:.9em!important}.suggestion-input{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000004d;color:#fff;font-family:inherit;font-size:1em;resize:vertical;min-height:100px}.suggestion-input:focus{outline:none;border-color:#646cff}.suggestion-input::placeholder{color:#fff6}.char-count{text-align:right;font-size:.8em;color:#ffffff80;margin:.25rem 0 .75rem}.suggestion-email{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000004d;color:#fff;font-family:inherit;font-size:1em;margin-bottom:1rem}.suggestion-email:focus{outline:none;border-color:#646cff}.suggestion-email::placeholder{color:#fff6}.suggestion-feedback{margin-top:1rem!important;padding:.75rem;border-radius:8px;font-size:.9em!important}.suggestion-feedback.success{background:#4ade8033;color:#4ade80}.suggestion-feedback.error{background:#f8717133;color:#f87171}.light-mode .suggestion-input{background:#0000000d;border-color:#0003;color:#1a1a2e}.light-mode .suggestion-input::placeholder{color:#0006}.light-mode .suggestion-email{background:#0000000d;border-color:#0003;color:#1a1a2e}.light-mode .suggestion-email::placeholder{color:#0006}.light-mode .char-count{color:#00000080}.delete-confirm-modal-content{max-width:340px;background:#fff!important;border:none!important;border-radius:16px;box-shadow:0 4px 20px #00000026;padding:2rem 1.5rem}.delete-confirm-modal-content .delete-icon{font-size:3.5rem;margin-bottom:.75rem}.delete-confirm-modal-content h3{color:#3c3c3c!important;font-size:1.5rem;font-weight:800;margin-bottom:.75rem}.delete-confirm-modal-content p{word-break:break-word;color:#777!important;font-size:1rem;margin-bottom:1rem}.delete-warning{font-size:.9rem!important;color:#afafaf!important;margin-top:-.5rem!important}.delete-confirm-modal-content .modal-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem}.delete-confirm-modal-content .modal-actions button{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;border-radius:16px;text-transform:uppercase;letter-spacing:.5px}.delete-confirm-modal-content #confirm-delete-btn{background:#ff4b4b;border:none;border-bottom:4px solid #E53935;color:#fff}.delete-confirm-modal-content #confirm-delete-btn:hover{background:#e53935}.delete-confirm-modal-content #confirm-delete-btn:active{transform:translateY(2px);border-bottom-width:2px}.delete-confirm-modal-content #cancel-delete-btn{background:#fff;border:2px solid #E5E5E5;border-bottom:4px solid #E5E5E5;color:#afafaf}.delete-confirm-modal-content #cancel-delete-btn:hover{background:#f7f7f7;color:#777}.delete-confirm-modal-content #cancel-delete-btn:active{transform:translateY(2px);border-bottom-width:2px}.light-mode .delete-warning{color:#afafaf!important}.cancel-subscription-modal-content{max-width:380px}.cancel-subscription-modal-content .cancel-sub-icon{color:#f59e0b}.cancel-sub-warning{font-size:.9em!important;color:#fff9!important;margin-top:-.5rem!important}.light-mode .cancel-sub-warning{color:#00000080!important}.completions-modal-content{max-width:500px;min-width:350px;max-height:80vh}.completions-list{max-height:300px;overflow-y:auto;margin:1rem 0}.completion-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#ffffff0d;border-radius:6px;margin-bottom:.5rem}.light-mode .completion-item{background:#0000000d}.completion-player{font-weight:500;font-family:monospace;white-space:nowrap;flex-shrink:0}.completion-details{font-size:.85rem;color:#fff9}.light-mode .completion-details{color:#00000080}.no-completions,.loading-completions,.completions-error{text-align:center;color:#fff9;padding:2rem 0;font-style:italic}.light-mode .no-completions,.light-mode .loading-completions,.light-mode .completions-error{color:#00000080}.name-prompt-modal-content{max-width:400px;text-align:center}.name-prompt-instructions{color:#ffffffb3;margin-bottom:1.5rem;font-size:.95rem}.light-mode .name-prompt-instructions{color:#0009}#name-prompt-form{display:flex;flex-direction:column;gap:1rem}#name-prompt-input{padding:.75rem 1rem;font-size:1.1rem;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;text-align:center}.light-mode #name-prompt-input{border-color:#0003;background:#0000000d;color:#000}#name-prompt-input:focus{outline:none;border-color:var(--primary-color)}.puzzle-list-stats{font-size:.75rem;color:#fff9;display:flex;align-items:center;gap:.25rem}.puzzle-list-stats:before{content:"✓";color:#4ade80}.light-mode .puzzle-list-stats{color:#00000080}.link-btn{background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:1rem;color:#a0a8ff;cursor:pointer;font-size:.85em;margin-top:.75rem;padding:.4rem .9rem;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.4rem}.link-btn:hover{background:#646cff33;border-color:#646cff80;color:#c0c8ff}.light-mode .link-btn{background:#4a4aff14;border-color:#4a4aff40;color:#5a5aff}.light-mode .link-btn:hover{background:#4a4aff26;border-color:#4a4aff66;color:#4a4aff}.spinner{width:50px;height:50px;border:4px solid #333;border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.share-link-section{margin:1.5rem auto;max-width:400px;text-align:center}.share-link-label{font-size:.9em;color:#ffffffb3;margin-bottom:.5rem}.light-mode .share-link-label{color:#0009}.share-link-row{display:flex;gap:.5rem;justify-content:center}.share-link-input{flex:1;max-width:280px;padding:.6em .8em;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:inherit;font-size:.9em;text-overflow:ellipsis}.copy-btn{padding:.6em 1em;border-radius:8px;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;background:#fff;color:#666;font-size:1.2rem;cursor:pointer;transition:all .1s ease}.copy-btn:hover{border-color:#d0d0d0;background:#f9f9f9}.copy-btn:active{border-bottom-width:2px;transform:translateY(2px)}.light-mode .share-link-input{border-color:#00000026;background:#00000008}.copy-feedback{font-size:.85em;color:#4ade80;margin-top:.5rem}.creator-player-limit-note{font-size:.8em;color:#fff9;margin:.75rem 0;text-align:center}.light-mode .creator-player-limit-note{color:#00000080}#word-form{display:flex;flex-direction:column;gap:.75rem;max-width:300px;margin:1.5rem auto}.pick-for-me-btn{background:linear-gradient(135deg,#8b5cf633,#3b82f633);border:2px solid rgba(139,92,246,.5);color:#a78bfa;padding:.6em 1.2em;font-size:.95em;border-radius:8px;cursor:pointer;transition:all .2s ease;margin:0 auto .5rem;display:block}.pick-for-me-btn:hover{background:linear-gradient(135deg,#8b5cf659,#3b82f659);border-color:#8b5cf6cc;transform:translateY(-1px)}.pick-for-me-btn:active{transform:translateY(0)}.pick-for-me-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.light-mode .pick-for-me-btn{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border-color:#8b5cf666;color:#7c3aed}.light-mode .pick-for-me-btn:hover{background:linear-gradient(135deg,#8b5cf633,#3b82f633);border-color:#8b5cf699}.word-input-wrapper{display:flex;flex-direction:column;gap:.25rem;align-items:center}.word-input{text-transform:uppercase;text-align:center;font-size:1.2em;letter-spacing:.1em}.word-input.invalid{border-color:#f87171;background-color:#1a1a1a;color:#f87171}.word-input.invalid:focus{outline-color:#f87171}.word-error{font-size:.85em;color:#f87171;font-weight:500;min-height:1.2em;text-align:center;display:block}.word-input-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.word-input-row .word-input{flex-shrink:0}.inline-suggestions{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.inline-suggestions:empty{display:none}.inline-suggestion-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff9;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.03em}.inline-suggestion-btn:hover{background:#ffffff26;border-color:#fff6;color:#fff}.inline-suggestion-btn:active{transform:scale(.95)}.suggestion-hint{font-size:.7rem;color:#ffffff80;width:100%;margin-bottom:.25rem}.form-error{margin-top:.75rem;font-size:.9rem;color:#ff4b4b;font-weight:600;text-align:center}.form-error.hidden{display:none}.leave-room-btn{margin-top:1.5rem;min-width:120px}.timer{font-size:2.5em;font-weight:700;font-variant-numeric:tabular-nums;margin:1rem 0;color:#3c3c3c}.timer.warning{color:#ff4b4b;animation:pulse 1s ease-in-out infinite}.timer-row{display:flex;align-items:center;justify-content:center;gap:1rem}.penalty-display{font-size:1.2em;font-weight:700;color:orange;background:#ffa50026;padding:.25rem .5rem;border-radius:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.solve-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.opponent-info{display:flex;align-items:center;gap:.75rem;font-size:1.1em}.submit-opponent-info{justify-content:center;margin-bottom:.5rem}.submit-instructions{background:#646cff26;border:1px solid rgba(100,108,255,.3);border-radius:8px;padding:.75rem 1rem;margin:.5rem 0 1rem;font-size:1.05em;text-align:center}.submit-instructions strong{color:#646cff}.light-mode .submit-instructions{background:#646cff1a}.light-mode .submit-instructions strong{color:#535bf2}.opponent-level-badge{background:#646cff33;color:#646cff;padding:.2rem .5rem;border-radius:4px;font-size:.85em;font-weight:700}.solo-theme-info{font-size:1.1em;display:flex;align-items:center;gap:1rem}.solo-theme-info.hidden{display:none}.solo-theme-info span span{font-weight:700;color:#646cff}.solo-level-badge{background:#646cff33;color:#646cff;padding:.2rem .5rem;border-radius:4px;font-size:.85em;font-weight:700}.challenge-title-info{font-size:1.5em;font-weight:700;color:#1cb0f6;text-align:center;width:100%;margin:0;padding:.5rem 0}.challenge-title-info.hidden{display:none}.challenge-name-solve{display:flex;align-items:center;gap:.75rem;justify-content:center;width:100%;margin:.75rem 0}.challenge-name-solve label{font-size:1rem;font-weight:500;color:#777}.light-mode .challenge-name-solve label{color:#777}.challenge-name-solve input{padding:.6rem 1rem;font-size:1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:12px;background:#fff;color:#3c3c3c;width:180px;transition:all .1s ease}.challenge-name-solve input:focus{outline:none;border-color:#1cb0f6;border-bottom-color:#1899d6}.light-mode .challenge-name-solve input{border-color:#e5e5e5;background:#fff;color:#3c3c3c}.challenge-name-solve.hidden{display:none}.challenge-name-solve .small-btn{min-width:50px;min-height:44px;display:flex;align-items:center;justify-content:center;background:#f7f7f7;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:12px;transition:all .1s ease}.challenge-name-solve .small-btn:active{border-bottom-width:2px;transform:translateY(2px)}.challenge-name-solve .btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.light-mode .challenge-name-solve .btn-spinner{border-color:#0003;border-top-color:#333}.challenge-name-solve .checkmark{color:#58cc02;font-size:1.3em;font-weight:700}.progress-display{display:flex;gap:2rem;font-size:1.1em}.progress-display span span{font-weight:700;color:#646cff}.crossword-grid{display:inline-grid;background:#afafaf;padding:4px;border-radius:16px;margin:1rem auto;border:2px solid #e5e5e5;border-bottom:4px solid #d0d0d0}.crossword-cell-wrapper{position:relative;width:44px;height:44px;background:#fff;border-radius:4px;margin:2px}.crossword-cell-wrapper.black{background:#afafaf;border-radius:4px}.cell-number{position:absolute;top:2px;left:3px;font-size:10px;font-weight:600;color:#777;z-index:1}.crossword-cell{width:44px;height:44px;border:none;background:transparent;color:#3c3c3c;font-size:22px;font-weight:700;text-transform:uppercase;padding:0;margin:0;caret-color:#646cff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;cursor:text;user-select:none;-webkit-user-select:none;outline:none}.crossword-cell:focus{background:#ddf4ff;outline:none;box-shadow:0 0 0 3px #1cb0f6;border-radius:4px}.crossword-cell:not(.correct):not(.incorrect):empty{animation:none;background:transparent}@keyframes cell-pulse{0%,to{background-color:#646cff0d;box-shadow:inset 0 0 8px #646cff26}50%{background-color:#646cff1f;box-shadow:inset 0 0 12px #646cff40,0 0 4px #646cff26}}.crossword-cell:not(.correct):not(.incorrect):not(:empty){background-color:#ffffff0d}.crossword-cell.correct{background:#1a3a1a;color:#4ade80;animation:cell-lock-in .3s ease-out}@keyframes cell-lock-in{0%{transform:scale(1.1);box-shadow:0 0 15px #4ade8099}to{transform:scale(1);box-shadow:none}}.crossword-cell.incorrect{background:#3a1a1a;color:#f87171;animation:cell-shake .3s ease-out}@keyframes cell-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.crossword-layout{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.crossword-clues{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;max-width:600px;text-align:left}.clue-section{min-width:200px}.clue-section h4{margin:0 0 .75rem;color:#1cb0f6;font-size:1em;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.clue-section ul{list-style:none;padding:0;margin:0}.clue-section li{padding:.4rem 0;font-size:1rem;color:#3c3c3c}.clue-number{font-weight:700;color:#3c3c3c;min-width:1.75em;display:inline-block}.clue-category{color:#fff;text-transform:capitalize}.clue-length{color:#666;font-size:.85em}.word-list{display:flex;justify-content:center;gap:2rem;margin-top:1rem;text-align:left}.word-list h4{margin:0 0 .5rem;color:#ffffffb3}.word-list ul{list-style:none;padding:0;margin:0}.word-list li{padding:.25rem .5rem;cursor:pointer;border-radius:4px}.word-list li:hover{background:#333}.hint-info{color:#777;font-size:.95em;margin-top:1.25rem;font-weight:500}.light-mode .hint-info{color:#777}@keyframes pip-attention{0%,to{box-shadow:0 4px 20px #0006,0 0 #2dd4bf00}50%{box-shadow:0 4px 20px #0006,0 0 20px 4px #2dd4bf99}}@keyframes pip-intro{0%{transform:translate(calc(-50vw + 50% + 1rem),calc(-50vh + 50% + 1rem)) scale(0);opacity:0}50%{transform:translate(calc(-50vw + 50% + 1rem),calc(-50vh + 50% + 1rem)) scale(1);opacity:1}to{transform:none;opacity:1}}.opponent-pip{position:fixed;bottom:1rem;right:1rem;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(45,212,191,.5);border-radius:12px;padding:0;z-index:10002;box-shadow:0 4px 20px #0006,0 0 15px 2px #2dd4bf4d;transition:all .3s ease;overflow:hidden;min-width:80px;animation:pip-attention 1.5s ease-in-out 3}.opponent-pip.hidden{display:none}.opponent-pip.pip-intro{animation:pip-intro 2.5s ease-out forwards}.opponent-pip.pip-collapse{animation:pip-collapse .25s ease-out forwards}@keyframes pip-collapse{0%{opacity:1}to{opacity:0}}.opponent-pip.pip-expand{animation:pip-expand .25s ease-in forwards}@keyframes pip-expand{0%{opacity:0}to{opacity:1}}.opponent-pip.expanded{min-width:160px}.pip-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#2dd4bf33;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .2s;touch-action:none}.pip-header:active{cursor:grabbing}.pip-header:hover{background:#2dd4bf59}.opponent-pip.user-positioned{bottom:auto!important;right:auto!important}.pip-label{font-size:.75em;font-weight:600;color:#94a3b8e6;text-transform:uppercase;letter-spacing:.05em}.pip-progress{font-size:.85em;font-weight:700;color:#2dd4bf}.pip-grid-wrapper{padding:.5rem}.pip-grid{display:grid;gap:1px;background:#ffffff1a;border-radius:4px;overflow:hidden}.pip-cell{width:6px;height:6px;transition:background-color .2s}.pip-cell.black{background:#00000080}.pip-cell.white{background:#ffffff26}.pip-cell.filled{background:#2dd4bfb3}.pip-cell.unfilled{background:#64748b66}.pip-cell-expanded{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background-color .2s}.pip-cell-expanded.black{background:#0f172ae6}.pip-cell-expanded.white{background:#47556980;color:#94a3b899}.pip-cell-expanded.white.unfilled{background:#33415599;color:#94a3b8b3}.pip-cell-expanded.white.filled{background:#14b8a659;color:#5eead4}.opponent-pip.expanded{min-width:auto}.opponent-pip.expanded .pip-grid{gap:2px}.light-mode .opponent-pip{background:#f8fafcfa;border-color:#14b8a64d;box-shadow:0 4px 20px #0000001f}.light-mode .pip-header{background:#14b8a61a}.light-mode .pip-header:hover{background:#14b8a62e}.light-mode .pip-label{color:#475569e6}.light-mode .pip-progress{color:#0d9488}.light-mode .pip-grid{background:#94a3b826}.light-mode .pip-cell.black{background:#1e293b80}.light-mode .pip-cell.white{background:#94a3b84d}.light-mode .pip-cell.filled{background:#14b8a699}.light-mode .pip-cell.unfilled{background:#94a3b866}.light-mode .pip-cell-expanded.black{background:#1e293bcc}.light-mode .pip-cell-expanded.white{background:#cbd5e199;color:#47556980}.light-mode .pip-cell-expanded.white.unfilled{background:#e2e8f0cc;color:#64748b99}.light-mode .pip-cell-expanded.white.filled{background:#14b8a640;color:#0d9488}@media(max-width:500px){.opponent-pip:not(.user-positioned){bottom:auto;top:calc(.5rem + env(safe-area-inset-top,0px) + 50px);right:.5rem}.pip-cell{width:5px;height:5px}.pip-cell-expanded{width:18px;height:18px;font-size:10px}}#result-title{font-size:2.5em;margin-bottom:1rem}#result-details{background:#1a1a1a;padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}#result-details p{margin:.5rem 0}.solution-container{margin:1.5rem auto;text-align:center}.solution-container h3{color:#ffffffb3;margin-bottom:1rem;font-size:1.1em}.solution-container .crossword-grid{margin:0 auto}.solution-container .crossword-cell{cursor:default;color:#4ade80}.results-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.secondary-btn{background:#fff;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;color:#1cb0f6;padding:1em 2em;font-size:1.1em;font-weight:700;border-radius:16px;text-transform:uppercase;letter-spacing:.05em}.secondary-btn:hover{background:#f7f7f7;filter:none}.secondary-btn:active{border-bottom-width:2px;transform:translateY(2px)}.rematch-status{color:#ffffffb3;margin-bottom:1rem;font-style:italic}.rematch-status.waiting{color:orange}.error-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#dc2626;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;max-width:90vw;text-align:left}.error-toast.info-toast{background:#7c3aed;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);z-index:2147483647;font-size:1.1rem;font-weight:600;padding:1.25rem 2rem;border-radius:12px;box-shadow:0 8px 24px #0006}.error-toast.info-toast:not(.hidden)~* [title]:after,body:has(.error-toast.info-toast:not(.hidden)) .puzzle-list-actions [title]:after{display:none!important}.error-message{margin-bottom:.75rem}.error-suggestions{margin-top:.5rem}.suggestion-label{display:block;font-size:.85em;opacity:.9;margin-bottom:.5rem}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-btn{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.9em;cursor:pointer;transition:background .15s,transform .1s}.suggestion-btn:hover{background:#ffffff59;transform:scale(1.05)}.suggestion-btn:active{transform:scale(.98)}.hint-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffa500f2;color:#000;padding:1rem 2rem;border-radius:8px;font-size:1.5em;font-weight:700;box-shadow:0 4px 20px #0006;z-index:1001;animation:hintPop .3s ease-out}@keyframes hintPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.light-mode{color:#213547;background:linear-gradient(135deg,#f8fafc,#e2e8f0,#f1f5f9)}.light-mode h1{color:#58a700;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.light-mode #screen-menu{background:#fffc;border-color:#0000001a;box-shadow:0 4px 30px #0000001a}.light-mode .tagline{color:#0009}.light-mode .player-id-display{background:#4f46e51a;border-color:#4f46e533}.light-mode .player-id-label{color:#0009}.light-mode .player-id{color:#4f46e5}.light-mode .wins-info{color:#000000b3}.light-mode #player-wins{color:#16a34a}.light-mode #wins-to-next{color:#d97706}.light-mode .change-id-btn{color:#00000080}.light-mode .change-id-btn:hover{color:#000c}.light-mode #status-text{color:#000000d9}.light-mode .active-games{background:#ffffffe6;color:#16a34a;box-shadow:0 2px 8px #0000001a;border-color:#16a34a33}.light-mode .total-games{background:#ffffffe6;color:#00000080;box-shadow:0 2px 8px #0000001a;border-color:#0000001a}.light-mode .total-players{background:#ffffffe6;color:#2563eb;box-shadow:0 2px 8px #0000001a;border-color:#2563eb33}.light-mode .opponent-level-badge{background:#646cff26}.light-mode input[type=text]{background-color:#00000008;border-color:#00000026;color:#213547}.light-mode input[type=text]:focus{background-color:#4f46e50d;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.light-mode input[type=text]::placeholder{color:#0006}.light-mode .divider{color:#000000b3}.light-mode .divider:before,.light-mode .divider:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent)}.light-mode .room-help{color:#00000080}.light-mode .challenge-card{background:linear-gradient(135deg,#7c3aed1a,#7c3aed08);border-color:#7c3aed33}.light-mode .challenge-tagline{color:#0009}.light-mode .challenge-or,.light-mode .custom-room-toggle{color:#00000080}.light-mode .custom-room-toggle:hover{color:#000c}.light-mode .quick-share-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.light-mode .quick-share-btn:hover{box-shadow:0 4px 15px #7c3aed4d}.light-mode .room-instructions,.light-mode .friend-battles-count{color:#00000080}.light-mode .head-to-head{background:#7c3aed14}.light-mode .h2h-label{color:#0009}.light-mode .challenge-prompt{background:linear-gradient(135deg,#7c3aed1f,#7c3aed0d);border-color:#7c3aed33}.light-mode .challenge-prompt p{color:#000000b3}.light-mode .rematch-status{color:#0009}.light-mode .rematch-request{background:linear-gradient(135deg,#10b98126,#10b98114);border-color:#10b98140}.light-mode .rematch-request p{color:#000c}.light-mode .decline-btn{background:#0000000d;color:#000000b3;border-color:#00000026}.light-mode .decline-btn:hover{background:#0000001a}.light-mode .word-input.invalid{background-color:#fff0f0}.light-mode .crossword-cell-wrapper{background:#f5f5f5}.light-mode .crossword-cell-wrapper.black{background:#ccc}.light-mode .crossword-cell{color:#3c3c3c}.light-mode .crossword-grid{background:#afafaf;border-color:#e5e5e5}.light-mode .crossword-cell:focus{background:#ddf4ff;box-shadow:0 0 0 3px #1cb0f6;border-radius:4px}.light-mode .crossword-cell:not(.correct):not(.incorrect):empty{animation:none;background:transparent}@keyframes cell-pulse-light{0%,to{background-color:#646cff0a;box-shadow:inset 0 0 8px #646cff1a}50%{background-color:#646cff1a;box-shadow:inset 0 0 12px #646cff2e,0 0 4px #646cff1a}}.light-mode .crossword-cell:not(.correct):not(.incorrect):not(:empty){background-color:#00000008}.light-mode .crossword-cell.correct{background:#d4f4d4;color:#16a34a}.light-mode .crossword-cell.incorrect{background:#f4d4d4;color:#dc2626}.light-mode .clue-category{color:#213547}.light-mode .clue-number{color:#666}.light-mode .clue-length{color:#999}.light-mode #result-details{background:#f5f5f5}.light-mode .solution-container h3{color:#666}.light-mode .solution-container .crossword-cell{color:#16a34a}.light-mode .crossword-grid{background:#ccc}.light-mode .word-list li:hover{background:#eee}.light-mode .spinner{border-color:#ccc;border-top-color:#646cff}.streak-display{display:flex;justify-content:center;gap:1.5rem;margin-top:.75rem}.win-streak,.daily-streak{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:20px;font-size:.9em;font-weight:600}.win-streak{background:linear-gradient(135deg,#ffa50033,#ff640033);color:orange;border:1px solid rgba(255,165,0,.3)}.daily-streak{background:linear-gradient(135deg,#4ade8033,#22c55e33);color:#4ade80;border:1px solid rgba(74,222,128,.3)}.light-mode .win-streak{background:linear-gradient(135deg,#ffa50026,#ff640026);color:#d97706}.light-mode .daily-streak{background:linear-gradient(135deg,#4ade8026,#22c55e26);color:#16a34a}.daily-challenge{background:linear-gradient(135deg,#646cff1a,#8b5cf61a);border:1px solid rgba(100,108,255,.3);border-radius:12px;padding:1rem 1.5rem;margin:0 auto 1.5rem;max-width:420px}.daily-challenge-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95em;color:#a78bfa;margin-bottom:.5rem}.daily-challenge-icon{font-size:1.2em;color:#fbbf24}.daily-challenge-content{font-size:.9em;color:#fffc}.daily-challenge-progress-container{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.daily-challenge-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.daily-challenge-bar{height:100%;background:linear-gradient(90deg,#646cff,#a855f7);border-radius:4px;transition:width .3s ease}.daily-challenge-status{font-size:.85em;color:#fff9;white-space:nowrap}.daily-challenge.completed{background:linear-gradient(135deg,#4ade8026,#22c55e26);border-color:#4ade804d}.daily-challenge.completed .daily-challenge-header{color:#4ade80}.light-mode .daily-challenge{background:linear-gradient(135deg,#646cff14,#8b5cf614)}.light-mode .daily-challenge-content{color:#000000b3}.light-mode .daily-challenge-status{color:#00000080}.leaderboard-section{max-width:380px;margin:0 auto}.leaderboard-list{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.leaderboard-item{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item.top-3{background:linear-gradient(90deg,rgba(255,215,0,.1),transparent)}.leaderboard-item.current-player{background:#646cff26}.leaderboard-rank{width:2rem;font-weight:700;color:#ffffff80}.leaderboard-item.top-3 .leaderboard-rank{color:gold}.leaderboard-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-wins{font-weight:600;color:#4ade80}.player-rank-display{margin-top:1rem;font-size:.95em;color:#ffffffb3}#player-rank{font-weight:700;color:#646cff}#player-weekly-wins{color:#4ade80;font-weight:600}.light-mode .leaderboard-list{background:#00000005;border-color:#00000014}.light-mode .leaderboard-item{border-color:#0000000d}.light-mode .leaderboard-rank{color:#0006}.light-mode .leaderboard-item.top-3 .leaderboard-rank{color:#b8860b}.light-mode .leaderboard-wins{color:#16a34a}.light-mode .player-rank-display{color:#0009}.achievements-section{max-width:480px;margin:0 auto}.achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.achievement-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;font-size:.8em;text-align:center;transition:all .2s}.achievement-item.unlocked{background:linear-gradient(135deg,#646cff26,#8b5cf626);border-color:#646cff4d}.achievement-item.locked{opacity:.5;filter:grayscale(.5)}.achievement-badge{font-size:1.8em;margin-bottom:.3rem}.achievement-name{font-weight:600;color:#ffffffe6;margin-bottom:.2rem}.achievement-item.locked .achievement-name{color:#ffffff80}.achievement-desc{font-size:.85em;color:#ffffff80;line-height:1.3}.light-mode .achievement-item{background:#00000005;border-color:#00000014}.light-mode .achievement-item.unlocked{background:linear-gradient(135deg,#646cff1a,#8b5cf61a)}.light-mode .achievement-name{color:#000c}.light-mode .achievement-item.locked .achievement-name{color:#0006}.light-mode .achievement-desc{color:#00000080}.result-streak-display{display:flex;justify-content:center;gap:1rem;margin:.75rem 0 1rem}.result-streak-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:20px;font-size:1em;font-weight:600;animation:streakPop .4s ease-out}.result-streak-badge.win-streak{background:linear-gradient(135deg,#ffa50040,#ff640040);color:orange;border:2px solid rgba(255,165,0,.4)}@keyframes streakPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.new-achievements{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0}.new-achievement-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#ffd70033,#ffa50033);border:1px solid rgba(255,215,0,.3);border-radius:8px;animation:achievementSlide .5s ease-out}@keyframes achievementSlide{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.new-achievement-icon{font-size:1.5em}.new-achievement-info{text-align:left}.new-achievement-name{font-weight:600;color:gold}.new-achievement-desc{font-size:.85em;color:#ffffffb3}.daily-challenge-complete{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4ade8033,#22c55e33);border:1px solid rgba(74,222,128,.4);border-radius:8px;color:#4ade80;font-weight:600;margin:1rem auto;animation:challengeComplete .5s ease-out}@keyframes challengeComplete{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.challenge-complete-icon{font-size:1.3em;color:#fbbf24}#quick-rematch-btn{min-width:180px}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;background:#ff0;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.achievement-toast{position:fixed;top:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#ffd700f2,#ffa500f2);color:#1a1a1a;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 20px #ffd70066;z-index:1002;animation:toastSlideIn .4s ease-out}.achievement-icon{font-size:1.5em}#achievement-text{font-weight:600}@keyframes toastSlideIn{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.streak-toast{position:fixed;top:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff6400f2,#ff3200f2);color:#fff;padding:.75rem 1.25rem;border-radius:10px;box-shadow:0 4px 15px #ff640066;z-index:1002;animation:streakToastIn .4s ease-out}.streak-icon{font-size:1.3em}#streak-text{font-weight:600}@keyframes streakToastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:500px){#app{padding:1rem}h1{font-size:2.5em}header{padding:1rem 0;margin-bottom:2rem}.tagline{font-size:1.1em}#screen-menu{padding:2rem 1.5rem;border-radius:20px}#find-match-btn{font-size:1.2em;padding:1.25em 1.5em}.player-stats{flex-direction:column;gap:.75rem}.active-games,.total-players,.total-games{position:static;display:inline-block;margin:.25rem}.crossword-grid{gap:1px}.crossword-cell-wrapper{width:36px;height:36px}.crossword-cell{width:36px;height:36px;font-size:18px}.cell-number{font-size:8px}.word-list{flex-direction:column;gap:1rem}.solve-header{flex-direction:column;align-items:stretch}.progress-display{justify-content:space-between}.streak-display{flex-direction:column;gap:.5rem}.daily-challenge{margin:0 .5rem 1rem;padding:.75rem 1rem}.leaderboard-section,.achievements-section{padding:0 .5rem}.achievements-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.achievement-item{padding:.5rem}.achievement-badge{font-size:1.5em}.result-streak-display{flex-direction:column;align-items:center}.achievement-toast,.streak-toast{top:1rem;left:1rem;right:1rem;transform:none}.achievement-toast{animation:mobileToastSlideIn .4s ease-out}@keyframes mobileToastSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,#141428fa,#1e1e32f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem;z-index:10000;border-top:1px solid rgba(100,108,255,.3);box-shadow:0 -4px 20px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent.hidden{display:none}.cookie-content{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.cookie-content p{margin:0;font-size:.9rem;color:#ffffffd9;line-height:1.5}.cookie-content a{color:#646cff;text-decoration:none}.cookie-content a:hover{text-decoration:underline}.cookie-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.cookie-btn{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.cookie-btn.primary{background:linear-gradient(135deg,#646cff,#a855f7);color:#fff}.cookie-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #646cff66}.cookie-btn.secondary{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.cookie-btn.secondary:hover{background:#ffffff26;border-color:#ffffff4d}.site-footer{margin-top:3rem;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));text-align:center;font-size:.85rem;color:#fff6;border-top:1px solid rgba(255,255,255,.1)}.site-footer a{color:#ffffff80;text-decoration:none;transition:color .2s}.site-footer a:hover{color:#646cff}.footer-divider{margin:0 .75rem;color:#fff3}body.light-mode .cookie-consent{background:linear-gradient(to top,#fffffffa,#f5f5faf2);border-top-color:#646cff33}body.light-mode .cookie-content p{color:#000000bf}body.light-mode .cookie-btn.secondary{background:#0000000d;color:#000000b3;border-color:#00000026}body.light-mode .cookie-btn.secondary:hover{background:#0000001a}body.light-mode .site-footer{color:#0006;border-top-color:#0000001a}body.light-mode .site-footer a{color:#00000080}@media(max-width:600px){.cookie-consent{padding:1rem}.cookie-content p{font-size:.85rem}.cookie-buttons{width:100%}.cookie-btn{flex:1;min-width:120px}.site-footer{padding:1rem;font-size:.8rem}}.maintenance-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#ea580cf2,#dc2626f2);color:#fff;padding:.75rem 1rem;z-index:10001;box-shadow:0 4px 15px #ea580c66;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.maintenance-banner.hidden{display:none}.maintenance-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.maintenance-icon{font-size:1.2em;margin-right:.5rem}.maintenance-text{font-weight:600;font-size:1rem}#maintenance-countdown{font-family:monospace;font-size:1.1em;font-weight:700;background:#0003;padding:.15rem .5rem;border-radius:4px;margin-left:.25rem}.maintenance-subtext{font-size:.85rem;opacity:.9}.maintenance-banner.urgent{animation:urgentPulse 1s ease-in-out infinite}@keyframes urgentPulse{0%,to{background:linear-gradient(135deg,#ea580cf2,#dc2626f2)}50%{background:linear-gradient(135deg,#dc2626f2,#b91c1cf2)}}body.light-mode .maintenance-banner{background:linear-gradient(135deg,#ea580c,#dc2626)}@media(max-width:600px){.maintenance-banner{padding:.6rem .75rem}.maintenance-text{font-size:.9rem}.maintenance-subtext{font-size:.8rem}}body.maintenance-banner-visible{padding-top:70px}@media(max-width:600px){body.maintenance-banner-visible{padding-top:60px}}.results-ad-container{margin:1.5rem 0;overflow:hidden}.capacitor-app .offline-disabled{opacity:.5;pointer-events:none;cursor:not-allowed;position:relative}.capacitor-app .offline-disabled:after{content:"📵";position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:1em}.capacitor-app .offline-status{color:#f59e0b;font-style:italic}#achievements-divider,.achievements-section,.win-streak,.daily-streak{display:none!important}#screen-creator{max-width:500px;margin:0 auto;padding:1.5rem 1.5rem 0}#screen-creator h2{margin-bottom:.5rem}.creator-instructions{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.creator-input-group{margin-bottom:1.5rem}.creator-input-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.creator-title-input{width:100%;padding:1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;font-size:1.1rem;font-weight:500;background:#fff;color:#3c3c3c;margin-bottom:1.5rem;transition:all .1s ease}.creator-title-input:focus{outline:none;border-color:#d0d0d0;border-bottom-color:#d0d0d0}.creator-title-input::placeholder{color:#afafaf;font-weight:400}.creator-language-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.creator-language-label{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.creator-language-label label{font-weight:700;color:#3c3c3c}.creator-language-help{font-size:.9rem;color:#fff;font-weight:700;background:#8549ff;border-bottom:3px solid #6B3BD9;padding:.6rem 1rem;border-radius:12px;margin-top:4px}.creator-language-select{flex:1;padding:.85rem 1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;font-size:1rem;font-weight:500;background-color:#fff;color:#3c3c3c;cursor:pointer;transition:all .1s ease}.creator-language-select:focus{outline:none;border-color:#d0d0d0}.creator-language-select.visually-hidden,.creator-option-select.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.custom-dropdown{position:relative}.custom-dropdown-trigger{padding:.75rem 1rem;border:2px solid #E5E5E5;border-bottom:4px solid #E5E5E5;border-radius:16px;font-size:.95rem;font-weight:700;background-color:#fff;color:#4b4b4b;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:space-between;gap:.75rem;white-space:nowrap}.custom-dropdown-trigger:hover{background-color:#f7f7f7}.custom-dropdown-trigger:focus{outline:none;border-color:#1cb0f6}.custom-dropdown.open .custom-dropdown-trigger{border-color:#1cb0f6;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:2px solid #1CB0F6}.custom-dropdown-arrow{width:10px;height:10px;border-right:2.5px solid #AFAFAF;border-bottom:2.5px solid #AFAFAF;transform:rotate(45deg);transition:transform .2s ease;margin-top:-4px;flex-shrink:0}.custom-dropdown.open .custom-dropdown-arrow{transform:rotate(-135deg);margin-top:4px;border-color:#1cb0f6}.custom-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #1CB0F6;border-top:none;border-radius:0 0 16px 16px;list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .2s ease,opacity .15s ease;z-index:100;box-shadow:0 4px 12px #0000001a}.custom-dropdown.open .custom-dropdown-menu{max-height:300px;opacity:1;overflow-y:auto}.custom-dropdown-item{padding:.85rem 1rem;cursor:pointer;font-size:1rem;font-weight:500;color:#4b4b4b;transition:background-color .1s ease;display:flex;align-items:center;gap:.75rem}.custom-dropdown-item:hover{background-color:#f0f9ff}.custom-dropdown-item.selected{color:#1cb0f6;font-weight:700}.custom-dropdown-item.selected:before{content:"✓";font-weight:700;color:#1cb0f6}.custom-dropdown-item:not(.selected):before{content:"";width:1em}.custom-dropdown-item:last-child{border-radius:0 0 14px 14px}.custom-dropdown-small .custom-dropdown-trigger{padding:.5rem .75rem;font-size:.9rem;border-radius:12px;min-width:60px}.custom-dropdown-small.open .custom-dropdown-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-dropdown-small .custom-dropdown-menu{border-radius:0 0 12px 12px;min-width:60px}#time-limit-dropdown .custom-dropdown-trigger,#time-limit-dropdown .custom-dropdown-menu{min-width:120px}.custom-dropdown-small .custom-dropdown-item{padding:.6rem .75rem;font-size:.9rem}.custom-dropdown-small .custom-dropdown-item:last-child{border-radius:0 0 10px 10px}.custom-dropdown-small .custom-dropdown-arrow{width:8px;height:8px;margin-top:-3px}.custom-dropdown-small.open .custom-dropdown-arrow{margin-top:3px}.creator-options-row{display:flex;gap:1.5rem;margin-bottom:1.5rem}.creator-option{display:flex;align-items:center;gap:.5rem}.creator-option label{font-weight:700;color:#3c3c3c;white-space:nowrap}.creator-option-select{padding:.6rem 1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:12px;font-size:1rem;font-weight:500;background-color:#fff;color:#3c3c3c;cursor:pointer;transition:all .1s ease}.creator-option-select:focus{outline:none;border-color:#d0d0d0}.creator-word-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;align-items:flex-start}.remove-word-btn{display:none;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.5rem;line-height:1;opacity:.6;transition:opacity .2s,color .2s;align-self:flex-start;margin-top:.15rem}.remove-word-btn.visible{display:block}.remove-word-btn:hover{opacity:1;color:var(--error-color)}.creator-word-wrapper{flex:0 0 160px;display:flex;flex-direction:column}.creator-word-input{width:100%;padding:1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;font-size:1rem;font-weight:600;text-transform:uppercase;background:#fff;color:#3c3c3c;transition:all .1s ease}.creator-word-input::placeholder{color:#afafaf;font-weight:400;text-transform:uppercase}.creator-word-input.invalid{border-color:#ff4b4b;border-bottom-color:#ea2b2b}.creator-word-input.valid{border-color:#58cc02;border-bottom-color:#58a700}.creator-word-input.custom{border-color:#1cb0f6;border-bottom-color:#1899d6}.creator-word-error{color:var(--error-color);font-size:.75rem;margin-top:.25rem;min-height:1rem}.creator-word-error.custom{color:#2563eb;font-size:.85rem}.creator-hint-input{flex:1;padding:1rem;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;font-size:1rem;background:#fff;color:#3c3c3c;transition:all .1s ease}.creator-hint-input::placeholder{color:#afafaf}.creator-hint-input:disabled{opacity:.5;cursor:not-allowed;background:#f7f7f7;border-style:dashed;border-color:#e5e5e5}.creator-inline-suggestions{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.25rem;padding:.5rem;background:#ffffff08;border-radius:6px}.creator-inline-suggestions:empty{display:none;padding:0;background:none}.creator-inline-suggestions .suggestion-hint{font-size:.95rem;color:#fff9;margin-right:.5rem;flex-shrink:0;width:100%;margin-bottom:.5rem}.creator-inline-suggestions .inline-suggestion-btn{background:#8a2be233;border:1px solid rgba(138,43,226,.4);color:#ffffffe6;padding:.5rem .85rem;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.02em;font-weight:600}.creator-inline-suggestions .inline-suggestion-btn:hover{background:#8a2be266;border-color:#8a2be2b3;color:#fff}.creator-inline-suggestions .inline-suggestion-btn:active{transform:scale(.95)}.light-mode .creator-inline-suggestions{background:#8a2be214}.light-mode .creator-inline-suggestions .suggestion-hint{color:#374151;font-weight:600}.light-mode .creator-inline-suggestions .inline-suggestion-btn{background:#7c3aed;border:2px solid #6D28D9;border-bottom:4px solid #5B21B6;color:#fff;font-weight:700;border-radius:12px}.light-mode .creator-inline-suggestions .inline-suggestion-btn:hover{background:#6d28d9;border-color:#5b21b6;border-bottom-color:#4c1d95;color:#fff}.creator-word-input:focus,.creator-hint-input:focus{outline:none;border-color:#1cb0f6;border-bottom-color:#1899d6}#creator-form button[type=submit]{width:100%;margin-top:1rem}#creator-error{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.creator-suggestion-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:#fffc;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s;text-transform:uppercase}.creator-suggestion-btn:hover{background:#fff3;border-color:#fff6;color:#fff}#creator-list-section h2{margin-bottom:1rem}#creator-puzzle-list{margin-bottom:1.5rem}.no-puzzles{color:var(--text-secondary);font-style:italic;text-align:center;padding:2rem 0}.puzzle-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem 1.25rem 1rem;background:#fff;border-radius:16px;margin-bottom:0;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-left:6px solid #1cb0f6;transition:all .1s ease;text-align:left!important}.puzzle-list-item[data-table="0"]{border-left-color:#ff6b6b}.puzzle-list-item[data-table="1"]{border-left-color:#ff9f43}.puzzle-list-item[data-table="2"]{border-left-color:#ffc800}.puzzle-list-item[data-table="3"]{border-left-color:#58cc02}.puzzle-list-item[data-table="4"]{border-left-color:#1cb0f6}.puzzle-list-item[data-table="5"]{border-left-color:#a78bfa}.puzzle-list-item[data-table="6"]{border-left-color:#f472b6}.puzzle-list-item[data-table="7"]{border-left-color:#22d3d3}.puzzle-list-item[data-table="8"]{border-left-color:#fb7185}.puzzle-list-item[data-table="9"]{border-left-color:#60a5fa}.puzzle-list-item[data-table="10"]{border-left-color:#c084fc}.puzzle-list-item[data-table="11"]{border-left-color:#4ade80}.puzzle-list-item[data-table="12"]{border-left-color:#fbbf24}.puzzle-list-item[data-divisor="1"]{border-left-color:#1cb0f6}.puzzle-list-item[data-divisor="2"]{border-left-color:#a78bfa}.puzzle-list-item[data-divisor="3"]{border-left-color:#f472b6}.puzzle-list-item[data-divisor="4"]{border-left-color:#58cc02}.puzzle-list-item[data-divisor="5"]{border-left-color:#ffc800}.puzzle-list-item[data-divisor="6"]{border-left-color:#ff9f43}.puzzle-list-item[data-divisor="7"]{border-left-color:#ff6b6b}.puzzle-list-item[data-divisor="8"]{border-left-color:#06b6d4}.puzzle-list-item[data-divisor="9"]{border-left-color:#84cc16}.puzzle-list-item[data-divisor="10"]{border-left-color:#f97316}.puzzle-list-item[data-divisor="11"]{border-left-color:#6366f1}.puzzle-list-item[data-divisor="12"]{border-left-color:#14b8a6}.puzzle-list-item:hover{border-color:#d0d0d0}.puzzle-list-item:active{border-bottom-width:2px;transform:translateY(2px)}.light-mode .puzzle-list-item{background:#fff}.puzzle-list-info{display:block;flex:1;min-width:0}.puzzle-list-title{font-weight:800;color:#3c3c3c;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:1.2rem}.mult-inline-label{cursor:pointer;padding:.25rem .5rem .25rem 0;border-radius:6px;transition:background .15s}.mult-inline-label:hover{background:#f3f4f6}.label-row{display:flex;align-items:center;justify-content:flex-start;cursor:pointer}.label-edit-hint{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;width:28px;height:28px;font-size:1rem;background:linear-gradient(135deg,#ffc800,#ffb700);color:#1f2937;border-radius:8px;cursor:pointer;transition:all .15s ease;vertical-align:middle}.label-edit-hint:hover{transform:scale(1.1);box-shadow:0 2px 6px #ffc80066}.inline-label-wrapper{display:inline-flex;align-items:center;gap:.5rem}.inline-label-input{font-size:1.2rem;font-weight:800;color:#3c3c3c;border:2px solid #1cb0f6;border-radius:6px;padding:.25rem .5rem;width:180px;max-width:100%;outline:none}.inline-label-save-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#58cc02;color:#fff;font-size:1rem;cursor:pointer;transition:background .15s}.inline-label-save-btn:hover{background:#4bab02}.inline-label-save-btn:disabled{background:#9ca3af;cursor:not-allowed}.inline-label-save-btn .checkmark{font-weight:700}.inline-label-cancel-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:#9ca3af;color:#fff;font-size:1rem;cursor:pointer;transition:background .15s}.inline-label-cancel-btn:hover{background:#6b7280}.puzzle-list-meta{display:inline-flex;align-items:center;font-size:.85rem;color:#6b7280;margin:0}.draft-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;background:#fff4e5;color:#cd7900;padding:.25rem .5rem;border-radius:8px;border:2px solid #FFD699;letter-spacing:.5px}.puzzle-draft{border-left:4px solid #FFC800}.light-mode .draft-badge{background:#fff4e5;color:#cd7900}.puzzle-list-date{font-size:.75rem;color:var(--text-secondary)}.puzzle-list-actions{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.puzzle-list-actions .small-btn{width:52px;height:52px;aspect-ratio:1;padding:0;font-size:1.3rem;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:12px;color:#777;transition:all .1s ease;flex-shrink:0}.puzzle-list-actions .small-btn:hover{border-color:#d0d0d0;color:#555}.puzzle-list-actions .small-btn:active{border-bottom-width:2px;transform:translateY(2px)}.puzzle-list-actions .edit-puzzle-btn,.puzzle-list-actions .mult-edit-btn,.puzzle-list-actions .div-edit-btn{font-size:1.5rem}.puzzle-list-actions .mult-view-completions-btn{background:linear-gradient(135deg,#1cb0f6,#0d8ecf);color:#fff;border-color:#0000001a}.puzzle-list-actions .mult-view-completions-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #1cb0f666}.puzzle-list-actions .mult-share-btn{background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;border-color:#0000001a}.puzzle-list-actions .mult-share-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #58cc0266}.puzzle-list-actions .mult-edit-btn,.puzzle-list-actions .div-edit-btn{background:linear-gradient(135deg,#ffc800,#f1a800);color:#fff;border-color:#0000001a}.puzzle-list-actions .mult-edit-btn:hover,.puzzle-list-actions .div-edit-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #ffc80066}.puzzle-list-actions .mult-delete-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;border-color:#0000001a}.puzzle-list-actions .mult-delete-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #ff6b6b66}.puzzle-list-actions .mult-try-btn{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;border-color:#0000001a}.puzzle-list-actions .mult-try-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #a78bfa66}.puzzle-list-actions .edit-puzzle-btn{background:linear-gradient(135deg,#ffc800,#f1a800);color:#fff;border-color:#0000001a}.puzzle-list-actions .edit-puzzle-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #ffc80066}.puzzle-list-actions .delete-puzzle-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;border-color:#0000001a}.puzzle-list-actions .delete-puzzle-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #ff6b6b66}.puzzle-list-actions .mult-tag-add-btn,.puzzle-list-actions .div-tag-add-btn,.puzzle-list-actions .puzzle-tag-add-btn{background:linear-gradient(135deg,#e0d4f7,#d4c4f0);color:#6b21a8;border-color:#0000001a;position:relative}.puzzle-list-actions .mult-tag-add-btn:hover,.puzzle-list-actions .div-tag-add-btn:hover,.puzzle-list-actions .puzzle-tag-add-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #8b5cf666}.puzzle-list-actions .mult-tag-add-btn .tag-btn-icon,.puzzle-list-actions .div-tag-add-btn .tag-btn-icon,.puzzle-list-actions .puzzle-tag-add-btn .tag-btn-icon{width:1.4em;height:1.4em}.puzzle-list-actions .div-view-completions-btn{background:linear-gradient(135deg,#1cb0f6,#0d8ecf);color:#fff;border-color:#0000001a}.puzzle-list-actions .div-view-completions-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #1cb0f666}.puzzle-list-actions .div-share-btn{background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;border-color:#0000001a}.puzzle-list-actions .div-share-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #58cc0266}.puzzle-list-actions .div-delete-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;border-color:#0000001a}.puzzle-list-actions .div-delete-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #ff6b6b66}.puzzle-list-actions .div-try-btn{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;border-color:#0000001a}.puzzle-list-actions .div-try-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #a78bfa66}.puzzle-list-actions .play-btn{background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;border-color:#0000001a;font-size:1.5rem}.puzzle-list-actions .play-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #58cc0266}@media(max-width:600px){.puzzle-list-item{padding:1rem}.puzzle-list-title{font-size:1.15rem}.draft-badge{font-size:.8rem;padding:.3rem .6rem}.puzzle-list-actions .small-btn{width:48px;height:48px;font-size:1.2rem}.puzzle-list-actions .edit-puzzle-btn,.puzzle-list-actions .mult-edit-btn,.puzzle-list-actions .div-edit-btn{font-size:1.5rem}}.puzzle-list-actions [title]{position:relative}.puzzle-list-actions [title]:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.3rem .6rem;background:#000000e6;color:#fff;font-size:.75rem;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:100;margin-bottom:4px}.puzzle-list-actions [title]:hover:after{opacity:1;transition-delay:.3s}.puzzle-play-link{text-decoration:none;background:#8549ff;border:2px solid #6B3BD9;border-bottom:4px solid #6B3BD9;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:all .1s ease}.puzzle-play-link:hover{background:#7b3fef;filter:brightness(1.05)}.puzzle-play-link:active{border-bottom-width:2px;transform:translateY(2px)}.light-mode .puzzle-play-link{background:#8549ff;border-color:#6b3bd9;color:#fff}.new-completions-glow{animation:completions-glow 1.2s ease-in-out infinite;box-shadow:0 0 4px var(--success-color),0 0 8px var(--success-color)}@keyframes completions-glow{0%,to{box-shadow:0 0 4px var(--success-color),0 0 8px var(--success-color);transform:scale(1)}50%{box-shadow:0 0 12px var(--success-color),0 0 20px var(--success-color);transform:scale(1.05)}}.player-history-title{text-align:center;margin-bottom:1.5rem;color:var(--text-primary)}.player-history-list{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.player-history-title{font-size:1.8rem;font-weight:800;color:#3c3c3c;margin-bottom:1rem}.unified-history-section{margin-bottom:1.5rem}.unified-section-header{font-size:1.2rem;font-weight:700;color:#555;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #e5e5e5}.puzzle-status-badge{display:inline-block;font-size:.9rem;padding:.5em 1em;border-radius:1.5em;font-weight:700;background:#e5e5e5;color:#777;text-transform:uppercase;letter-spacing:.5px}.puzzle-status-badge.completed{background:#58cc02;color:#fff}.puzzle-status-badge.in-progress{background:#1cb0f6;color:#fff}.remove-history-btn{opacity:.7}.student-device-section{margin-top:2rem;margin-bottom:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e5e5;text-align:center}.student-id-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.student-id-label{color:#777;font-size:.9rem}.student-id-value{font-family:monospace;font-size:1rem;font-weight:600;color:#333;background:#f5f5f5;padding:.25rem .5rem;border-radius:4px}.copy-id-btn{padding:.25rem .5rem;font-size:.9rem;background:#e5e5e5;border:none;border-radius:4px;cursor:pointer}.copy-id-btn:hover{background:#d5d5d5}.link-device-btn{margin-top:.5rem}.link-device-modal-content{max-width:400px;padding:2rem;text-align:center}.link-device-modal-content .modal-title{color:#58cc02;margin-bottom:.5rem}.modal-description{color:#666;margin-bottom:1.5rem;line-height:1.5}.link-device-input-group{margin-bottom:1.5rem}.link-device-input{width:100%;padding:.75rem 1rem;font-size:1.1rem;font-family:monospace;text-align:center;border:2px solid #e5e5e5;border-radius:8px;outline:none;transition:border-color .2s}.link-device-input:focus{border-color:#58cc02}.link-device-actions{display:flex;gap:1rem;justify-content:center}.link-device-actions .secondary-btn,.link-device-actions .primary-btn{flex:1;max-width:150px}.link-device-error{color:#ff4b4b;margin-top:1rem;font-size:.9rem}.remove-history-btn:hover{opacity:1}#creator-new-puzzle-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}#creator-new-puzzle-btn:before{content:"✨"}#creator-new-puzzle-btn:disabled{opacity:.5;cursor:not-allowed}.puzzle-limit-status{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.puzzle-limit-reached{text-align:center;padding:1.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem}.puzzle-limit-reached p{margin:0 0 1rem;color:var(--text-primary)}.upgrade-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.subscription-status{text-align:center;padding:1rem;background:var(--surface-color);border:1px solid var(--success-color);border-radius:8px;margin-bottom:1rem}.subscription-status p{margin:0 0 .75rem;color:var(--success-color);font-weight:600}.subscription-email{font-size:.85rem;color:var(--text-secondary);font-weight:400}.cancel-subscription-btn{background:transparent;color:var(--text-secondary);padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s}.cancel-subscription-btn:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.cancel-subscription-btn:disabled{opacity:.6;cursor:not-allowed}.link-device-section{text-align:center;margin:1.5rem 0}.link-device-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;color:#3c3c3c;font-size:1rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:1rem 1.5rem;background:#fff;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;transition:all .1s ease}.link-device-link:hover{border-color:#d0d0d0;filter:brightness(.98)}.link-device-link:active{border-bottom-width:2px;transform:translateY(2px)}.link-device-link:before{content:"🔗"}.link-device-modal-content{max-width:380px}.link-device-modal-content .link-icon{color:#6366f1}.link-email-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;margin:.5rem 0 1rem;background:var(--surface-color);color:var(--text-primary)}.link-email-input:focus{outline:none;border-color:var(--primary-color)}.link-error{color:var(--danger-color);font-size:.9rem;margin:0 0 1rem}.link-success{color:var(--success-color);font-size:.9rem;margin:0 0 1rem}.creator-success-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.creator-success-header .success-icon{font-size:2rem;color:var(--success-color)}.creator-success-header h3{margin:0;color:var(--success-color)}.creator-puzzle-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.creator-puzzle-table td{padding:.75rem .5rem;vertical-align:middle}.puzzle-table-label{font-weight:600;color:var(--text-secondary);width:60px;text-align:right;padding-right:1rem!important}.puzzle-table-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.creator-share-label{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem}.creator-share-row{display:flex;gap:.5rem;margin-bottom:.5rem}.creator-share-input{flex:1;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:.9rem;background:var(--card-bg);color:var(--text-primary)}.creator-actions{display:flex;gap:.75rem;margin-top:1.5rem}.creator-actions button{flex:1}.creator-back-btn{margin-top:2rem;width:100%}.add-word-btn{width:100%;margin-bottom:1rem;background:#fff;color:#1cb0f6;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;padding:1rem;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .1s ease}.add-word-btn:hover{border-color:#d0d0d0;color:#1899d6}.add-word-btn:active{border-bottom-width:2px;transform:translateY(2px)}@media(max-width:480px){.creator-word-row{flex-direction:column;position:relative;padding-right:2rem}.creator-word-wrapper{flex:none;width:100%}.creator-word-input{width:100%}.remove-word-btn.visible{position:absolute;top:0;right:0;margin-top:.25rem}}.bonus-sticker{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1f2937;text-decoration:none;border-radius:9999px;font-weight:600;font-size:.95rem;margin:1rem 0;box-shadow:0 2px 8px #fbbf2466;transition:transform .2s,box-shadow .2s}.bonus-sticker:hover{transform:scale(1.05);box-shadow:0 4px 12px #fbbf2480}.bonus-sticker .sticker-icon{font-size:1.25rem;font-weight:700}.creator-bonus-sticker{margin-top:1.5rem;margin-bottom:1.5rem}.top-tabs{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;z-index:1000;display:none;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);border-radius:0 0 20px 20px;padding:10px 12px;gap:8px;box-shadow:0 4px 20px #667eea66}.top-tab{flex:1;padding:12px 8px;text-align:center;text-decoration:none;font-weight:700;font-size:.9rem;color:#fff;background:#fff3;border:none;border-radius:12px;cursor:pointer;transition:all .15s ease;border-bottom:3px solid rgba(0,0,0,.15);text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.top-tab:hover{background:#ffffff59;transform:translateY(-1px)}.top-tab:active{transform:translateY(2px);border-bottom-width:1px}.top-tab.active{background:#fff;color:#764ba2;border-bottom:3px solid rgba(0,0,0,.1);text-shadow:none;box-shadow:0 2px 8px #00000026}.top-tab.active:hover{background:#fff}#tab-puzzles,#tab-gameplay{border-radius:12px}.top-tab-dropdown{position:relative;flex:1}.top-tab-trigger{width:100%;display:flex;align-items:center;justify-content:center;gap:4px}.dropdown-arrow{font-size:.65rem;transition:transform .2s}.top-tab-dropdown:hover .dropdown-arrow,.top-tab-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.top-tab-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;overflow:hidden;z-index:1001;border:2px solid #e5e5e5}.top-tab-dropdown:hover .top-tab-menu,.top-tab-dropdown.open .top-tab-menu{display:block}.top-tab-item{display:block;padding:14px 16px;text-decoration:none;font-weight:700;font-size:.9rem;color:#4b4b4b;background:#fff;border-bottom:1px solid #f3f4f6;transition:all .15s ease;text-transform:uppercase;letter-spacing:.5px}.top-tab-item:last-child{border-bottom:none}.top-tab-item:hover{background:#e5f8d8;color:#58cc02}.top-tab-item.active{background:#58cc02;color:#fff}.multiplication-container{display:flex;flex-direction:column;align-items:center;padding:1rem;max-width:100%;min-height:80vh}.mult-back-btn{background:#e0e7ff!important;color:#6366f1!important;border-color:#6366f1!important}.mult-back-btn:hover{background:#c7d2fe!important}.mult-back-btn.glow-pulse{background:#22c55e!important;color:#fff!important;border-color:#16a34a!important;animation:glow-pulse .8s ease-in-out infinite}.mult-back-btn.glow-pulse:hover{background:#16a34a!important}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #22c55ecc,0 0 40px #22c55e99,0 0 60px #22c55e66;transform:scale(1)}50%{box-shadow:0 0 40px #22c55e,0 0 80px #22c55ecc,0 0 120px #22c55e80;transform:scale(1.15)}}.mult-table-label{font-size:2rem;font-weight:700;color:#7c3aed;text-align:center}.mult-table-label #mult-table-number{color:#ec4899;font-size:2.5rem}.multiplication-tilebar{display:flex;gap:.35rem;margin-bottom:1rem;padding:.5rem;background:#7c3aed;border-radius:.75rem;overflow-x:auto;max-width:100%}.tilebar-tile{width:2.5rem;height:2.5rem;min-width:2.5rem;display:flex;align-items:center;justify-content:center;background:#a78bfa;border:none;border-radius:.5rem;font-weight:700;font-size:1rem;color:#1e1b4b;cursor:pointer;transition:background-color .15s}.tilebar-tile:hover{background:#c4b5fd}.tilebar-tile.active{background:#f472b6;border-color:#ec4899;color:#fff}.mult-controls-wrapper{display:flex;flex-direction:column;align-items:stretch;width:fit-content}.mult-saved-progress{border-radius:1rem;padding:.75rem 1rem;margin-bottom:.75rem;box-sizing:border-box;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.mult-saved-progress.perfect{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.mult-saved-progress.completed{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.mult-saved-progress.hidden{display:none}.saved-progress-content{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;color:#fff;font-weight:600}.saved-progress-icon{font-size:1.25rem}.saved-progress-text{font-size:.95rem}.saved-progress-view-btn{background:#fff;border:none;border-radius:.5rem;padding:.4rem .75rem;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s;color:#d97706}.mult-saved-progress.perfect .saved-progress-view-btn{color:#059669}.mult-saved-progress.completed .saved-progress-view-btn{color:#2563eb}.saved-progress-view-btn:hover{background:#f0fdf4;transform:scale(1.05)}.mult-drill-progress{border-radius:1rem;padding:.75rem 1rem;margin-bottom:.75rem;box-sizing:border-box;background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 2px 8px #6b72804d}.mult-drill-progress.perfect{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.mult-drill-progress.good{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d}.mult-drill-progress.hidden{display:none}.drill-progress-content{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#fff;font-weight:600;font-size:.9rem}.drill-progress-icon{font-size:1rem}.drill-progress-text{font-size:.9rem}.mult-tabs{display:flex;gap:.5rem;padding:.5rem;background:#fbbf24;border-radius:1rem;margin-bottom:1rem;max-width:100%;flex-wrap:wrap;justify-content:center}.mult-tab{padding:.5rem 1rem;background:#a3e635;border:2px solid #166534;border-radius:.5rem;font-weight:700;font-size:.85rem;color:#166534;cursor:pointer;transition:all .15s;white-space:nowrap}.mult-tab:hover{background:#84cc16}.mult-tab.active{background:#60a5fa;border-color:#1e40af;color:#fff}@media(max-width:480px){.mult-tabs{gap:.35rem;padding:.4rem}.mult-tab{padding:.4rem .7rem;font-size:.75rem;border-radius:.4rem}}.mult-content{width:100%;display:flex;flex-direction:column;align-items:center}.mult-grid-wrapper{overflow-x:auto;max-width:100%;padding-bottom:.5rem}.multiplication-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:2px;background:#7c3aed;padding:.5rem;border-radius:.5rem;max-width:100%;overflow-x:auto}#division-grid.multiplication-grid{grid-template-columns:repeat(13,1fr)}.division-facts-container{background:#7c3aed;border-radius:1rem;padding:1.5rem;max-width:500px;margin:0 auto}.division-facts-header{color:#fff;font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1rem}.division-facts-header span{color:#fcd34d;font-size:1.75rem}.division-facts-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.division-fact{background:#fff;border-radius:.5rem;padding:.75rem 1rem;font-size:1.1rem;font-weight:600;color:#1e3a5f;cursor:pointer;transition:all .15s ease;text-align:center;border:2px solid transparent}.division-fact:hover{background:#fef3c7;transform:scale(1.02)}.division-fact.active{background:#fcd34d;border-color:#f59e0b;transform:scale(1.05)}.division-fact .dividend{color:#7c3aed;font-weight:700}.division-fact .divisor{color:#059669;font-weight:700}.division-fact .quotient{color:#dc2626;font-weight:700}@media(max-width:400px){.division-facts-list{grid-template-columns:1fr}.division-fact{font-size:1rem;padding:.6rem .8rem}}.mult-cell{width:2.5rem;height:2.2rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border:2px outset;cursor:pointer;transition:background-color .15s}.mult-cell.header{background:#c4b5fd;color:#1e1b4b;cursor:default}.mult-cell.corner{background:#c4b5fd;color:#1e1b4b;font-style:italic}.mult-cell.data{background:#fff;color:#1e3a5f}.mult-cell.data.disabled{background:#e5e7eb;color:#9ca3af;cursor:default}.mult-cell.data.disabled:hover{background:#e5e7eb!important;color:#9ca3af!important;font-weight:400!important}.mult-cell.data:hover{background:#fef3c7!important;color:#000!important;font-weight:800!important}.mult-cell.data.highlight-row,.mult-cell.data.highlight-col{background:#fcd34d;color:#000;font-weight:800}.mult-cell.active{background:#f472b6;color:#fff}.mult-simple-table{display:none}@media(max-width:600px){.multiplication-container{padding:.25rem}.mult-grid-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.multiplication-grid{min-width:max-content;padding:3px;gap:1px}.mult-cell{width:1.5rem;height:1.4rem;font-size:.55rem;border-width:1px}.mult-table-label{font-size:1.5rem}.mult-table-label #mult-table-number{font-size:1.75rem}.multiplication-equation{font-size:1.5rem;padding:.75rem 1.5rem}}.multiplication-equation{margin-top:1rem;padding:1rem 2rem;background:#8b5cf6;border-radius:.5rem;font-size:2.5rem;font-weight:700;color:#fbbf24;text-align:center}.mult-view{width:100%;display:flex;flex-direction:column;align-items:center}.mult-view.hidden{display:none}.review-equation{font-size:3rem;font-weight:700;color:#fbbf24;text-shadow:2px 2px 4px rgba(0,0,0,.3);padding:2rem;margin-top:2rem}.study-controls{display:flex;justify-content:flex-end;width:100%;margin-bottom:1rem}.study-mute-btn{background:transparent;border:none;font-size:2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s}.study-mute-btn:hover{background:#fff3}.study-mute-btn.muted .mute-icon:before{content:"🔇"}.study-equation{font-size:6rem;font-weight:700;color:#fbbf24;text-shadow:3px 3px 6px rgba(0,0,0,.4);padding:3rem;min-height:10rem;display:flex;align-items:center;justify-content:center}.drills-question{font-size:3rem;font-weight:700;color:#1e3a5f;margin-bottom:2rem;text-align:center}.drills-answers{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:400px;width:100%}.drill-answer-btn{padding:1.5rem 2rem;font-size:1.5rem;font-weight:700;background:#fff;border:3px solid #7c3aed;border-radius:.75rem;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.drill-answer-btn:focus{outline:none}@media(hover:hover){.drill-answer-btn:hover:not(:disabled){background:#c4b5fd;transform:scale(1.02)}}.drill-answer-btn:active:not(:disabled){background:#c4b5fd;transform:scale(.98)}.drill-answer-btn.correct{background:#4ade80;border-color:#22c55e;color:#fff}.drill-answer-btn.incorrect{background:#f87171;border-color:#ef4444;color:#fff}.drill-answer-btn:disabled{cursor:not-allowed;opacity:.7}.drills-progress{margin-top:2rem;font-size:1rem;color:#1e3a5f}.drills-score{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.drills-score .score-correct{color:#22c55e;min-width:2ch;text-align:right}.drills-score .score-separator{color:#6b7280}.drills-score .score-total{color:#1e3a5f;min-width:2ch;text-align:left}.test-header{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:1rem}.test-timer{font-size:2rem;font-weight:700;color:#1e3a5f;margin-bottom:1.5rem;padding:.5rem 1rem;background:#e8f4f8;border-radius:.5rem;display:inline-block}.test-timer.warning{color:#f59e0b;background:#fef3c7}.test-timer.danger{color:#ef4444;background:#fee2e2;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.scorecard-container{background:#fff;border-radius:1rem;padding:2rem 3rem;box-shadow:0 4px 20px #0003;text-align:center;min-width:300px}.scorecard-title{font-size:1.5rem;color:#1e3a5f;margin-bottom:1.5rem}.scorecard-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.scorecard-label{font-weight:500;color:#6b7280}.scorecard-value{font-weight:700;color:#1e3a5f}.scorecard-value.correct{color:#22c55e}.scorecard-value.incorrect{color:#ef4444}.scorecard-grade{margin-top:1.5rem;font-size:4rem;font-weight:700;color:#7c3aed}.scorecard-insights{margin-top:1.5rem;text-align:left;max-height:300px;overflow-y:auto}.student-insights{padding:.5rem}.student-insights .insight-group{margin-bottom:1rem}.student-insights .insight-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}#scorecard-retry-btn{margin-top:1.5rem;width:100%}.mult-creator-section{padding:2rem}.mult-assignment-list{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.5rem;max-height:60vh;overflow-y:auto}.mult-assignment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f3f4f6;border-radius:.5rem;margin-bottom:.75rem}.mult-assignment-info{display:flex;flex-direction:column;gap:.25rem}.mult-assignment-title{font-weight:600;color:#1e3a5f}.mult-assignment-meta{font-size:.85rem;color:#6b7280}.mult-assignment-actions{display:flex;gap:.5rem}.mult-create-form{width:100%;max-width:400px;margin:0 auto;padding:1rem;box-sizing:border-box}@media(max-width:400px){.mult-create-form{max-width:none;padding:.5rem}}.mult-create-form h3{margin-bottom:1.5rem;color:#1e3a5f;text-align:center}.mult-create-form .form-group{margin-bottom:1rem;text-align:left}.mult-create-form label{display:block;margin-bottom:4px;font-weight:500;color:#374151;text-align:left;line-height:1}.mult-create-form .custom-dropdown{margin-top:0}.required-asterisk{color:#dc2626;font-weight:600}.mult-create-form input,.mult-create-form select{width:100%;padding:.75rem;border:2px solid #d1d5db;border-radius:.5rem;font-size:1rem}.mult-create-form .form-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;justify-content:center}.mult-create-form .form-actions button{white-space:nowrap}.wizard-step{text-align:center;display:flex;flex-direction:column;align-items:center;width:100%}.wizard-step h3{margin-bottom:1.5rem;color:#1e3a5f;font-size:1.25rem}.wizard-subtitle{color:#6b7280;margin:-1rem 0 1.5rem;font-size:1rem}.wizard-back-btn{background:none;border:none;color:#1cb0f6;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem;margin-bottom:.5rem}.wizard-back-btn:hover{color:#0d8ecf}.wizard-label-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:360px;margin-bottom:1.5rem}.wizard-label-title{font-size:1.1rem;font-weight:600;color:#1e3a5f}.wizard-label-input{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.wizard-label-input input{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid #1cb0f6;border-radius:12px;text-align:center;background:#f0f9ff;color:#1e3a5f;box-shadow:0 2px 8px #1cb0f626}.wizard-label-input input::placeholder{color:#64748b}.wizard-label-input input:focus{outline:none;border-color:#1cb0f6}.table-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;max-width:320px;margin:0 auto}.table-card{aspect-ratio:1;font-size:1.4rem;font-weight:800;font-family:inherit;border-radius:16px;border:none;border-bottom:4px solid rgba(0,0,0,.15);color:#fff;cursor:pointer;transition:all .15s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.table-card[data-table="0"]{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}.table-card[data-table="1"]{background:linear-gradient(135deg,#ff9f43,#f39c12)}.table-card[data-table="2"]{background:linear-gradient(135deg,#ffc800,#f1c40f)}.table-card[data-table="3"]{background:linear-gradient(135deg,#58cc02,#46a302)}.table-card[data-table="4"]{background:linear-gradient(135deg,#1cb0f6,#0d8ecf)}.table-card[data-table="5"]{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.table-card[data-table="6"]{background:linear-gradient(135deg,#f472b6,#ec4899)}.table-card[data-table="7"]{background:linear-gradient(135deg,#22d3d3,#14b8a6)}.table-card[data-table="8"]{background:linear-gradient(135deg,#fb7185,#f43f5e)}.table-card[data-table="9"]{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.table-card[data-table="10"]{background:linear-gradient(135deg,#c084fc,#a855f7)}.table-card[data-table="11"]{background:linear-gradient(135deg,#4ade80,#22c55e)}.table-card[data-table="12"]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.table-card:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.table-card:active{transform:translateY(2px) scale(1);border-bottom-width:2px}.time-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:280px;margin:0 auto}.time-card{padding:1.25rem 1rem;font-size:1.1rem;font-weight:700;font-family:inherit;border-radius:16px;border:none;border-bottom:4px solid rgba(0,0,0,.15);background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;cursor:pointer;transition:all .15s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.time-card:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.time-card:active{transform:translateY(2px);border-bottom-width:2px}.time-card.loading{background:linear-gradient(135deg,#1cb0f6,#0d8ecf);animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:400px){.table-card-grid{grid-template-columns:repeat(3,1fr);max-width:none;width:100%}.table-card{font-size:1.2rem}}.div-table-card{aspect-ratio:1;font-size:1.4rem;font-weight:800;font-family:inherit;border-radius:16px;border:none;border-bottom:4px solid rgba(0,0,0,.15);color:#fff;cursor:pointer;transition:all .15s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.div-table-card[data-divisor="1"]{background:linear-gradient(135deg,#1cb0f6,#0d8ecf)}.div-table-card[data-divisor="2"]{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.div-table-card[data-divisor="3"]{background:linear-gradient(135deg,#f472b6,#ec4899)}.div-table-card[data-divisor="4"]{background:linear-gradient(135deg,#58cc02,#46a302)}.div-table-card[data-divisor="5"]{background:linear-gradient(135deg,#ffc800,#f1c40f)}.div-table-card[data-divisor="6"]{background:linear-gradient(135deg,#ff9f43,#f39c12)}.div-table-card[data-divisor="7"]{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}.div-table-card[data-divisor="8"]{background:linear-gradient(135deg,#06b6d4,#0891b2)}.div-table-card[data-divisor="9"]{background:linear-gradient(135deg,#84cc16,#65a30d)}.div-table-card[data-divisor="10"]{background:linear-gradient(135deg,#f97316,#ea580c)}.div-table-card[data-divisor="11"]{background:linear-gradient(135deg,#6366f1,#4f46e5)}.div-table-card[data-divisor="12"]{background:linear-gradient(135deg,#14b8a6,#0d9488)}.div-table-card:hover{transform:scale(1.08);box-shadow:0 4px 12px #0003}.div-table-card:active{transform:translateY(2px);border-bottom-width:2px}.div-table-card.selected{box-shadow:0 0 0 3px #1cb0f6,0 4px 12px #0003;transform:scale(1.05)}.div-time-card{padding:1.25rem 1rem;font-size:1.1rem;font-weight:700;font-family:inherit;border-radius:16px;border:none;border-bottom:4px solid rgba(0,0,0,.15);background:linear-gradient(135deg,#1cb0f6,#0d8ecf);color:#fff;cursor:pointer;transition:all .15s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.div-time-card:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.div-time-card:active{transform:translateY(2px);border-bottom-width:2px}.div-time-card.loading{background:linear-gradient(135deg,#a78bfa,#8b5cf6);animation:pulse .8s ease-in-out infinite}.mult-success-section{max-width:500px;margin:0 auto;padding:2rem}.mult-success-info{font-size:1.25rem;font-weight:600;color:#1e3a5f;margin-bottom:1.5rem;text-align:center}.mult-success-section .share-link-label{color:#6b7280;margin-bottom:.75rem;font-size:.95rem}.mult-success-section .share-link-row{justify-content:stretch}.mult-success-section .share-link-input{max-width:none;background:#fff;border:2px solid #e5e5e5;color:#333}.student-progress-modal{max-width:500px;width:95vw;max-height:80vh;display:flex;flex-direction:column}.progress-modal-title{font-size:1.5rem;font-weight:700;color:#3c3c3c;margin:0 0 1rem;text-align:center}.certificate-hint{font-size:.9rem;color:#6b7280;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem;text-align:center}.feature-callout{display:flex;align-items:flex-start;gap:.75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1rem;margin-bottom:1rem}.feature-callout-icon{font-size:1.5rem;flex-shrink:0}.feature-callout-content{display:flex;flex-direction:column;gap:.75rem;flex:1}.feature-callout-text{display:flex;flex-direction:column;gap:.25rem}.feature-callout-text strong{color:#92400e;font-size:.95rem}.feature-callout-text span{color:#78350f;font-size:.85rem;line-height:1.4}.feature-callout-dismiss{align-self:flex-start;border:none;background:#f59e0b;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:background .15s}.feature-callout-dismiss:hover{background:#d97706}.feature-callout-buttons{display:flex;gap:.5rem;align-self:flex-start}.feature-callout-sample{border:2px solid #b45309;background:transparent;color:#b45309;font-size:.85rem;font-weight:600;padding:.4rem .8rem;border-radius:6px;cursor:pointer;transition:all .15s}.feature-callout-sample:hover{background:#b45309;color:#fff}.mult-completions-list{flex:1;overflow-y:auto;margin-bottom:1rem}.modal-close-btn{width:100%;padding:1rem;font-size:1rem;font-weight:700;color:#1cb0f6;background:#fff;border:2px solid #e5e5e5;border-bottom:4px solid #e5e5e5;border-radius:16px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.modal-close-btn:hover{background:#f7f7f7}.welcome-modal{max-width:420px;padding:2rem;text-align:center}.welcome-modal-title{font-size:1.5rem;font-weight:800;color:#1cb0f6;margin:0 0 .5rem}.welcome-modal-subtitle{color:#777;margin:0 0 1.5rem;font-size:1rem}.welcome-steps{text-align:left;margin-bottom:1.5rem}.welcome-step{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.welcome-step:last-child{margin-bottom:0}.welcome-step-number{width:28px;height:28px;min-width:28px;background:#58cc02;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}.welcome-step-content{display:flex;flex-direction:column;gap:.2rem}.welcome-step-content strong{color:#3c3c3c;font-size:1rem}.welcome-step-content span{color:#777;font-size:.9rem}.welcome-modal-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.welcome-modal-actions .primary-btn{width:100%;padding:1rem;font-size:1rem}.welcome-modal-actions .decline-btn{background:transparent;color:#777;border:none;font-size:.9rem}.welcome-modal-actions .decline-btn:hover{color:#3c3c3c}.share-info-modal{max-width:360px;padding:2rem;text-align:center}.share-info-icon{font-size:3rem;margin-bottom:.5rem}.share-info-modal h3{font-size:1.5rem;font-weight:800;color:#58cc02;margin:0 0 1rem}.share-info-text{color:#3c3c3c;margin:0 0 1.5rem;font-size:1rem;line-height:1.5}.share-info-modal .primary-btn{width:100%;padding:1rem;font-size:1rem}.student-row{background:#fff;border:2px solid #e5e5e5;border-radius:16px;margin-bottom:.75rem;overflow:hidden}.student-row.expanded{border-color:#1cb0f6}.student-row-summary{display:flex;align-items:center;padding:1rem;cursor:pointer;gap:1rem}.student-row-summary:hover{background:#f7f7f7}.student-info{display:flex;align-items:center;gap:.75rem;flex:1}.student-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#fff;background:#afafaf}.student-avatar.score-good{background:#58cc02}.student-avatar.score-ok{background:#ffc800}.student-avatar.score-needs-work{background:#ff4b4b}.student-name-col{display:flex;flex-direction:column}.student-name{font-weight:700;font-size:1rem;color:#3c3c3c}.student-date{font-size:.8rem;color:#afafaf}.student-score-col{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.student-score{font-size:1.25rem;font-weight:700}.student-score.score-good{color:#58cc02}.student-score.score-ok{color:#ffc800}.student-score.score-needs-work{color:#ff4b4b}.expand-icon{color:#afafaf;font-size:.75rem}.status-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:9999px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.completed{background:#d7ffb8;color:#58a700}.status-badge.timed-out{background:#fff4d4;color:#ea8c00}.status-badge.in-progress{background:#ddf4ff;color:#1899d6}.student-row-details{padding:0 1rem 1rem;border-top:1px solid #e5e5e5;background:#f7f7f7}.student-row-details.hidden{display:none}.details-stats{display:flex;gap:1.5rem;padding:1rem 0;justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:#3c3c3c}.stat-label{font-size:.75rem;color:#afafaf;text-transform:uppercase}.details-prep{font-size:.85rem;color:#777;margin-bottom:.75rem;text-align:center}.prep-label{font-weight:600}.question-insights{margin-top:.75rem}.insight-perfect{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#d7ffb8;border-radius:12px;color:#58a700;font-weight:700;font-size:1.1rem}.perfect-icon{font-size:1.5rem}.insight-group{margin-bottom:.75rem}.insight-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.missed-label{color:#ff4b4b}.skipped-label{color:#afafaf}.insight-pills{display:flex;flex-wrap:wrap;gap:.5rem}.insight-pill{padding:.5rem .75rem;border-radius:12px;font-size:.85rem}.insight-pill.missed{background:#ffdfe0;border:2px solid #ff4b4b}.insight-pill.skipped{background:#f0f0f0;border:2px solid #e0e0e0;color:#777}.insight-pill.correct{background:#d7ffb8;border:2px solid #58cc02}.correct-label{color:#58cc02}.pill-equation{font-weight:700;display:block}.pill-answer{font-size:.75rem;color:#ff4b4b}@media(max-width:768px){.multiplication-layout{flex-direction:column}.multiplication-sidebar{flex-direction:row;flex-wrap:wrap;justify-content:center}.multiplication-grid{grid-template-columns:repeat(14,minmax(2rem,1fr))}.mult-cell{width:2rem;height:2rem;font-size:.7rem}.tilebar-tile{width:2.5rem;height:2.5rem;font-size:.9rem}.multiplication-equation{font-size:1.5rem}.study-equation{font-size:3rem}.drills-question{font-size:2rem}.drill-answer-btn{padding:1rem;font-size:1.2rem}.scorecard-grade{font-size:3rem}}.certificate-btn{margin-top:1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1f2937;font-weight:700;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s}.certificate-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #fbbf2466}.certificate-btn:disabled,.certificate-btn.disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#6b7280;cursor:not-allowed;opacity:.7}.certificate-modal-content{background:#f8fafc;border-radius:16px;padding:1.5rem;max-width:600px;width:95%;max-height:90vh;overflow-y:auto}.certificate-printable{background:#fff;padding:2rem;border-radius:8px}.certificate-border{border:8px double #1f2937;padding:2rem;text-align:center;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:4px}.certificate-header{margin-bottom:1.5rem}.certificate-trophy{font-size:4rem;margin-bottom:.5rem}.certificate-title{font-size:2rem;font-weight:800;color:#1f2937;margin:0;text-transform:uppercase;letter-spacing:2px}.certificate-body{margin:2rem 0}.certificate-awarded{font-size:1rem;color:#6b7280;margin:0 0 .5rem}.certificate-name{font-size:2rem;font-weight:800;color:#1f2937;margin:0 0 1rem;font-style:italic}.certificate-achievement{font-size:1rem;color:#6b7280;margin:0 0 .5rem}.certificate-table-name{font-size:1.75rem;font-weight:800;color:#059669;margin:0 0 1rem}.certificate-score{font-size:1.1rem;color:#1f2937;font-weight:600;margin:0}.certificate-footer{margin-top:2rem;display:flex;justify-content:space-between;align-items:center}.certificate-date{font-size:.9rem;color:#6b7280;margin:0}.certificate-seal{width:60px;height:60px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:0 4px 8px #0003}.certificate-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.certificate-actions .primary-btn{background:linear-gradient(135deg,#1cb0f6,#0d8ecf)}.student-certificate-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1f2937;font-weight:600;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;margin-top:.75rem;transition:transform .15s}.student-certificate-btn:hover:not(:disabled){transform:scale(1.05)}.student-certificate-btn:disabled,.student-certificate-btn.disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#6b7280;cursor:not-allowed;opacity:.8}@media print{body *{visibility:hidden}#certificate-modal,#certificate-modal *{visibility:visible}#certificate-modal{position:absolute;left:0;top:0;width:100%;background:#fff}.certificate-modal-content{max-width:100%;padding:0;background:#fff;box-shadow:none}.certificate-actions{display:none}.certificate-printable{padding:0}.certificate-border{border-width:6px;padding:3rem}.certificate-trophy{font-size:5rem}.certificate-title,.certificate-name{font-size:2.5rem}.certificate-table-name{font-size:2rem}}.leaderboard-container{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:3px solid #f59e0b}.leaderboard-title{font-size:1.2rem;font-weight:800;color:#92400e;margin:0 0 .25rem;text-align:center}.leaderboard-subtitle{font-size:.85rem;color:#b45309;margin:0 0 1rem;text-align:center}.leaderboard-entries{display:flex;flex-direction:column;gap:.5rem}.leaderboard-entry{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#fff;border-radius:8px;border:2px solid #fcd34d}.leaderboard-entry.highlight{background:#fef08a;border-color:#f59e0b;animation:pulse-highlight 1s ease-in-out 2}@keyframes pulse-highlight{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.leaderboard-rank{font-size:1.1rem;font-weight:800;min-width:2rem;text-align:center}.leaderboard-rank.gold{color:#f59e0b}.leaderboard-rank.silver{color:#9ca3af}.leaderboard-rank.bronze{color:#b45309}.leaderboard-medal{font-size:1.3rem;min-width:2rem;text-align:center}.leaderboard-name{flex:1;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-time{font-weight:700;color:#059669;font-family:Courier New,monospace}.leaderboard-cta{margin-top:1rem;padding:.75rem;background:#fff;border-radius:8px;text-align:center;font-weight:600;color:#92400e;border:2px dashed #fcd34d}.leaderboard-empty{text-align:center;padding:1rem;color:#92400e;font-weight:500}.mult-leaderboard-btn,.div-leaderboard-btn{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border:2px solid #d97706!important;position:relative}.leaderboard-check{position:absolute;top:-14px;right:-7px;font-size:1em;font-weight:700;color:#059669;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff;z-index:1}.student-leaderboard-modal-content{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:1.5rem;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;border:3px solid #f59e0b}#student-leaderboard-title{font-size:1.4rem;font-weight:800;color:#92400e;margin:0 0 .25rem;text-align:center}.student-leaderboard-subtitle{font-size:.9rem;color:#b45309;margin:0 0 1rem;text-align:center}.teacher-leaderboard-toggle{margin:.75rem 0 1rem;padding:.75rem;background:#fff;border-radius:10px;border:2px solid #fcd34d}.leaderboard-toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:.75rem}.leaderboard-toggle-text{font-size:.9rem;font-weight:600;color:#92400e}.leaderboard-toggle-label input[type=checkbox]{display:none}.leaderboard-toggle-slider{position:relative;width:48px;height:26px;background:#d1d5db;border-radius:26px;transition:background .2s ease;flex-shrink:0}.leaderboard-toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.leaderboard-toggle-label input[type=checkbox]:checked+.leaderboard-toggle-slider{background:#22c55e}.leaderboard-toggle-label input[type=checkbox]:checked+.leaderboard-toggle-slider:after{transform:translate(22px)}.student-leaderboard-entries{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.student-leaderboard-entry{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#fff;border-radius:8px;border:2px solid #fcd34d}.student-leaderboard-entry.highlight{background:#fef08a;border-color:#f59e0b}.student-leaderboard-rank{font-size:1.1rem;font-weight:800;min-width:2rem;text-align:center}.student-leaderboard-rank.gold{color:#f59e0b}.student-leaderboard-rank.silver{color:#9ca3af}.student-leaderboard-rank.bronze{color:#b45309}.student-leaderboard-medal{font-size:1.3rem;min-width:2rem;text-align:center}.student-leaderboard-name{flex:1;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-leaderboard-time{font-weight:700;color:#059669;font-family:Courier New,monospace}.student-leaderboard-empty{text-align:center;padding:1rem;color:#92400e;font-weight:500}#student-leaderboard-close-btn{width:100%;padding:.75rem;font-size:1rem}.unified-view-mult-btn,.view-mult-btn,.div-trophy-btn,.unified-div-trophy-btn,#saved-progress-view-btn{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.stacked-trophies{display:inline-flex;align-items:center;justify-content:center;position:relative;width:1.2em;height:1em;vertical-align:middle;margin-bottom:6px}.stacked-trophies .trophy-back{position:absolute;left:.35em;top:-.1em;opacity:.85;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.stacked-trophies .trophy-front{position:absolute;left:0;top:.15em;opacity:1;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.stacked-tags{display:inline-flex;align-items:center;justify-content:center;position:relative;width:1.4em;height:1.2em;vertical-align:middle}.stacked-tags .tag-back{position:absolute;width:1.1em;height:1.1em;left:.3em;top:-.1em;opacity:.85}.stacked-tags .tag-front{position:absolute;width:1.1em;height:1.1em;left:0;top:.15em;opacity:1}.bi-container{max-width:100%;margin:0 auto;padding:1rem;box-sizing:border-box}.bi-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:var(--text-primary)}.bi-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}@media(min-width:500px){.bi-kpi-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1000px){.bi-kpi-grid{grid-template-columns:repeat(8,1fr)}}.bi-kpi-card{background:var(--card-bg);border-radius:16px;padding:1rem;text-align:center;border:2px solid var(--border-color);box-shadow:0 4px #0000001a;transition:transform .2s,box-shadow .2s}.bi-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px #0000001a}.bi-kpi-value{font-size:2rem;font-weight:800;color:var(--primary-color)}.bi-kpi-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.bi-kpi-delta{font-size:.75rem;font-weight:700;color:#58cc02;margin-top:.35rem;background:#58cc0226;padding:.2rem .5rem;border-radius:8px;display:inline-block}.bi-kpi-delta.negative{color:#ff4b4b;background:#ff4b4b26}.bi-section{background:var(--card-bg);border-radius:16px;margin-bottom:1rem;overflow:hidden;border:2px solid var(--border-color);box-shadow:0 4px #00000014}.bi-section-activity{border:3px solid #1cb0f6;background:linear-gradient(135deg,#1cb0f60d,#1cb0f605)}.bi-section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.bi-section-header:hover{background:var(--hover-bg)}.bi-section-header:active{transform:scale(.99)}.bi-section-header h3{font-size:1.1rem;font-weight:800;margin:0;color:var(--text-primary)}.bi-toggle{font-size:1.5rem;font-weight:800;color:#58cc02;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#58cc0226;border-radius:8px;transition:transform .2s}.bi-section-header:hover .bi-toggle{transform:scale(1.1)}.bi-section-content{padding:0 1rem 1rem;box-sizing:border-box;overflow-x:auto}.bi-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}@media(min-width:500px){.bi-stats-row{grid-template-columns:repeat(4,1fr)}}.bi-stat{text-align:center;padding:.5rem;background:var(--bg-secondary);border-radius:8px}.bi-stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.bi-stat-label{display:block;font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.bi-subsection{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.bi-subsection h4{font-size:.85rem;font-weight:600;margin:0 0 .5rem;color:var(--text-secondary)}.bi-subsection-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.bi-toggle-small{font-size:.7rem;color:var(--primary-color);text-transform:lowercase}.bi-trend-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.bi-trend-day{text-align:center;padding:.25rem;background:var(--bg-secondary);border-radius:4px}.bi-trend-label{display:block;font-size:.6rem;color:var(--text-secondary)}.bi-trend-value{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary)}.bi-section-charts{border:3px solid #58cc02;background:linear-gradient(135deg,#58cc020d,#58cc0205)}.bi-charts-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.bi-charts-grid{grid-template-columns:repeat(3,1fr)}}.bi-chart-card{background:var(--card-bg);border-radius:16px;padding:1rem;box-shadow:0 4px #0000001a;border:2px solid var(--border-color)}.bi-chart-title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;text-align:center}.bi-chart-container{height:200px;position:relative}.bi-chart-container-small{height:150px;position:relative}.bi-cert-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:.5rem 0}@media(max-width:768px){.bi-cert-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.bi-cert-stats-grid{grid-template-columns:1fr}}.bi-cert-stat-card{background:var(--bg-secondary);border-radius:12px;padding:1rem;text-align:center}.bi-cert-stat-value{font-size:2rem;font-weight:800;margin-bottom:.25rem}.bi-cert-stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:600}.bi-bar-chart{display:flex;align-items:flex-end;justify-content:space-around;height:100px;gap:6px;padding:10px 8px 0;background:var(--bg-secondary);border-radius:12px}.bi-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;gap:4px}.bi-bar-container{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:75px;width:100%}.bi-bar{min-height:4px;border-radius:8px 8px 4px 4px;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px #00000026}.bi-bar:hover{transform:scaleY(1.1);filter:brightness(1.1)}.bi-bar-duo{width:12px}.bi-bar-single{width:20px}.bi-bar-label{font-size:.65rem;font-weight:700;color:var(--text-secondary);text-align:center;text-transform:uppercase}.bi-bar-value{font-size:.55rem;font-weight:700;color:var(--text-secondary);position:absolute;top:-16px;left:50%;transform:translate(-50%);white-space:nowrap}.bi-chart-legend{display:flex;justify-content:center;gap:1.25rem;margin-top:.75rem;flex-wrap:wrap}.bi-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;color:var(--text-secondary)}.bi-legend-color{width:12px;height:12px;border-radius:4px;box-shadow:0 2px #00000026}.bi-list{max-height:200px;overflow-y:auto}.bi-list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.8rem}.bi-list-item:last-child{border-bottom:none}.bi-list-name{color:var(--text-primary);font-weight:500}.bi-list-value{color:var(--text-secondary)}.bi-teachers-table{width:100%;border-collapse:collapse;font-size:.8rem}.bi-teachers-table th{padding:.5rem;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-color);text-align:left}.bi-teachers-table td{padding:.5rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:left}.bi-teachers-table tbody tr:last-child td{border-bottom:none}.bi-table-day-divider td{padding:.75rem .5rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--surface-elevated);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em}.bi-table-day-divider:first-child td{padding-top:.5rem}.bi-table-container{max-height:300px;overflow-y:auto;background:var(--surface-elevated);border-radius:8px;padding:.75rem}.bi-table-count{color:var(--text-secondary);font-size:.75rem;margin-bottom:.5rem}.bi-activity-filters{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.bi-filter-btn{padding:.35rem .75rem;border:1px solid var(--border-color);border-radius:20px;background:transparent;color:var(--text-secondary);font-size:.7rem;cursor:pointer;transition:all .2s}.bi-filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.bi-filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.bi-activity-feed{max-height:300px;overflow-y:auto;background:var(--bg-secondary);border-radius:8px;padding:.5rem}.bi-activity-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border-color);animation:biFadeIn .3s ease-in}@keyframes biFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.bi-activity-icon{font-size:1rem;flex-shrink:0}.bi-activity-content{flex:1;min-width:0}.bi-activity-text{font-size:.8rem;color:var(--text-primary);font-weight:500}.bi-activity-meta{font-size:.65rem;color:var(--text-secondary);margin-top:.15rem}.bi-activity-time{font-size:.65rem;color:var(--text-secondary);text-align:right;white-space:nowrap}.bi-activity-summary{display:flex;justify-content:center;gap:2rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.bi-summary-stat{text-align:center}.bi-summary-value{display:block;font-size:1.25rem;font-weight:700;color:var(--primary-color)}.bi-summary-label{display:block;font-size:.65rem;color:var(--text-secondary)}.bi-loading{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.8rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bi-loading-spinner{width:24px;height:24px;border:3px solid #e5e5e5;border-top-color:#58cc02;border-radius:50%;animation:spin .8s linear infinite}.bi-error{text-align:center;color:#ef4444;padding:1rem;font-size:.8rem}.bi-empty{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.8rem}.bi-refresh-info{text-align:center;font-size:.7rem;color:var(--text-secondary);margin-top:1rem}.bi-collapsible{background:var(--card-bg);border-radius:16px;margin-bottom:1rem;box-shadow:0 4px #00000014;overflow:hidden}.bi-collapsible-header{display:flex;align-items:center;padding:1rem 1.25rem;font-size:1.1rem;font-weight:800;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;transition:background .2s ease}.bi-collapsible-header::-webkit-details-marker{display:none}.bi-collapsible-header:before{content:"▶";font-size:.75rem;margin-right:.75rem;color:#58cc02;transition:transform .2s ease}.bi-collapsible[open] .bi-collapsible-header:before{transform:rotate(90deg)}.bi-collapsible-header:hover{background:var(--hover-bg)}.bi-collapsible>.bi-kpi-grid,.bi-collapsible>.bi-section,.bi-collapsible>.bi-refresh-info{padding-left:1rem;padding-right:1rem}.bi-collapsible>.bi-refresh-info{padding-bottom:1rem}#app{opacity:1}.bi-collapsible.bi-highlight{animation:bi-pulse-highlight .5s ease-out;box-shadow:0 0 15px #fbbf24,0 0 30px #fbbf24;border:3px solid #fbbf24;border-radius:8px}@keyframes bi-pulse-highlight{0%{box-shadow:0 0 30px #fbbf24,0 0 60px #fbbf24;border-color:#fbbf24}to{box-shadow:0 0 15px #fbbf24,0 0 30px #fbbf24;border-color:#fbbf24}}.bi-activity-feed{background:var(--card-bg);border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid var(--border-color)}.bi-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.bi-activity-feed h3{margin:0;font-size:1rem;color:var(--text-color)}.bi-online-now{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#10b981;font-weight:500}.bi-online-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:bi-pulse-dot 2s ease-in-out infinite}@keyframes bi-pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.bi-activity-list{max-height:200px;overflow-y:auto;font-size:.85rem}.bi-activity-item{display:grid;grid-template-columns:minmax(100px,150px) minmax(60px,120px) 1fr auto;gap:.75rem;align-items:baseline;padding:.5rem;border-bottom:1px solid var(--border-color);animation:bi-activity-fade-in .3s ease-out}.bi-activity-item:last-child{border-bottom:none}.bi-activity-item.new{background:#fbbf241a}.bi-activity-player{color:#8b5cf6;font-weight:500;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.bi-activity-location{color:#9ca3af;font-weight:400;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.bi-activity-location.tappable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.bi-activity-location.tappable:hover{color:#1cb0f6}.bi-activity-action{color:var(--text-color);font-size:.85rem;text-align:left}.bi-activity-time{color:#6b7280;font-size:.75rem;white-space:nowrap;text-align:right}.bi-day-divider{padding:.75rem .5rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--surface-elevated);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em}@keyframes bi-activity-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bi-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.bi-modal.hidden{display:none}.bi-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1}.bi-modal-content{position:relative;z-index:2;background:#fff;border-radius:16px;padding:1.5rem;width:calc(100% - 2rem);max-width:900px;height:calc(100% - 2rem);max-height:90vh;overflow-y:auto;box-shadow:0 8px 40px #0000004d;border:3px solid #e5e5e5}.bi-modal-close{position:sticky;top:0;float:right;background:#58cc02;border:none;border-radius:12px;font-size:1.25rem;color:#fff;cursor:pointer;padding:.5rem .75rem;line-height:1;z-index:10;font-weight:700;box-shadow:0 4px #46a302}.bi-modal-close:hover{background:#46a302;transform:translateY(2px);box-shadow:0 2px #3d8f02}.bi-modal h2{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#3c3c3c}.bi-modal h3{margin:1.5rem 0 .75rem;font-size:1.1rem;font-weight:700;color:#58cc02;border-bottom:2px solid #e5e5e5;padding-bottom:.5rem}.bi-modal-section{margin-bottom:1.5rem}.bi-modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1rem}.bi-modal-stat{background:#f7f7f7;padding:1rem;border-radius:12px;text-align:center;border:2px solid #e5e5e5}.bi-modal-stat-value{font-size:1.75rem;font-weight:800}.bi-modal-stat-label{font-size:.8rem;font-weight:600;color:#777;margin-top:.25rem;text-transform:uppercase}.bi-modal p{color:#3c3c3c;font-weight:500}.bi-location-popup{position:fixed;z-index:10001;background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;font-weight:500;box-shadow:0 4px 12px #0000004d;pointer-events:none;white-space:nowrap;animation:bi-popup-fade-in .15s ease-out}.bi-location-popup.hidden{display:none}@keyframes bi-popup-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bi-modal-location{cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.bi-modal-location:hover{color:#1cb0f6}.bi-activity-item.clickable{cursor:pointer}.bi-activity-item.clickable:hover{background:#58cc021a}.bi-activity-item.teacher,.bi-activity-item.teacher .bi-activity-player{font-weight:700}.bi-teacher-link{cursor:pointer;transition:color .15s ease}.bi-teacher-link:hover{color:#58cc02!important;text-decoration:underline}.bi-modal-activity-list{max-height:300px;overflow-y:auto;border:2px solid #e5e5e5;border-radius:12px;background:#f7f7f7}.bi-modal-activity-item{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e5e5e5;font-size:.9rem;color:#3c3c3c}.bi-modal-activity-item:last-child{border-bottom:none}.bi-modal .bi-empty{color:#777;text-align:center;padding:2rem;font-weight:500}.logo-inbox-container{display:flex;align-items:center;gap:12px}.inbox-toggle{background:#60a5fa33;border:none;border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;aspect-ratio:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .2s,transform .1s}.inbox-toggle:hover{background:#60a5fa59;transform:scale(1.05)}.inbox-toggle:active{transform:scale(.95)}.inbox-icon{color:#60a5fa;flex-shrink:0}.inbox-header-icon{vertical-align:middle;margin-right:6px}@keyframes inbox-badge-pulse{0%,to{box-shadow:0 0 4px 2px #ef444499;transform:scale(1)}50%{box-shadow:0 0 12px 6px #ef4444cc;transform:scale(1.1)}}.inbox-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 0 8px 4px #ef4444b3;animation:inbox-badge-pulse 1.5s ease-in-out infinite}.inbox-panel{position:fixed;top:60px;right:20px;width:360px;max-width:calc(100vw - 40px);max-height:calc(100vh - 100px);background:#1e293b;border-radius:16px;box-shadow:0 8px 32px #0006;z-index:1100;display:flex;flex-direction:column;overflow:hidden;animation:inbox-slide-in .2s ease-out}@keyframes inbox-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.inbox-panel.hidden{display:none}.inbox-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#0f172a}.inbox-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}.inbox-header-icon{font-size:1.2rem}.inbox-close{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.inbox-close:hover{color:#fff}.inbox-content{flex:1;overflow-y:auto;max-height:300px}.inbox-loading,.inbox-empty{padding:40px 20px;text-align:center;color:#ffffff80}.inbox-conversations{padding:0}.inbox-conversation{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .2s;text-align:left}.inbox-conversation:hover{background:#ffffff0d}.inbox-conversation.expanded{background:#60a5fa1a}.inbox-conv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.inbox-conv-status{font-size:.75rem;font-weight:600;color:#ffffff80}.inbox-conv-status.unread{color:#60a5fa;font-weight:700}.inbox-conv-time{font-size:.7rem;color:#fff6}.inbox-conv-preview{font-size:.9rem;color:#fffc;line-height:1.4;text-align:left;white-space:pre-wrap}.inbox-conv-preview.unread{font-weight:600;color:#fffffff2}.inbox-messages{padding:4px 6px;background:#0003;border-radius:8px;margin-top:6px;max-height:200px;overflow-y:auto}.inbox-message{padding:6px 10px;border-radius:12px;margin-bottom:8px;max-width:85%;font-size:.85rem;line-height:1.3;white-space:pre-wrap}.inbox-message:last-child{margin-bottom:0}.inbox-message.user{background:#3b82f6;color:#fff;margin-left:auto;border-bottom-right-radius:4px}.inbox-message.rep{background:#374151;color:#fff;margin-right:auto;border-bottom-left-radius:4px}.inbox-message-time{display:block;font-size:.65rem;color:#ffffff80;margin-top:4px;text-align:right}.inbox-reply-form{display:flex;gap:8px;margin-top:12px}.inbox-reply-input{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#ffffff1a;color:#fff;font-size:.85rem;resize:none}.inbox-reply-input::placeholder{color:#fff6}.inbox-reply-input:focus{outline:none;border-color:#60a5fa}.inbox-reply-btn{background:#3b82f6;border:none;border-radius:50%;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;max-height:36px;aspect-ratio:1;flex-shrink:0;flex-grow:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s;padding:0}.inbox-reply-btn:hover{background:#2563eb}.inbox-thread-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.inbox-thread-toggle{font-size:.85rem;color:#60a5fa;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;background:#60a5fa1a;transition:background .2s}.inbox-thread-toggle:hover{background:#60a5fa33}.inbox-thread-toggle .expand-arrow{font-size:.7rem;transition:transform .2s}.inbox-thread-toggle.expanded .expand-arrow{transform:rotate(90deg)}.inbox-thread-replies{margin-top:12px;padding-left:16px;border-left:2px solid rgba(255,255,255,.1)}.inbox-thread-message{background:#ffffff0d;padding:10px 12px;margin-bottom:8px;border-radius:6px}.inbox-thread-message.sent{background:#60a5fa26;border-left:3px solid #60a5fa}.inbox-thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.inbox-thread-from{font-weight:600;color:#ffffffe6;font-size:.85rem}.inbox-thread-role{font-size:.7rem;color:#fff6;margin-left:6px;padding:1px 6px;background:#ffffff1a;border-radius:3px}.inbox-thread-time{font-size:.7rem;color:#fff6}.inbox-thread-text{font-size:.9rem;color:#ffffffd9;line-height:1.4;white-space:pre-wrap}.inbox-inline-reply{display:flex;gap:8px;margin-top:12px}.inbox-inline-reply textarea{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fff;font-size:.85rem;resize:none;font-family:inherit}.inbox-inline-reply textarea::placeholder{color:#fff6}.inbox-inline-reply textarea:focus{outline:none;border-color:#60a5fa}.inbox-inline-reply button{background:#3b82f6;border:none;border-radius:6px;padding:8px 16px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.inbox-inline-reply button:hover{background:#2563eb}.inbox-inline-reply button:disabled{opacity:.5;cursor:not-allowed}.inbox-inline-btn{background:#3b82f6;border:none;border-radius:6px;padding:8px 16px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s;flex-shrink:0}.inbox-inline-btn:hover{background:#2563eb}.inbox-inline-btn:disabled{opacity:.5;cursor:not-allowed}.inbox-compose{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);background:#0f172a}.inbox-compose-header{font-size:.75rem;font-weight:600;color:#ffffff80;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.inbox-compose-input{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff14;color:#fff;font-size:.9rem;resize:none;font-family:inherit}.inbox-compose-input::placeholder{color:#fff6}.inbox-compose-input:focus{outline:none;border-color:#60a5fa}.inbox-compose-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.inbox-char-count{font-size:.75rem;color:#fff6}.inbox-send-btn{background:#3b82f6;border:none;border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;aspect-ratio:1;flex-shrink:0;flex-grow:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1rem;transition:background .2s,transform .1s;padding:0}.inbox-send-btn:hover{background:#2563eb}.inbox-send-btn:active{transform:scale(.9)}.inbox-send-btn:disabled{background:#475569;cursor:not-allowed}body.light-mode .inbox-panel{background:#fff;box-shadow:0 8px 32px #00000026}body.light-mode .inbox-header{background:#f8fafc;border-color:#e2e8f0}body.light-mode .inbox-header h3{color:#1e293b}body.light-mode .inbox-close{color:#64748b}body.light-mode .inbox-close:hover{color:#1e293b}body.light-mode .inbox-loading,body.light-mode .inbox-empty{color:#64748b}body.light-mode .inbox-conversation{border-color:#e2e8f0}body.light-mode .inbox-conversation:hover{background:#f1f5f9}body.light-mode .inbox-conversation.expanded{background:#3b82f61a}body.light-mode .inbox-conv-status{color:#64748b}body.light-mode .inbox-conv-time{color:#94a3b8}body.light-mode .inbox-conv-preview{color:#334155}body.light-mode .inbox-conv-preview.unread{font-weight:600;color:#1e293b}body.light-mode .inbox-messages{background:#f1f5f9}body.light-mode .inbox-message.rep{background:#e2e8f0;color:#1e293b}body.light-mode .inbox-message-time{color:#0006}body.light-mode .inbox-reply-input{background:#fff;border-color:#e2e8f0;color:#1e293b}body.light-mode .inbox-reply-input::placeholder{color:#94a3b8}body.light-mode .inbox-compose{background:#f8fafc;border-color:#e2e8f0}body.light-mode .inbox-compose-header{color:#64748b}body.light-mode .inbox-compose-input{background:#fff;border-color:#e2e8f0;color:#1e293b}body.light-mode .inbox-compose-input::placeholder{color:#94a3b8}body.light-mode .inbox-char-count{color:#94a3b8}body.light-mode .inbox-toggle{background:#3b82f626}body.light-mode .inbox-toggle:hover{background:#3b82f640}body.light-mode .inbox-thread-replies{border-left-color:#cbd5e1}body.light-mode .inbox-thread-message{background:#3b82f614;color:#1e293b}body.light-mode .inbox-thread-message.sent{background:#3b82f626}body.light-mode .inbox-thread-sender{color:#334155}body.light-mode .inbox-thread-from{color:#1e293b}body.light-mode .inbox-thread-time{color:#64748b}body.light-mode .inbox-thread-text{color:#1e293b}body.light-mode .inbox-thread-toggle{color:#3b82f6}@media(max-width:480px){.inbox-panel{top:80px;right:10px;left:10px;width:auto;max-height:calc(100vh - 100px)}}.tag-filter-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.1)}.tag-filter-pills{display:flex;flex-wrap:wrap;gap:.5rem;flex:1;overflow:visible;padding-top:14px}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:.35rem .5rem;background:transparent;border:none;font-size:.95rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-transform:none;position:relative}.tag-pill:hover{color:#111827}.tag-pill.active{background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;font-weight:700;border-radius:12px;box-shadow:0 2px 4px #58cc024d;padding:.35rem .75rem}.tag-pill-all{background:transparent;color:#374151}.tag-pill-all.active{background:linear-gradient(135deg,#58cc02,#46a302);color:#fff;font-weight:700;border-radius:12px;box-shadow:0 2px 4px #58cc024d}.tag-icon{width:1.2em;height:1.2em;flex-shrink:0}svg.tag-icon{width:1.4em;height:1.4em;display:inline-block;vertical-align:middle;margin-right:0}.tag-manage-btn{flex-shrink:0;font-size:.85rem;padding:.5rem .75rem;background:linear-gradient(135deg,#e0d4f7,#d4c4f0);color:#6b21a8;border:none;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 2px 4px #8b5cf633;transition:all .15s ease}.tag-manage-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #8b5cf666}.assignment-tags{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin:0}.tag-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .3rem;font-size:.8rem;font-weight:500;color:#374151}.tag-badge .tag-icon{width:1em;height:1em}.tag-count-indicator{display:none}.tag-count-indicator.has-tags{display:inline-flex;position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;background:#3b82f6;color:#fff;border-radius:9999px;font-size:.65rem;font-weight:700;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.mult-tag-add-btn,.div-tag-add-btn,.puzzle-tag-add-btn{position:relative}.tag-manage-modal-content{max-width:480px;width:95vw;position:relative}.tag-manage-modal-content .modal-header{display:flex;justify-content:center;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:1rem;position:relative}.tag-manage-modal-content .modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.tag-manage-modal-content .modal-close-btn{position:absolute;top:0;right:0;width:auto;height:auto;background:none;border:none;border-bottom:none;font-size:1.75rem;font-weight:400;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1;text-transform:none;letter-spacing:normal;border-radius:0}.tag-manage-modal-content .modal-close-btn:hover{color:#374151;background:none}.modal-body h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 .5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1);margin-top:1rem}.modal-footer .primary-btn{padding:.5rem 1.25rem;font-size:.9rem}.modal-footer .secondary-btn{padding:.5rem 1.25rem;font-size:.9rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-footer .secondary-btn:hover{background:#e5e7eb}.modal-footer .primary-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.tag-create-section{margin-bottom:1.25rem}.tag-create-form{display:flex;gap:.5rem;align-items:center}.tag-create-form input[type=text]{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.tag-create-form input[type=color]{width:36px;height:36px;padding:2px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.tag-list-section{margin-bottom:1.25rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:40px}.tag-list-item{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;font-size:.9rem;font-weight:500;color:#374151}.tag-list-item .tag-icon{width:1.4em;height:1.4em}.tag-list-item .tag-delete-btn{background:#e5e7eb;border:none;width:20px;height:20px;border-radius:50%;color:#6b7280;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:.25rem}.tag-list-item .tag-delete-btn:hover{background:#d1d5db;color:#374151}.tag-empty-msg{color:#9ca3af;font-size:.85rem;font-style:italic}.tag-templates-section{margin-bottom:1.25rem}.tag-templates{display:flex;flex-wrap:wrap;gap:.5rem}.template-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s ease}.template-btn:hover{border-color:#3b82f6;background:#eff6ff}.template-icon{font-size:1rem}.template-name{font-size:.85rem;font-weight:500;color:#374151}.tag-share-section{padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.tag-share-form{display:flex;gap:.5rem;margin-bottom:.75rem}.tag-share-form input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.share-code-display{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#ecfdf5;border-radius:6px;font-size:.85rem;color:#047857}.share-code-display .copy-btn{background:none;border:none;cursor:pointer;padding:0;font-size:1rem}#share-code-value{font-weight:600;font-family:monospace;letter-spacing:.05em}.tag-assign-modal-content{max-width:360px;width:90vw;position:relative}.tag-assign-modal-content .modal-header{display:flex;justify-content:center;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:1rem}.tag-assign-buttons{display:flex;gap:.75rem;margin-top:1rem}.tag-assign-buttons .secondary-btn{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:700;color:#6b7280;background:#f3f4f6;border:none;border-radius:12px;cursor:pointer;transition:all .15s ease}.tag-assign-buttons .secondary-btn:hover{background:#e5e7eb;color:#374151}.tag-assign-buttons .primary-btn{flex:1}.tag-assign-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;max-height:300px;overflow-y:auto}.tag-assign-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer}.tag-assign-item:hover{background:#f3f4f6}.tag-assign-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.tag-assign-item label{display:flex;align-items:center;gap:.35rem;cursor:pointer;flex:1}.tag-insights-modal-content{max-width:560px;width:95vw;max-height:80vh;overflow-y:auto;position:relative}.tag-insights-modal-content .modal-header{display:flex;justify-content:center;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:1rem;position:relative}.tag-insights-modal-content .modal-close-btn{position:absolute;top:0;right:0;width:auto;height:auto;background:none;border:none;border-bottom:none;font-size:1.75rem;font-weight:400;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1;text-transform:none;letter-spacing:normal;border-radius:0}.tag-insights-modal-content .modal-close-btn:hover{color:#374151;background:none}.tag-insights-content{display:flex;flex-direction:column;gap:1rem}.insight-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}.insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.insight-count{font-size:.8rem;color:#64748b}.insight-stats{display:flex;gap:1.5rem;margin-bottom:.75rem}.stat{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.stat-label{font-size:.75rem;color:#64748b}.insight-grades{display:flex;height:8px;border-radius:4px;overflow:hidden}.grade-bar{display:flex;align-items:center;justify-content:center;font-size:0;transition:width .3s ease}.grade-bar.grade-a{background:#10b981}.grade-bar.grade-b{background:#3b82f6}.grade-bar.grade-c{background:#f59e0b}.grade-bar.grade-d{background:#f97316}.grade-bar.grade-f{background:#ef4444}body.light-mode .tag-filter-bar{border-bottom-color:#e5e7eb}body.light-mode .tag-pill{border-color:#d1d5db}@media(prefers-color-scheme:dark){.tag-pill{background:#374151;color:#f3f4f6;border-color:#4b5563}.tag-pill:hover{background:#4b5563}.tag-pill-all{background:#312e81;color:#e0e7ff}.insight-card{background:#1e293b;border-color:#334155}.stat-value{color:#f1f5f9}}#screen-my-students{padding:1rem;max-width:800px;margin:0 auto}.my-students-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;text-align:center}.my-students-subtitle{font-size:.9rem;color:#64748b;margin:0 0 1rem;text-align:center}.student-stats-summary{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.student-stats-summary .stat-card{background:#fff;border-radius:12px;padding:1rem 1.5rem;text-align:center;box-shadow:0 2px 8px #00000014;min-width:100px}.student-stats-summary .stat-number{display:block;font-size:1.75rem;font-weight:700;color:#3b82f6}.student-stats-summary .stat-label{display:block;font-size:.8rem;color:#64748b;margin-top:.25rem}.my-students-list{display:flex;flex-direction:column;gap:.75rem}.loading-students{text-align:center;color:#64748b;padding:2rem}.no-students-msg{text-align:center;color:#64748b;padding:2rem;background:#f8fafc;border-radius:12px}.student-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #00000014;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.student-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.student-detail-stats{display:flex;justify-content:center;gap:1.5rem;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem}.student-detail-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.student-detail-stats .stat-value{font-size:1.25rem;font-weight:700;color:#1e293b}.student-detail-stats .stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase}.student-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;flex-shrink:0}.student-info{flex:1;min-width:0}.student-name{font-weight:600;color:#1e293b;font-size:1rem;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-meta{display:flex;gap:1rem;font-size:.85rem;color:#64748b}.student-meta span{display:flex;align-items:center;gap:.25rem}.student-tags{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;min-width:120px}.student-performance-tag{padding:.35rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.025em}.student-performance-tag.needs-practice{background:#ef4444}.student-performance-tag.improving{background:#f97316}.student-performance-tag.proficient{background:#3b82f6}.student-performance-tag.mastered{background:#22c55e}.student-tag-pill{color:#6b7280}.student-tag-pill:hover{color:#374151}.student-tag-pill.active{color:#111827;font-weight:700}#student-tag-pills{overflow:visible;padding-top:1rem;padding-right:1rem;justify-content:center}#student-tag-pills .tag-pill{position:relative}.tag-count-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;background:#1e293b;color:#fff;border-radius:9999px;font-size:.7rem;font-weight:800;box-shadow:0 2px 6px #0000004d;border:2px solid #f1f5f9;z-index:1}#student-tag-pills .tag-pill-all .tag-count-badge{background:#6366f1}.student-id{font-size:.75rem;color:#94a3b8;font-family:monospace}.student-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;width:80px;flex-shrink:0}.student-avg-score{font-size:1.25rem;font-weight:700;color:#1e293b}.student-completions{font-size:.8rem;color:#64748b}.student-last-active{font-size:.75rem;color:#94a3b8}.student-auto-tag{padding:.35rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.source-badges{display:flex;gap:.25rem;margin-top:.25rem}.source-badge{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.mult-badge{background:#dbeafe;color:#1d4ed8}.div-badge{background:#fef3c7;color:#b45309}.puzzle-badge{background:#f3e8ff;color:#7c3aed}.no-students,.loading-students{text-align:center;color:#64748b;padding:2rem;font-size:1rem}@media(max-width:600px){.student-stats-summary{flex-wrap:wrap}.student-stats-summary .stat-card{flex:1;min-width:80px;padding:.75rem 1rem}.student-card{flex-wrap:wrap}.student-tags{width:100%;margin-top:.5rem}}
