@charset "UTF-8";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}button,a,input,select,textarea{touch-action:manipulation}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hero-start-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:50px;padding:1.25rem 3rem;background:var(--Blue-500);color:#fff}:root{--text: white;--gray-200: #b4b8bb;--gray-300: #80868b;--gray-500: #5f6368;--gray-600: #444444;--gray-700: #202020;--gray-800: #171717;--gray-900: #111111;--gray-1000: #0a0a0a;--border-stroke: #444444;--accent-blue: rgb(161, 228, 242);--accent-blue-active-bg: #001233;--accent-blue-active: #98beff;--accent-blue-headers: #448dff;--accent-green: rgb(168, 218, 181);--midnight-blue: rgb(0, 18, 51);--blue-30: #99beff;--accent-red: #ff4600;--background: var(--gray-900);--color: var(--text);scrollbar-color:var(--gray-600) var(--gray-900);scrollbar-width:thin;--font-family: "Space Mono", monospace;--Neutral-00: #000;--Neutral-5: #181a1b;--Neutral-10: #1c1f21;--Neutral-15: #232729;--Neutral-20: #2a2f31;--Neutral-30: #404547;--Neutral-50: #707577;--Neutral-60: #888d8f;--Neutral-80: #c3c6c7;--Neutral-90: #e1e2e3;--Green-500: #0d9c53;--Green-700: #025022;--Blue-400: #4da8ff;--Blue-500: #1f94ff;--Blue-600: #0d6efd;--Blue-800: #0f3557;--Red-400: #ff9c7a;--Red-500: #ff4600;--Red-600: #e03c00;--Red-700: #bd3000;--Yellow-500: #ffc107}body{font-family:Space Mono,monospace;background:var(--Neutral-30)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100svh;width:100vw;background:var(--Neutral-5);color:var(--Neutral-90);font-family:var(--font-family);font-size:1.125rem;gap:1rem}.loading-screen:before{content:"";width:32px;height:32px;border:3px solid var(--Neutral-30);border-top-color:var(--Blue-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.streaming-console{display:flex;height:100vh;height:100svh;width:100vw;background:var(--Neutral-5);overflow:hidden}.toast-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}.toast{pointer-events:auto;min-width:300px;max-width:90vw;padding:12px 16px;border-radius:8px;background:var(--Neutral-10);color:var(--Neutral-90);box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideUp .3s ease-out;border:1px solid var(--Neutral-20);font-size:14px}.toast.toast-info{border-left:4px solid var(--Blue-500)}.toast.toast-success{border-left:4px solid #00c853}.toast.toast-warning{border-left:4px solid #ffab00}.toast.toast-error{border-left:4px solid #ff4444;background:#2a1a1a}.toast .toast-close{background:transparent;border:none;color:var(--Neutral-60);font-size:18px;cursor:pointer;margin-left:12px;padding:0 4px}.toast .toast-close:hover{color:var(--Neutral-90)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.audioPulse{display:flex;width:24px;justify-content:space-evenly;align-items:center;transition:all .5s}.audioPulse>div{background-color:var(--Neutral-30);width:4px;min-height:4px;border-radius:1000px;transition:height .1s}.audioPulse.hover>div{animation:hover 1.4s infinite alternate ease-in-out}.audioPulse{height:4px;transition:opacity .333s}.audioPulse.active{opacity:1}.audioPulse.active>div{background-color:var(--Neutral-80)}.audioPulse.user-pulse.active>div{background-color:var(--Green-500)}@keyframes hover{0%{transform:translateY(0)}to{transform:translateY(-3.5px)}}@keyframes pulse{0%{scale:1 1}to{scale:1.2 1.2}}.ko-interactive-word{cursor:pointer;border-radius:3px;transition:background-color .15s ease;word-break:keep-all}.ko-interactive-word:active,.ko-interactive-word.is-selected{background-color:#1f94ff2e}.ko-word-action-popup{position:fixed;z-index:9999;max-width:min(380px,92vw);padding:8px 10px 10px;border-radius:8px;box-shadow:0 8px 24px #00000073;pointer-events:auto;background:#0f172afa;color:#e2e8f0;border:1px solid rgba(96,165,250,.55);font-size:13px;line-height:1.45}.ko-word-action-popup__buttons{display:flex;gap:6px}.ko-word-action-popup__btn{flex:1;padding:5px 10px;border:1px solid rgba(96,165,250,.45);border-radius:999px;background:#1e3a8a8c;color:#dbeafe;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.ko-word-action-popup__btn:hover{background:#2563ebbf}.ko-word-action-popup__btn.is-active{background:#2563ebe6;border-color:#93c5fd}.ko-word-action-popup__result{margin-top:8px;padding-top:8px;border-top:1px solid rgba(148,163,184,.35);color:#bfdbfe;white-space:pre-wrap;font-size:1.25rem;line-height:1.35}.ko-word-action-popup__result.is-loading{font-size:1rem;font-style:italic;color:#ffffffa6}.ko-word-action-popup__result.is-error{color:#fecaca;font-size:1rem}.ko-classify-card{margin-top:8px;padding-top:8px;border-top:1px solid rgba(148,163,184,.25);font-size:11px}.ko-classify-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.ko-classify-badge-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ko-classify-lemma{font-weight:700;color:#93c5fd;font-size:12px}.ko-classify-chip{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.2px}.ko-classify-chip--primary{background:#2563eb59;border:1px solid rgba(96,165,250,.5);color:#bfdbfe}.ko-classify-chip--badge{background:#10b98133;border:1px solid rgba(52,211,153,.4);color:#6ee7b7}.ko-classify-chip--verdict-essential{background:#f59e0b38;border:1px solid rgba(251,191,36,.65);color:#fef08a;font-weight:700}.ko-classify-chip--verdict-high_utility{background:#3b82f638;border:1px solid rgba(96,165,250,.65);color:#93c5fd;font-weight:700}.ko-classify-chip--verdict-standard{background:#94a3b826;border:1px solid rgba(148,163,184,.4);color:#e2e8f0;font-weight:600}.ko-classify-chip--verdict-low_utility{background:#ef444426;border:1px solid rgba(248,113,113,.4);color:#fca5a5;font-weight:600}.ko-classify-toggle-btn{background:transparent;border:none;color:#94a3b8e6;font-size:10px;cursor:pointer;display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border-radius:4px;transition:color .15s ease,background .15s ease}.ko-classify-toggle-btn:hover{color:#e2e8f0;background:#ffffff14}.ko-classify-details{margin-top:6px;padding-top:6px;border-top:1px solid rgba(148,163,184,.2);font-size:11px;line-height:1.4}.ko-classify-detail-row{display:flex;justify-content:space-between;padding:2px 0;color:#e2e8f0d9}.ko-classify-detail-row:not(:last-child){border-bottom:1px dashed rgba(148,163,184,.15)}.ko-classify-detail-label{color:#94a3b8;font-weight:500}.ko-classify-detail-val{font-weight:600;color:#f8fafc}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.consolidation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:#08080ce0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.consolidation-modal-panel{max-width:22rem;text-align:center;color:var(--Neutral-90)}.consolidation-modal-spinner{width:52px;height:52px;margin:0 auto 1.25rem;border:4px solid rgba(255,255,255,.12);border-top-color:var(--Blue-500, #3194ff);border-radius:50%;animation:spin .85s linear infinite}.consolidation-modal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.consolidation-modal-desc{margin:0;font-size:.95rem;line-height:1.45;color:var(--Neutral-60)}.console-container{display:flex;flex-direction:column;height:100vh;height:100svh;width:100vw;background:var(--Neutral-5);color:var(--Neutral-90);overflow:hidden;position:relative}.console-container .main-header{height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid rgba(255,255,255,.05)}.console-container .main-header .header-left{display:flex;align-items:center;gap:16px}.console-container .main-header .header-left .header-focus-link{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:6px 10px;margin:0 -4px 0 0;border-radius:10px;font-size:.8125rem;font-weight:600;color:var(--Neutral-60);text-decoration:none;white-space:nowrap;transition:color .2s,background .2s}.console-container .main-header .header-left .header-focus-link .material-symbols-outlined{font-size:1.125rem;line-height:1}@media(hover:hover)and (pointer:fine){.console-container .main-header .header-left .header-focus-link:hover{color:var(--Blue-500);background:#ffffff0d}}.console-container .main-header .header-left .header-focus-link:focus-visible{outline:2px solid var(--Blue-500);outline-offset:2px}.console-container .main-header .header-left .logo{font-family:Inter,sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:-.5px;color:var(--Blue-500);display:flex;align-items:center;gap:8px}.console-container .main-header .header-left .header-subtitle{font-size:.875rem;font-weight:600;color:var(--Neutral-60);border-left:1px solid rgba(255,255,255,.15);padding-left:12px;margin-left:-4px;font-family:Inter,sans-serif}.console-container .main-header .header-left .header-module-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase;font-family:Inter,sans-serif;color:#3194ff;background:#3194ff1a;border:1px solid rgba(49,148,255,.25)}.console-container .main-header .header-left .header-module-badge.level-1,.console-container .main-header .header-left .header-module-badge.level-2{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.25)}.console-container .main-header .header-left .header-module-badge.level-3,.console-container .main-header .header-left .header-module-badge.level-4{color:#8b5cf6;background:#8b5cf61a;border:1px solid rgba(139,92,246,.25)}.console-container .main-header .header-left .header-module-badge.level-5{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25)}.console-container .main-header .header-left .live-badge{font-size:12px;font-weight:700;color:var(--Red-500);background:#ff46001a;padding:4px 10px;border-radius:20px;letter-spacing:.5px}.console-container .main-header .header-right{display:flex;align-items:center;gap:12px}.console-container .main-header .header-right .header-action{background:transparent;border:none;color:var(--Neutral-60);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;font-size:20px}@media(hover:hover)and (pointer:fine){.console-container .main-header .header-right .header-action:hover{background:#ffffff0d;color:var(--Neutral-90)}}.console-container .main-header .header-right .header-action.active{color:var(--Blue-500);background:#1f94ff1a}.console-container .main-header .header-right .header-action.logout{color:var(--Red-400)}@media(hover:hover)and (pointer:fine){.console-container .main-header .header-right .header-action.logout:hover{background:#ff46001a}}.console-container .main-header .header-right .user-profile{font-size:13px;font-weight:500;color:var(--Neutral-60);background:#ffffff0d;padding:6px 14px;border-radius:20px;margin:0 4px;display:flex;align-items:center;gap:8px}.console-container .main-header .header-right .user-profile .topik-badge.level-beginner{background:linear-gradient(135deg,#4b5563,#374151);border-color:#4b556366;color:#fff;box-shadow:0 2px 10px #3741514d}.console-container .main-header .header-right .user-profile .topik-badge.level-beginner strong{color:#9ca3af}.console-container .main-header .header-right .user-profile .topik-badge.level-intermediate{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98166;color:#fff;box-shadow:0 2px 10px #10b9814d}.console-container .main-header .header-right .user-profile .topik-badge.level-intermediate strong{color:#d1fae5}.console-container .main-header .header-right .user-profile .topik-badge.level-advanced{background:linear-gradient(135deg,#7c3aed,#5b21b6);border-color:#7c3aed66;color:#fff;box-shadow:0 2px 10px #7c3aed4d}.console-container .main-header .header-right .user-profile .topik-badge.level-advanced strong{color:#fbbf24}.console-container .main-header .header-right .user-profile .topik-badge.level-evaluating{background:linear-gradient(135deg,#6b7280,#4b5563);border-color:#6b728066;color:#fff;animation:badgePulseGray 2s infinite}.console-container .main-header .header-right .user-profile .topik-badge.level-evaluating strong{color:#fff}@media(max-width:768px){.console-container .main-header .header-right .user-profile{display:none}}.console-container .main-content{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.console-container .main-content .lobby-view{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:1.5rem 2rem;box-sizing:border-box}@media(min-width:900px){.console-container .main-content .lobby-view{overflow:hidden;height:100%;justify-content:center}}.console-container .main-content .lobby-view .hero-content{max-width:500px;animation:fadeIn .8s ease-out}.console-container .main-content .lobby-view .hero-content h1{font-size:2.5rem;margin-bottom:1rem;font-weight:800;color:#fff}.console-container .main-content .lobby-view .hero-content .topik-badge.lobby-badge{display:inline-block;padding:8px 18px;border-radius:20px;font-weight:600;font-size:.95rem;margin-bottom:1.5rem;animation:fadeInUp .9s ease-out;border:1px solid transparent}.console-container .main-content .lobby-view .hero-content p{font-size:1.125rem;color:var(--Neutral-60);margin-bottom:2rem;line-height:1.6}.console-container .main-content .lobby-view .hero-content .lobby-disclaimer{margin:0 0 .75rem;font-size:.8rem;color:var(--Neutral-50);font-style:italic}.console-container .main-content .lobby-view .hero-content .session-hint{margin:0 0 1.5rem;font-size:.85rem;color:var(--Neutral-50)}.console-container .main-content .lobby-view .hero-content .reconnect-heading{color:#e74c3c;font-size:1.75rem;margin-bottom:.75rem}.console-container .main-content .lobby-view .hero-content .recovery-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem}.console-container .main-content .lobby-view .recovery-button{padding:.75rem 1.5rem;border-radius:50px;font-weight:700;border:none;cursor:pointer;background:var(--Blue-500);color:#fff;min-width:200px;transition:all .2s ease}.console-container .main-content .lobby-view .recovery-button.secondary{background:transparent;color:var(--Neutral-70);border:1px solid rgba(255,255,255,.15)}.console-container .main-content .lobby-view .recovery-button.secondary:hover{background:#ffffff0d;color:#fff;border-color:#ffffff4d}.console-container .main-content .lobby-view .hero-start-button{background:var(--Blue-500);color:#fff;border:none;padding:1.25rem 3.5rem;border-radius:50px;font-size:1.25rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto;cursor:pointer;box-shadow:0 10px 30px #1f94ff4d;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s cubic-bezier(.175,.885,.32,1.275),opacity .2s ease;text-decoration:none}@media(hover:hover)and (pointer:fine){.console-container .main-content .lobby-view .hero-start-button:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 15px 40px #1f94ff66}}.console-container .main-content .lobby-view .hero-start-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important;filter:grayscale(.5)}.console-container .main-content .lobby-view .hero-start-button .material-symbols-outlined{font-size:2rem;width:2.25rem;display:inline-flex;justify-content:center}.console-container .main-content .lobby-view .hero-start-button.connecting{background:linear-gradient(135deg,var(--Neutral-60) 0%,var(--Neutral-80) 100%);box-shadow:0 10px 30px #ffffff0d;cursor:wait;opacity:.8;transform:none!important}.console-container .main-content .lobby-view .hero-start-button.connecting .material-symbols-outlined{animation:spin 2s linear infinite}.console-container .main-content .lobby-view .support-alt{margin-top:1rem;font-size:.9rem;color:var(--Neutral-60)}.console-container .main-content .lobby-view .support-alt a{color:var(--Blue-500);font-weight:600;text-decoration:none}.console-container .main-content .lobby-view .support-alt a:hover{text-decoration:underline}.console-container .main-content .lobby-view .lobby-footer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:var(--Neutral-60);text-align:center}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-support{margin:0 0 10px}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-legal{max-width:28em;margin:0 auto;line-height:1.5;font-size:.75rem;color:var(--Neutral-50)}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-link{color:var(--Blue-500);font-weight:600;text-decoration:none}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-link:hover{text-decoration:underline}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-desc{color:var(--Neutral-60)}.console-container .main-content .lobby-view .lobby-footer .lobby-footer-sep{color:var(--Neutral-50);margin:0 4px}.console-container .main-content .lobby-view .lobby-footer.lobby-footer-minimal .lobby-footer-legal{margin:0;max-width:none}.console-container .main-content .lobby-view .lobby-grid-layout{display:grid;grid-template-columns:380px 1fr;gap:2rem;width:100%;max-width:1200px;height:100%;min-height:0;text-align:left;box-sizing:border-box;animation:fadeIn .6s ease-out}@media(max-width:1080px){.console-container .main-content .lobby-view .lobby-grid-layout{grid-template-columns:330px 1fr;gap:1.5rem}}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel{display:flex;flex-direction:column;justify-content:space-between;min-height:0;gap:1.5rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content{display:flex;flex-direction:column;gap:1.25rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .explanation-block{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem;font-size:.95rem;line-height:1.6;color:var(--Neutral-80)}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .explanation-block p{margin:0;color:var(--Neutral-80);font-size:.95rem;line-height:1.6}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta{display:flex;flex-direction:column;gap:.6rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .session-hint,.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;font-size:.85rem;color:var(--Neutral-70);font-weight:500;margin:0}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .session-hint .material-symbols-outlined,.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge .material-symbols-outlined{font-size:1.15rem;color:var(--Neutral-50)}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge{color:var(--Blue-400, #5ea8ff);border-color:#3194ff40;background:#3194ff0f}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge .material-symbols-outlined{color:var(--Blue-400, #5ea8ff)}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge.none-selected{color:#ff6b6b;border-color:#ff6b6b40;background:#ff6b6b0f}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-info-content .lobby-session-meta .vocab-counter-badge.none-selected .material-symbols-outlined{color:#ff6b6b}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-actions-container{display:flex;flex-direction:column;gap:.75rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-actions-container .selection-warning{font-size:.825rem;color:#ff6b6b;margin:0;text-align:center;font-weight:500}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-actions-container .hero-start-button{width:100%;max-width:none;margin:0;padding:1.15rem 1.5rem;font-size:1.15rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-actions-container .recovery-button.secondary{width:100%;max-width:none;margin:0}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel .lobby-actions-container .lobby-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-vocab-panel{margin:0;height:100%;min-height:0;display:flex;flex-direction:column}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-vocab-panel .vocab-grid{flex:1;min-height:0;max-height:none}@media(max-width:899px){.console-container .main-content .lobby-view{overflow-y:auto!important;justify-content:flex-start;padding:1rem 1rem 6.5rem}.console-container .main-content .lobby-view .lobby-grid-layout{display:flex;flex-direction:column;gap:1.25rem;height:auto;min-height:auto}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-info-panel{gap:1rem}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-vocab-panel{height:auto;min-height:280px}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-vocab-panel .vocab-grid{max-height:380px}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-actions-container{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#121212eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.75rem 1rem 1rem;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 24px #00000080}.console-container .main-content .lobby-view .lobby-grid-layout .lobby-actions-container .lobby-footer{display:none}}.console-container .main-content .lesson-view{flex:1;display:flex;position:relative;height:100%;overflow:hidden}.console-container .main-content .lesson-view .visualizer-stage{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;padding:40px 24px 180px;background:radial-gradient(circle at center,rgba(31,148,255,.05) 0%,transparent 70%);gap:32px;overflow-y:auto}.console-container .main-content .lesson-view .visualizer-stage .voice-indicator-container{display:flex;flex-direction:column;align-items:center;gap:16px}.console-container .main-content .lesson-view .visualizer-stage .interaction-status{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:640px;margin:0 auto;pointer-events:none}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript{pointer-events:auto;background:#0a0a0fcc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:2.5rem 3rem;border-radius:32px;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px #00000080;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript p{margin:0;font-size:1.85rem;line-height:1.6;color:#fff;font-weight:700;text-align:center;word-break:keep-all}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript p strong{color:var(--Blue-400);font-weight:800}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript p .english-subtitle{display:block;font-size:1.25rem;color:#fff9;font-weight:500;margin-top:12px}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .generating-indicator{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--Neutral-60);font-size:.95rem;font-style:italic;animation:fadeIn .4s ease-out}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .generating-indicator .material-symbols-outlined{font-size:1.2rem}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-block{margin-top:12px}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-loading{display:flex;align-items:center;justify-content:center;min-height:2em}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-loading .loader{font-size:1.25rem}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-content{font-size:.9em;color:var(--Neutral-60);margin-bottom:8px;line-height:1.4}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-full{font-size:1.1rem;color:var(--Neutral-90);margin-bottom:12px;line-height:1.5}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown{font-size:.95rem;color:var(--Neutral-60);opacity:.95;line-height:1.4;margin-bottom:8px;text-align:center;max-height:min(40vh,300px);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-right:4px;scrollbar-gutter:stable}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown .live-translation-breakdown-sentence{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--Blue-400)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown .live-translation-breakdown-sentence:first-child{margin-top:0}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown .live-translation-pair{display:flex;flex-direction:column;align-items:center;background:#ffffff0d;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);gap:2px;text-align:center}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown .live-translation-pair .live-translation-korean{font-size:.9rem;font-weight:600;color:var(--Neutral-90)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-breakdown .live-translation-pair .live-translation-russian{font-size:.75rem;color:var(--Neutral-50)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-controls{display:flex;justify-content:center;gap:10px;margin-bottom:16px}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;background:#ffffff14;color:var(--Neutral-70);font-size:.8rem;font-weight:600;letter-spacing:.02em;cursor:pointer;border:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill .material-symbols-outlined{font-size:1rem}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill:hover,.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill:focus-visible{background:#ffffff26;color:var(--Neutral-90);transform:translateY(-1px)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill.primary{background:#1f94ff26;color:var(--Blue-400)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill.primary:hover,.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-pill.primary:focus-visible{background:#1f94ff40;color:var(--Blue-300)}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-arrow{background:none;border:none;padding:2px;cursor:pointer;color:var(--Neutral-60);opacity:.8;display:flex;align-items:center;justify-content:center;line-height:1}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-arrow:hover,.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-arrow:focus-visible{opacity:1}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-arrow:focus-visible{outline:2px solid var(--Blue-500);outline-offset:2px;border-radius:4px}.console-container .main-content .lesson-view .visualizer-stage .interaction-status .live-transcript .live-translation-arrow .material-symbols-outlined{font-size:1.3em}.console-container .main-content .lesson-view .visualizer-stage .suggestions-section{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px;transition:opacity .5s ease,filter .5s ease}.console-container .main-content .lesson-view .visualizer-stage .suggestions-section.suggestions-stale{opacity:.5;filter:grayscale(.4);pointer-events:none}.console-container .main-content .lesson-view .visualizer-stage .suggestions-section{width:100%}.console-container .main-content .lesson-view .visualizer-stage .suggestions-hint{margin:0;max-width:28rem;padding:0 16px;text-align:center;font-size:.8125rem;line-height:1.4;color:#ffffffa6}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container{display:flex;gap:12px;justify-content:center;width:100%;flex-wrap:wrap;padding:0 40px}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip{font-family:inherit;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 24px;border-radius:100px;display:flex;flex-direction:column;align-items:center;animation:fadeInUp .5s ease-out;cursor:pointer}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip:focus-visible{outline:2px solid var(--Blue-500);outline-offset:2px}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;filter:blur(10px);opacity:.3;transition:none;-webkit-user-select:none;user-select:none}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-row{display:flex;flex-direction:column;align-items:center;gap:2px}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-label{font-size:.7rem;font-weight:500;color:#ffffff8c;text-transform:uppercase;letter-spacing:.04em}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-label-speak{cursor:pointer;display:inline-flex;align-items:center;gap:3px}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-label-speak .suggestion-speak-icon{font-size:.75rem;opacity:.4;transition:opacity .15s ease;vertical-align:middle}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-label-speak:hover .suggestion-speak-icon{opacity:1}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-label-speak:focus-visible{outline:2px solid var(--Blue-500);outline-offset:2px;border-radius:2px}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-korean-line{display:flex;align-items:center;gap:8px;justify-content:center}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-tts-button{background:#1f94ff1a;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--Blue-400);transition:all .2s}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-tts-button:hover{background:#1f94ff33;color:var(--Blue-300);transform:scale(1.1)}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-tts-button .suggestion-tts-icon{font-size:1.1rem}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-line{line-height:1.35}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-korean{font-size:1.1rem;font-weight:700;color:#fff;word-break:keep-all}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-transliteration-ru{font-size:.9rem;color:var(--Neutral-50);font-style:italic}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip .suggestion-content .suggestion-russian{font-size:.95rem;font-weight:500;color:var(--Neutral-80)}.console-container .main-content .lesson-view .visualizer-stage .suggestions-container .suggestion-chip.revealed .suggestion-content{filter:blur(0);opacity:1;-webkit-user-select:auto;user-select:auto}.console-container .control-dock-container{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:200;width:auto;display:flex;flex-direction:column;align-items:center;gap:16px}.console-container .control-dock-container .chat-input-container{display:flex;align-items:center;background:#141419f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:8px;width:320px;box-shadow:0 10px 40px #00000080;animation:fadeInUp .3s ease-out}.console-container .control-dock-container .chat-input-container .chat-input{flex:1;background:transparent;border:none;color:#fff;padding:8px 16px;font-size:1rem;outline:none}.console-container .control-dock-container .chat-input-container .chat-input::placeholder{color:#fff6}.console-container .control-dock-container .chat-input-container .send-button{background:var(--Blue-600);color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}@media(hover:hover)and (pointer:fine){.console-container .control-dock-container .chat-input-container .send-button:hover{background:var(--Blue-500);transform:scale(1.05)}}.console-container .control-dock-container .chat-input-container .send-button .material-symbols-outlined{font-size:18px;margin-left:2px}.console-container .control-dock-container .session-countdown{display:flex;align-items:center;gap:6px;background:#141419bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:6px 14px 6px 10px;font-size:.85rem;font-weight:600;color:#ffffffb3;letter-spacing:.04em;transition:color .4s,border-color .4s,background .4s}.console-container .control-dock-container .session-countdown .material-symbols-outlined{font-size:16px;opacity:.7}.console-container .control-dock-container .session-countdown.urgent{color:#ff6b6b;border-color:#ff6b6b66;background:#ff3c3c1f;animation:countdown-pulse 1s ease-in-out infinite}.console-container .control-dock-container .session-countdown.urgent .material-symbols-outlined{opacity:1}.console-container .control-dock-container .control-dock{background:#141419d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:8px 12px;display:flex;align-items:center;gap:8px;box-shadow:0 10px 40px #0006}.console-container .control-dock-container .control-dock .dock-action{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:none;color:#fff;cursor:pointer;transition:all .2s}@media(hover:hover)and (pointer:fine){.console-container .control-dock-container .control-dock .dock-action:hover{background:#ffffff1a;transform:scale(1.05)}}.console-container .control-dock-container .control-dock .dock-action.active:not(.stop){background:var(--Blue-600);color:#fff}@media(hover:hover)and (pointer:fine){.console-container .control-dock-container .control-dock .dock-action.active:not(.stop):hover{background:var(--Blue-500)}}.console-container .control-dock-container .control-dock .dock-action.active:not(.stop).pulsing{animation:dockMicPulse 1.5s infinite}.console-container .control-dock-container .control-dock .dock-action.stop{background:var(--Red-600)}@media(hover:hover)and (pointer:fine){.console-container .control-dock-container .control-dock .dock-action.stop:hover{background:var(--Red-500)}}.console-container .control-dock-container .control-dock .dock-action.chat-toggle{font-size:1.5rem}.console-container .control-dock-container .control-dock .dock-action.chat-toggle.active{color:var(--Blue-500);background:#1f94ff1a}.console-container .control-dock-container .control-dock .dock-action .material-symbols-outlined{font-size:24px}@keyframes dockMicPulse{0%{box-shadow:0 0 #1f94ff66}70%{box-shadow:0 0 0 15px #1f94ff00}to{box-shadow:0 0 #1f94ff00}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePulseGray{0%{box-shadow:0 0 #6b728066}70%{box-shadow:0 0 0 10px #6b728000}to{box-shadow:0 0 #6b728000}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.6}}.finalizing-view{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;overflow-y:auto;background:radial-gradient(circle at center,rgba(31,148,255,.1) 0%,transparent 70%);animation:fadeIn .8s ease-out}.finalizing-view .status-card{background:#0a0a0fcc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:3rem;border-radius:32px;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px #00000080;max-width:500px;width:100%}.finalizing-view .status-card .loader{font-size:4rem;color:var(--Blue-500);margin-bottom:2rem;display:inline-block;animation:spin 2s linear infinite}.finalizing-view .status-card h2{font-size:2.2rem;margin-bottom:1rem;color:#fff;font-weight:800;letter-spacing:-.5px}.finalizing-view .status-card p{font-size:1.1rem;color:var(--Neutral-60);line-height:1.6;margin-bottom:2.5rem}.finalizing-view .status-card .action-button{background:var(--Blue-500);color:#fff;border:none;padding:1.25rem 3rem;border-radius:50px;font-size:1.1rem;font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 20px #1f94ff33}.finalizing-view .status-card .action-button:hover{transform:translateY(-4px);box-shadow:0 15px 30px #1f94ff4d}.finalizing-view .status-card .action-button.secondary{background:transparent;border:1px solid rgba(255,255,255,.2);box-shadow:none;font-size:.9rem;padding:.75rem 2rem;font-weight:600;color:#ffffff80;margin-top:.75rem}.finalizing-view .status-card .action-button.secondary:hover{border-color:#fff6;color:#fff;box-shadow:none}.finalizing-view .report-card{background:#0a0a0fd9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:1.5rem 1.25rem 2rem;border-radius:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px #00000080;max-width:560px;width:100%;text-align:left;animation:fadeIn .5s ease-out;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;max-height:min(85vh,85dvh);scroll-padding-bottom:1rem}@media(max-width:480px){.finalizing-view .report-card{max-height:min(90vh,90dvh);padding:1.25rem 1rem 1.75rem}}.finalizing-view .report-card .report-title{font-size:1.6rem;font-weight:800;color:#fff;margin:0;text-align:center}.finalizing-view .report-card .report-badge{align-self:center}.finalizing-view .report-card .report-justification{font-size:1rem;color:#fff9;line-height:1.6;margin:0;text-align:center;font-style:italic}.finalizing-view .report-card .report-section h3{font-size:.85rem;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.finalizing-view .report-card .report-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.finalizing-view .report-card .report-section ul li{padding:.5rem .75rem;background:#1f94ff14;border-radius:8px;border-left:3px solid var(--Blue-500);font-size:.95rem;color:#ffffffd9}.finalizing-view .report-card .mistakes-table{width:100%;border-collapse:collapse;font-size:.9rem}.finalizing-view .report-card .mistakes-table th{text-align:left;padding:.5rem .75rem;color:#fff6;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.finalizing-view .report-card .mistakes-table td{padding:.6rem .75rem;color:#ffffffbf;border-bottom:1px solid rgba(255,255,255,.05);line-height:1.4}.finalizing-view .report-card .mistakes-table td:first-child{color:#ff8585;font-style:italic}.finalizing-view .report-card .mistakes-table td:last-child{color:#7bff9e}.finalizing-view .report-card .mistakes-table tr:last-child td{border-bottom:none}.finalizing-view .report-card .action-button{align-self:center;background:var(--Blue-500);color:#fff;border:none;padding:1.25rem 3rem;border-radius:50px;font-size:1.1rem;font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 20px #1f94ff33;margin-bottom:0}.finalizing-view .report-card .action-button:hover{transform:translateY(-4px);box-shadow:0 15px 30px #1f94ff4d}.finalizing-view .report-card .report-cta{text-align:center;margin-top:.5rem}.finalizing-view .report-card .report-cta .report-cta-link{font-size:.95rem;color:var(--Blue-500);font-weight:600;text-decoration:none}.finalizing-view .report-card .report-cta .report-cta-link:hover{text-decoration:underline}.lobby-vocab-panel,.lobby-vocab-selection{margin:2rem 0;padding:1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;text-align:left;box-sizing:border-box;animation:fadeInUp .8s ease-out}.lobby-vocab-panel .vocab-loading-state,.lobby-vocab-selection .vocab-loading-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem 1rem;color:var(--Neutral-50);font-size:.95rem}.lobby-vocab-panel .vocab-loading-state .spin,.lobby-vocab-selection .vocab-loading-state .spin{animation:spin 1.5s linear infinite;font-size:2rem;color:var(--Neutral-50)}.lobby-vocab-panel .vocab-controls,.lobby-vocab-selection .vocab-controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.lobby-vocab-panel .vocab-header-row,.lobby-vocab-selection .vocab-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.5rem;flex-wrap:wrap}.lobby-vocab-panel .vocab-header-row h3,.lobby-vocab-selection .vocab-header-row h3{margin:0;font-size:1.15rem;font-weight:700;color:#fff}.lobby-vocab-panel .vocab-sort-toggle,.lobby-vocab-selection .vocab-sort-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--Neutral-70);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.lobby-vocab-panel .vocab-sort-toggle .material-symbols-outlined,.lobby-vocab-selection .vocab-sort-toggle .material-symbols-outlined{font-size:1rem;transition:transform .2s ease}.lobby-vocab-panel .vocab-sort-toggle:hover,.lobby-vocab-selection .vocab-sort-toggle:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.lobby-vocab-panel .vocab-sort-toggle.active,.lobby-vocab-selection .vocab-sort-toggle.active{background:#3194ff14;border-color:#3194ff4d;color:var(--Blue-400)}.lobby-vocab-panel .vocab-sort-toggle.active:hover,.lobby-vocab-selection .vocab-sort-toggle.active:hover{background:#3194ff26;color:var(--Blue-300)}.lobby-vocab-panel .vocab-subtitle,.lobby-vocab-selection .vocab-subtitle{margin:0 0 1.25rem!important;font-size:.875rem!important;color:var(--Neutral-50)!important;line-height:1.4}.lobby-vocab-panel .vocab-grid,.lobby-vocab-selection .vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-height:240px;overflow-y:auto;padding-right:6px}.lobby-vocab-panel .vocab-grid::-webkit-scrollbar,.lobby-vocab-selection .vocab-grid::-webkit-scrollbar{width:6px}.lobby-vocab-panel .vocab-grid::-webkit-scrollbar-track,.lobby-vocab-selection .vocab-grid::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.lobby-vocab-panel .vocab-grid::-webkit-scrollbar-thumb,.lobby-vocab-selection .vocab-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.lobby-vocab-panel .vocab-grid::-webkit-scrollbar-thumb:hover,.lobby-vocab-selection .vocab-grid::-webkit-scrollbar-thumb:hover{background:#ffffff40}.lobby-vocab-panel .vocab-checkbox-label,.lobby-vocab-selection .vocab-checkbox-label{display:flex;flex-direction:column;padding:10px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none}.lobby-vocab-panel .vocab-checkbox-label input[type=checkbox],.lobby-vocab-selection .vocab-checkbox-label input[type=checkbox]{position:absolute;top:10px;right:10px;width:16px;height:16px;accent-color:var(--Blue-500);cursor:pointer}.lobby-vocab-panel .vocab-checkbox-label .vocab-word-korean,.lobby-vocab-selection .vocab-checkbox-label .vocab-word-korean{font-size:1.05rem;font-weight:700;color:var(--Neutral-60);margin-bottom:2px;transition:color .2s ease}.lobby-vocab-panel .vocab-checkbox-label .vocab-word-russian,.lobby-vocab-selection .vocab-checkbox-label .vocab-word-russian{font-size:.8rem;color:var(--Neutral-40);line-height:1.2}.lobby-vocab-panel .vocab-checkbox-label:hover,.lobby-vocab-selection .vocab-checkbox-label:hover{background:#ffffff0d;border-color:#ffffff1f}.lobby-vocab-panel .vocab-checkbox-label.checked,.lobby-vocab-selection .vocab-checkbox-label.checked{background:#3194ff14;border-color:#3194ff4d}.lobby-vocab-panel .vocab-checkbox-label.checked .vocab-word-korean,.lobby-vocab-selection .vocab-checkbox-label.checked .vocab-word-korean{color:#fff}.lobby-vocab-panel .vocab-checkbox-label.checked .vocab-word-russian,.lobby-vocab-selection .vocab-checkbox-label.checked .vocab-word-russian{color:var(--Neutral-70)}.session-timeout-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:#08080ce0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.session-timeout-modal-overlay .session-timeout-modal{background:var(--Neutral-10, #17181c);border:1px solid rgba(255,255,255,.1);width:90%;max-width:440px;border-radius:24px;padding:2.5rem 2rem;box-shadow:0 30px 60px #0006;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;animation:fadeInUp .4s ease-out}.session-timeout-modal-overlay .session-timeout-modal p{margin:0;font-size:1.15rem;color:var(--Neutral-90);line-height:1.5;font-weight:500}.session-timeout-modal-overlay .session-timeout-modal p:first-of-type{font-size:1.4rem;color:var(--Blue-500);font-weight:700;margin-bottom:.5rem}.session-timeout-modal-overlay .session-timeout-modal .recovery-button{margin-top:1rem;width:100%;max-width:280px;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;font-size:1rem;border:none;cursor:pointer;background:var(--Blue-500);color:#fff;min-width:200px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 4px 12px #3194ff33}.session-timeout-modal-overlay .session-timeout-modal .recovery-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3194ff66;background:var(--Blue-400, #54a5ff)}.session-timeout-modal-overlay .session-timeout-modal .recovery-button:active{transform:translateY(0)}.login-container{--auth-surface: #fcf9f8;--auth-surface-low: #f6f3f2;--auth-surface-card: #ffffff;--auth-surface-high: #ebe7e7;--auth-on-surface: #1c1b1b;--auth-on-surface-muted: rgba(28, 27, 27, .55);--auth-primary: #2800d4;--auth-on-primary: #ffffff;--auth-error: #d32f2f;--auth-font-headline: "Plus Jakarta Sans", "Inter", sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:1.5rem;box-sizing:border-box;background:var(--auth-surface);color:var(--auth-on-surface)}.login-container .login-card{background:var(--auth-surface-card);padding:2.5rem 2rem;border-radius:24px;box-shadow:0 8px 32px #2800d414;text-align:center;max-width:420px;width:100%;box-sizing:border-box}.login-container .login-card h1{margin:0 0 .5rem;font-size:1.65rem;font-family:var(--auth-font-headline);font-weight:800;color:var(--auth-primary);letter-spacing:-.02em;line-height:1.25}.login-container .login-card .login-subtitle{margin:0 0 1.75rem;color:var(--auth-on-surface-muted);font-size:.95rem;line-height:1.5}.login-container .login-card .error-message{color:var(--auth-error);margin-bottom:1rem;padding:.65rem .85rem;background:#d32f2f14;border-radius:12px;font-size:.875rem;text-align:left}.login-container .login-card .auth-methods{display:flex;flex-direction:column;gap:0}.login-container .login-card .google-sign-in{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 20px;background:var(--auth-surface-card);color:#3c4043;border:1px solid #dadce0;border-radius:50px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s;box-sizing:border-box}.login-container .login-card .google-sign-in:hover{background-color:var(--auth-surface-low);border-color:#d2e3fc}.login-container .login-card .google-sign-in img{width:18px;height:18px;flex-shrink:0}.login-container .login-card .login-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:1.25rem 0}.login-container .login-card .login-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--auth-surface-high)}.login-container .login-card .login-divider span{position:relative;background:var(--auth-surface-card);padding:0 .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--auth-on-surface-muted)}.login-container .login-card .email-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.login-container .login-card .email-input{width:100%;padding:12px 14px;border:none;border-bottom:2px solid transparent;border-radius:10px;font-family:inherit;font-size:14px;color:var(--auth-on-surface);background:var(--auth-surface-low);outline:none;box-sizing:border-box;transition:border-color .2s}.login-container .login-card .email-input::placeholder{color:var(--auth-on-surface-muted)}.login-container .login-card .email-input:focus{border-bottom-color:var(--auth-primary)}.login-container .login-card .email-submit{width:100%;padding:12px 20px;background:linear-gradient(135deg,#2800d4,#3f2afb);color:var(--auth-on-primary);border:none;border-radius:50px;font-family:var(--auth-font-headline);font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s;box-shadow:0 4px 16px #2800d433}.login-container .login-card .email-submit:hover{opacity:.88}.login-container .login-card .email-link-sent,.login-container .login-card .email-link-complete{text-align:center}.login-container .login-card .email-link-sent-message,.login-container .login-card .email-link-complete-hint{margin:0 0 1.25rem;color:var(--auth-on-surface-muted);font-size:.95rem;line-height:1.5}.login-container .login-card .email-link-sent-message strong,.login-container .login-card .email-link-complete-hint strong{color:var(--auth-on-surface);font-weight:600}.login-container .login-card .email-link-sent-actions{display:flex;flex-direction:column;gap:.5rem;align-items:center}.login-container .login-card .email-link-sent-again,.login-container .login-card .email-link-other{padding:10px 18px;border-radius:50px;font-family:inherit;font-size:14px;cursor:pointer;transition:opacity .2s,background .2s}.login-container .login-card .email-link-sent-again{background:linear-gradient(135deg,#2800d4,#3f2afb);color:var(--auth-on-primary);border:none;font-weight:700}.login-container .login-card .email-link-sent-again:hover{opacity:.88}.login-container .login-card .email-link-other{background:transparent;color:var(--auth-on-surface-muted);border:none;font-weight:500}.login-container .login-card .email-link-other:hover{color:var(--auth-on-surface);text-decoration:underline}.login-container .login-card .login-support{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--auth-surface-high);font-size:.75rem;color:var(--auth-on-surface-muted);line-height:1.5}.login-container .login-card .login-support a{color:var(--auth-primary);text-decoration:underline;text-underline-offset:2px}.login-container .login-card .login-support a:hover{opacity:.85}
