.home-dashboard{padding:20px 20px 100px;display:flex;flex-direction:column;gap:28px;animation:fadeIn .3s ease-out}.home-hero{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:20px;padding:35px 20px;text-align:center;color:#fff;box-shadow:0 10px 25px #6366f14d;position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-greeting{font-size:1.8rem;font-weight:800;margin:0 0 8px;position:relative;z-index:1}.home-prompt{font-size:1.1rem;opacity:.9;margin:0 0 20px;position:relative;z-index:1}.home-cta-btn{background:#fff;color:#4f46e5;border:none;padding:14px 32px;border-radius:30px;font-size:1.2rem;font-weight:800;cursor:pointer;box-shadow:0 4px 15px #0000001a;transition:all .2s ease;position:relative;z-index:1}.home-cta-btn:active{transform:scale(.95)}.home-streak-mini{margin-top:14px;font-size:.9rem;font-weight:600;color:#ffffffd9;background:#ffffff26;padding:6px 16px;border-radius:20px;display:inline-block;position:relative;z-index:1}.section-title{font-size:1.3rem;color:#f3f4f6;margin:0 0 16px;font-weight:700;display:flex;align-items:center;gap:8px}.quests-list{display:flex;flex-direction:column;gap:12px}.quest-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.quest-card.completed{background:#10b9811a;border-color:#10b9814d}.quest-checkbox{font-size:1.8rem;line-height:1}.quest-info{flex:1;display:flex;flex-direction:column;gap:8px}.quest-name{color:#f3f4f6;font-size:1.05rem;font-weight:600}.quest-card.completed .quest-name{color:#10b981;text-decoration:line-through;opacity:.8}.quest-progress{display:flex;align-items:center;gap:12px}.quest-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.quest-fill{height:100%;background:#10b981;border-radius:3px;transition:width .5s ease}.quest-card.completed .quest-fill{background:linear-gradient(90deg,#10b981,#34d399)}.quest-count{font-size:.85rem;color:#9ca3af;font-weight:500;min-width:30px}.quests-loading{color:#9ca3af;text-align:center;padding:20px;font-style:italic}.news-list{display:flex;flex-direction:column;gap:12px}.news-item{background:#ffffff0d;padding:16px;border-radius:12px;color:#e5e7eb;font-size:.95rem;line-height:1.5;border-left:4px solid #3b82f6}@media (max-width: 480px){.home-dashboard{padding:12px 10px 90px;gap:18px}.home-hero{padding:22px 14px;border-radius:16px}.home-greeting{font-size:1.35rem}.home-prompt{font-size:.92rem;margin-bottom:14px}.home-cta-btn{width:100%;font-size:1rem;padding:12px 20px}.home-streak-mini{font-size:.78rem;padding:4px 12px}.section-title{font-size:1.1rem}.quest-card{padding:12px;gap:10px}.quest-checkbox{font-size:1.4rem}.quest-name{font-size:.92rem}.news-item{padding:12px;font-size:.88rem}}.playlist-item{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:10px 14px;background:#1f293766;border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 12px #0000000d;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.playlist-item:hover{background:#ffffff0a;border-color:#ffffff1a;box-shadow:0 6px 16px #00000026;transform:translateY(-1px)}.playlist-item:active{transform:scale(.98) translateY(0)}.playlist-item.playing{background:#6366f114;border-color:#6366f14d;box-shadow:0 8px 24px #6366f126}.playlist-item.playing:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-gradient);border-radius:4px 0 0 4px}.playlist-item.dragging{opacity:.5;transform:scale(1.02);box-shadow:var(--shadow-lg)}.item-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:var(--text-muted);font-size:14px;cursor:grab;touch-action:none}.item-drag-handle:active{cursor:grabbing}.item-icon{width:32px;height:32px;border-radius:6px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.item-info{flex:1;min-width:0}.item-name{font-size:13px;font-weight:500;word-break:break-word;line-height:1.3}.item-name-input{background:var(--bg-secondary);border:1px solid var(--accent-start);border-radius:6px;padding:4px 8px;font-size:14px;font-weight:500;color:var(--text-primary);width:100%;outline:none}.item-meta{font-size:10px;color:var(--text-secondary);margin-top:1px;display:flex;gap:8px}.item-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.item-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.item-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.item-action-btn.delete:hover{background:#ef444426;color:var(--danger)}.delete-confirm{position:absolute;top:0;right:0;bottom:0;left:0;background:#ef44441f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;gap:12px;z-index:5;animation:fadeIn .15s ease}.delete-confirm-text{font-size:13px;font-weight:500}.delete-confirm-btn{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;transition:background var(--transition)}.delete-confirm-btn.yes{background:var(--danger);color:#fff}.delete-confirm-btn.no{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.playlist-item.zip-item{border-color:#f59e0b33}.playlist-item.zip-item:hover{background:#f59e0b14}.item-icon.zip{background:linear-gradient(135deg,#f59e0b,#ea580c)}.item-action-btn.extract{font-size:16px}.item-action-btn.extract:hover{background:#22c55e26;color:var(--success)}.item-action-btn.extract:disabled{opacity:.5;cursor:not-allowed;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.playlist-item.folder-item{border-color:#f59e0b26}.playlist-item.folder-item:hover{background:#f59e0b0f}.item-icon.folder{background:linear-gradient(135deg,#f59e0b,#d97706)}.item-folder-arrow{color:var(--text-muted);font-size:20px;font-weight:300;flex-shrink:0;margin-right:4px}.item-action-btn.move:hover{background:#3b82f626;color:#60a5fa}@media (max-width: 600px){.playlist-item{flex-wrap:nowrap;gap:8px;padding:8px 10px}.item-icon{width:32px;height:32px;font-size:16px}.item-info{flex:1;min-width:0}.item-name{font-size:13px;white-space:normal;word-break:break-word;line-height:1.3}.item-meta{font-size:11px}.item-action-btn{width:24px;height:24px;font-size:11px}.item-drag-handle{width:18px;font-size:12px}.item-actions{margin-left:auto}.playlist-item.folder-item{flex-wrap:nowrap}.playlist-item.folder-item .item-info{flex:1;min-width:0}.playlist-item.folder-item .item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.media-library-page{padding:8px 16px 16px}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 0 12px}.page-title{font-size:24px;font-weight:700;letter-spacing:-.02em;flex-shrink:0}.page-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.page-count{font-size:13px;color:var(--text-secondary);background:var(--bg-card);padding:4px 12px;border-radius:20px;border:1px solid var(--border-color)}.view-mode-toggle{display:flex;gap:4px;padding:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:16px}.view-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:9px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;transition:all .25s ease;cursor:pointer}.view-mode-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.view-mode-tab.active{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 8px #6366f14d}.view-mode-icon{font-size:15px}.create-folder-btn{padding:6px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;font-size:13px;color:var(--text-primary);transition:background var(--transition),box-shadow var(--transition)}.create-folder-btn:hover{background:var(--bg-hover);box-shadow:var(--shadow-glow)}.sort-toggle-btn{padding:6px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;font-size:14px;cursor:pointer;transition:background var(--transition),box-shadow var(--transition)}.sort-toggle-btn:hover{background:var(--bg-hover)}.sort-toggle-btn.active{background:#6366f126;border-color:#6366f166;box-shadow:0 0 8px #6366f133}.playlist-action-btn{padding:5px 10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-primary);transition:background var(--transition),box-shadow var(--transition)}.playlist-action-btn:hover{background:#6366f126;border-color:#6366f166;box-shadow:0 0 6px #6366f133}.playlist-action-btn.active{background:#6366f133;border-color:#6366f180;color:#818cf8;box-shadow:0 0 8px #6366f14d}.refresh-btn{padding:6px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;font-size:14px;cursor:pointer;transition:background var(--transition),transform var(--transition)}.refresh-btn:hover{background:var(--bg-hover)}.refresh-btn:active{transform:scale(.92) rotate(180deg)}.library-breadcrumb{display:flex;align-items:center;gap:4px;padding:4px 0 12px;font-size:13px;flex-wrap:wrap}.library-breadcrumb .breadcrumb-item{color:var(--text-secondary);padding:4px 8px;border-radius:6px;cursor:pointer;transition:background var(--transition),color var(--transition)}.library-breadcrumb .breadcrumb-item:hover{background:var(--bg-hover);color:var(--text-primary)}.library-breadcrumb .breadcrumb-item.active{color:var(--text-primary);font-weight:500;cursor:default}.library-breadcrumb .breadcrumb-item.active:hover{background:none}.library-breadcrumb .breadcrumb-separator{color:var(--text-muted);font-size:12px}.create-folder-bar{display:flex;gap:8px;padding:0 0 12px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.create-folder-input{flex:1;padding:10px 14px;background:var(--bg-card);border:1px solid var(--accent-start);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:14px}.create-folder-save{padding:10px 16px;background:var(--accent-gradient);color:#fff;border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;transition:box-shadow var(--transition)}.create-folder-save:hover{box-shadow:var(--shadow-glow)}.create-folder-cancel{padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-size:13px;font-weight:500}.library-file-list{display:flex;flex-direction:column;gap:10px}.library-file-item{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:background var(--transition),transform var(--transition),box-shadow var(--transition);animation:fadeSlideIn .2s ease}.library-file-item:hover{background:var(--bg-hover);box-shadow:var(--shadow-glow)}.library-file-item:active{transform:scale(.98)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.file-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.file-icon.folder{background:linear-gradient(135deg,#f59e0b,#d97706)}.file-icon.audio{background:var(--accent-gradient)}.file-icon.video{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.file-icon.document{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.file-icon.archive{background:linear-gradient(135deg,#f59e0b,#ea580c)}.file-info{flex:1;min-width:0}.file-name{font-size:13px;font-weight:500;word-break:break-word;line-height:1.3}.file-meta{font-size:10px;color:var(--text-secondary);margin-top:1px;display:flex;gap:8px}.folder-arrow{color:var(--text-muted);font-size:16px;flex-shrink:0}.file-actions-online{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.file-play-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-gradient);color:#fff;font-size:12px;transition:box-shadow var(--transition),transform var(--transition);cursor:pointer}.file-play-btn:hover{box-shadow:var(--shadow-glow);transform:scale(1.08)}.file-play-btn:active{transform:scale(.95)}.file-download-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff14;border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;transition:background var(--transition),transform var(--transition);cursor:pointer}.file-download-btn:hover{background:#ffffff26}.file-download-btn:active{transform:scale(.95)}.file-download-btn:disabled{opacity:.5;cursor:not-allowed}.file-download-btn.downloaded{background:#22c55e26;color:var(--success);border-color:#22c55e4d}.library-file-item.downloading{position:relative;overflow:hidden}.library-file-item.downloading:after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--accent-gradient);animation:downloadProgress 2s ease-in-out}@keyframes downloadProgress{0%{width:0%}to{width:100%}}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 32px;gap:12px}.library-empty-icon{font-size:48px;opacity:.4}.library-empty-text{font-size:14px;color:var(--text-secondary)}.library-empty-title{font-size:18px;font-weight:600;color:var(--text-primary)}.library-empty-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.5;max-width:280px}.library-cta{margin-top:8px;padding:10px 24px;background:var(--accent-gradient);color:#fff;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition)}.library-cta:hover{box-shadow:var(--shadow-glow)}.library-cta:active{transform:scale(.96)}.library-action-btn{padding:8px 16px;background:var(--accent-gradient);color:#fff;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition)}.library-action-btn:hover{box-shadow:var(--shadow-glow)}.move-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.move-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:400px;max-height:60vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:scaleIn .2s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.move-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);font-size:15px;font-weight:600}.move-modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-secondary);transition:background var(--transition)}.move-modal-close:hover{background:var(--bg-hover)}.move-modal-list{flex:1;overflow-y:auto;padding:8px}.move-modal-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border-radius:var(--border-radius-sm);font-size:14px;color:var(--text-primary);text-align:left;transition:background var(--transition);margin-bottom:2px}.move-modal-item:hover:not(:disabled){background:var(--bg-hover)}.move-modal-item:disabled{opacity:.5;cursor:not-allowed}.move-modal-item.current{background:#6366f114}.move-current-label{font-size:11px;color:var(--text-muted);margin-left:8px}.download-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:12px;font-size:13px;font-weight:500;z-index:200;animation:toastIn .3s ease,toastOut .3s ease 2.7s;box-shadow:var(--shadow-lg)}.download-toast.success{background:#22c55ef2;color:#fff}.download-toast.error{background:#ef4444f2;color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}@media (max-width: 600px){.library-file-item{flex-wrap:nowrap;gap:8px;padding:8px 10px}.file-icon{width:32px;height:32px;font-size:16px}.file-info{flex:1;min-width:0}.file-name{font-size:13px;white-space:normal;word-break:break-word;line-height:1.3}.file-meta{font-size:11px}.file-play-btn,.file-download-btn{width:26px;height:26px;font-size:11px}.file-actions-online{margin-left:auto}.library-file-list{gap:4px}.library-file-item:has(.folder-arrow){flex-wrap:nowrap}.library-file-item:has(.folder-arrow) .file-info{flex:1;min-width:0}.library-file-item:has(.folder-arrow) .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.speaking-page{padding:16px;max-width:900px;margin:0 auto;position:relative}.speaking-version{position:absolute;top:4px;left:4px;font-size:.6rem;color:#fff3;font-weight:600;letter-spacing:.5px;pointer-events:none}.speaking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.speaking-title{font-size:1.6rem;font-weight:700;margin:0}.speaking-welcome{text-align:center;padding:40px 20px}.welcome-icon{font-size:4rem;margin-bottom:16px;animation:pulse-mic 2s ease-in-out infinite}@keyframes pulse-mic{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.speaking-welcome h2{font-size:1.4rem;color:var(--text-primary);margin:0 0 8px}.speaking-welcome p{color:var(--text-muted);margin:0 0 24px;font-size:.95rem}.welcome-features{display:flex;justify-content:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}.feature-item{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-secondary);font-size:.85rem}.feature-icon{font-size:1.8rem}.generate-btn{padding:14px 32px;font-size:1.1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transition:all .3s ease;box-shadow:0 4px 15px #7c3aed66}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed80}.generate-btn:active{transform:translateY(0)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.welcome-modes{display:flex;flex-direction:column;gap:12px;align-items:center}.multi-btn{background:linear-gradient(135deg,#2563eb,#3b82f6)!important;box-shadow:0 4px 15px #2563eb66!important}.multi-btn:hover{box-shadow:0 6px 20px #2563eb80!important}.generate-btn-small{padding:8px 16px;font-size:.85rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transition:all .2s}.generate-btn-small:hover{filter:brightness(1.15)}.speaking-tags{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.tag-badge{padding:4px 14px;border-radius:20px;background:#7c3aed33;border:1px solid rgba(124,58,237,.4);color:#c084fc;font-size:.8rem;font-weight:600;letter-spacing:.03em}.stepper{display:flex;gap:4px;margin-bottom:24px;border-radius:12px;overflow:hidden;background:#ffffff08}.stepper-step{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border:none;background:#ffffff0a;color:var(--text-muted);cursor:pointer;transition:all .3s;font-size:.85rem}.stepper-step:hover{background:#ffffff14}.stepper-step.active{background:linear-gradient(135deg,#7c3aed4d,#a855f733);color:#fff;font-weight:600}.stepper-step.completed{background:#22c55e26;color:#4ade80}.step-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffff1a;font-size:.75rem;font-weight:700;flex-shrink:0}.stepper-step.active .step-num{background:#7c3aed99;color:#fff}.stepper-step.completed .step-num{background:#22c55e4d;color:#4ade80}.step-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.step-header h2{font-size:1.15rem;margin:0;color:var(--text-primary)}.timer{display:flex;align-items:center;gap:8px;flex-shrink:0}.timer-ring{position:relative;width:64px;height:64px}.timer-ring svg{transform:rotate(-90deg);width:100%;height:100%}.timer-bg{fill:none;stroke:#ffffff14;stroke-width:4}.timer-progress{fill:none;stroke:#a855f7;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.timer-low .timer-progress{stroke:#ef4444;animation:pulse-timer 1s ease-in-out infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.5}}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85rem;font-weight:700;font-family:Outfit,monospace;color:#fff}.timer-low .timer-text{color:#ef4444}.timer-reset{background:#ffffff14;border:none;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:.8rem;transition:background .2s}.timer-reset:hover{background:#ffffff26}.phase-section{margin-bottom:24px}.phase-title{font-size:.95rem;margin:0 0 12px;color:var(--text-secondary);font-weight:600}.questions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-column{display:flex;flex-direction:column;gap:10px}.question-card{padding:14px 16px;border-radius:12px;border-left:4px solid transparent;transition:transform .2s}.question-card:hover{transform:translate(4px)}.question-card.student-a{background:#3b82f61a;border-left-color:#3b82f6}.question-card.student-b{background:#f973161a;border-left-color:#f97316}.question-student-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;opacity:.7}.question-card.student-a .question-student-label{color:#60a5fa}.question-card.student-b .question-student-label{color:#fb923c}.question-text{font-size:.95rem;line-height:1.5;color:var(--text-primary)}.picture-display{text-align:center}.picture-title{font-size:1.1rem;margin:0 0 16px;color:var(--text-primary)}.picture-frame{background:#ffffff0d;border-radius:16px;padding:12px;margin-bottom:16px;display:inline-block;max-width:100%;box-shadow:0 4px 20px #0000004d}.picture-image{max-width:100%;max-height:50vh;border-radius:10px;display:block}.picture-instruction{color:var(--text-muted);font-size:.9rem;font-style:italic;margin:0}.picture-mini{text-align:center;margin-bottom:20px}.picture-image-small{max-width:200px;max-height:150px;border-radius:10px;opacity:.8;border:2px solid rgba(255,255,255,.1)}.no-picture{text-align:center;padding:40px;color:var(--text-muted)}.step-nav{display:flex;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.step-nav-btn{padding:10px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.step-nav-btn.prev{background:#ffffff14;color:var(--text-secondary)}.step-nav-btn.prev:hover{background:#ffffff1f}.step-nav-btn.next{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 2px 10px #7c3aed4d}.step-nav-btn.next:hover{transform:translateY(-1px);box-shadow:0 4px 15px #7c3aed66}.step-nav-btn.finish{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 2px 10px #10b9814d}.step-nav-btn.finish:hover{transform:translateY(-1px);box-shadow:0 4px 15px #10b98166}.speaking-loading{text-align:center;padding:60px 20px;color:var(--text-muted)}.loading-spinner{font-size:2rem;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.speaking-error{color:#ef4444;margin-top:12px;font-size:.85rem}@media (max-width: 600px){.speaking-page{padding:12px}.questions-grid{grid-template-columns:1fr}.stepper-step{flex-direction:column;gap:4px;padding:8px 4px;font-size:.7rem}.step-label{font-size:.65rem}.timer-ring{width:50px;height:50px}.timer-text{font-size:.7rem}.welcome-features{gap:16px}.step-header{flex-direction:column;gap:12px;align-items:stretch}.timer{justify-content:center}}.exam-room{height:calc(100vh - var(--bottom-nav-height, 56px));padding:16px 16px 80px;max-width:700px;margin:0 auto;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.room-header{text-align:center;margin-bottom:20px}.room-code-display{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}.room-code-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.room-code-value{font-size:1.5rem;font-weight:800;letter-spacing:.15em;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.room-tags{display:flex;gap:6px;justify-content:center;margin-bottom:10px}.room-tag{padding:3px 12px;border-radius:16px;background:#7c3aed26;border:1px solid rgba(124,58,237,.3);color:#c084fc;font-size:.75rem;font-weight:600}.room-players{display:flex;align-items:center;justify-content:center;gap:12px}.player-badge{padding:6px 14px;border-radius:10px;font-size:.85rem;font-weight:600}.player-badge.host{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa}.player-badge.guest{background:#f9731626;border:1px solid rgba(249,115,22,.3);color:#fb923c}.player-badge.me{box-shadow:0 0 0 2px #fff3}.role-label{font-size:.7rem;opacity:.7}.vs{color:var(--text-muted);font-size:.75rem;font-weight:700}.room-stepper{display:flex;gap:4px;margin-bottom:16px;justify-content:center}.room-step{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--text-muted);font-size:.75rem;font-weight:700;transition:all .3s}.room-step.active{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transform:scale(1.15);box-shadow:0 0 12px #7c3aed80}.room-step.done{background:#22c55e33;color:#4ade80}.room-step-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.room-step-label{font-size:1.1rem;margin:0;color:var(--text-primary)}.room-timer{flex-shrink:0}.room-timer-ring{position:relative;width:56px;height:56px}.room-timer-ring svg{transform:rotate(-90deg);width:100%;height:100%}.ring-bg{fill:none;stroke:#ffffff0f;stroke-width:4}.ring-progress{fill:none;stroke:#a855f7;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 2s linear}.timer-danger .ring-progress{stroke:#ef4444;animation:blink 1s infinite}@keyframes blink{50%{opacity:.4}}.ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:700;color:#fff}.timer-danger .ring-text{color:#ef4444}.room-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.room-waiting,.room-ready,.room-answering,.room-finished{text-align:center;padding:30px 20px}.waiting-icon,.ready-icon,.answer-icon,.finished-icon{font-size:3.5rem;margin-bottom:16px}.room-waiting h3,.room-ready h3,.room-answering h3,.room-finished h3{font-size:1.2rem;margin:0 0 16px;color:var(--text-primary)}.room-share-code{margin-bottom:20px}.room-share-code p{color:var(--text-muted);font-size:.85rem;margin:0 0 8px}.share-code-box{display:flex;align-items:center;justify-content:center;gap:10px}.share-code{font-size:2rem;font-weight:800;letter-spacing:.2em;color:#a855f7;background:#7c3aed1a;padding:10px 24px;border-radius:12px;border:2px dashed rgba(124,58,237,.4)}.copy-btn{padding:10px 16px;border:none;border-radius:8px;background:#ffffff1a;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:background .2s}.copy-btn:hover{background:#ffffff26}.ready-players{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.ready-player{font-size:1rem;font-weight:600;color:var(--text-primary)}.ready-vs{font-size:.8rem;color:var(--text-muted);font-weight:700}.waiting-msg{color:var(--text-muted);font-style:italic;animation:fadeInOut 2s infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.room-answering{position:relative}.answer-hint{color:var(--text-muted);font-size:.9rem;margin:0 0 24px}.answer-animation{position:relative;display:flex;align-items:center;justify-content:center;height:80px}.pulse-ring{position:absolute;width:60px;height:60px;border-radius:50%;border:2px solid rgba(124,58,237,.4);animation:pulseOut 2s ease-out infinite}.pulse-ring.delay{animation-delay:1s}@keyframes pulseOut{0%{transform:scale(.5);opacity:1}to{transform:scale(2.5);opacity:0}}.room-reading{width:100%;max-width:600px}.reading-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.reading-icon{font-size:1.5rem}.reading-header h3{font-size:1.1rem;margin:0;color:var(--text-primary)}.reading-questions{display:flex;flex-direction:column;gap:12px}.reading-question-card{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:14px;background:#7c3aed1a;border-left:4px solid #a855f7;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.q-number{width:28px;height:28px;border-radius:50%;background:#7c3aed4d;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#c084fc;flex-shrink:0}.q-text{font-size:1.05rem;line-height:1.5;color:var(--text-primary)}.room-discussing{text-align:center;width:100%}.room-discussing h3{font-size:1.1rem;margin:0 0 16px;color:var(--text-primary)}.discuss-picture h4{font-size:1rem;margin:0 0 12px;color:var(--text-secondary)}.discuss-frame{background:#ffffff0d;border-radius:16px;padding:10px;display:inline-block;margin-bottom:12px;box-shadow:0 4px 20px #0000004d}.discuss-frame img{max-width:100%;max-height:45vh;border-radius:10px}.discuss-hint{color:var(--text-muted);font-style:italic;font-size:.85rem}.room-finished p{color:var(--text-muted);font-size:.9rem}.room-footer{display:flex;flex-direction:column;gap:10px;padding:16px 0;margin-top:auto;border-top:1px solid rgba(255,255,255,.06)}.room-info-text{text-align:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.room-btn{padding:12px 24px;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;width:100%}.room-btn.primary{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 3px 12px #7c3aed4d}.room-btn.primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px #7c3aed66}.room-btn.primary.pulse{animation:btnPulse 2s ease-in-out infinite}@keyframes btnPulse{0%,to{box-shadow:0 3px 12px #7c3aed4d}50%{box-shadow:0 3px 20px #7c3aed99}}.room-btn.secondary{background:#ffffff0f;color:var(--text-muted)}.room-btn.secondary:hover{background:#ffffff1a}.room-btn.danger{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.room-btn.danger:hover{background:#ef444440}.room-loading,.room-error-page{text-align:center;padding:60px 20px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-icon,.error-icon{font-size:2.5rem;margin-bottom:12px}.speaking-lobby{padding:16px;max-width:700px;margin:0 auto}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.lobby-title{font-size:1.3rem;margin:0}.lobby-back{padding:8px 14px;border:none;border-radius:8px;background:#ffffff14;color:var(--text-secondary);cursor:pointer;font-size:.85rem}.lobby-back:hover{background:#ffffff1f}.lobby-actions{display:flex;gap:10px;margin-bottom:24px}.lobby-create{flex:1}.lobby-create-form{display:flex;gap:8px}.lobby-input{flex:1;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:var(--text-primary);font-size:.9rem}.lobby-input:focus{outline:none;border-color:#a855f7}.lobby-create-btn{padding:10px 18px;border:none;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.lobby-create-btn:hover{filter:brightness(1.1)}.lobby-create-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-join-section{margin-bottom:24px}.lobby-join-form{display:flex;gap:8px}.lobby-join-btn{padding:10px 18px;border:none;border-radius:10px;background:#3b82f633;border:1px solid rgba(59,130,246,.3);color:#60a5fa;font-weight:600;cursor:pointer;white-space:nowrap}.lobby-join-btn:hover{background:#3b82f64d}.lobby-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-muted);font-size:.8rem}.lobby-divider:before,.lobby-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.lobby-rooms-title{font-size:.9rem;color:var(--text-muted);margin:0 0 12px}.lobby-room-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);margin-bottom:8px;transition:background .2s}.lobby-room-card:hover{background:#ffffff12}.lobby-room-info{display:flex;flex-direction:column;gap:4px}.lobby-room-code{font-weight:700;letter-spacing:.1em;color:#a855f7}.lobby-room-host{font-size:.8rem;color:var(--text-muted)}.lobby-room-status{font-size:.75rem;padding:3px 10px;border-radius:12px}.lobby-room-status.open{background:#22c55e26;color:#4ade80}.lobby-room-status.full{background:#f9731626;color:#fb923c}.lobby-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.9rem}.lobby-error{color:#ef4444;font-size:.85rem;margin-top:8px}.difficulty-selector{margin-top:12px;padding:14px 16px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.diff-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.diff-label{font-size:.85rem;color:var(--text-muted)}.diff-value{font-size:1rem;font-weight:700;color:#a855f7}.diff-level{font-size:.75rem;margin-left:auto;padding:2px 10px;border-radius:10px;background:#ffffff0f;color:var(--text-secondary)}.diff-slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:linear-gradient(90deg,#22c55e,#eab308 40%,#f97316,#ef4444);outline:none;cursor:pointer}.diff-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 6px #0000004d;cursor:pointer}.diff-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 6px #0000004d;cursor:pointer;border:none}.diff-scale{display:flex;justify-content:space-between;margin-top:4px;font-size:.7rem;color:var(--text-muted)}.diff-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:700;background:#a855f726;color:#c084fc}.discuss-title{font-size:1rem;margin:0 0 16px;color:var(--text-secondary)}.pictures-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px auto;max-width:620px}.picture-card{background:#ffffff0f;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px solid rgba(255,255,255,.08);transition:all .25s}.picture-card:hover{background:#ffffff1a;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.picture-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.picture-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);line-height:1.3}.pictures-grid.mini{grid-template-columns:repeat(5,1fr);gap:8px;max-width:500px;margin:8px auto 12px}.picture-card.mini{padding:6px;border-radius:10px}.picture-card.mini img{border-radius:7px}@media (max-width: 600px){.room-players{flex-direction:column;gap:6px}.vs{display:none}.lobby-create-form,.lobby-join-form{flex-direction:column}.ready-players{flex-direction:column;gap:8px}}.rec-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:700;background:#ffffff14;color:var(--text-muted)}.rec-badge.active{background:#ef444433;color:#ef4444;animation:recPulse 1.5s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1}50%{opacity:.5}}.rec-toggle{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:12px 0;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .2s;justify-content:center}.rec-toggle:hover{background:#ffffff12}.rec-switch{width:44px;height:24px;border-radius:12px;background:#ffffff26;position:relative;transition:background .3s}.rec-switch.on{background:#ef4444}.rec-switch-thumb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .3s;box-shadow:0 1px 4px #0000004d}.rec-switch.on .rec-switch-thumb{transform:translate(20px)}.rec-toggle-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.rec-status-guest{text-align:center;padding:10px 16px;margin:8px 0;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);font-size:.85rem;color:var(--text-muted)}.mic-error{padding:10px 16px;margin-bottom:12px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5;font-size:.85rem;text-align:center}.recordings-list{width:100%;max-width:400px;margin:16px auto 0;text-align:left}.recordings-list h4{font-size:.95rem;margin:0 0 10px;color:var(--text-primary)}.recording-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);margin-bottom:6px}.recording-step{font-size:.75rem;font-weight:700;color:#a855f7;background:#a855f71f;padding:2px 8px;border-radius:6px;white-space:nowrap}.recording-name{flex:1;font-size:.85rem;color:var(--text-secondary)}.recording-play{font-size:.8rem;color:#60a5fa;text-decoration:none;padding:4px 10px;border-radius:6px;background:#3b82f61a;transition:background .2s;white-space:nowrap}.recording-play:hover{background:#3b82f633}.jitsi-float{position:fixed;z-index:999;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1);background:#111}.jitsi-float-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:#ffffff0f;cursor:grab;-webkit-user-select:none;user-select:none;font-size:.75rem;color:#ffffff80}.jitsi-float-bar:active{cursor:grabbing}.jitsi-float-bar button{background:none;border:none;color:#fff6;cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:4px}.jitsi-float-bar button:hover{background:#ffffff1a;color:#fff}.jitsi-iframe{width:400px;height:280px;border:none;display:block}.jitsi-float-min{position:fixed!important;bottom:0!important;right:0!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none;opacity:.01}.jitsi-show-btn{position:fixed;top:70px;right:12px;z-index:999;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#141428e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006;transition:all .2s}.jitsi-show-btn:hover{transform:scale(1.1);background:#7c3aed66}.voice-pill{position:fixed;bottom:calc(var(--bottom-nav-height, 56px) + 12px);left:50%;transform:translate(-50%);width:min(460px,calc(100% - 24px));height:56px;display:flex;align-items:center;padding:0 10px 0 16px;gap:10px;background:#0c0c18eb;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0a inset;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;transition:border-color .3s,box-shadow .3s}.voice-pill.connected{border-color:#22c55e33;box-shadow:0 8px 32px #00000080,0 0 20px #22c55e0f}.voice-pill.error{border-color:#ef444440}.vp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#6b7280;transition:background .3s,box-shadow .3s}.vp-dot.connected{background:#22c55e;box-shadow:0 0 8px #22c55e99}.vp-dot.loading{background:#eab308;animation:dotPulse 1.4s ease-in-out infinite}.vp-dot.error,.vp-dot.disconnected{background:#ef4444}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.vp-timer{font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;font-family:SF Mono,Fira Code,monospace;color:#ffffff80;background:#ffffff0f;padding:3px 8px;border-radius:8px;letter-spacing:.5px;flex-shrink:0}.vp-status{font-size:.78rem;font-weight:600;color:#ffffff73;white-space:nowrap}.vp-error{color:#fca5a5}.vp-partner{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;background:#ffffff0a;border-radius:16px;flex-shrink:0;max-width:160px}.vp-avatar{font-size:.9rem;line-height:1}.vp-name{font-size:.75rem;font-weight:600;color:#ffffffbf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.vp-mic-icon{font-size:.7rem;flex-shrink:0}.vp-mic-icon.on{filter:hue-rotate(0deg)}.vp-mic-icon.off{opacity:.6}.vp-spacer{flex:1;min-width:4px}.vp-mute{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s;box-shadow:0 4px 14px #0000004d}.vp-mute svg{width:20px;height:20px}.vp-mute.on{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 18px #22c55e59}.vp-mute.on:hover{transform:scale(1.08);box-shadow:0 6px 22px #22c55e73}.vp-mute.off{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 18px #ef444459}.vp-mute.off:hover{transform:scale(1.08);box-shadow:0 6px 22px #ef444473}.vp-mute:active{transform:scale(.95)}.vp-expand{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffff80;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.vp-expand:hover{background:#ffffff1f;color:#fff;transform:scale(1.06)}.exam-room .room-footer{padding-bottom:90px}.bot-audio-bubble{background:#6366f11f;border:1px solid rgba(99,102,241,.25);border-radius:16px;padding:14px 16px;margin:10px 0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s ease}.bot-audio-bubble.bot-speaking{border-color:#6366f180;box-shadow:0 0 20px #6366f126,0 4px 16px #0003}.bot-audio-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.bot-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;position:relative}.bot-avatar:after{content:"";position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #1a1040}.bot-name{font-weight:600;font-size:.9rem;color:#c4b5fd}.bot-speaking-indicator{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:.78rem;color:#ffffff80}.bot-speaking-indicator.active{color:#a78bfa}.bot-wave{display:flex;align-items:flex-end;gap:2px;height:16px}.bot-wave-bar{width:3px;border-radius:2px;background:#a78bfa;animation:bot-wave-anim .6s ease-in-out infinite}.bot-wave-bar:nth-child(1){height:6px;animation-delay:0s}.bot-wave-bar:nth-child(2){height:10px;animation-delay:.1s}.bot-wave-bar:nth-child(3){height:14px;animation-delay:.2s}.bot-wave-bar:nth-child(4){height:8px;animation-delay:.3s}.bot-wave-bar:nth-child(5){height:12px;animation-delay:.15s}@keyframes bot-wave-anim{0%,to{transform:scaleY(.4);opacity:.5}50%{transform:scaleY(1);opacity:1}}.bot-wave-bar.paused{animation:none;opacity:.3;transform:scaleY(.3)}.bot-progress-wrap{margin-bottom:8px}.bot-progress-track{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.bot-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a78bfa);border-radius:2px;transition:width .3s linear}.bot-progress-time{display:flex;justify-content:space-between;font-size:.68rem;color:#ffffff4d;margin-top:3px}.bot-transcript{font-size:.85rem;color:#ffffffb3;line-height:1.5;padding:8px 12px;background:#ffffff0a;border-radius:10px;border-left:3px solid rgba(99,102,241,.4);font-style:italic}.bot-waiting{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#fff6;padding:6px 0}.bot-waiting-dots{display:flex;gap:4px}.bot-waiting-dots span{width:6px;height:6px;border-radius:50%;background:#a78bfa;animation:bot-dot-bounce 1.2s ease-in-out infinite}.bot-waiting-dots span:nth-child(2){animation-delay:.15s}.bot-waiting-dots span:nth-child(3){animation-delay:.3s}@keyframes bot-dot-bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.bot-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;padding:2px 8px;border-radius:10px;background:#6366f126;color:#a78bfa;font-weight:600}.bot-online-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;font-size:.68rem;padding:3px 8px;border-radius:10px;background:#22c55e26;color:#4ade80;font-weight:600;z-index:2}.bot-online-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:bot-pulse 2s ease-in-out infinite}@keyframes bot-pulse{0%,to{opacity:.5}50%{opacity:1}}.bot-audio-bubble.bot-idle{border-color:#22c55e33}.bot-speaking-indicator.idle{color:#4ade80}.bot-transcript-idle{color:#fff6;font-style:normal;border-left-color:#22c55e4d}@media (max-width: 480px){.bot-audio-bubble{padding:10px 12px}.bot-avatar{width:30px;height:30px;font-size:.9rem}.bot-name{font-size:.82rem}.bot-transcript{font-size:.78rem;padding:6px 10px}.bot-online-badge{font-size:.62rem;padding:2px 6px}}.grade-panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;margin-top:20px}.gp-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.gp-icon{font-size:1.3rem}.gp-title{font-size:1rem;font-weight:700;color:#fff;flex:1}.gp-teacher-badge{font-size:.8rem;font-weight:600;color:#fbbf24;background:#fbbf241a;padding:4px 12px;border-radius:16px;border:1px solid rgba(251,191,36,.2)}.gp-students-list{display:flex;flex-direction:column;gap:12px}.gp-student-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px}.gp-student-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.gp-student-avatar{font-size:1.2rem}.gp-student-name{font-size:1rem;font-weight:700;color:#fff}.gp-student-grades{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.gp-mini-grade{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;background:#fbbf240f;border-radius:8px;border-left:3px solid #fbbf24}.gp-mini-score{font-size:.95rem;font-weight:700;color:#fbbf24}.gp-mini-teacher{font-size:.8rem;color:#ffffff80}.gp-mini-comment{font-size:.75rem;color:#fff6;font-style:italic;width:100%}.gp-grade-input{display:flex;flex-direction:column;gap:8px}.gp-score-row{display:flex;align-items:center;gap:10px}.gp-score-row label{font-size:.8rem;color:#ffffff80;font-weight:600}.score-input-group{display:flex;align-items:center;gap:6px}.score-input-group input{width:60px;text-align:center;font-weight:700;padding:6px 8px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.9rem;outline:none}.score-input-group input:focus{border-color:#fbbf24;box-shadow:0 0 8px #fbbf2426}.score-input-group span{color:#fff6;font-weight:700}.gp-grade-input textarea{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.85rem;resize:none;outline:none}.gp-grade-input textarea:focus{border-color:#fbbf24;box-shadow:0 0 8px #fbbf2426}.gp-grade-input textarea::placeholder{color:#ffffff40}.gp-submit{padding:8px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.gp-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.gp-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.practice-hub{min-height:100%;background:linear-gradient(135deg,#0f0c29,#1a1040,#24243e);color:#e0e0e0;padding:20px 16px 100px}.hub-header{text-align:center;margin-bottom:24px}.hub-title{font-size:1.5rem;font-weight:800;margin:0 0 6px}.gradient-text{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hub-subtitle{color:#ffffff80;margin:0;font-size:.9rem}.hub-grid{display:flex;flex-direction:column;gap:14px;max-width:500px;margin:0 auto}.hub-section-divider{max-width:500px;margin:28px auto 14px;display:flex;align-items:center;gap:12px}.hub-section-divider:before,.hub-section-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.hub-section-label{font-size:.85rem;color:#fff6;font-weight:600;white-space:nowrap}.hub-grid-faded{opacity:.55;transition:opacity .3s ease}.hub-grid-faded:hover{opacity:.85}.hub-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;text-align:left;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.hub-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent);border-radius:4px 0 0 4px}.hub-card:not(.coming-soon):hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 24px #0000004d,0 0 0 1px var(--accent);background:#ffffff14}.hub-card:not(.coming-soon):active{transform:translateY(0)}.hub-card.coming-soon{opacity:.5;cursor:not-allowed}.hub-card-icon{font-size:2rem;margin-bottom:8px}.hub-card-title{font-size:1.15rem;font-weight:700;color:#fff;margin:0 0 6px}.hub-card-desc{font-size:.85rem;color:#fff9;margin:0 0 12px;line-height:1.4}.hub-card-tags{display:flex;gap:6px;flex-wrap:wrap}.hub-tag{font-size:.7rem;padding:3px 8px;border-radius:10px;background:#ffffff14;color:#fff9}.hub-coming-soon{position:absolute;top:12px;right:12px;font-size:.7rem;color:#fbbf24;background:#fbbf2426;padding:3px 10px;border-radius:10px;font-weight:600}@media (max-width: 480px){.practice-hub{padding:14px 10px 90px}.hub-title{font-size:1.25rem}.hub-subtitle{font-size:.82rem}.hub-card{padding:14px}.hub-card-icon{font-size:1.6rem;margin-bottom:4px}.hub-card-title{font-size:1rem}.hub-card-desc{font-size:.78rem;margin-bottom:8px}.hub-tag{font-size:.65rem;padding:2px 6px}.hub-coming-soon{font-size:.62rem;top:8px;right:8px}}.debate-room{min-height:100%;background:linear-gradient(135deg,#0f0c29,#1a1040,#24243e);color:#e0e0e0;padding:16px 16px 140px}.debate-header{text-align:center;margin-bottom:16px}.debate-topic-display{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.debate-label{font-size:1.1rem;font-weight:700;color:#fbbf24}.debate-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.debate-diff{font-size:.8rem;background:#fbbf2433;color:#fbbf24;padding:2px 8px;border-radius:10px}.debate-sides{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.side-badge{font-size:.85rem;padding:5px 12px;border-radius:20px;font-weight:600}.side-badge.for{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.side-badge.against{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.side-badge.me{box-shadow:0 0 12px #fbbf244d;border-color:#fbbf24}.vs-text{font-size:.75rem;color:#fff6;font-weight:700}.debate-topic-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px;text-align:center;margin-bottom:16px}.topic-category{font-size:.75rem;color:#fbbf24;text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px}.topic-text{font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.4;font-style:italic}.topic-your-side{font-size:.9rem;color:#ffffffb3}.side-tag{font-weight:700;padding:2px 10px;border-radius:10px}.side-tag.for{background:#22c55e33;color:#4ade80}.side-tag.against{background:#ef444433;color:#f87171}.debate-stepper{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.debate-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;transition:all .3s}.debate-step.active{opacity:1}.debate-step.done{opacity:.7}.debate-step-dot{width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:all .3s}.debate-step.active .debate-step-dot{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;box-shadow:0 0 16px #f59e0b66}.debate-step.done .debate-step-dot{background:#22c55e4d;color:#4ade80}.debate-step-label{font-size:.65rem;color:#ffffff80}.debate-step.active .debate-step-label{color:#fbbf24;font-weight:600}.debate-step-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.debate-step-label-text{font-size:1rem;font-weight:600;color:#fff;margin:0}.debate-timer{flex-shrink:0}.debate-timer-ring{width:56px;height:56px;position:relative}.debate-timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.debate-timer-ring .ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4}.debate-timer-ring .ring-progress{fill:none;stroke:#fbbf24;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.debate-timer.timer-danger .ring-progress{stroke:#ef4444}.debate-timer-ring .ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}.debate-timer.timer-danger .ring-text{color:#ef4444;animation:pulse-text 1s infinite}.debate-content{min-height:200px}.debate-waiting,.debate-ready{text-align:center;padding:30px 0}.debate-waiting .waiting-icon,.debate-ready .ready-icon{font-size:3rem;margin-bottom:12px}.debate-waiting h3,.debate-ready h3{margin:0 0 16px;color:#fff}.share-code-box{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#fbbf24;background:#fbbf241a;padding:8px 20px;border-radius:12px}.copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:.85rem}.copy-btn:active{background:#fff3}.debate-waiting-actions,.debate-ready-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-width:300px;margin-left:auto;margin-right:auto}.debate-active{text-align:center;padding:24px 0}.debate-prep,.debate-speaking,.debate-listening{animation:fadeIn .3s ease}.prep-icon,.speaking-icon,.listening-icon{font-size:3rem;margin-bottom:12px}.debate-active h3{font-size:1.1rem;color:#fff;margin:0 0 12px}.debate-active p{color:#fff9;margin:0}.speaking-animation{position:relative;width:80px;height:80px;margin:20px auto}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #4ade80;animation:pulse-expand 2s infinite}.listening-hint{font-style:italic;margin-top:8px!important}.debate-finished{text-align:center;padding:30px 0}.finished-icon{font-size:3rem;margin-bottom:12px}.debate-finished h3{color:#fff;margin:0 0 12px}.finished-summary{background:#ffffff0f;border-radius:12px;padding:16px;margin-top:16px}.finished-summary p{margin:4px 0;color:#ffffffb3}.phrases-panel{margin-top:16px;background:#ffffff0a;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.phrases-toggle{width:100%;background:none;border:none;color:#fbbf24;padding:12px 16px;font-size:.9rem;font-weight:600;cursor:pointer;text-align:left}.phrases-list{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}.phrase-item{font-size:.85rem;color:#ffffffb3;background:#ffffff0d;padding:8px 12px;border-radius:8px;font-style:italic;border-left:3px solid rgba(251,191,36,.4)}.debate-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.debate-info-text{text-align:center;color:#ffffff80;font-size:.85rem}.debate-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.debate-btn.primary{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.debate-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.debate-btn.primary.pulse{animation:btn-pulse 2s infinite}@keyframes btn-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 12px #f59e0b00}}.debate-btn.secondary{background:#ffffff14;color:#e0e0e0}.debate-btn.secondary:hover{background:#ffffff24}.debate-btn.danger{background:#ef444426;color:#f87171}.debate-btn.danger:hover{background:#ef444440}.debate-error-page,.debate-loading{text-align:center;padding:60px 20px}.debate-error-page .error-icon,.debate-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.debate-room{padding:12px}.topic-text{font-size:1rem}.debate-sides{flex-direction:column;gap:6px}.side-badge{font-size:.8rem}}.det-room{min-height:100%;background:linear-gradient(135deg,#0a192f,#112240,#1a365d);color:#e0e0e0;padding:16px 16px 140px}.det-header{text-align:center;margin-bottom:16px}.det-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.det-label{font-size:1.1rem;font-weight:700;color:#64ffda}.det-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.det-diff{font-size:.8rem;background:#64ffda26;color:#64ffda;padding:2px 8px;border-radius:10px}.det-scoreboard{display:flex;align-items:center;justify-content:center;gap:16px}.det-player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:8px 20px;border-radius:12px;min-width:100px;border:1px solid rgba(255,255,255,.08);transition:all .3s}.det-player.leading{border-color:#64ffda;box-shadow:0 0 16px #64ffda26}.player-name{font-size:.85rem;color:#ffffffb3}.player-score{font-size:1.3rem;font-weight:700;color:#fbbf24}.det-vs{font-size:.8rem;font-weight:700;color:#ffffff4d}.det-round-progress{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.round-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#ffffff1a;color:#fff6;border:2px solid transparent;transition:all .3s}.round-dot.current{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:#a78bfa;box-shadow:0 0 16px #8b5cf666;animation:round-pulse 2s infinite}.round-dot.correct{background:#22c55e40;color:#4ade80;border-color:#22c55e80}.round-dot.timeout{background:#ef444426;color:#f87171;border-color:#ef44444d}@keyframes round-pulse{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 8px #8b5cf600}}.det-step-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.det-role-badge-area{display:flex;flex-direction:column;gap:4px}.det-role-badge{display:inline-block;font-size:.9rem;font-weight:700;padding:6px 16px;border-radius:20px}.det-role-badge.describer{background:linear-gradient(135deg,#fb923c33,#fbbf2433);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.det-role-badge.guesser{background:linear-gradient(135deg,#6366f133,#8b5cf633);color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.det-round-label{font-size:.75rem;color:#ffffff80}.det-timer{flex-shrink:0}.det-timer-ring{width:56px;height:56px;position:relative}.det-timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.det-timer-ring .ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4}.det-timer-ring .ring-progress{fill:none;stroke:#64ffda;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.det-timer.timer-danger .ring-progress{stroke:#ef4444}.det-timer-ring .ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}.det-timer.timer-danger .ring-text{color:#ef4444;animation:pulse-text 1s infinite}.det-content{min-height:200px}.det-waiting,.det-ready{text-align:center;padding:30px 0}.det-waiting .waiting-icon,.det-ready .ready-icon{font-size:3rem;margin-bottom:12px}.det-waiting h3,.det-ready h3{margin:0 0 16px;color:#fff}.det-share-code{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.det-share-code .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#64ffda;background:#64ffda1a;padding:8px 20px;border-radius:12px}.det-share-code .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:.85rem}.det-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.det-rules p{margin:0 0 8px;font-size:.9rem}.det-rules ul{margin:0;padding-left:20px}.det-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.det-describer-view{animation:fadeIn .3s ease}.det-picture-card{background:#ffffff0f;border:2px solid rgba(251,191,36,.3);border-radius:16px;padding:16px;text-align:center;margin-bottom:16px;position:relative;overflow:hidden}.det-picture-card:before{content:"🤫 CHỈ BẠN THẤY";position:absolute;top:8px;right:8px;font-size:.65rem;background:#ef44444d;color:#fca5a5;padding:2px 8px;border-radius:8px;font-weight:600}.det-picture-img{width:100%;max-width:280px;height:auto;border-radius:12px;margin-bottom:12px;box-shadow:0 4px 20px #0006}.det-picture-label{font-size:1.3rem;font-weight:700;color:#fbbf24;margin-bottom:4px}.det-picture-category{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em}.det-hint{margin-top:8px;font-size:.85rem;color:#64ffdacc;font-style:italic}.det-describer-rules{text-align:center;margin-bottom:16px}.det-describer-rules p{margin:4px 0;font-size:.9rem;color:#ffffffb3}.rule-warn{color:#fca5a5!important;font-weight:600}.det-guesser-view{animation:fadeIn .3s ease}.det-mystery-card{background:#6366f11a;border:2px dashed rgba(139,92,246,.4);border-radius:16px;padding:30px 20px;text-align:center;margin-bottom:16px}.mystery-icon{font-size:4rem;margin-bottom:12px;animation:mystery-bounce 2s infinite ease-in-out}@keyframes mystery-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mystery-category{font-size:1rem;color:#a78bfa;margin-bottom:8px}.mystery-hint{font-size:.85rem;color:#ffffff80;margin:0}.det-guess-form{display:flex;gap:8px;margin-bottom:12px}.det-guess-input{flex:1;padding:12px 16px;border:2px solid rgba(139,92,246,.3);border-radius:12px;background:#ffffff0f;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.det-guess-input:focus{border-color:#a78bfa;box-shadow:0 0 12px #8b5cf633}.det-guess-input::placeholder{color:#ffffff4d}.det-guess-feedback{padding:12px 16px;border-radius:12px;font-size:.95rem;font-weight:600;text-align:center;margin-bottom:12px;animation:fadeIn .3s ease}.det-guess-feedback.correct{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.det-guess-feedback.wrong{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.det-guess-history{background:#ffffff0a;border-radius:12px;padding:12px;margin-top:12px}.guess-history-title{font-size:.8rem;color:#ffffff80;margin-bottom:8px;font-weight:600}.guess-entry{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:8px;font-size:.85rem;margin-bottom:4px}.guess-entry.correct{background:#22c55e1a;color:#4ade80}.guess-entry.wrong{background:#ef44440f;color:#fff9}.guess-time{font-size:.75rem;color:#fff6}.det-round-result{text-align:center;padding:24px 0;animation:fadeIn .4s ease}.result-icon{font-size:3rem;margin-bottom:12px}.det-round-result h3{margin:0 0 16px;color:#fff;font-size:1.2rem}.result-picture{margin-bottom:16px}.result-img{width:200px;height:auto;border-radius:12px;box-shadow:0 4px 20px #0006;margin-bottom:8px}.result-label{font-size:1.2rem;font-weight:700;color:#64ffda}.det-finished{text-align:center;padding:24px 0}.det-finished .finished-icon{font-size:3rem;margin-bottom:12px}.det-finished h3{margin:0 0 16px;color:#fff;font-size:1.3rem}.det-final-score{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.final-player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:16px 24px;border-radius:16px;min-width:100px}.final-name{font-size:.9rem;color:#ffffffb3;margin-bottom:4px}.final-stars{font-size:1.6rem;font-weight:700;color:#fbbf24}.final-vs{font-size:.9rem;font-weight:700;color:#ffffff4d}.det-round-history{display:flex;flex-direction:column;gap:8px;margin-top:16px}.history-round{display:flex;align-items:center;gap:12px;background:#ffffff0d;padding:10px 14px;border-radius:12px}.history-img{width:48px;height:48px;border-radius:8px;object-fit:cover}.history-info{flex:1;display:flex;flex-direction:column}.history-label{font-size:.9rem;font-weight:600;color:#fff}.history-meta{font-size:.75rem;color:#fff6}.history-result{font-size:.85rem;font-weight:700}.history-result.guessed{color:#4ade80}.history-result.timeout{color:#f87171}.det-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.det-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.det-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.det-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.det-btn.primary.pulse{animation:det-pulse 2s infinite}@keyframes det-pulse{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 12px #6366f100}}.det-btn.secondary{background:#ffffff14;color:#e0e0e0}.det-btn.secondary:hover{background:#ffffff24}.det-btn.danger{background:#ef444426;color:#f87171}.det-btn.danger:hover{background:#ef444440}.det-btn:disabled{opacity:.5;cursor:not-allowed}.det-error-page,.det-loading{text-align:center;padding:60px 20px}.det-error-page .error-icon,.det-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.det-room{padding:12px}.det-picture-img{max-width:220px}.det-scoreboard{gap:10px}.det-player{padding:6px 14px;min-width:80px}}.story-room{min-height:100%;background:linear-gradient(135deg,#064e3b,#065f46 40%,#047857);color:#e0e0e0;padding:16px 16px 140px}.story-header{text-align:center;margin-bottom:16px}.story-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.story-label{font-size:1.1rem;font-weight:700;color:#6ee7b7}.story-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.story-diff{font-size:.8rem;background:#6ee7b726;color:#6ee7b7;padding:2px 8px;border-radius:10px}.story-theme-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px}.theme-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#6ee7b7;margin-bottom:6px}.theme-text{font-size:1.15rem;font-weight:700;color:#fff;margin:0;font-style:italic;line-height:1.4}.story-players{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding:4px 0}.story-player{display:flex;align-items:center;gap:8px;background:#ffffff0f;padding:8px 14px;border-radius:12px;flex-shrink:0;border:1px solid rgba(255,255,255,.08);transition:all .3s}.story-player.speaking{background:linear-gradient(135deg,#6ee7b726,#34d39926);border-color:#6ee7b7;box-shadow:0 0 16px #6ee7b733}.story-player.me{border-color:#fbbf2466}.story-player.empty{opacity:.4;border-style:dashed}.player-order{width:24px;height:24px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.story-player.speaking .player-order{background:#6ee7b7;color:#064e3b}.story-player .player-name{font-size:.85rem;color:#fffc}.player-mic{font-size:.9rem;animation:mic-pulse 1.5s infinite}@keyframes mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.story-round-bar{display:flex;justify-content:center;gap:6px;margin-bottom:16px}.round-pip{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:#ffffff1a;color:#ffffff4d;transition:all .3s}.round-pip.current{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 0 14px #10b98166;animation:pip-pulse 2s infinite}.round-pip.done{background:#6ee7b733;color:#6ee7b7}@keyframes pip-pulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}}.story-step-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.story-round-num{font-size:.8rem;color:#ffffff80}.story-speaker-name{font-size:1rem;font-weight:700;color:#fff}.story-timer{flex-shrink:0}.story-timer-ring{width:56px;height:56px;position:relative}.story-timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.story-timer-ring .ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4}.story-timer-ring .ring-progress{fill:none;stroke:#6ee7b7;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.story-timer.timer-danger .ring-progress{stroke:#ef4444}.story-timer-ring .ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}.story-timer.timer-danger .ring-text{color:#ef4444;animation:pulse-text 1s infinite}.story-content{min-height:200px}.story-waiting,.story-ready{text-align:center;padding:24px 0}.story-waiting .waiting-icon,.story-ready .ready-icon{font-size:3rem;margin-bottom:12px}.story-waiting h3,.story-ready h3{margin:0 0 16px;color:#fff}.story-share-code{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.story-share-code .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#6ee7b7;background:#6ee7b71a;padding:8px 20px;border-radius:12px}.story-share-code .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:.85rem}.story-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.story-rules p{margin:0 0 8px;font-size:.9rem}.story-rules ul{margin:0;padding-left:20px}.story-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.story-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-width:300px;margin-left:auto;margin-right:auto}.story-active{animation:fadeIn .3s ease}.story-keywords{background:#ffffff0f;border:1px solid rgba(110,231,183,.25);border-radius:14px;padding:14px 18px;margin-bottom:16px;text-align:center}.kw-title{font-size:.8rem;color:#ffffff80;margin-bottom:10px;font-weight:600}.kw-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.kw-badge{font-size:1.05rem;font-weight:700;color:#6ee7b7;background:#6ee7b71f;padding:8px 20px;border-radius:20px;border:1px solid rgba(110,231,183,.3);letter-spacing:.02em}.story-speaker-view,.story-listener-view{text-align:center;padding:20px 0}.speaker-icon,.listener-icon{font-size:3rem;margin-bottom:12px}.story-speaker-view h3,.story-listener-view h3{margin:0 0 8px;color:#fff;font-size:1.1rem}.story-speaker-view p,.story-listener-view p{margin:0;color:#fff9;font-size:.9rem}.speaking-animation{position:relative;width:70px;height:70px;margin:16px auto 0}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid #6ee7b7;animation:pulse-expand 2s infinite}.pulse-ring.delay{animation-delay:.5s}@keyframes pulse-expand{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.story-timeline{margin-top:16px;background:#ffffff0a;border-radius:12px;padding:12px}.timeline-title{font-size:.8rem;color:#ffffff80;margin-bottom:8px;font-weight:600}.timeline-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;margin-bottom:4px;background:#ffffff08}.tl-round{font-size:.7rem;font-weight:700;color:#6ee7b7;background:#6ee7b726;padding:2px 6px;border-radius:4px}.tl-speaker{font-size:.8rem;color:#ffffffb3;min-width:60px}.tl-keywords{display:flex;gap:6px;flex-wrap:wrap}.tl-kw{font-size:.75rem;color:#6ee7b7;background:#6ee7b71a;padding:2px 8px;border-radius:8px;font-style:italic}.story-finished{text-align:center;padding:24px 0}.story-finished .finished-icon{font-size:3rem;margin-bottom:12px}.story-finished h3{margin:0 0 12px;color:#fff;font-size:1.3rem}.story-finished p{color:#ffffffb3;margin:0 0 16px}.story-summary{background:#ffffff0f;border-radius:12px;padding:16px;text-align:left}.story-summary p{margin:6px 0;font-size:.9rem;color:#ffffffb3}.story-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.story-info-text{text-align:center;color:#ffffff80;font-size:.85rem}.story-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.story-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.story-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #10b98166}.story-btn.primary.pulse{animation:story-pulse 2s infinite}@keyframes story-pulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 12px #10b98100}}.story-btn.secondary{background:#ffffff14;color:#e0e0e0}.story-btn.secondary:hover{background:#ffffff24}.story-btn.danger{background:#ef444426;color:#f87171}.story-btn.danger:hover{background:#ef444440}.story-error-page,.story-loading{text-align:center;padding:60px 20px}.story-error-page .error-icon,.story-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.story-room{padding:12px}.theme-text{font-size:1rem}.story-players{gap:6px}.story-player{padding:6px 10px}}.wc-room{min-height:100%;background:linear-gradient(135deg,#1a0a2e,#2d1657,#3b1f72);color:#e0e0e0;padding:16px 16px 140px}.wc-header{text-align:center;margin-bottom:12px}.wc-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.wc-label{font-size:1.1rem;font-weight:700;color:#fbbf24}.wc-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.wc-category-badge{display:inline-block;font-size:.85rem;font-weight:600;background:#fbbf2426;color:#fbbf24;padding:4px 16px;border-radius:20px;border:1px solid rgba(251,191,36,.3)}.wc-scoreboard{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.wc-player-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff0f;padding:8px 18px;border-radius:12px;min-width:100px;border:2px solid transparent;transition:all .3s}.wc-player-card.active{border-color:#fbbf24;box-shadow:0 0 16px #fbbf2433;background:#fbbf2414}.wc-pname{font-size:.85rem;color:#fffc}.wc-hearts{font-size:1.1rem}.heart{transition:all .3s}.heart.dead{filter:grayscale(1);opacity:.3}.wc-vs{font-size:1.2rem}.wc-timer{margin-bottom:12px;display:flex;align-items:center;gap:10px}.wc-timer-bar{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.wc-timer-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:4px;transition:width 1s linear}.wc-timer.danger .wc-timer-fill{background:linear-gradient(90deg,#ef4444,#dc2626);animation:bar-flash .5s infinite}@keyframes bar-flash{0%,to{opacity:1}50%{opacity:.5}}.wc-timer-text{font-size:.9rem;font-weight:700;min-width:28px;text-align:right}.wc-timer.danger .wc-timer-text{color:#ef4444}.wc-content{min-height:200px}.wc-waiting,.wc-ready{text-align:center;padding:24px 0}.wc-waiting .waiting-icon,.wc-ready .ready-icon{font-size:3rem;margin-bottom:12px}.wc-waiting h3,.wc-ready h3{margin:0 0 16px;color:#fff}.wc-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.wc-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#fbbf24;background:#fbbf241a;padding:8px 20px;border-radius:12px}.wc-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.wc-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.wc-rules ul{margin:0;padding-left:20px}.wc-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.wc-playing{animation:fadeIn .3s ease}.wc-chain{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px;min-height:60px}.wc-word{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:600;animation:wordPop .3s ease}@keyframes wordPop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.wc-word.mine{background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.3)}.wc-word.theirs{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.25)}.wc-word-first{font-size:.7rem;font-weight:700;opacity:.5;background:#ffffff1a;padding:1px 5px;border-radius:4px}.wc-next-letter{text-align:center;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.9rem;color:#fff9}.next-char{font-size:2rem;font-weight:900;color:#fbbf24;background:#fbbf2426;padding:4px 16px;border-radius:12px;border:2px solid rgba(251,191,36,.3);animation:letterGlow 2s infinite}@keyframes letterGlow{0%,to{box-shadow:0 0 #fbbf244d}50%{box-shadow:0 0 20px 4px #fbbf2426}}.wc-input-form{display:flex;gap:8px}.wc-input{flex:1;padding:14px 16px;border:2px solid rgba(139,92,246,.3);border-radius:14px;background:#ffffff0f;color:#fff;font-size:1.1rem;font-weight:600;outline:none;transition:border-color .2s}.wc-input:focus{border-color:#a78bfa;box-shadow:0 0 12px #8b5cf633}.wc-input::placeholder{color:#ffffff40}.wc-opponent-turn{text-align:center;padding:20px 0}.wc-opponent-turn p{color:#fff9;margin:8px 0 0}.opponent-dots{display:flex;gap:8px;justify-content:center}.opponent-dots .dot{font-size:2rem;color:#fbbf24;font-weight:900;animation:dotBounce 1.4s infinite ease-in-out}.opponent-dots .dot:nth-child(2){animation-delay:.2s}.opponent-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-12px)}}.wc-submit-error{text-align:center;margin-top:8px;padding:8px 14px;background:#ef44441a;border-radius:10px;color:#fca5a5;font-size:.9rem;font-weight:600;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.wc-finished{text-align:center;padding:24px 0}.wc-finished .finished-icon{font-size:4rem;margin-bottom:16px}.wc-finished h3{margin:0 0 12px;color:#fff;font-size:1.4rem}.wc-reason{color:#fff9;margin:0 0 16px;font-style:italic}.wc-stats{background:#ffffff0f;padding:12px 16px;border-radius:12px}.wc-stats p{margin:4px 0;color:#ffffffb3}.wc-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.wc-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.wc-btn.primary{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.wc-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.wc-btn.primary.pulse{animation:wc-pulse 2s infinite}@keyframes wc-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 12px #f59e0b00}}.wc-btn.secondary{background:#ffffff14;color:#e0e0e0}.wc-btn.secondary:hover{background:#ffffff24}.wc-btn.danger{background:#ef444426;color:#f87171}.wc-btn.danger:hover{background:#ef444440}.wc-btn:disabled{opacity:.5;cursor:not-allowed}.wc-error,.wc-loading{text-align:center;padding:60px 20px}.wc-error .error-icon,.wc-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.wc-room{padding:12px}.wc-player-card{min-width:80px;padding:6px 12px}.wc-input{font-size:1rem}}.em-room{min-height:100%;background:linear-gradient(135deg,#312e81,#4c1d95,#5b21b6);color:#e0e0e0;padding:16px 16px 140px}.em-header{text-align:center;margin-bottom:16px}.em-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.em-label{font-size:1.1rem;font-weight:700;color:#f9a8d4}.em-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.em-diff{font-size:.8rem;background:#f9a8d426;color:#f9a8d4;padding:2px 8px;border-radius:10px}.em-scoreboard{display:flex;align-items:center;justify-content:center;gap:16px}.em-player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:8px 20px;border-radius:12px;min-width:100px;border:1px solid rgba(255,255,255,.08);transition:all .3s}.em-player.leading{border-color:#f9a8d4;box-shadow:0 0 16px #f9a8d426}.p-name{font-size:.85rem;color:#ffffffb3}.p-score{font-size:1.3rem;font-weight:700;color:#fbbf24}.em-vs{font-size:.8rem;font-weight:700;color:#ffffff4d}.em-round-progress{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.em-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#ffffff1a;color:#fff6;border:2px solid transparent;transition:all .3s}.em-dot.current{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;border-color:#f9a8d4;box-shadow:0 0 16px #ec489966;animation:em-pulse 2s infinite}.em-dot.correct{background:#22c55e40;color:#4ade80;border-color:#22c55e80}.em-dot.timeout{background:#ef444426;color:#f87171}@keyframes em-pulse{0%,to{box-shadow:0 0 #ec489966}50%{box-shadow:0 0 0 8px #ec489900}}.em-step-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.em-role-area{display:flex;flex-direction:column;gap:4px}.em-role-badge{display:inline-block;font-size:.9rem;font-weight:700;padding:6px 16px;border-radius:20px}.em-role-badge.describer{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.em-role-badge.guesser{background:#ec489926;color:#f9a8d4;border:1px solid rgba(236,72,153,.3)}.em-round-label{font-size:.75rem;color:#ffffff80}.em-timer{flex-shrink:0}.em-timer-ring{width:56px;height:56px;position:relative}.em-timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.em-timer-ring .ring-bg{fill:none;stroke:#ffffff1a;stroke-width:4}.em-timer-ring .ring-progress{fill:none;stroke:#f9a8d4;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.em-timer.timer-danger .ring-progress{stroke:#ef4444}.em-timer-ring .ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}.em-timer.timer-danger .ring-text{color:#ef4444;animation:pulse-text 1s infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.em-content{min-height:200px}.em-waiting,.em-ready{text-align:center;padding:24px 0}.em-waiting .waiting-icon,.em-ready .ready-icon{font-size:3rem;margin-bottom:12px}.em-waiting h3,.em-ready h3{margin:0 0 16px;color:#fff}.em-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.em-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#f9a8d4;background:#f9a8d41a;padding:8px 20px;border-radius:12px}.em-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.em-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.em-rules ul{margin:0;padding-left:20px}.em-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.em-emoji-card{background:#ffffff0f;border-radius:20px;padding:24px 20px;text-align:center;margin-bottom:16px;border:2px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.em-emoji-card.describer{border-color:#fbbf244d}.em-emoji-card.guesser{border-color:#ec48994d;border-style:dashed}.emoji-only-badge{position:absolute;top:8px;right:8px;font-size:.6rem;background:#ef44444d;color:#fca5a5;padding:2px 8px;border-radius:8px;font-weight:600}.emoji-display{font-size:4rem;margin-bottom:12px;line-height:1.3;animation:emojiPop .5s ease}@keyframes emojiPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.emoji-answer{font-size:1.4rem;font-weight:700;color:#fbbf24;margin-bottom:4px;text-transform:capitalize}.emoji-category{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em}.emoji-hint{margin-top:8px;font-size:.85rem;color:#f9a8d4cc;font-style:italic}.describer-rule{text-align:center;font-size:.9rem;color:#fff9;margin-bottom:12px}.describer-rule strong{color:#fca5a5}.guesser-hint{font-size:.85rem;color:#ffffff80;margin:8px 0 0}.em-guess-form{display:flex;gap:8px;margin-bottom:12px}.em-guess-input{flex:1;padding:12px 16px;border:2px solid rgba(236,72,153,.3);border-radius:12px;background:#ffffff0f;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.em-guess-input:focus{border-color:#ec4899;box-shadow:0 0 12px #ec489933}.em-guess-input::placeholder{color:#ffffff4d}.em-guess-feedback{padding:12px 16px;border-radius:12px;font-size:.95rem;font-weight:600;text-align:center;margin-bottom:12px;animation:fadeIn .3s ease}.em-guess-feedback.correct{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.em-guess-feedback.wrong{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.em-guess-history{background:#ffffff0a;border-radius:12px;padding:12px;margin-top:12px}.gh-title{font-size:.8rem;color:#ffffff80;margin-bottom:8px;font-weight:600}.gh-entry{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;font-size:.85rem;margin-bottom:4px}.gh-entry.correct{background:#22c55e1a;color:#4ade80}.gh-entry.wrong{background:#ef44440f;color:#fff9}.gh-time{font-size:.75rem;color:#fff6}.em-round-result{text-align:center;padding:24px 0;animation:fadeIn .4s ease}.em-round-result .result-icon{font-size:3rem;margin-bottom:12px}.em-round-result h3{margin:0 0 16px;color:#fff}.result-emoji-reveal{margin-bottom:12px}.reveal-emoji{font-size:3rem;display:block;margin-bottom:8px}.reveal-answer{font-size:1.2rem;font-weight:700;color:#f9a8d4;text-transform:capitalize}.score-stars{display:block;font-size:1.5rem;margin-top:8px}.score-stars .star{opacity:.2;transition:all .3s}.score-stars .star.filled{opacity:1;filter:drop-shadow(0 0 4px rgba(251,191,36,.5))}.em-finished{text-align:center;padding:24px 0}.em-finished .finished-icon{font-size:3rem;margin-bottom:12px}.em-finished h3{margin:0 0 16px;color:#fff;font-size:1.3rem}.em-final-score{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.f-stars{font-size:1.6rem;font-weight:700;color:#fbbf24}.em-history{display:flex;flex-direction:column;gap:8px;margin-top:16px}.h-round{display:flex;align-items:center;gap:12px;background:#ffffff0d;padding:10px 14px;border-radius:12px}.h-emoji{font-size:1.4rem}.h-answer{font-size:.9rem;font-weight:600;color:#fff;text-transform:capitalize}.h-meta{font-size:.75rem;color:#fff6}.h-result{font-size:.85rem;font-weight:700}.h-result.guessed{color:#4ade80}.h-result.timeout{color:#f87171}.em-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.em-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.em-btn.primary{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff}.em-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ec489966}.em-btn.primary.pulse{animation:em-btn-pulse 2s infinite}@keyframes em-btn-pulse{0%,to{box-shadow:0 0 #ec489966}50%{box-shadow:0 0 0 12px #ec489900}}.em-btn.secondary{background:#ffffff14;color:#e0e0e0}.em-btn.secondary:hover{background:#ffffff24}.em-btn.danger{background:#ef444426;color:#f87171}.em-btn:disabled{opacity:.5;cursor:not-allowed}.em-error,.em-loading{text-align:center;padding:60px 20px}.em-error .error-icon,.em-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.em-room{padding:12px}.emoji-display{font-size:3rem}.em-player{min-width:80px;padding:6px 14px}}.ss-room{display:flex;flex-direction:column;height:100vh;background:#0f172a;color:#f8fafc;font-family:Inter,sans-serif;overflow:hidden}.ss-header{padding:1rem 1.5rem;background:#1e293bcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;z-index:10}.ss-title-row{display:flex;align-items:center;gap:.75rem}.ss-label{font-weight:700;font-size:1.25rem;color:#22c55e}.ss-code{background:#ffffff1a;padding:.25rem .5rem;border-radius:6px;font-family:monospace;font-size:1.1rem;letter-spacing:2px}.ss-diff{font-size:.9rem;color:#94a3b8;background:#0003;padding:.25rem .5rem;border-radius:4px}.ss-scoreboard{display:flex;align-items:center;gap:1rem;background:#0000004d;padding:.5rem 1rem;border-radius:12px}.ss-player{display:flex;flex-direction:column;align-items:center;opacity:.7;transition:all .3s ease}.ss-player.leading{opacity:1;transform:scale(1.05)}.p-name{font-size:.8rem;color:#cbd5e1}.p-score{font-weight:700;font-size:1.1rem;color:#fbbf24}.ss-vs{font-size:.8rem;font-weight:800;color:#64748b}.ss-round-progress{display:flex;justify-content:center;gap:6px;padding:.75rem;background:#0f172ae6}.ss-dot{width:28px;height:28px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#64748b;transition:all .3s ease}.ss-dot.current{background:#3b82f6;color:#fff;transform:scale(1.15);box-shadow:0 0 10px #3b82f680}.ss-dot.correct{background:#22c55e;color:#fff}.ss-dot.wrong{background:#ef4444;color:#fff}.ss-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow-y:auto}.ss-loading,.ss-error,.ss-waiting,.ss-ready,.ss-round-result,.ss-finished{background:#1e293b99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:3rem;border-radius:24px;text-align:center;max-width:500px;width:100%;border:1px solid rgba(255,255,255,.05);box-shadow:0 25px 50px -12px #00000080;animation:ssFadeIn .5s ease-out}@keyframes ssFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.waiting-icon,.ready-icon,.loading-icon,.error-icon,.result-icon,.finished-icon{font-size:4rem;margin-bottom:1.5rem}.ss-rules ul{text-align:left;margin-bottom:2rem;color:#cbd5e1;line-height:1.6}.ss-rules li{margin-bottom:.5rem}.ss-share{margin:1.5rem 0;display:flex;justify-content:center;gap:.5rem}.share-code{background:#000;padding:.75rem 1.5rem;border-radius:8px;font-size:1.5rem;font-family:monospace;letter-spacing:4px}.copy-btn{background:#ffffff1a;border:none;border-radius:8px;padding:0 1rem;cursor:pointer;font-size:1.2rem}.copy-btn:hover{background:#fff3}.ss-btn{padding:.75rem 2rem;border-radius:12px;border:none;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.ss-btn.primary{background:#22c55e;color:#fff}.ss-btn.primary:hover{background:#16a34a;transform:translateY(-2px)}.ss-btn.danger{background:#ef444433;color:#ef4444}.ss-btn.danger:hover{background:#ef4444;color:#fff}.ss-btn.secondary{background:#ffffff1a;color:#fff}.ss-btn.secondary:hover{background:#fff3}.pulse{animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 15px #22c55e00}to{box-shadow:0 0 #22c55e00}}.ss-playing{width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;animation:ssFadeIn .5s ease-out}.ss-role-indicator{margin-bottom:2rem}.role-badge{padding:.5rem 1.5rem;border-radius:999px;font-weight:700;font-size:1.1rem}.role-badge.commander{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.5)}.role-badge.listener{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.5)}.instruction{font-size:1.2rem;color:#cbd5e1;margin-bottom:1.5rem}.ss-commander-view{display:flex;flex-direction:column;align-items:center;width:100%}.ss-command-card{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid #3b82f6;border-radius:20px;padding:3rem 2rem;margin-bottom:2rem;text-align:center;width:100%;max-width:500px;box-shadow:0 20px 40px #0006}.command-icon{font-size:6rem;margin-bottom:1.5rem;filter:drop-shadow(0 10px 10px rgba(0,0,0,.5))}.command-text{font-size:2rem;font-weight:800}.simon-prefix{color:#3b82f6}.ss-listener-view{display:flex;flex-direction:column;align-items:center;width:100%}.ss-waiting-command{text-align:center;padding:4rem 2rem}.pulse-icon{font-size:4rem;margin-bottom:1rem;animation:floatPulse 2s ease-in-out infinite}@keyframes floatPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}.ss-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;max-width:600px}.ss-option-btn{background:#1e293bcc;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s ease;color:#fff}.ss-option-btn:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680;transform:translateY(-4px)}.ss-option-btn:disabled{opacity:.5;cursor:not-allowed}.opt-icon{font-size:3rem}.opt-text{font-size:1.1rem;font-weight:600;text-align:center}.trap-btn{grid-column:span 2;background:#ef44441a;border-color:#ef44444d}.trap-btn:hover:not(:disabled){background:#ef44444d;border-color:#ef4444}.ss-timer{width:100%;max-width:400px;margin-bottom:2rem}.ss-timer-bar-container{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.ss-timer-bar{height:100%;background:#3b82f6;border-radius:6px;transition:width .1s linear}.timer-danger .ss-timer-bar{background:#ef4444}.ss-timer-text{text-align:center;font-family:monospace;font-size:1.2rem;color:#94a3b8}.timer-danger .ss-timer-text{color:#ef4444;font-weight:700;animation:blink 1s infinite}@keyframes blink{50%{opacity:.5}}.result-details{background:#0000004d;padding:1.5rem;border-radius:12px;margin:1.5rem 0;text-align:left;color:#cbd5e1}.result-details p{margin:.5rem 0}.result-details strong{color:#fff}.ss-history{margin-top:2rem;width:100%;text-align:left;background:#0003;border-radius:12px;padding:1rem;max-height:250px;overflow-y:auto}.ss-history h4{margin-bottom:1rem;color:#94a3b8}.h-round{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.05)}.h-round:last-child{border-bottom:none}.h-icon{font-size:1.5rem;margin-right:1rem}.h-info{flex:1;display:flex;flex-direction:column}.h-command{font-weight:600}.h-result{font-size:1.2rem}.ss-footer{padding:1rem;text-align:center;z-index:10}.st-room{min-height:100vh;background:#0f172a;color:#f8fafc;font-family:Inter,sans-serif;padding:16px 16px 140px}.st-header{text-align:center;margin-bottom:16px}.st-title-row{display:flex;align-items:center;justify-content:center;gap:10px}.st-label{font-size:1.1rem;font-weight:700;color:#22c55e}.st-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.st-diff{font-size:.8rem;background:#22c55e26;color:#22c55e;padding:2px 8px;border-radius:10px}.st-progress{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.st-pip{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#ffffff1a;color:#fff6;transition:all .3s}.st-pip.current{background:#3b82f6;color:#fff;box-shadow:0 0 16px #3b82f666}.st-pip.done{background:#22c55e40;color:#4ade80}.st-timer-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;height:8px;background:#ffffff1a;border-radius:4px;position:relative;overflow:visible}.st-timer-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width 1s linear}.st-timer-bar.danger .st-timer-fill{background:#ef4444;animation:flash .5s infinite}.st-timer-text{font-size:.85rem;font-weight:700;position:absolute;right:-50px;top:-6px;color:#94a3b8}.st-timer-bar.danger .st-timer-text{color:#ef4444}.st-content{min-height:200px}.st-waiting,.st-ready{text-align:center;padding:24px 0}.st-waiting .waiting-icon,.st-ready .ready-icon{font-size:3rem;margin-bottom:12px}.st-waiting h3,.st-ready h3{margin:0 0 16px;color:#fff}.st-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.st-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#fbbf24;background:#0000004d;padding:8px 20px;border-radius:12px}.st-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.st-share .copy-btn:hover{background:#fff3}.st-rules{text-align:left;background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.05)}.st-rules ul{margin:0;padding-left:20px}.st-rules li{font-size:.85rem;color:#cbd5e1;margin-bottom:6px}.waiting-msg{color:#64748b;font-style:italic;margin-top:16px}.st-item-card{background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:20px;margin-bottom:16px;text-align:center;box-shadow:0 10px 25px #0000004d}.item-title{font-size:1.4rem;font-weight:700;color:#22c55e;margin-bottom:12px}.st-item-image{max-width:100%;max-height:200px;border-radius:12px;object-fit:contain}.st-roles{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.role-you,.role-partner{font-size:.85rem;color:#94a3b8;background:#0000004d;padding:6px 12px;border-radius:8px;flex:1;text-align:center}.role-you strong{color:#60a5fa}.role-partner strong{color:#fbbf24}.st-phrase-section{margin-bottom:16px;background:#0003;padding:16px;border-radius:12px}.phrase-title{font-size:.9rem;font-weight:600;color:#94a3b8;margin-bottom:12px}.st-hints-list{margin:0;padding-left:20px;color:#cbd5e1}.st-hints-list li{margin-bottom:8px;font-size:1rem}.st-phrase-check-section{margin-bottom:24px;text-align:left}.checklist-group{background:#0003;padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.checklist-group h4{margin:0 0 12px;color:#22c55e;font-size:.95rem}.st-phrase{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#ffffff0a;margin-bottom:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.st-phrase input{accent-color:#4ade80;width:18px;height:18px}.st-phrase.checked{background:#22c55e1a}.st-phrase.checked span{color:#4ade80}.st-hint{text-align:center;font-size:.9rem;color:#64748b;margin:12px 0;padding:12px;background:#00000026;border-radius:10px}.st-reviewing{text-align:center;padding:16px 0;animation:stFadeIn .3s ease}@keyframes stFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.st-reviewing h3{margin:0 0 8px;color:#fff}.review-subtitle{color:#94a3b8;margin:0 0 16px;font-weight:600;text-align:left}.st-feedback-form{text-align:left}.rating-label{font-size:.9rem;color:#94a3b8}.st-comment{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0000004d;color:#fff;font-size:.9rem;resize:none;outline:none;margin-bottom:12px}.st-comment::placeholder{color:#64748b}.feedback-sent p{color:#94a3b8}.partner-feedback{background:#0003;border-radius:12px;padding:14px;margin-top:12px;text-align:center}.pf-comment{font-style:italic;color:#64748b;margin:0}.st-finished{text-align:center;padding:24px 0}.st-finished .finished-icon{font-size:3rem;margin-bottom:12px}.st-finished h3{margin:0 0 12px;color:#fff;font-size:1.3rem}.st-finished p{color:#94a3b8;margin:0 0 16px}.st-summary{display:flex;flex-direction:column;gap:8px;text-align:left}.summary-item{background:#0003;padding:12px 16px;border-radius:12px}.si-title{font-size:1rem;font-weight:600;color:#22c55e;display:block;margin-bottom:4px}.si-feedback span{font-size:.85rem;color:#94a3b8}.st-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.st-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.st-btn.primary{background:#22c55e;color:#fff}.st-btn.primary:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 16px #22c55e66}.st-btn.primary.pulse{animation:st-pulse 2s infinite}@keyframes st-pulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 12px #22c55e00}}.st-btn.secondary{background:#ffffff1a;color:#e0e0e0}.st-btn.secondary:hover{background:#fff3}.st-btn.danger{background:#ef444433;color:#ef4444}.st-btn.danger:hover{background:#ef4444;color:#fff}.st-btn:disabled{opacity:.5;cursor:not-allowed}.st-error,.st-loading{text-align:center;padding:60px 20px}.st-error .error-icon,.st-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.st-room{padding:12px}}.pt-room{min-height:100vh;background:#0f172a;color:#f8fafc;font-family:Inter,sans-serif;padding:16px 16px 140px}.pt-header{text-align:center;margin-bottom:16px}.pt-title-row{display:flex;align-items:center;justify-content:center;gap:10px}.pt-label{font-size:1.1rem;font-weight:700;color:#22c55e}.pt-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.pt-diff{font-size:.8rem;background:#22c55e26;color:#22c55e;padding:2px 8px;border-radius:10px}.pt-progress{text-align:center;font-size:.9rem;font-weight:600;color:#94a3b8;margin-bottom:8px;background:#0003;padding:6px;border-radius:8px}.pt-timer-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;height:8px;background:#ffffff1a;border-radius:4px;position:relative;overflow:visible}.pt-timer-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width 1s linear}.pt-timer-bar.danger .pt-timer-fill{background:#ef4444;animation:ptFlash .5s infinite}@keyframes ptFlash{0%,to{opacity:1}50%{opacity:.5}}.pt-timer-text{font-size:.85rem;font-weight:700;position:absolute;right:0;top:-18px;color:#94a3b8}.pt-timer-bar.danger .pt-timer-text{color:#ef4444}.pt-content{min-height:200px}.pt-waiting,.pt-ready{text-align:center;padding:24px 0}.pt-waiting .waiting-icon,.pt-ready .ready-icon{font-size:3rem;margin-bottom:12px}.pt-waiting h3,.pt-ready h3{margin:0 0 16px;color:#fff}.pt-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.pt-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#fbbf24;background:#0000004d;padding:8px 20px;border-radius:12px}.pt-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.pt-share .copy-btn:hover{background:#fff3}.pt-rules{text-align:left;background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.05)}.pt-rules ul{margin:0;padding-left:20px}.pt-rules li{font-size:.85rem;color:#cbd5e1;margin-bottom:6px}.pt-room .waiting-msg{font-style:italic;color:#64748b;margin-top:16px}.pt-scene-card{background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:16px;margin-bottom:16px;text-align:center;box-shadow:0 10px 25px #0000004d}.pt-scene-title{font-size:1.3rem;font-weight:700;color:#22c55e;margin-bottom:12px}.pt-scene-image{max-width:100%;max-height:250px;border-radius:12px;object-fit:contain;margin-bottom:12px}.pt-turn-indicator{font-size:1.1rem;font-weight:700;background:#ffffff0d;padding:8px 16px;border-radius:12px;margin-bottom:16px;text-align:center;color:#94a3b8}.pt-turn-indicator.is-speaker{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3);box-shadow:0 4px 12px #3b82f633}.pt-vocab-hints{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.pt-vocab-hint{background:#ffffff14;padding:4px 10px;border-radius:20px;font-size:.85rem;color:#cbd5e1;border:1px solid rgba(255,255,255,.1)}.pt-scene-details{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);text-align:left}.pt-scene-details-title{font-size:.95rem;font-weight:600;color:#22c55e;margin-bottom:8px}.pt-scene-details-list{margin:0;padding-left:20px;font-size:.9rem;color:#cbd5e1}.pt-scene-details-list li{margin-bottom:4px}.pt-log{background:#0000004d;border-radius:12px;padding:12px;margin-bottom:16px;max-height:150px;overflow-y:auto;text-align:left}.pt-log-item{font-size:.9rem;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:8px}.pt-log-item:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.pt-log-item span.speaker{font-weight:700;color:#60a5fa}.pt-log-item span.status-accept{color:#4ade80;font-weight:700;margin-left:8px}.pt-log-item span.status-reject{color:#f87171;font-weight:700;margin-left:8px}.pt-log-item span.status-pending{color:#fbbf24;font-weight:700;margin-left:8px}.pt-judge-controls{display:flex;gap:12px;justify-content:center;margin-top:16px}.pt-btn-accept{flex:1;padding:12px;border-radius:12px;border:none;font-size:1rem;font-weight:700;background:#22c55e;color:#fff;cursor:pointer;transition:all .2s}.pt-btn-accept:hover{background:#16a34a;transform:translateY(-1px)}.pt-btn-reject{flex:1;padding:12px;border-radius:12px;border:none;font-size:1rem;font-weight:700;background:#ef444433;color:#ef4444;cursor:pointer;transition:all .2s}.pt-btn-reject:hover{background:#ef4444;color:#fff}.pt-finished{text-align:center;padding:24px 0}.pt-finished .finished-icon{font-size:3rem;margin-bottom:12px}.pt-finished h3{margin:0 0 12px;color:#fff;font-size:1.3rem}.pt-finished p{color:#94a3b8;margin:0 0 16px}.pt-summary{display:flex;justify-content:space-around;background:#0000004d;padding:16px;border-radius:12px;margin-bottom:16px}.pt-score-box{text-align:center}.pt-score-name{font-size:.9rem;color:#94a3b8;margin-bottom:4px}.pt-score-value{font-size:2rem;font-weight:700;color:#fbbf24}.pt-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.pt-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.pt-btn.primary{background:#22c55e;color:#fff}.pt-btn.primary:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 16px #22c55e66}.pt-btn.secondary{background:#ffffff1a;color:#e0e0e0}.pt-btn.secondary:hover{background:#fff3}.pt-btn.danger{background:#ef444433;color:#ef4444}.pt-btn.danger:hover{background:#ef4444;color:#fff}.pt-btn:disabled{opacity:.5;cursor:not-allowed}.pt-error,.pt-loading{text-align:center;padding:60px 20px}.pt-error .error-icon,.pt-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.pt-room{padding:12px}}.sd-room{display:flex;flex-direction:column;height:100vh;background:#0f172a;color:#f8fafc;font-family:Inter,sans-serif}.sd-header{padding:1rem 1.5rem;background:#1e293bcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;z-index:10;flex-wrap:wrap;gap:12px}.sd-title-row{display:flex;align-items:center;gap:12px}.sd-label{font-weight:700;color:#22c55e;font-size:1.1rem}.sd-code{background:#ffffff1a;padding:4px 8px;border-radius:6px;font-family:monospace;font-weight:700;letter-spacing:2px}.sd-diff{font-size:.85rem;color:#94a3b8;background:#0003;padding:2px 6px;border-radius:4px}.sd-scoreboard{display:flex;align-items:center;gap:12px;background:#0000004d;padding:6px 12px;border-radius:20px}.sd-player{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;color:#cbd5e1}.sd-vs{color:#64748b;font-size:.8rem;font-weight:700}.sd-p-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-p-score{color:#fbbf24}.sd-error{text-align:center;padding:2rem;background:#1e293b99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;margin:2rem auto;max-width:400px;border:1px solid rgba(255,255,255,.05)}.sd-error-icon,.sd-loading-icon{font-size:3rem;margin-bottom:1rem}.sd-loading{text-align:center;padding:2rem;margin:2rem auto}.sd-round-progress{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#0f172ae6;border-bottom:1px solid rgba(255,255,255,.05)}.sd-round-indicator{font-weight:600;color:#94a3b8}.sd-differences-progress{display:flex;align-items:center;gap:6px}.sd-diff-dot{width:12px;height:12px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.sd-diff-dot.sd-found{background:#22c55e;border-color:#16a34a;box-shadow:0 0 5px #22c55e80}.sd-diff-count{font-weight:700;color:#22c55e;margin-left:8px}.sd-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column}.sd-waiting,.sd-ready,.sd-round-result,.sd-finished{background:#1e293b99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;padding:2.5rem 2rem;text-align:center;box-shadow:0 25px 50px -12px #00000080;max-width:500px;margin:2rem auto;width:100%;border:1px solid rgba(255,255,255,.05);animation:sdFadeIn .5s ease-out}@keyframes sdFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sd-waiting-icon,.sd-ready-icon,.sd-result-icon,.sd-finished-icon{font-size:4rem;margin-bottom:1rem}.sd-share{margin:1.5rem 0;display:inline-flex;align-items:center;background:#0000004d;border-radius:8px;overflow:hidden}.sd-share-code{padding:10px 16px;font-size:1.5rem;font-family:monospace;font-weight:700;letter-spacing:4px;color:#fbbf24}.sd-copy-btn{padding:10px 16px;background:#ffffff1a;border:none;cursor:pointer;font-size:1.2rem;color:#e0e0e0;transition:background .2s}.sd-copy-btn:hover{background:#fff3}.sd-rules{text-align:left;background:#0003;padding:1.5rem;border-radius:8px;margin:1.5rem 0}.sd-rules ul{margin:0;padding-left:1.5rem;color:#cbd5e1;line-height:1.6}.sd-playing{display:flex;flex-direction:column;gap:1.5rem;height:100%}.sd-main-area{display:flex;gap:1.5rem;flex:1;min-height:0}.sd-image-container{flex:2;background:#1e293b99;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #0000004d;border:1px solid rgba(255,255,255,.05)}.sd-scene-img{width:100%;height:100%;object-fit:cover}.sd-side-panel{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:300px}.sd-turn-box,.sd-confirmation-box,.sd-checklist{background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:1.25rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 12px #0003}.sd-turn-indicator{margin:0 0 1rem;font-size:1.1rem;text-align:center;padding:8px;border-radius:8px}.sd-turn-indicator.sd-my-turn{background:#22c55e26;color:#4ade80}.sd-turn-indicator.sd-partner-turn{background:#ffffff0d;color:#94a3b8}.sd-action-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.sd-checklist h4{margin:0 0 .75rem;color:#cbd5e1}.sd-checklist ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.sd-checklist li{font-size:.9rem;color:#cbd5e1;background:#0003;padding:6px 10px;border-radius:6px;border-left:3px solid #22c55e}.sd-checklist li.sd-empty-li{border-left:3px solid #475569;color:#64748b;font-style:italic}.sd-timer-wrapper,.sd-round-timer-wrapper{margin:1rem 0}.sd-timer-label,.sd-round-timer-label{margin:0 0 4px;font-size:.85rem;color:#94a3b8;font-weight:600}.sd-timer{display:flex;align-items:center;gap:12px;background:#0000004d;padding:6px 12px;border-radius:20px}.sd-timer-bar-container{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.sd-timer-bar{height:100%;background:#3b82f6;transition:width .1s linear,background-color .3s}.timer-danger .sd-timer-bar{background:#ef4444}.timer-paused .sd-timer-bar{background:#f59e0b}.sd-timer-text{font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums;min-width:45px}.timer-danger .sd-timer-text{color:#ef4444;animation:sdFlashText 1s infinite}@keyframes sdFlashText{0%,to{opacity:1}50%{opacity:.5}}.sd-btn{border:none;border-radius:12px;padding:10px 16px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.sd-btn:disabled{opacity:.5;cursor:not-allowed}.sd-btn.primary{background:#22c55e;color:#fff}.sd-btn.primary:hover:not(:disabled){background:#16a34a;transform:translateY(-2px)}.sd-btn.primary-outline{background:transparent;color:#22c55e;border:2px solid rgba(34,197,94,.5)}.sd-btn.primary-outline:hover:not(:disabled){background:#22c55e1a}.sd-btn.secondary{background:#ffffff1a;color:#e0e0e0}.sd-btn.secondary:hover:not(:disabled){background:#fff3}.sd-btn.danger{background:#ef444433;color:#ef4444}.sd-btn.danger:hover:not(:disabled){background:#ef4444;color:#fff}.sd-pulse{animation:sdPulse 2s infinite}@keyframes sdPulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 15px #22c55e00}to{box-shadow:0 0 #22c55e00}}.sd-waiting-msg{color:#64748b;font-style:italic;margin-top:1rem}.sd-history{text-align:left;margin:1.5rem 0;background:#0003;border-radius:8px;padding:1rem}.sd-history h4{margin-top:0;color:#94a3b8}.sd-h-round{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#cbd5e1}.sd-diff-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}.sd-confirmation-actions p{margin:0 0 .5rem;color:#94a3b8}.sd-footer{background:#1e293bcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}@media (max-width: 768px){.sd-main-area{flex-direction:column}.sd-image-container{height:300px;flex:none}}.vq-room{min-height:100%;background:linear-gradient(135deg,#0c1445,#162055,#1e3a6e);color:#e0e0e0;padding:16px 16px 140px}.vq-header{text-align:center;margin-bottom:16px}.vq-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.vq-label{font-size:1.1rem;font-weight:700;color:#38bdf8}.vq-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.vq-diff{font-size:.8rem;background:#38bdf826;color:#38bdf8;padding:2px 8px;border-radius:10px}.vq-scoreboard{display:flex;align-items:center;justify-content:center;gap:16px}.vq-player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:8px 20px;border-radius:12px;min-width:100px;border:1px solid rgba(255,255,255,.08);transition:all .3s}.vq-player.leading{border-color:#38bdf8;box-shadow:0 0 16px #38bdf826}.vq-player .p-name{font-size:.85rem;color:#ffffffb3}.vq-player .p-score{font-size:1.3rem;font-weight:700;color:#fbbf24}.vq-vs{font-size:.8rem;font-weight:700;color:#ffffff4d}.vq-progress{display:flex;justify-content:center;gap:5px;margin-bottom:12px;flex-wrap:wrap}.vq-pip{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;background:#ffffff1a;color:#ffffff4d;transition:all .3s}.vq-pip.current{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;box-shadow:0 0 12px #0ea5e966}.vq-pip.correct{background:#22c55e40;color:#4ade80}.vq-pip.wrong{background:#ef444426;color:#f87171}.vq-timer-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vq-timer-bar .vq-timer-fill{height:8px;background:linear-gradient(90deg,#38bdf8,#0ea5e9);border-radius:4px;transition:width 1s linear;flex:1}.vq-timer-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:visible;position:relative}.vq-timer-bar.danger .vq-timer-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.vq-timer-text{font-size:.85rem;font-weight:700;min-width:28px;position:absolute;right:-40px;top:-6px}.vq-timer-bar.danger .vq-timer-text{color:#ef4444}.vq-content{min-height:200px}.vq-waiting,.vq-ready{text-align:center;padding:24px 0}.vq-waiting .waiting-icon,.vq-ready .ready-icon{font-size:3rem;margin-bottom:12px}.vq-waiting h3,.vq-ready h3{margin:0 0 16px;color:#fff}.vq-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.vq-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#38bdf8;background:#38bdf81a;padding:8px 20px;border-radius:12px}.vq-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.vq-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.vq-rules ul{margin:0;padding-left:20px}.vq-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.vq-active{animation:fadeIn .3s ease}.vq-role-badge-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vq-role-badge{font-size:.9rem;font-weight:700;padding:6px 16px;border-radius:20px}.vq-role-badge.teacher{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.vq-role-badge.student{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.vq-round-label{font-size:.8rem;color:#ffffff80}.vq-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:16px}.vq-card-category{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#38bdf8;margin-bottom:8px}.vq-card-def{font-size:1.15rem;font-weight:600;color:#fff;margin-bottom:10px;line-height:1.4}.vq-card-example{font-size:.95rem;color:#ffffff80;font-style:italic;margin-bottom:10px}.vq-card-answer{font-size:1rem;color:#fbbf24;background:#fbbf2414;padding:8px 14px;border-radius:10px;margin-top:8px}.vq-teacher-hint{text-align:center;margin:12px 0}.vq-teacher-hint p{color:#fff9;font-size:.9rem}.vq-answer-form{display:flex;gap:8px}.vq-input{flex:1;padding:12px 16px;border:2px solid rgba(56,189,248,.3);border-radius:12px;background:#ffffff0f;color:#fff;font-size:1.1rem;font-weight:600;outline:none}.vq-input:focus{border-color:#38bdf8;box-shadow:0 0 12px #38bdf833}.vq-input::placeholder{color:#ffffff40}.vq-round-result{text-align:center;padding:24px 0;animation:fadeIn .4s ease}.vq-round-result .result-icon{font-size:3rem;margin-bottom:12px}.vq-round-result h3{margin:0 0 16px;color:#fff}.result-word{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.rw-label{font-size:.85rem;color:#ffffff80}.rw-word{font-size:1.3rem;font-weight:700;color:#38bdf8}.result-def{color:#fff9;font-size:.9rem;margin:0}.result-your-answer{color:#f87171;font-size:.9rem;margin-top:8px}.vq-finished{text-align:center;padding:24px 0}.vq-finished .finished-icon{font-size:3rem;margin-bottom:12px}.vq-finished h3{margin:0 0 16px;color:#fff;font-size:1.3rem}.vq-final-score{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.f-player{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:16px 24px;border-radius:16px;min-width:100px}.f-name{font-size:.9rem;color:#ffffffb3;margin-bottom:4px}.f-score{font-size:1.6rem;font-weight:700;color:#fbbf24}.f-vs{font-size:.9rem;font-weight:700;color:#ffffff4d}.vq-history{display:flex;flex-direction:column;gap:6px}.h-item{display:flex;align-items:center;gap:10px;background:#ffffff0d;padding:8px 12px;border-radius:10px}.h-item.correct{border-left:3px solid #4ade80}.h-item.wrong{border-left:3px solid #f87171}.h-num{font-size:.75rem;font-weight:700;color:#fff6;min-width:24px}.h-word{flex:1;font-size:.9rem;font-weight:600;color:#fff}.h-role{font-size:.9rem}.h-result{font-size:.85rem}.vq-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.vq-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.vq-btn.primary{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff}.vq-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0ea5e966}.vq-btn.primary.pulse{animation:vq-pulse 2s infinite}@keyframes vq-pulse{0%,to{box-shadow:0 0 #0ea5e966}50%{box-shadow:0 0 0 12px #0ea5e900}}.vq-btn.secondary{background:#ffffff14;color:#e0e0e0}.vq-btn.danger{background:#ef444426;color:#f87171}.vq-btn:disabled{opacity:.5;cursor:not-allowed}.vq-error,.vq-loading{text-align:center;padding:60px 20px}.vq-error .error-icon,.vq-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.vq-room{padding:12px}.vq-player{min-width:80px}}.rp-room{min-height:100%;background:linear-gradient(135deg,#4a0e0e,#7f1d1d,#991b1b);color:#e0e0e0;padding:16px 16px 140px}.rp-header{text-align:center;margin-bottom:16px}.rp-title-row{display:flex;align-items:center;justify-content:center;gap:10px}.rp-label{font-size:1.1rem;font-weight:700;color:#fca5a5}.rp-code{font-family:monospace;font-size:1rem;font-weight:700;background:#ffffff1a;padding:3px 10px;border-radius:6px;letter-spacing:.15em}.rp-diff{font-size:.8rem;background:#fca5a526;color:#fca5a5;padding:2px 8px;border-radius:10px}.rp-progress{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.rp-pip{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#ffffff1a;color:#fff6;transition:all .3s}.rp-pip.current{background:linear-gradient(135deg,#e11d48,#dc2626);color:#fff;box-shadow:0 0 16px #e11d4866}.rp-pip.done{background:#22c55e40;color:#4ade80}.rp-timer-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;height:8px;background:#ffffff1a;border-radius:4px;position:relative;overflow:visible}.rp-timer-fill{height:100%;background:linear-gradient(90deg,#fca5a5,#e11d48);border-radius:4px;transition:width 1s linear}.rp-timer-bar.danger .rp-timer-fill{background:linear-gradient(90deg,#ef4444,#dc2626);animation:flash .5s infinite}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.rp-timer-text{font-size:.85rem;font-weight:700;position:absolute;right:-50px;top:-6px}.rp-timer-bar.danger .rp-timer-text{color:#ef4444}.rp-content{min-height:200px}.rp-waiting,.rp-ready{text-align:center;padding:24px 0}.rp-waiting .waiting-icon,.rp-ready .ready-icon{font-size:3rem;margin-bottom:12px}.rp-waiting h3,.rp-ready h3{margin:0 0 16px;color:#fff}.rp-share{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.rp-share .share-code{font-family:monospace;font-size:2rem;font-weight:700;letter-spacing:.2em;color:#fca5a5;background:#fca5a51a;padding:8px 20px;border-radius:12px}.rp-share .copy-btn{background:#ffffff1a;border:none;color:#e0e0e0;padding:8px 14px;border-radius:8px;cursor:pointer}.rp-rules{text-align:left;background:#ffffff0d;border-radius:12px;padding:16px 20px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}.rp-rules ul{margin:0;padding-left:20px}.rp-rules li{font-size:.85rem;color:#ffffffb3;margin-bottom:6px}.waiting-msg{color:#ffffff80;font-style:italic;margin-top:16px}.rp-scenario-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:16px}.scenario-title{font-size:1.2rem;font-weight:700;color:#fca5a5;margin-bottom:8px}.scenario-situation{font-size:.9rem;color:#ffffffb3;margin:0 0 12px;line-height:1.5}.scenario-roles{display:flex;justify-content:space-between;gap:12px}.role-you,.role-partner{font-size:.85rem;color:#fff9;background:#ffffff0d;padding:6px 12px;border-radius:8px}.role-you strong{color:#fbbf24}.role-partner strong{color:#fca5a5}.rp-phrase-section,.rp-partner-phrases{margin-bottom:16px}.phrase-title{font-size:.85rem;font-weight:600;color:#fff9;margin-bottom:8px}.rp-phrase{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#ffffff0a;margin-bottom:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.rp-phrase input{accent-color:#4ade80;width:18px;height:18px}.rp-phrase.checked{background:#22c55e1a}.rp-phrase.checked span{color:#4ade80;text-decoration:line-through}.rp-phrase-view{padding:6px 12px;border-radius:8px;background:#ffffff08;margin-bottom:3px;font-size:.85rem;color:#ffffff80}.rp-phrase-view.checked{color:#4ade80}.rp-hint{text-align:center;font-size:.9rem;color:#ffffff80;margin:12px 0;padding:12px;background:#ffffff0a;border-radius:10px}.rp-reviewing{text-align:center;padding:16px 0;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.review-icon{font-size:3rem;margin-bottom:12px}.rp-reviewing h3{margin:0 0 8px;color:#fff}.review-subtitle{color:#ffffff80;margin:0 0 16px}.rp-feedback-form{text-align:left}.rating-section{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rating-label{font-size:.9rem;color:#fff9}.rating-stars{display:flex;gap:4px}.star-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.3;transition:all .2s;padding:0}.star-btn.filled{opacity:1;filter:drop-shadow(0 0 4px rgba(251,191,36,.5))}.rp-comment{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#fff;font-size:.9rem;resize:none;outline:none;margin-bottom:12px}.rp-comment::placeholder{color:#ffffff4d}.feedback-sent{margin-top:16px}.feedback-sent p{color:#fff9}.partner-feedback{background:#ffffff0f;border-radius:12px;padding:14px;margin-top:12px;text-align:center}.pf-rating{font-size:1.3rem;margin:8px 0}.pf-comment{font-style:italic;color:#ffffff80;margin:0}.rp-finished{text-align:center;padding:24px 0}.rp-finished .finished-icon{font-size:3rem;margin-bottom:12px}.rp-finished h3{margin:0 0 12px;color:#fff;font-size:1.3rem}.rp-finished p{color:#fff9;margin:0 0 16px}.rp-summary{display:flex;flex-direction:column;gap:8px;text-align:left}.summary-item{background:#ffffff0d;padding:12px 16px;border-radius:12px}.si-title{font-size:.95rem;font-weight:600;color:#fca5a5;display:block;margin-bottom:4px}.si-feedback{display:flex;flex-direction:column;gap:2px}.si-feedback span{font-size:.85rem;color:#fff9}.rp-footer{display:flex;flex-direction:column;gap:8px;margin-top:20px}.rp-btn{padding:12px 20px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.rp-btn.primary{background:linear-gradient(135deg,#e11d48,#dc2626);color:#fff}.rp-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #e11d4866}.rp-btn.primary.pulse{animation:rp-pulse 2s infinite}@keyframes rp-pulse{0%,to{box-shadow:0 0 #e11d4866}50%{box-shadow:0 0 0 12px #e11d4800}}.rp-btn.secondary{background:#ffffff14;color:#e0e0e0}.rp-btn.danger{background:#ef444426;color:#f87171}.rp-btn:disabled{opacity:.5;cursor:not-allowed}.rp-error,.rp-loading{text-align:center;padding:60px 20px}.rp-error .error-icon,.rp-loading .loading-icon{font-size:3rem;margin-bottom:16px}@media (max-width: 480px){.rp-room{padding:12px}.scenario-roles{flex-direction:column;gap:6px}}.er-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:16px 16px 120px}.er-loading,.er-error{text-align:center;padding:60px 20px}.er-error p{margin-bottom:16px}.er-header{border-left:4px solid #8b5cf6;padding-left:14px;margin-bottom:20px}.er-back{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.85rem;padding:0;margin-bottom:8px;display:block}.er-back:hover{color:#fff}.er-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.er-icon{font-size:1.8rem}.er-title{margin:0;font-size:1.2rem;color:#fff}.er-code{font-family:monospace;font-size:.8rem;color:#fff6;letter-spacing:.1em}.er-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:#ffffff80}.er-results{margin-bottom:20px}.er-section-title{font-size:1rem;font-weight:700;color:#fff;margin:0 0 12px}.er-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.er-tag{font-size:.7rem;padding:3px 10px;border-radius:12px;background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.2)}.er-timeline{display:flex;flex-direction:column;gap:0}.er-step{display:flex;gap:12px}.er-step-marker{display:flex;flex-direction:column;align-items:center;width:32px;flex-shrink:0}.er-step-icon{font-size:1.1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:50%;border:2px solid rgba(255,255,255,.1)}.er-step-icon-sm{font-size:.9rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:50%}.er-step-icon-sm.correct{background:#22c55e26}.er-step-icon-sm.wrong{background:#f8717126}.er-step-icon-sm.timeout{background:#fbbf2426}.er-step-line{flex:1;width:2px;background:#ffffff14;min-height:16px}.er-step-content{flex:1;padding-bottom:16px;min-width:0}.er-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.er-step-name{font-size:.9rem;font-weight:700;color:#fff}.er-step-num{font-size:.7rem;color:#ffffff4d}.er-step-role{font-size:.7rem;color:#fff6}.er-step-desc{font-size:.8rem;color:#ffffff73;margin:2px 0 8px;line-height:1.4}.er-questions{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.er-question{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;background:#ffffff0a;border-radius:8px;border-left:3px solid rgba(139,92,246,.4)}.er-q-num{font-size:.7rem;font-weight:700;color:#a78bfa;min-width:20px;padding-top:1px}.er-q-text{font-size:.85rem;color:#ffffffb3;line-height:1.4}.er-picture-info{font-size:.85rem;color:#ffffff80;margin-bottom:8px;padding:8px 12px;background:#ffffff0a;border-radius:8px}.er-pictures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:8px}.er-picture-item{text-align:center;background:#ffffff0a;border-radius:8px;padding:6px}.er-picture-img{width:100%;height:60px;object-fit:cover;border-radius:6px;margin-bottom:4px}.er-picture-label{font-size:.7rem;color:#ffffff80}.er-recs{display:flex;flex-direction:column;gap:6px}.er-rec{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:#8b5cf60f;border-radius:10px;border:1px solid rgba(139,92,246,.12)}.er-rec-label{font-size:.75rem;color:#a78bfa;font-weight:600}.er-audio{width:100%;height:36px;border-radius:8px}.er-audio::-webkit-media-controls-panel{background:#ffffff14}.er-scores-bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px;background:#ffffff0a;border-radius:12px;margin-bottom:14px}.er-score-item{font-size:.85rem;color:#fff9}.er-score-item strong{color:#fbbf24;font-size:1.1rem}.er-score-vs{font-size:.75rem;color:#ffffff40;font-weight:700}.er-vocab-word{padding:6px 10px;background:#ffffff0a;border-radius:8px;margin-bottom:4px}.er-vocab-word strong{color:#fff;font-size:.9rem}.er-vocab-def{display:block;font-size:.75rem;color:#fff6;margin-top:2px}.er-vocab-answer{font-size:.8rem;color:#ffffff80}.er-vocab-timeout{font-size:.8rem;color:#fbbf24}.er-roles{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding:8px 10px;background:#ffffff0a;border-radius:8px}.er-role{display:flex;gap:6px;font-size:.8rem}.er-role-label{color:#ffffff80;font-weight:600;white-space:nowrap}.er-role-name{color:#ffffffb3}.er-phrases{margin:6px 0}.er-phrase-title{font-size:.75rem;color:#fff6;margin-bottom:4px}.er-phrase{display:block;font-size:.8rem;color:#ffffff59;padding:2px 0}.er-phrase.used{color:#ffffffa6}.er-feedback{padding:8px 10px;background:#fbbf240f;border-radius:8px;margin-top:6px}.er-fb-item{margin-bottom:4px;font-size:.8rem}.er-fb-from{color:#fff6;font-size:.75rem}.er-fb-comment{display:block;color:#ffffff80;font-style:italic;font-size:.75rem}.er-name-prompt{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px;margin-top:16px;text-align:center}.er-name-prompt p{margin:0 0 10px;color:#fff9;font-size:.9rem}.er-input{padding:8px 14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.9rem;outline:none;flex:1}.er-input:focus{border-color:#fbbf24}.er-input::placeholder{color:#ffffff40}.er-btn{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;background:#ffffff14;color:#e0e0e0}.er-btn.primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.er-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.er-page{padding:12px 10px 100px}.er-title{font-size:1rem}.er-icon{font-size:1.4rem}.er-meta{gap:8px;font-size:.72rem}.er-step{gap:8px}.er-step-icon{width:26px;height:26px;font-size:.9rem}.er-step-icon-sm{width:22px;height:22px;font-size:.75rem}.er-step-name{font-size:.82rem}.er-step-desc{font-size:.72rem}.er-step-content{padding-bottom:10px}.er-q-text{font-size:.78rem}.er-rec{padding:6px 8px}.er-scores-bar{gap:10px;padding:8px}.er-score-item{font-size:.78rem}.er-pictures-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.er-averages{background:#22c55e0f;border:1px solid rgba(34,197,94,.15);border-radius:12px;padding:14px 16px;margin-top:12px}.er-avg-title{font-size:.85rem;font-weight:700;color:#22c55e;margin:0 0 10px}.er-avg-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.er-avg-row:last-child{border-bottom:none}.er-avg-name{font-size:.85rem;color:#fff;font-weight:600;flex:1}.er-avg-score{font-size:1rem;font-weight:800;color:#22c55e}.er-avg-count{font-size:.75rem;color:#fff6}.er-grades-readonly{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;margin-top:12px}.er-grades-title{font-size:.85rem;font-weight:700;color:#fbbf24;margin:0 0 10px}.er-grade-student{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.er-grade-student:last-child{border-bottom:none;margin-bottom:0}.er-grade-student-name{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:6px}.er-grade-entry{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.8rem}.er-grade-score{font-weight:700;color:#fbbf24;min-width:40px}.er-grade-teacher{color:#ffffff80}.er-grade-comment{color:#ffffff59;font-style:italic}.history-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:20px 16px 120px}.hp-header{margin-bottom:16px}.hp-title{font-size:1.4rem;font-weight:800;color:#fff;margin:0 0 4px}.hp-subtitle{font-size:.85rem;color:#fff6;margin:0}.hp-search-wrap{position:relative;margin-bottom:12px}.hp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none}.hp-search{width:100%;padding:9px 36px 9px 34px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0a;color:#fff;font-size:.85rem;outline:none;box-sizing:border-box}.hp-search:focus{border-color:#fff3;background:#ffffff0f}.hp-search::placeholder{color:#fff3}.hp-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:.8rem;padding:4px}.hp-search-clear:hover{color:#fff}.hp-filters{display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.hp-filters::-webkit-scrollbar{display:none}.hp-filter{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffff80;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.hp-filter.active{background:#ffffff1f;color:#fff;border-color:#fff3}.hp-count{font-size:.7rem;background:#ffffff1a;padding:1px 6px;border-radius:10px}.hp-filter.active .hp-count{background:#fff3}.hp-loading,.hp-empty{text-align:center;padding:60px 20px;color:#fff6}.hp-empty-icon{font-size:3rem;margin-bottom:12px}.hp-list{display:flex;flex-direction:column;gap:8px}.hp-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);cursor:pointer;text-align:left;width:100%;color:inherit;transition:all .2s}.hp-card:hover,.hp-card:active{background:#ffffff14;transform:translate(2px)}.hp-card-icon{font-size:1.6rem;min-width:36px;text-align:center}.hp-card-body{flex:1;min-width:0}.hp-card-title{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hp-card-code{font-size:.65rem;font-family:monospace;font-weight:600;padding:1px 6px;border-radius:4px;background:#ffffff14;color:#ffffff80;letter-spacing:.05em}.hp-card-status{font-size:.6rem;font-weight:600;padding:1px 6px;border-radius:6px;background:#22c55e1f;color:#4ade80}.hp-card-sub{font-size:.75rem;color:#fff6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-card-date{font-size:.7rem;color:#ffffff4d;margin-top:2px}.hp-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hp-student-score{display:flex;align-items:center;gap:3px}.hp-ss-name{font-size:.65rem;color:#fff6;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-ss-score{font-size:.75rem;font-weight:700;color:#fbbf24;white-space:nowrap}.hp-ss-score.ungraded{color:#ffffff40;font-weight:400}.hp-arrow{font-size:.9rem;color:#fff3}@media (max-width: 480px){.history-page{padding:14px 10px 100px}.hp-title{font-size:1.15rem}.hp-card{padding:10px;gap:8px}.hp-card-icon{font-size:1.3rem;min-width:28px}.hp-card-title{font-size:.82rem}.hp-card-sub{font-size:.7rem}.hp-card-date{font-size:.65rem}.hp-ss-name{max-width:40px;font-size:.6rem}.hp-filter{padding:5px 10px;font-size:.72rem}.hp-group-filters{gap:4px}.hp-group-tag{font-size:.7rem;padding:4px 8px}.hp-share-btn{padding:0 8px;font-size:.82rem}}.hp-group-filters{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.hp-group-filters::-webkit-scrollbar{display:none}.hp-group-tag{display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffff80;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.hp-group-tag.active{background:#8b5cf633;color:#fff;border-color:#8b5cf680}.hp-group-tag:hover:not(.active){background:#ffffff14}.hp-card-wrap{display:flex;align-items:stretch;gap:0;border-radius:14px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:all .2s}.hp-card-wrap:hover{background:#ffffff14}.hp-card-wrap .hp-card{background:transparent;border:none;border-radius:0}.hp-card-wrap .hp-card:hover{transform:none}.hp-share-btn{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.08);padding:0 12px;cursor:pointer;font-size:1rem;color:#8b5cf699;transition:all .2s;flex-shrink:0}.hp-share-btn:hover{background:#8b5cf61a;color:#a78bfa}.hp-shared-by{color:#8b5cf699;font-weight:500}.mg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.mg-modal{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;width:100%;max-width:360px;box-shadow:0 16px 48px #0006}.mg-modal h3{margin:0 0 16px;font-size:1.15rem;color:#fff}.mg-modal-input{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#0000004d;color:#fff;font-size:1rem;outline:none;box-sizing:border-box}.mg-modal-input:focus{border-color:#8b5cf6}.mg-modal-actions{display:flex;gap:10px;margin-top:16px}.mg-modal-cancel{flex:1;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:transparent;color:#fff9;font-size:.9rem;cursor:pointer}.mg-modal-confirm{flex:1;padding:12px;border:none;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}.mg-modal-confirm:disabled{opacity:.5}.mg-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#22c55ee6;color:#fff;padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:600;z-index:9999;animation:mgToastIn .3s ease}@keyframes mgToastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-group-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;max-height:200px;overflow-y:auto}.share-group-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:8px;background:#ffffff0d;cursor:pointer;color:#fff;font-size:.9rem;transition:background .2s}.share-group-item:hover{background:#ffffff1a}.share-group-item input[type=checkbox]{accent-color:#8b5cf6;width:16px;height:16px}.lang-switcher-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;gap:4px}.lang-switcher-btn:hover{background:#fff3;transform:translateY(-2px)}.profile-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:16px 16px 120px}.pp-header-card{background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:24px 20px 20px;margin-bottom:24px;box-shadow:0 8px 32px #0003;position:relative}.pp-user-info{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-top:36px}.pp-avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#8b5cf64d,#0ea5e94d);border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:2rem}.pp-name-edit{flex:1;min-width:0}.pp-input-row{display:flex;gap:8px;width:100%;flex-wrap:wrap}.pp-input{flex:1;min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0003;color:#fff;font-size:1rem;font-weight:600;outline:none;transition:border .2s}.pp-input:focus{border-color:#8b5cf6}.pp-save-btn{padding:0 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s;white-space:nowrap}.pp-save-btn:disabled{opacity:.5;filter:grayscale(1)}.pp-streak-progress{background:#0000004d;padding:12px 16px;border-radius:12px}.pp-streak-header{display:flex;justify-content:space-between;font-size:.8rem;margin-bottom:8px;align-items:center}.pp-streak-fire{font-weight:700;color:#f97316;font-size:.9rem}.pp-streak-target{color:#fff9}.pp-progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.pp-progress-fill{height:100%;background:linear-gradient(90deg,#f97316,#f59e0b);border-radius:4px;transition:width .5s ease-out}.pp-streak-milestone{font-size:.75rem;color:#fff6;margin-top:6px;text-align:right}.pp-badge-section{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;margin-bottom:24px;overflow:hidden}.pp-badge-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer}.pp-badge-header h3{margin:0;font-size:1.05rem;color:#f3f4f6}.pp-badge-toggle{color:#fff6;font-size:.8rem}.pp-badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:16px;margin:0 0 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px}.pp-badge-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:12px;position:relative;transition:all .3s}.pp-badge-item.unlocked{background:#3b82f614}.pp-badge-item.locked{opacity:.35}.pp-badge-icon{width:48px;height:48px;border-radius:50%;object-fit:cover}.pp-badge-item.unlocked .pp-badge-icon{filter:drop-shadow(0 0 8px rgba(59,130,246,.5))}.pp-badge-item.locked .pp-badge-icon{filter:grayscale(1)}.pp-badge-name{font-size:.65rem;color:#ffffffb3;text-align:center;line-height:1.2}.pp-badge-lock{position:absolute;top:4px;right:4px;font-size:.6rem;opacity:.6}.pp-menu-list{display:flex;flex-direction:column;gap:12px}.pp-menu-item{display:flex;align-items:center;width:100%;padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;cursor:pointer;transition:all .2s;text-align:left}.pp-menu-item:hover{background:#ffffff0f;transform:translateY(-2px);border-color:#ffffff1a}.pp-menu-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-right:16px;flex-shrink:0}.pp-menu-text{flex:1;display:flex;flex-direction:column;gap:4px}.pp-menu-title{font-size:1.05rem;font-weight:600;color:#fff}.pp-menu-desc{font-size:.8rem;color:#ffffff80;line-height:1.3}.pp-menu-arrow{font-size:1.5rem;color:#ffffff4d;padding-left:8px;font-weight:300}.pp-difficulty-section{background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;margin-bottom:24px}.pp-diff-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.pp-diff-icon{font-size:1.8rem}.pp-diff-title{display:block;font-size:1.05rem;font-weight:700;color:#fff}.pp-diff-desc{display:block;font-size:.78rem;color:#ffffff80;margin-top:2px}.pp-diff-slider-wrap{text-align:center;padding:12px 0 8px}.pp-diff-value{font-size:1.6rem;font-weight:800;color:#f59e0b;letter-spacing:1px;margin-bottom:2px}.pp-diff-label{font-size:.85rem;color:#ffffffb3;margin-bottom:10px}.pp-diff-reset-btn{display:block;width:100%;margin-top:12px;padding:10px 0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;color:#fff9;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.pp-diff-reset-btn:hover{background:#ffffff14;color:#fff}.pp-footer{text-align:center;margin-top:32px;color:#fff3;font-size:.8rem}@media (max-width: 480px){.profile-page{padding:12px 10px 100px}.pp-header-card{padding:16px 14px 14px;margin-bottom:16px}.pp-user-info{gap:10px;padding-top:44px;margin-bottom:16px}.pp-avatar{width:48px;height:48px;font-size:1.5rem}.pp-input{font-size:.88rem;padding:8px 10px}.pp-save-btn{font-size:.78rem;padding:0 12px}.pp-badge-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.pp-badge-icon{width:38px;height:38px}.pp-badge-name{font-size:.58rem}.pp-badge-header{padding:12px 14px}.pp-badge-header h3{font-size:.92rem}.pp-menu-item{padding:12px}.pp-menu-icon{width:36px;height:36px;font-size:1.2rem;margin-right:10px}.pp-menu-title{font-size:.92rem}.pp-menu-desc{font-size:.72rem}}.my-vocab-page{padding:20px 20px 100px;display:flex;flex-direction:column;gap:20px;animation:fadeIn .3s ease-out}.vocab-header{display:flex;align-items:center;gap:16px}.vocab-reading-shortcut{margin-left:auto;background:#6366f126;border:1px solid rgba(99,102,241,.4);color:#a5b4fc;border-radius:20px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.vocab-reading-shortcut:hover{background:#6366f14d;color:#c7d2fe}.vocab-back{background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.vocab-titles h1{font-size:1.4rem;margin:0 0 4px;color:#f3f4f6}.vocab-titles p{font-size:.9rem;color:#9ca3af;margin:0}.vocab-tabs{display:flex;gap:12px;background:#ffffff0d;padding:6px;border-radius:12px}.vocab-tab{flex:1;background:transparent;border:none;color:#9ca3af;padding:10px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.vocab-tab.active{background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f64d}.vocab-count{background:#0003;padding:2px 8px;border-radius:10px;font-size:.8rem}.vocab-tab.active .vocab-count{background:#fff3}.vocab-empty{text-align:center;padding:40px 20px;background:#ffffff0d;border-radius:16px;border:2px dashed rgba(255,255,255,.1)}.vocab-empty-icon{font-size:3rem;margin-bottom:16px;filter:grayscale(1);opacity:.5}.vocab-empty h3{margin:0 0 8px;color:#f3f4f6}.vocab-empty p{color:#9ca3af;font-size:.95rem;line-height:1.5;margin:0}.vocab-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.vocab-card{background:transparent;perspective:1000px;height:160px;cursor:pointer}.vocab-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.vocab-card.flipped .vocab-card-inner{transform:rotateY(180deg)}.vocab-card-front,.vocab-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:16px;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 4px 15px #0000001a;gap:4px}.vocab-card-front{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.vocab-card-back{background:#1a2234;border:1.5px solid rgba(99,136,255,.35);color:#e2e8f0;transform:rotateY(180deg);justify-content:center;overflow:hidden;gap:8px}.vocab-word{margin:0;font-weight:700;word-break:break-word;width:100%;text-align:center;white-space:nowrap}.vocab-definition-input{font-size:.85rem;line-height:1.4;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;color:#e2e8f0;resize:none;text-align:center;padding:4px 6px;transition:border-color .2s;scrollbar-width:none;font-family:inherit}.vocab-definition-input::-webkit-scrollbar{display:none}.vocab-definition-input:hover,.vocab-definition-input:focus{outline:none;border-color:#6366f180;background:#6366f112}.vocab-definition-input.empty::placeholder{color:#ffffff40;font-style:italic}.vocab-speak-btn{background:#fff3;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s}.vocab-speak-btn:hover{background:#ffffff4d;transform:scale(1.1)}.vocab-actions{display:flex;gap:5px;width:100%;padding:0 2px;margin-top:0;box-sizing:border-box}.vocab-actions .vocab-speak-btn{background:#3b82f633}.vocab-mark-btn{flex:1;border:none;border-radius:20px;padding:5px 6px;font-weight:600;cursor:pointer;font-size:.75rem;letter-spacing:.02em;transition:all .18s;color:#fff;opacity:.92}.vocab-mark-btn:hover{opacity:1;transform:translateY(-1px)}.vocab-mark-btn.success{background:#10b981}.vocab-mark-btn.success:hover{background:#059669}.vocab-mark-btn.warning{background:#f59e0b}.vocab-mark-btn.warning:hover{background:#d97706}.vocab-mark-btn.fail{background:#ef4444}.vocab-mark-btn.fail:hover{background:#dc2626}.vocab-source-papers{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px}.vocab-source-label{font-size:.72rem;color:#9ca3af;font-weight:600}.vocab-source-link{font-size:.75rem;color:#60a5fa;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vocab-source-link:hover{text-decoration:underline}@media (max-width: 480px){.my-vocab-page{padding:12px 10px 90px;gap:12px}.vocab-header{gap:8px}.vocab-back{width:34px;height:34px;font-size:1rem}.vocab-titles h1{font-size:1.1rem}.vocab-titles p{font-size:.78rem}.vocab-reading-shortcut{font-size:.7rem;padding:.25rem .6rem}.vocab-tabs{gap:6px;padding:4px}.vocab-tab{padding:7px 4px;font-size:.78rem;gap:4px}.vocab-count{font-size:.68rem;padding:1px 5px}.vocab-list{grid-template-columns:repeat(2,1fr);gap:10px}.vocab-card{height:135px}.vocab-word{font-size:.88rem!important}.vocab-definition-input{font-size:.78rem}.vocab-mark-btn{font-size:.65rem;padding:4px}.vocab-source-label{font-size:.65rem}.vocab-source-link{font-size:.68rem}.vocab-empty{padding:24px 12px}.vocab-empty-icon{font-size:2rem}}.media-player{position:fixed;left:0;right:0;bottom:var(--bottom-nav-height);height:auto;min-height:80px;background:#111827d9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 24px #0003;z-index:90;display:flex;flex-direction:column;padding:10px 12px 12px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.player-main{flex:1;display:flex;flex-direction:column;gap:8px}.player-top-tier{display:flex;flex-direction:column;gap:4px;width:100%}.player-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.player-title{font-size:13px;font-weight:600;white-space:normal;word-break:break-word;flex:1;min-width:0;line-height:1.3}.player-time{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.player-badges{display:flex;align-items:center;gap:8px;margin-top:-2px}.player-type{font-size:11px;color:var(--text-secondary)}.player-mode-badge{font-size:10px;font-weight:600;color:#818cf8;background:#6366f126;padding:1px 6px;border-radius:8px;white-space:nowrap}.player-progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;cursor:pointer;flex-shrink:0;margin-top:2px}.player-progress-fill{height:100%;background:var(--accent-gradient);border-radius:2px;transition:width .1s linear}.player-bottom-tier{display:flex;justify-content:space-between;align-items:center;width:100%;min-width:0}.player-controls-left,.player-controls-right{display:flex;align-items:center;gap:2px;flex-shrink:1;min-width:0}.player-controls-left{justify-content:flex-start}.player-controls-right{justify-content:flex-end}.player-controls-center{display:flex;align-items:center;gap:2px;flex-shrink:0}.player-btn{width:clamp(26px,8vw,36px);height:clamp(26px,8vw,36px);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:clamp(12px,3.5vw,16px);color:var(--text-primary);transition:all .2s ease;background:transparent;cursor:pointer;border:none;flex-shrink:0;padding:0}.player-btn:active{transform:scale(.9)}.player-btn:hover{background:#ffffff14}.player-btn-sm{width:clamp(22px,6.5vw,30px);height:clamp(22px,6.5vw,30px);font-size:clamp(10px,3vw,13px);color:var(--text-secondary)}.player-btn-sm:hover{color:var(--text-primary)}.player-btn-play{width:clamp(34px,10vw,44px);height:clamp(34px,10vw,44px);background:linear-gradient(135deg,#a855f7,#6366f1);font-size:clamp(14px,4vw,18px);color:#fff;box-shadow:0 4px 12px #6366f14d}.player-btn-play:hover{background:linear-gradient(135deg,#b06bf7,#7375f1);box-shadow:0 6px 16px #6366f180;transform:translateY(-1px)}.player-btn-speed{width:auto;padding:0 6px;font-size:clamp(9px,2.8vw,11px);font-weight:700;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);min-width:clamp(28px,9vw,40px);border-radius:12px;height:clamp(22px,6.5vw,30px)}.player-btn-speed:hover{background:#ffffff1a}.player-btn-active{background:#6366f133!important;color:#818cf8!important;border:1px solid rgba(99,102,241,.5)}.player-btn-close:hover{background:#ef444426;color:var(--danger)}.player-video-container{position:fixed;top:0;left:0;right:0;bottom:calc(var(--bottom-nav-height) + 120px);background:#000;z-index:80;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.player-video-container video{max-width:100%;max-height:100%;object-fit:contain}.player-video-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;z-index:81;border:none;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;gap:0;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;color:var(--text-secondary);text-decoration:none;transition:color var(--transition);position:relative}.nav-tab.active{color:var(--text-primary)}.nav-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--accent-gradient);border-radius:0 0 3px 3px}.nav-tab-icon{font-size:22px;line-height:1}.nav-tab-label{font-size:clamp(9px,2.8vw,11px);font-weight:500;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rl-container{min-height:100%;background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #e0e0ff);padding:1rem 1rem 6rem;position:relative}.rl-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.rl-back-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:inherit;border-radius:8px;padding:.4rem .9rem;cursor:pointer;font-size:.85rem;transition:background .2s}.rl-back-btn:hover{background:#ffffff21}.rl-title{font-size:1.4rem;font-weight:700;margin:0}.rl-empty{text-align:center;padding:4rem 1rem;color:#fff6}.rl-empty-icon{font-size:3rem;margin-bottom:.75rem}.rl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.rl-item{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:10px;overflow:hidden;transition:border-color .2s}.rl-item:hover{border-color:#8b5cf680}.rl-item-main{flex:1;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:transparent;border:none;color:inherit;cursor:pointer;text-align:left;gap:.5rem}.rl-item-title{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rl-item-date{font-size:.78rem;color:#fff6;white-space:nowrap}.rl-delete-btn{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.08);padding:0 1rem;height:100%;cursor:pointer;font-size:1rem;color:#ff5050a6;transition:color .2s,background .2s}.rl-delete-btn:hover{background:#ff3c3c1a;color:#ff6060}.rl-new-btn{width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px #8b5cf64d;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rl-new-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px #8b5cf680}.rl-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.rl-vocab-btn{background:#6366f126;border:1px solid rgba(99,102,241,.4);color:#a5b4fc;border-radius:20px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.rl-vocab-btn:hover{background:#6366f14d;color:#c7d2fe}@media (max-width: 480px){.rl-container{padding:.75rem .6rem 5rem}.rl-header{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.rl-title{font-size:1.15rem}.rl-header-actions{width:100%;justify-content:flex-end}.rl-back-btn{font-size:.78rem;padding:.3rem .6rem}.rl-vocab-btn{font-size:.72rem;padding:.3rem .6rem}.rl-item-main{padding:.65rem .6rem}.rl-item-title{font-size:.88rem}.rl-item-date{font-size:.7rem}.rl-delete-btn{padding:0 .7rem;font-size:.88rem}.rl-empty{padding:2.5rem .5rem}.rl-filters{gap:.35rem;margin-bottom:.75rem}.rl-filter-tag{font-size:.7rem;padding:.25rem .55rem}.rl-share-btn{padding:0 .5rem;font-size:.82rem}}.rl-filters{display:flex;gap:.4rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.rl-filters::-webkit-scrollbar{display:none}.rl-filter-tag{display:flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffff80;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.rl-filter-tag.active{background:#8b5cf633;color:#fff;border-color:#8b5cf680}.rl-filter-tag:hover:not(.active){background:#ffffff14}.rl-filter-count{font-size:.65rem;background:#ffffff1a;padding:1px 5px;border-radius:8px}.rl-filter-tag.active .rl-filter-count{background:#fff3}.rl-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rl-item-author{font-size:.72rem;color:#ffffff59}.rl-share-btn{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.08);padding:0 .75rem;height:100%;cursor:pointer;font-size:.95rem;color:#8b5cf6b3;transition:color .2s,background .2s}.rl-share-btn:hover{background:#8b5cf61a;color:#a78bfa}.re-container{position:fixed;top:0;left:0;right:0;bottom:65px;background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #e0e0ff);display:flex;flex-direction:column;z-index:50}.re-header{display:flex;flex-direction:column;background:#0f0f1af2;border-bottom:1px solid rgba(255,255,255,.08)}.re-header-top{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex-wrap:wrap;width:100%}.re-back-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:inherit;border-radius:8px;padding:.4rem .8rem;cursor:pointer;font-size:.82rem;white-space:nowrap;transition:background .2s}.re-back-btn:hover{background:#ffffff21}.re-title-input{flex:1;min-width:150px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.4rem .75rem;color:inherit;font-size:.9rem;outline:none;transition:border-color .2s}.re-title-input:focus{border-color:#8b5cf699}.re-title-input::placeholder{color:#ffffff40}.re-title-input:focus{border-color:#8b5cf6}.re-title-input.read-mode-input{background:transparent;border-color:transparent;color:#e2e8f0;opacity:1}.re-header-actions{display:flex;gap:.5rem}.re-btn{border:none;border-radius:8px;padding:.45rem .9rem;font-size:.82rem;cursor:pointer;font-weight:600;transition:opacity .2s,transform .15s;white-space:nowrap}.re-btn:hover{opacity:.85;transform:translateY(-1px)}.re-btn:disabled{opacity:.5;cursor:not-allowed}.re-btn-vocab{background:#10b9812e;border:1px solid rgba(16,185,129,.35);color:#6ee7b7}.re-btn-save{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.re-btn-notebook{background:#6366f126;border:1px solid rgba(99,102,241,.4);color:#a5b4fc}.re-btn-toggle{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#fcd34d}.re-body{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;min-height:0}@media (max-width: 640px){.re-body{grid-template-columns:1fr;grid-template-rows:minmax(0,35vh) minmax(0,1fr)}}.re-body.read-mode{grid-template-columns:1fr;grid-template-rows:1fr}.re-pane{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,.07)}.re-pane-label{font-size:.75rem;color:#ffffff59;padding:0 1.5rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:2.5rem;display:flex;align-items:center;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05)}.re-threshold-hint{color:#8b5cf6b3;margin-left:.25rem}.re-textarea{flex:1;resize:none;background:transparent;border:none;color:inherit;font-family:var(--font-family, inherit);font-size:1rem;line-height:1.6;padding:1.5rem;outline:none;white-space:pre-wrap;word-break:break-word;overflow-y:auto;box-sizing:border-box}.re-textarea::placeholder{color:#fff3}.re-reader-text{flex:1;overflow-y:auto;padding:1.5rem;font-family:var(--font-family, inherit);font-size:1rem;line-height:1.6;word-break:break-word;white-space:pre-wrap;border:none;box-sizing:border-box}.re-word{cursor:pointer;border-radius:2px;padding:0 1px;transition:background .15s,box-shadow .15s}.re-word:hover{background:#ffffff1f}.re-word-clicked{background:#ffffff26;color:#fff;box-shadow:0 0 0 1px #ffffff4d}.re-word-marked{background:#fb923c4d;color:#fdba74;font-weight:600;box-shadow:0 0 0 1px #fb923c66;border-bottom:none}.re-word-critical{background:#ef44444d;color:#fca5a5;font-weight:600;box-shadow:0 0 0 1px #ef444466;border-bottom:none}.re-action-bar{display:flex;align-items:flex-start;gap:.75rem;padding:0 1rem .75rem;width:100%}.re-bar-label{font-size:.8rem;color:#8b5cf6e6;white-space:nowrap;padding-top:.2rem;font-weight:600}.re-chips{display:flex;flex-wrap:wrap;gap:.4rem}.re-empty-chips{font-size:.8rem;color:#ffffff4d;padding:.2rem 0}.re-chip{display:inline-flex;align-items:center;gap:.25rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:.2rem .5rem .2rem .65rem;font-size:.78rem;color:#f8fafc}.re-chip-del{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.9rem;line-height:1;padding:0}.re-chip-del:hover{color:#f87171}.re-chip-marked{background:#fb923c33!important;border-color:#fb923c66!important;color:#fdba74!important}.re-chip-critical{background:#ef444433!important;border-color:#ef444466!important;color:#fca5a5!important}.re-chip-count{font-size:.65rem;opacity:.7;margin-left:2px}.re-toast{position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);background:#1e1e32f2;border:1px solid rgba(255,255,255,.15);color:#e0e0ff;padding:.6rem 1.4rem;border-radius:24px;font-size:.88rem;pointer-events:none;z-index:999;animation:fadeSlideUp .2s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.re-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:.9rem}@media (max-width: 480px){.re-container{bottom:55px}.re-header-top{padding:.5rem .6rem;gap:.4rem}.re-back-btn{font-size:.75rem;padding:.3rem .6rem}.re-title-input{min-width:0;font-size:.82rem;padding:.35rem .6rem}.re-header-actions{flex-wrap:wrap;gap:.35rem;width:100%}.re-btn{padding:.35rem .6rem;font-size:.72rem;flex:1 1 auto;text-align:center;min-width:0}.re-pane{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden;min-height:0}.re-pane+.re-pane{border-bottom:none;overflow:hidden}.re-reader-text{overflow-y:auto}.re-pane-label{font-size:.7rem;padding:.35rem .6rem 0}.re-textarea{font-size:.85rem;padding:.5rem .6rem;line-height:1.6}.re-reader-text{font-size:.85rem;padding:.5rem .6rem;line-height:1.7}.re-action-bar{padding:0 .6rem .5rem;gap:.4rem}.re-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.re-chips::-webkit-scrollbar{display:none}.re-chip{font-size:.72rem;padding:.15rem .4rem .15rem .5rem;flex-shrink:0}.re-bar-label{font-size:.72rem}.re-word{padding:0 1px}.re-toast{bottom:4.5rem;font-size:.8rem;padding:.5rem 1rem}}.re-selection-popup{position:absolute;background:#10b981;color:#fff;padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;transform:translate(-50%,-120%);z-index:100;font-weight:700;border:none;transition:background .2s}.re-selection-popup:hover{background:#059669}.guide-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:16px 16px 120px}.guide-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.guide-back{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.guide-back:hover{background:#ffffff26}.guide-title{font-size:1.3rem;font-weight:800;margin:0;color:#fff}.guide-intro{font-size:.88rem;color:#ffffff80;margin:0 0 20px;line-height:1.5}.guide-sections{display:flex;flex-direction:column;gap:10px}.guide-section{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;transition:border-color .2s}.guide-section.open{border-color:var(--accent, rgba(255,255,255,.15))}.guide-section-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:none;border:none;color:inherit;cursor:pointer;text-align:left;transition:background .2s}.guide-section-header:hover{background:#ffffff0a}.guide-section-icon{font-size:1.4rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:10px;flex-shrink:0}.guide-section-title{flex:1;font-size:1rem;font-weight:700;color:#fff}.guide-section-chevron{font-size:1rem;color:#ffffff4d;transition:transform .2s}.guide-steps{padding:4px 16px 16px;display:flex;flex-direction:column;gap:6px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.guide-step{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#ffffff08;border-radius:10px;border-left:3px solid var(--accent, rgba(139,92,246,.4))}.guide-step-num{min-width:20px;height:20px;border-radius:50%;background:var(--accent, #8b5cf6);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.guide-step-emoji{font-size:1rem;flex-shrink:0;margin-top:-1px}.guide-step-text{font-size:.85rem;color:#ffffffb3;line-height:1.45}@media (max-width: 480px){.guide-page{padding:12px 10px 100px}.guide-title{font-size:1.1rem}.guide-intro{font-size:.8rem}.guide-section-header{padding:10px 12px}.guide-section-icon{width:30px;height:30px;font-size:1.15rem}.guide-section-title{font-size:.9rem}.guide-steps{padding:2px 10px 12px}.guide-step{padding:6px 8px}.guide-step-text{font-size:.78rem}}.mg-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:16px 16px 120px}.mg-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.mg-header h1{margin:0;font-size:1.3rem;font-weight:700}.mg-back-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;padding:8px 12px;font-size:1.1rem;cursor:pointer;transition:background .2s}.mg-back-btn:hover{background:#ffffff1f}.mg-actions{display:flex;gap:10px;margin-bottom:20px}.mg-action-btn{flex:1;padding:14px;border:none;border-radius:14px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.mg-create-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.mg-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf666}.mg-join-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff}.mg-join-btn:hover{background:#ffffff1a}.mg-list{display:flex;flex-direction:column;gap:10px}.mg-group-card{display:flex;align-items:center;width:100%;padding:16px;text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:16px;cursor:pointer;transition:all .2s}.mg-group-card:hover{background:#ffffff14;transform:translateY(-1px);border-color:#8b5cf64d}.mg-group-info{flex:1;display:flex;flex-direction:column;gap:4px}.mg-group-name{font-size:1.05rem;font-weight:600;color:#fff}.mg-group-meta{font-size:.8rem;color:#ffffff80}.mg-group-arrow{font-size:1.5rem;color:#ffffff4d;padding-left:8px;font-weight:300}.mg-empty{text-align:center;padding:48px 20px;color:#ffffff80}.mg-empty-icon{font-size:3rem;margin-bottom:12px}.mg-empty p{margin:0 0 8px;font-size:1rem}.mg-empty-hint{font-size:.85rem;color:#ffffff59}.mg-loading{text-align:center;padding:48px;font-size:1.5rem}@media (max-width: 480px){.mg-page{padding:12px 10px 100px}.mg-header h1{font-size:1.1rem}.mg-action-btn{padding:12px;font-size:.85rem}.mg-group-card{padding:12px}.mg-group-name{font-size:.95rem}}.gd-page{min-height:100%;background:linear-gradient(135deg,#0f172a,#1e293b);color:#e0e0e0;padding:16px 16px 120px}.gd-loading{text-align:center;padding:48px;font-size:1.5rem}.gd-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.gd-back-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;padding:8px 12px;font-size:1.1rem;cursor:pointer}.gd-title-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.gd-title-row h1{margin:0;font-size:1.3rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-edit-btn{background:none;border:none;cursor:pointer;font-size:1rem}.gd-edit-name{display:flex;align-items:center;gap:6px;flex:1}.gd-name-input{flex:1;padding:8px 12px;border:1px solid #8b5cf6;border-radius:10px;background:#0000004d;color:#fff;font-size:1.1rem;font-weight:600;outline:none}.gd-save-name,.gd-cancel-name{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:4px 8px}.gd-section{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px;margin-bottom:16px}.gd-section h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:#ffffffd9}.gd-invite-section{background:#8b5cf60f;border-color:#8b5cf626}.gd-code-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.gd-code{font-family:SF Mono,Fira Code,monospace;font-size:1.2rem;font-weight:700;color:#8b5cf6;background:#8b5cf61a;padding:8px 14px;border-radius:10px;letter-spacing:2px}.gd-copy-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;padding:6px 10px;cursor:pointer;font-size:1rem;transition:background .2s}.gd-copy-btn:hover{background:#ffffff1f}.gd-invite-controls{display:flex;flex-direction:column;gap:10px}.gd-mode-selector{display:flex;gap:6px;flex-wrap:wrap}.gd-mode-btn{padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0a;color:#fff9;font-size:.78rem;cursor:pointer;transition:all .2s}.gd-mode-btn.active{background:#8b5cf633;border-color:#8b5cf6;color:#fff;font-weight:600}.gd-renew-btn{padding:8px 14px;border:1px dashed rgba(255,255,255,.15);border-radius:10px;background:transparent;color:#ffffff80;font-size:.82rem;cursor:pointer}.gd-renew-btn:hover{color:#f97316;border-color:#f97316}.gd-member-list{display:flex;flex-direction:column;gap:6px}.gd-member-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#ffffff08;border-radius:10px}.gd-member-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.gd-member-name{font-size:.92rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-you{color:#fff6;font-size:.78rem;font-weight:400}.gd-role-badge{font-size:.7rem;padding:2px 8px;border-radius:6px;font-weight:600;flex-shrink:0}.gd-role-badge.role-owner{background:#eab30826;color:#eab308}.gd-role-badge.role-admin{background:#3b82f626;color:#3b82f6}.gd-role-badge.role-member{background:#ffffff0f;color:#ffffff80}.gd-member-actions{display:flex;gap:4px;flex-shrink:0}.gd-action-sm{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 8px;font-size:.8rem;cursor:pointer;transition:background .2s}.gd-action-sm:hover{background:#ffffff1f}.gd-action-sm.gd-kick:hover{background:#ef444433}.gd-approve-btn{background:#22c55e26;border:none;border-radius:8px;padding:6px 12px;font-size:.9rem;cursor:pointer}.gd-reject-btn{background:#ef444426;border:none;border-radius:8px;padding:6px 12px;font-size:.9rem;cursor:pointer}.gd-perm-list{display:flex;flex-direction:column;gap:10px}.gd-perm-item{display:flex;align-items:center;justify-content:space-between}.gd-perm-label{font-size:.88rem;color:#ffffffb3;flex:1}.gd-toggle{width:48px;height:26px;border-radius:13px;border:none;padding:2px;cursor:pointer;position:relative;transition:background .3s}.gd-toggle.off{background:#ffffff1f}.gd-toggle.on{background:#22c55e}.gd-toggle-thumb{display:block;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .3s;box-shadow:0 1px 3px #0000004d}.gd-toggle.on .gd-toggle-thumb{transform:translate(22px)}.gd-danger-zone{border-color:#ef444426;background:#ef44440a}.gd-danger-btn{width:100%;padding:12px;border:1px solid rgba(239,68,68,.3);border-radius:12px;background:transparent;color:#ef4444;font-size:.92rem;font-weight:600;cursor:pointer}.gd-danger-btn:hover{background:#ef44441a}@media (max-width: 480px){.gd-page{padding:12px 10px 100px}.gd-title-row h1{font-size:1.1rem}.gd-code{font-size:1rem;padding:6px 10px}.gd-section{padding:12px}.gd-mode-btn{font-size:.72rem;padding:5px 8px}}.cl-container{min-height:100%;background:var(--bg-primary, #0f0f1a);color:var(--text-primary, #e0e0ff);padding:1rem 1rem 6rem;position:relative;max-width:900px;margin:0 auto}.cl-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.cl-back-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:inherit;border-radius:8px;padding:.4rem .9rem;cursor:pointer;font-size:.85rem;transition:background .2s}.cl-back-btn:hover{background:#ffffff21}.cl-title{font-size:1.4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.cl-empty{text-align:center;padding:4rem 1rem;color:#fff6}.cl-empty-icon{font-size:3rem;margin-bottom:.75rem}.cl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.cl-item{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:10px;overflow:hidden;transition:border-color .2s}.cl-item:hover{border-color:#3b82f680}.cl-item-main{flex:1;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:transparent;border:none;color:inherit;cursor:pointer;text-align:left;gap:.5rem}.cl-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cl-item-title{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.05rem}.cl-item-author{font-size:.72rem;color:#3b82f6cc}.cl-item-date{font-size:.78rem;color:#fff6;white-space:nowrap}.cl-delete-btn{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.08);padding:0 1.25rem;cursor:pointer;font-size:1.2rem;color:#ff5050a6;transition:color .2s,background .2s;align-self:stretch;display:flex;align-items:center;justify-content:center}.cl-delete-btn:hover{background:#ff3c3c1a;color:#ff6060}.cl-new-btn{width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px #3b82f64d;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cl-new-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px #3b82f680}.cl-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.glass-panel{background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;width:90%;max-width:400px;box-shadow:0 10px 25px #00000080}.glass-panel h2{margin-top:0;margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#ccc}.form-group input,.form-group select{width:100%;padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;font-size:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancel{background:transparent;color:#ccc;border:1px solid #ccc;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-submit{background:#3b82f6;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:700}.btn-submit:disabled{background:#555;cursor:not-allowed}@media (max-width: 480px){.cl-container{padding:.75rem .6rem 5rem}.cl-header{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.cl-title{font-size:1.15rem}.cl-header-actions{width:100%;justify-content:flex-end}.cl-back-btn{font-size:.78rem;padding:.3rem .6rem}.cl-item-main{padding:.65rem .6rem}.cl-item-title{font-size:.88rem}.cl-item-date{font-size:.7rem}.cl-delete-btn{padding:0 .7rem;font-size:.88rem}}.cr-container{display:flex;flex-direction:column;height:100%;max-height:100%;max-width:800px;margin:0 auto;padding:.5rem 1rem;color:var(--text-color, #e0e0ff)}.cr-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;margin-bottom:.75rem;background:#1e1e1e99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.cr-title{margin:0;font-size:1.1rem;font-weight:600}.cr-back-btn{background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:1.1rem}.cr-back-btn:hover{color:#fff}.cr-mention-btn{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3);padding:.35rem .8rem;border-radius:16px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.cr-mention-btn:hover{background:#3b82f640;color:#93c5fd}.cr-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#0003;border-radius:12px;margin-bottom:.75rem;border:1px solid rgba(255,255,255,.05)}.cr-empty{text-align:center;color:#fff6;margin:auto;font-size:.9rem}.cr-msg-wrapper{display:flex;flex-direction:column;max-width:75%}.cr-msg-wrapper.me{align-self:flex-end;align-items:flex-end}.cr-msg-wrapper.other{align-self:flex-start;align-items:flex-start}.cr-msg-sender{font-size:.7rem;color:#fff6;margin-bottom:.2rem;margin-left:.5rem}.cr-msg-bubble{padding:.6rem 1rem;border-radius:16px;background:#ffffff14;word-break:break-word;white-space:pre-wrap;font-size:.95rem;line-height:1.4;box-shadow:0 1px 3px #0003}.cr-msg-wrapper.me .cr-msg-bubble{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:4px}.cr-msg-wrapper.other .cr-msg-bubble{background:#ffffff1f;border-bottom-left-radius:4px}.cr-msg-wrapper.ai .cr-msg-bubble{background:linear-gradient(135deg,#059669,#047857);color:#fff;border-bottom-left-radius:4px}.cr-msg-bubble.sending{opacity:.6;font-style:italic}.cr-input-area{display:flex;gap:.75rem;padding:.75rem;background:#1e1e1e99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;border:1px solid rgba(255,255,255,.08)}.cr-input-wrapper{flex:1;position:relative;display:flex}.cr-mention-dropdown{position:absolute;bottom:calc(100% + 10px);left:0;width:250px;max-height:200px;overflow-y:auto;background:#282828f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.5rem 0;margin:0;list-style:none;box-shadow:0 4px 20px #00000080;z-index:100}.cr-mention-dropdown li{padding:.6rem 1rem;cursor:pointer;font-size:.9rem;color:#e2e8f0;transition:background .2s}.cr-mention-dropdown li:hover,.cr-mention-dropdown li.selected{background:#ffffff26}.cr-mention-dropdown li.ai-item{color:#34d399;font-weight:600;border-bottom:1px solid rgba(255,255,255,.05)}.cr-input-area input{flex:1;width:100%;padding:.6rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.15);background:#0006;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s}.cr-input-area input:focus{border-color:#3b82f680}.cr-input-area button{background:#3b82f6;color:#fff;border:none;padding:0 1.25rem;border-radius:20px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s}.cr-input-area button:hover:not(:disabled){background:#2563eb}.cr-input-area button:disabled{background:#ffffff1a;color:#ffffff4d;cursor:not-allowed}.cr-messages::-webkit-scrollbar{width:6px}.cr-messages::-webkit-scrollbar-track{background:transparent}.cr-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.cr-messages::-webkit-scrollbar-thumb:hover{background:#fff3}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px;height:10px}.typing-indicator span{width:6px;height:6px;background-color:#a0aec0;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.cr-think-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.cr-think-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#8b5cf6;cursor:pointer;margin:0}.cr-think-label{font-size:.8rem;font-weight:600;color:#a78bfa;letter-spacing:.02em}.vp-container{padding:20px 20px 80px;color:#fff;max-width:800px;margin:0 auto;font-family:Inter,sans-serif}.vp-header{margin-bottom:30px}.vp-header h1{font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.vp-header p{color:#94a3b8;font-size:14px}.vp-card{background:#1e293bb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 20px #0003}.vp-card-clickable{cursor:pointer;transition:all .2s ease}.vp-card-clickable:hover{transform:translateY(-2px);background:#1e293be6;border-color:#fff3}.vp-stacked-bar-container{margin:20px 0}.vp-stacked-bar-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:600}.vp-stacked-bar{display:flex;height:12px;width:100%;background:#0000004d;border-radius:6px;overflow:hidden}.vp-stacked-bar-segment{height:100%;transition:width .5s ease-out}.vp-stacked-bar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;color:#cbd5e1}.vp-legend-item{display:flex;align-items:center;gap:6px}.vp-legend-color{width:10px;height:10px;border-radius:3px}.vp-level-card{display:flex;justify-content:space-between;align-items:center}.vp-level-info{flex:1}.vp-level-title{font-size:18px;font-weight:600;margin-bottom:4px}.vp-level-stats{font-size:13px;color:#94a3b8}.vp-level-progress{width:80px;text-align:right}.vp-level-percent{font-size:20px;font-weight:700}.vp-progress-line{height:4px;background:#0000004d;border-radius:2px;margin-top:6px;overflow:hidden}.vp-progress-fill{height:100%;border-radius:2px}.vp-placement-quiz{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center}.vp-placement-quiz h2{font-size:24px;margin-bottom:12px}.vp-placement-quiz p{color:#cbd5e1;margin-bottom:30px}.vp-quiz-progress{width:100%;margin-bottom:20px}.vp-quiz-word{font-size:32px;font-weight:700;margin-bottom:30px;letter-spacing:1px}.vp-quiz-options{display:flex;flex-direction:column;gap:12px;width:100%;max-width:400px}.vp-quiz-option{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:16px;border-radius:12px;font-size:16px;color:#fff;cursor:pointer;transition:all .2s;text-align:left}.vp-quiz-option:hover{background:#ffffff1a}.vp-btn-primary{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:24px;font-size:16px;font-weight:600;cursor:pointer;margin:10px;transition:background .2s}.vp-btn-primary:hover{background:#2563eb}.vp-btn-secondary{background:#ffffff1a;color:#fff;border:none;padding:12px 24px;border-radius:24px;font-size:16px;cursor:pointer;margin:10px;transition:background .2s}.vp-btn-secondary:hover{background:#ffffff26}.vp-back-btn{background:none;border:none;color:#94a3b8;font-size:16px;cursor:pointer;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:6px}.vp-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.vp-tab{background:none;border:none;color:#94a3b8;font-size:16px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s}.vp-tab.active{background:#ffffff1a;color:#fff}.vp-unit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.vp-unit-title{font-size:18px;font-weight:600}.vp-unit-actions{display:flex;gap:10px}.vp-batch-btn{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3);padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.vp-batch-btn:hover{background:#22c55e4d}.vp-quiz-btn{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3);padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.vp-quiz-btn:hover{background:#3b82f64d}.vp-word-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.vp-word-row:last-child{border-bottom:none}.vp-word-info{flex:1}.vp-word-text{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.vp-word-type{font-size:12px;color:#94a3b8;background:#ffffff1a;padding:2px 6px;border-radius:4px}.vp-word-def{font-size:14px;color:#cbd5e1;margin-top:4px}.vp-word-audio{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px}.vp-word-audio:hover{color:#fff}.vp-word-action button{background:#ffffff1a;border:none;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.vp-word-action button:hover{background:#fff3}.vp-word-action button.known{background:#22c55e33;color:#4ade80}.app-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);position:relative;overflow:hidden}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(var(--bottom-nav-height) + 8px);scroll-behavior:smooth;display:flex;flex-direction:column}.app-content>*{flex:1 0 auto;width:100%}.app-content.has-player{padding-bottom:calc(var(--bottom-nav-height) + var(--player-height) + 8px)}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a2e;--bg-glass: rgba(26, 26, 46, .7);--bg-hover: rgba(99, 102, 241, .1);--text-primary: #e8e8f0;--text-secondary: #8888a0;--text-muted: #555566;--accent-start: #6366f1;--accent-end: #a855f7;--accent-gradient: linear-gradient(135deg, var(--accent-start), var(--accent-end));--danger: #ef4444;--success: #22c55e;--border-color: rgba(99, 102, 241, .15);--border-radius: 12px;--border-radius-sm: 8px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(99, 102, 241, .2);--transition: .2s ease;--bottom-nav-height: 64px;--player-height: 80px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}#root{height:100%}input,button,textarea{font-family:inherit;font-size:inherit;color:inherit;border:none;outline:none;background:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
