:root,:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-quaternary:#e2e8f0;--border-color:#e2e8f0;--border-subtle:#f8fafc;--border-hover:#cbd5e1;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--text-muted:#94a3b8;--glass-bg:#ffffffeb;--glass-border:#e2e8f0e6;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-md:0 4px 16px -2px #0000000f, 0 2px 4px -2px #00000005;--shadow-lg:0 12px 32px -4px #0f172a14;--shadow-xl:0 20px 48px -8px #0f172a1f;--glow-color:#0284c71f;--card-glow-color:#0284c70f;--card-bg:#fff;--card-border:#e2e8f0;--card-hover-shadow:0 14px 36px -4px #0284c724;--bg-mesh:radial-gradient(at 0% 0%, #0284c70d 0px, transparent 50%), radial-gradient(at 100% 0%, #ec489909 0px, transparent 50%), radial-gradient(at 50% 100%, #10b98108 0px, transparent 50%)}:root[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#111726;--bg-tertiary:#192237;--bg-quaternary:#222d46;--border-color:#ffffff14;--border-subtle:#ffffff0a;--border-hover:#0084f766;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--glass-bg:#111726d9;--glass-border:#ffffff1a;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 8px #0006;--shadow-md:0 10px 30px #00000080;--shadow-lg:0 20px 50px #0009;--shadow-xl:0 25px 60px #000000b3;--glow-color:#0084f740;--card-glow-color:#0084f726;--card-bg:#111726;--card-border:#ffffff14;--card-hover-shadow:0 14px 40px #0084f740;--bg-mesh:radial-gradient(at 0% 0%, #0284c724 0px, transparent 50%), radial-gradient(at 100% 0%, #db27771a 0px, transparent 50%), radial-gradient(at 50% 100%, #10b98114 0px, transparent 50%)}:root{--accent-purple:#0084f7;--accent-purple-hover:#0070d6;--accent-blue:#2563eb;--accent-blue-hover:#1d4ed8;--accent-indigo:#0284c7;--accent-coral:#ec4899;--accent-rose:#f43f5e;--accent-green:#10b981;--accent-yellow:#f59e0b;--font-display:"Plus Jakarta Sans", "Inter", "Be Vietnam Pro", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", "Inter", "Be Vietnam Pro", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-korean:"Noto Sans KR", "Plus Jakarta Sans", "Inter", sans-serif;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--sidebar-width:312px;--sidebar-collapsed-width:84px;--topbar-height:74px}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-view-fade{will-change:opacity, transform;animation:.18s cubic-bezier(.16,1,.3,1) forwards pageFadeIn}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-slide-in{will-change:opacity, transform;animation:.25s cubic-bezier(.16,1,.3,1) forwards toastSlideIn}@keyframes tourPopIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.tour-card-animated{will-change:opacity, transform;animation:.25s cubic-bezier(.16,1,.3,1) forwards tourPopIn}*,:before,:after{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-body)!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizelegibility!important;font-feature-settings:"cv02", "cv03", "cv04", "cv11", "ss01"!important}body{background-color:var(--bg-primary);background-image:linear-gradient(#0084f70f 1px, transparent 1px), linear-gradient(90deg, #0084f70f 1px, transparent 1px), var(--bg-mesh);color:var(--text-primary);font-family:var(--font-body);letter-spacing:-.01em;min-height:100vh;transition:background-color var(--transition-slow), color var(--transition-normal);background-size:40px 40px,40px 40px,cover,cover,cover;background-attachment:fixed;font-weight:500;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;letter-spacing:-.02em!important;font-weight:700!important;line-height:1.35!important}.app-container{min-height:100dvh;display:flex;position:relative}.sidebar{width:var(--sidebar-width,285px);background:var(--bg-secondary,#fff);border-right:1.5px solid var(--border-color,#e2e8f0);z-index:100;flex-direction:column;height:100vh;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0f172a08}:root[data-theme=dark] .sidebar{background:#0f172af5;border-right-color:#ffffff14;box-shadow:4px 0 30px #00000080}.sidebar.collapsed{width:var(--sidebar-collapsed-width,84px)}.sidebar-brand-clean{height:var(--topbar-height,74px);border-bottom:1px solid var(--border-color,#e2e8f0);flex-shrink:0;align-items:center;padding:0 16px;display:flex}:root[data-theme=dark] .sidebar-brand-clean{border-bottom-color:#ffffff14}.sidebar-brand-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px;transition:all .2s;display:flex}.sidebar-brand-btn:hover{background:#0084f70d}.brand-logo-box{background:linear-gradient(135deg,#0084f714 0%,#00c6ff0a 100%);border:1px solid #0084f72e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-logo-img{object-fit:contain;width:26px;height:26px}.brand-text-col{flex-direction:column;gap:2px;min-width:0;transition:opacity .2s;display:flex}.sidebar.collapsed .brand-text-col{display:none}.brand-title{font-family:var(--font-display);color:var(--text-primary,#0f172a);letter-spacing:-.02em;font-size:1.15rem;font-weight:800;line-height:1.2}:root[data-theme=dark] .brand-title{color:#fff}.brand-subtitle{color:#0084f7;letter-spacing:.05em;text-transform:uppercase;font-size:.65rem;font-weight:700}.sidebar-menu{scrollbar-width:thin;scrollbar-color:#94a3b84d transparent;flex-direction:column;flex-grow:1;gap:3px;padding:12px 10px;list-style:none;display:flex;overflow-y:auto}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:99px}.sidebar-section-header{padding:16px 14px 6px;list-style:none}.sidebar-section-label{color:#475569;letter-spacing:.08em;text-transform:uppercase;font-size:.73rem;font-weight:800;display:block}:root[data-theme=dark] .sidebar-section-label{color:#94a3b8}.sidebar.collapsed .sidebar-section-header{display:none}.sidebar-menu-li{list-style:none}.sidebar-item{color:#1e293b;cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8.5px 11px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.sidebar-item:hover{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0;transform:translate(2px)}:root[data-theme=dark] .sidebar-item{color:#e2e8f0}:root[data-theme=dark] .sidebar-item:hover{color:#fff;background:#ffffff14;border-color:#ffffff1f}.sidebar-item.active{color:#fff!important;background:linear-gradient(135deg,#0084f7 0%,#06e 100%)!important;border:1px solid #ffffff40!important;box-shadow:0 6px 20px #0084f761,0 2px 6px #06e3!important}.sidebar-item.active:before{display:none!important}.sidebar-icon-box{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}:root[data-theme=dark] .sidebar-icon-box{color:#cbd5e1;background:#ffffff0f;border-color:#ffffff14}.sidebar-item:hover .sidebar-icon-box{color:#0084f7;background:#0084f724;border-color:#0084f74d;transform:scale(1.05)}.sidebar-item.active .sidebar-icon-box{color:#fff!important;background:#ffffff38!important;border-color:#ffffff59!important;box-shadow:0 2px 8px #0000001f!important}.sidebar-label{color:inherit;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.86rem;font-weight:650;overflow:hidden}.sidebar-item.active .sidebar-label{color:#fff!important;font-weight:800!important}.sidebar-item.active .menu-badge{color:#06e!important;background:#fff!important;border:none!important;font-weight:900!important;box-shadow:0 2px 6px #00000026!important}.sidebar.collapsed .sidebar-label{display:none}.menu-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:6px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:800}.sidebar.collapsed .menu-badge{display:none}.menu-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:.63rem;font-weight:800}.menu-badge.badge-hangeul{color:#db2777;background:#fdf2f8;border:1px solid #fbcfe8}.menu-badge.badge-map{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd}.menu-badge.badge-87-slide,.menu-badge.badge-chinh-khoa{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.menu-badge.badge-new{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.menu-badge.badge-ai{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.menu-badge.badge-pvp{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.menu-badge.badge-omr{color:#4338ca;background:#e0e7ff;border:1px solid #c7d2fe}.sidebar-footer{border-top:1px solid var(--border-color,#e2e8f0);flex-direction:column;flex-shrink:0;gap:10px;padding:12px;display:flex}:root[data-theme=dark] .sidebar-footer{border-top-color:#ffffff14}.sidebar.collapsed .sidebar-footer{padding:8px 6px}.sidebar-progress-widget{background:linear-gradient(135deg,#0084f70f 0%,#00c6ff05 100%);border:1px solid #0084f72e;border-radius:12px;padding:10px 12px}:root[data-theme=dark] .sidebar-progress-widget{background:#0084f71a;border-color:#0084f740}.sidebar.collapsed .sidebar-progress-widget{display:none}.progress-widget-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.progress-widget-title{color:var(--text-primary,#0f172a);font-size:.74rem;font-weight:700}:root[data-theme=dark] .progress-widget-title{color:#fff}.progress-widget-percent{color:#0084f7;font-family:monospace;font-size:.74rem;font-weight:800}.progress-widget-track{background:#0000000f;border-radius:99px;width:100%;height:5px;margin-bottom:6px;overflow:hidden}:root[data-theme=dark] .progress-widget-track{background:#ffffff1a}.progress-widget-fill{background:linear-gradient(90deg,#0084f7,#38bdf8);border-radius:99px;height:100%;transition:width .4s}.progress-widget-stats{color:var(--text-tertiary,#64748b);justify-content:space-between;font-size:.68rem;font-weight:600;display:flex}.user-profile-card{cursor:pointer;box-sizing:border-box;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;transition:all .2s;display:flex}.user-profile-card.logged-in{background:var(--bg-tertiary,#f8fafc);border:1px solid var(--border-color,#e2e8f0)}:root[data-theme=dark] .user-profile-card.logged-in{background:#ffffff0a;border-color:#ffffff14}.user-profile-card.logged-in:hover{background:var(--bg-quaternary,#f1f5f9)}.user-profile-card.login-cta{background:#0084f70d;border:1.5px solid #0084f740}.user-profile-card.login-cta:hover{background:#0084f71a;border-color:#0084f7;transform:translateY(-1px);box-shadow:0 4px 12px #0084f726}.user-profile-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.avatar-small{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:flex}.login-icon-box{color:#fff;background:linear-gradient(135deg,#0084f7,#0077ed);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 3px 8px #0084f74d}.user-text-col{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar.collapsed .user-text-col{display:none}.user-name-small{color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:700;overflow:hidden}:root[data-theme=dark] .user-name-small{color:#fff}.user-class-tag{color:#059669;font-size:.68rem;font-weight:600}.login-title{color:#0084f7;white-space:nowrap;font-size:.84rem;font-weight:800}.login-sub{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:.68rem}.btn-user-logout{color:#e11d48;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-user-logout:hover{background:#e11d481a}.sidebar.collapsed .sidebar-footer .user-name-small{display:none!important}.main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));min-width:0;min-height:100vh;transition:margin-left var(--transition-slow);box-sizing:border-box;flex-direction:column;flex-grow:1;display:flex;overflow-x:hidden}.main-content.collapsed{margin-left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width));max-width:calc(100vw - var(--sidebar-collapsed-width))}.topbar{height:var(--topbar-height,64px);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:99;box-shadow:var(--shadow-sm);box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;width:100%;min-width:0;padding:0 18px;display:flex;position:sticky;top:0;overflow:hidden}.topbar-left{flex:none;align-items:center;gap:10px;min-width:0;max-width:280px;display:flex}.toggle-sidebar-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toggle-sidebar-btn:hover{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--accent-purple)}.page-title{letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:800;line-height:1.2;overflow:hidden}.topbar-right{scrollbar-width:none;flex:auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.topbar-right::-webkit-scrollbar{display:none}.topbar-tools-group,.topbar-stats-group,.topbar-controls-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.topbar-tool-btn{border-radius:var(--radius-xl,999px);border:1px solid var(--border-color);background:var(--bg-tertiary);height:34px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast,.15s ease);flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #00000005}.topbar-tool-btn:hover{color:var(--text-primary);border-color:var(--accent-purple);transform:translateY(-1px)}.search-quick-lbl{font-size:.78rem;font-weight:700}.xp-pill,.streak-pill{border-radius:var(--radius-xl);height:34px;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);white-space:nowrap;border:1px solid;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.cloud-status-pill{border-radius:var(--radius-xl,999px);border:1px solid var(--border-color);background:var(--bg-tertiary);height:34px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.cloud-status-pill.unsynced,.cloud-status-pill.offline{color:#64748b;background:#64748b14;border-color:#64748b40}.topbar-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.theme-toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:34px;height:34px;transition:all var(--transition-fast);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle-btn:hover{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--accent-purple)}.topbar-theme-select{height:34px}.search-quick-lbl,.cloud-lbl{display:none!important}.topbar-tool-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast,.15s ease);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 1px 3px #00000005}.topbar-kbd{display:none!important}@media (width<=1280px){.topbar-tool-btn.tool-secondary{display:none!important}.topbar-theme-select{text-overflow:ellipsis;max-width:115px}}@media (width<=1050px){.topbar{height:60px;padding:0 14px}.topbar-theme-select,.cloud-status-pill,.topbar-tools-group{display:none!important}.page-title{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:1.1rem;overflow:hidden}}@media (width<=640px){.topbar{gap:6px;height:56px;padding:0 10px}.topbar-stats-group .xp-pill{display:none!important}.page-title{text-overflow:ellipsis;max-width:130px;font-size:.95rem;overflow:hidden}}html,body,#root,.app-container,.main-content,.page-container{box-sizing:border-box;max-width:100vw}.page-container{box-sizing:border-box;flex-direction:column;flex-grow:1;width:100%;min-width:0;max-width:100%;padding:24px 32px;display:flex;overflow-x:hidden}.glass-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px;position:relative;overflow:hidden}.glass-panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.glass-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);background:#ffffff04;padding:28px}.glass-card:hover{border-color:var(--border-hover);box-shadow:0 16px 36px var(--card-glow-color), var(--shadow-md);background:#ffffff08;transform:translateY(-5px)}.text-gradient{letter-spacing:-.02em;font-weight:800}:root[data-theme=light] .text-gradient{color:#0f172a!important;background:linear-gradient(135deg,#0f172a 0%,#312e81 60%,#4338ca 100%)!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important}:root[data-theme=dark] .text-gradient{color:#fff!important;background:linear-gradient(135deg,#fff 0%,#e0e7ff 50%,#c084fc 100%)!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-purple{color:#c084fc;background:#0084f71f;border:1px solid #0084f740}.badge-blue{color:#22d3ee;background:#06b6d41f;border:1px solid #06b6d440}.badge-green{color:#34d399;background:#10b9811f;border:1px solid #10b98140}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);font-size:.9rem;font-weight:700;font-family:var(--font-display);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-indigo) 100%);color:#fff;box-shadow:0 4px 18px var(--glow-color);position:relative;overflow:hidden}.btn-primary:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:200%;height:100%;transition:left .75s;position:absolute;top:0;left:-50%;transform:skew(-25deg)}.btn-primary:hover:after{left:125%}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-purple-hover) 0%, var(--accent-indigo) 100%);transform:translateY(-2px);box-shadow:0 6px 24px #0084f780}.btn-primary:active{transform:translateY(1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff05}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff0d;transform:translateY(-1px)}.btn-icon{border-radius:50%;width:44px;height:44px;padding:0}.progress-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue));height:100%;transition:width var(--transition-slow);border-radius:6px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(1deg)}to{transform:translateY(0)rotate(0)}}.float-anim{animation:4s ease-in-out infinite float}.dashboard-grid{grid-template-columns:2fr 1fr;gap:28px;margin-top:28px;display:grid}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}}.welcome-banner{border-radius:var(--radius-lg);color:#fff;box-shadow:0 10px 30px #0084f733, var(--shadow-md);background:linear-gradient(135deg,#0077ed 0%,#0084f7 50%,#06b6d4 100%);border:none;justify-content:space-between;align-items:center;padding:38px 42px;display:flex;position:relative;overflow:hidden}.welcome-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#fff3 0%,#0000 70%);width:250px;height:250px;position:absolute;top:-80px;right:-80px}.welcome-korean{font-family:var(--font-display);color:#c7d2fe;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:1.15rem;font-weight:700}.welcome-title{letter-spacing:-.5px;color:#fff;margin-bottom:8px;font-size:2rem;font-weight:700;line-height:1.3}.welcome-banner p{color:#ffffffe0;font-size:.95rem;line-height:1.5}.welcome-banner .btn{color:#0077ed;background:#fff;border:1px solid #fff;box-shadow:0 4px 15px #0000001a}.welcome-banner .btn:hover{color:#0084f7;background:#f8fafc;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.stats-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:28px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);align-items:center;gap:18px;padding:22px;display:flex}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md), 0 8px 24px #0084f70d;transform:translateY(-3px)}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:inset 0 0 10px #ffffff05}.stat-val{font-family:var(--font-display);letter-spacing:-.5px;font-size:1.6rem;font-weight:700}.streak-calendar-grid{grid-template-columns:repeat(7,1fr);gap:10px;margin-top:16px;display:grid}.streak-day{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all var(--transition-normal);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.streak-day.completed{color:#ff758f;background:linear-gradient(135deg,#f43f5e33 0%,#fb71851a 100%);border-color:#f43f5e66;box-shadow:0 0 12px #f43f5e26}.streak-day.today{border-color:var(--accent-blue);background:linear-gradient(135deg,#0ea5e914,#06b6d40a);transform:scale(1.05);box-shadow:0 0 14px #06b6d459,inset 0 0 8px #06b6d41a}.course-selector{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.course-tab-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-weight:700;font-family:var(--font-display);transition:all var(--transition-normal);padding:12px 24px;font-size:.95rem}.course-tab-btn:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.course-tab-btn.active{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff;box-shadow:0 6px 20px var(--glow-color);transform:translateY(-1px)}.lessons-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;margin-top:28px;display:grid}.lesson-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);flex-direction:column;gap:14px;padding:24px;display:flex;position:relative;overflow:hidden}.lesson-card:hover{border-color:var(--accent-purple);box-shadow:0 14px 30px var(--glow-color);transform:translateY(-6px)}.lesson-card.completed{border-left:5px solid var(--accent-green)}.lesson-meta{color:var(--text-secondary);font-size:.8rem;font-weight:600}.lesson-detail-view{grid-template-columns:2.2fr 1fr;gap:28px;margin-top:28px;display:grid}@media (width<=992px){.lesson-detail-view{grid-template-columns:1fr}}.video-sim-container{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow-lg);background:#020205;position:relative;overflow:hidden}.video-sim-overlay{color:#fff;background:radial-gradient(circle,#0000001a 0%,#0009 100%);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.video-sim-playbtn{background:linear-gradient(135deg, var(--accent-purple), var(--accent-indigo));color:#fff;cursor:pointer;width:70px;height:70px;transition:all var(--transition-normal);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 0 25px #0084f7b3}.video-sim-playbtn:hover{transform:scale(1.15);box-shadow:0 0 35px #0084f7e6}.tabs-header{border-bottom:2px solid var(--border-color);gap:8px;margin-top:28px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;font-weight:700;font-family:var(--font-display);transition:color var(--transition-fast);background:0 0;border:none;padding:14px 24px;position:relative}.tab-btn:hover,.tab-btn.active{color:var(--text-primary)}.tab-btn.active:after{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue));border-radius:3px;height:3px;position:absolute;bottom:-2px;left:0;right:0}.vocab-table,.grammar-table{border-collapse:separate;border-spacing:0 8px;width:100%;margin-top:12px}.vocab-table th,.grammar-table th{text-align:left;font-family:var(--font-display);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;border:none;padding:16px;font-size:.85rem;font-weight:700}.vocab-row{border:1px solid var(--border-color);transition:all var(--transition-fast);background:#ffffff03}.vocab-row td{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:16px}.vocab-row td:first-child{border-left:1px solid var(--border-color);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.vocab-row td:last-child{border-right:1px solid var(--border-color);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.vocab-row:hover{background:#ffffff06}.vocab-kr{color:var(--accent-blue);font-size:1.25rem;font-weight:700;font-family:var(--font-display)}.speaker-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:#ffffff05;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.speaker-btn:hover{color:#fff;background:var(--accent-purple);border-color:var(--accent-purple);box-shadow:0 0 10px var(--glow-color);transform:scale(1.1)}.quiz-panel{flex-direction:column;gap:24px;display:flex}.quiz-question{color:var(--text-primary);font-size:1.15rem;font-weight:700;line-height:1.4}.quiz-options-list{flex-direction:column;gap:12px;display:flex}.quiz-option{border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:left;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-normal);background:#ffffff04;padding:16px 24px;font-size:.95rem;font-weight:500}.quiz-option:hover{border-color:var(--text-tertiary);color:var(--text-primary);background:#ffffff09;transform:translate(4px)}.quiz-option.selected{border-color:var(--accent-purple);color:var(--text-primary);background:#0084f714;font-weight:600;box-shadow:0 4px 15px #0084f726}.quiz-option.correct{border-color:var(--accent-green);color:var(--text-primary);background:#10b9811a;font-weight:600}.quiz-option.incorrect{border-color:var(--accent-rose);color:var(--text-primary);background:#f43f5e1a;font-weight:600}.flashcards-layout{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:520px;margin:30px auto;display:flex}.flashcard-deck-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;width:100%;display:grid}.deck-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);padding:30px 24px}.flashcard-wrapper{perspective:1500px;aspect-ratio:1.5;width:100%}.flashcard-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;transition:transform .8s cubic-bezier(.175,.885,.32,1.275);position:relative}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow-lg), 0 30px 60px #0006;border:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute}.flashcard-front{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backface-visibility:hidden}.flashcard-back{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);backface-visibility:hidden;transform:rotateY(180deg)}.flashcard-kr{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-1px;font-size:3.4rem;font-weight:700}.flashcard-roman{color:var(--accent-blue);margin-top:8px;font-size:1.3rem;font-weight:600}.flashcard-meaning{color:var(--accent-coral);letter-spacing:-.5px;font-size:2.1rem;font-weight:700}.flashcard-ex-kr{color:var(--text-primary);font-size:1.05rem;font-weight:500;line-height:1.4}.flashcard-ex-vi{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.test-layout{flex-direction:column;gap:28px;display:flex}.test-grid{grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);align-items:start;gap:20px;display:grid}@media (width<=1024px){.test-grid{grid-template-columns:1fr;gap:16px}}.test-left-pane,.test-right-pane{background:var(--card-bg);border:1px solid var(--border-color);max-height:calc(100vh - 160px);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:16px;padding:16px;display:flex;overflow-y:auto}.test-header-bar{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.timer-pill{color:#f43f5e;font-family:var(--font-display);background:#f43f5e14;border:1px solid #f43f5e33;border-radius:12px;align-items:center;gap:8px;padding:6px 16px;font-size:1.15rem;font-weight:800;display:flex}.test-question-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff03;padding:26px}.audio-sim-player{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:18px;padding:20px;display:flex}.audio-progress{background:#ffffff0d;border-radius:3px;flex-grow:1;height:6px;overflow:hidden}.audio-progress-fill{background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue))}.question-nav-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:10px;display:grid}.question-nav-btn{aspect-ratio:1;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-fast);border-radius:8px;font-size:.9rem;font-weight:700}.question-nav-btn.answered{color:#22d3ee;background:#06b6d41f;border-color:#06b6d44d}.question-nav-btn.active{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff;box-shadow:0 0 12px var(--glow-color);transform:scale(1.08)}.ai-space-layout{height:calc(100vh - var(--topbar-height) - 130px);grid-template-columns:1fr 2.8fr;gap:28px;min-height:520px;display:grid}@media (width<=992px){.ai-space-layout{grid-template-columns:1fr;height:auto}}.tutor-bio-card{background:var(--glass-bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:30px;display:flex}.tutor-avatar{background:linear-gradient(135deg, var(--accent-purple), var(--accent-blue));border-radius:50%;justify-content:center;align-items:center;width:106px;height:106px;font-size:3.4rem;display:flex;box-shadow:0 0 25px #0084f766}.online-indicator{border:4px solid #0f1122;width:18px;height:18px}.chat-panel{flex-direction:column;height:100%;display:flex}.chat-messages{flex-grow:1;padding:24px;overflow-y:auto}.chat-bubble{box-shadow:var(--shadow-sm);border-radius:16px;padding:14px 20px;font-size:.95rem}.chat-bubble-wrapper.tutor .chat-bubble{border:1px solid var(--border-color);background:#ffffff05;border-top-left-radius:2px}.chat-bubble-wrapper.student .chat-bubble{background:linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-indigo) 100%);border-top-right-radius:2px;box-shadow:0 4px 15px #0084f733}.grammar-feedback-box{color:#fbbf24;background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:8px;padding:12px 16px}.suggestion-chips{border-top:1px solid var(--border-color);background:#0000001a;padding:14px 24px}.suggestion-chip{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:all var(--transition-fast);border-radius:20px;padding:8px 16px;font-size:.85rem;font-weight:600}.suggestion-chip:hover{color:#fff;border-color:var(--text-tertiary);background:#ffffff0a;transform:translateY(-1px)}.chat-input-area{border-top:1px solid var(--border-color);background:#00000026;padding:20px 24px}.chat-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:14px 20px}.chat-input:focus{border-color:var(--accent-purple);background:#ffffff05;box-shadow:0 0 0 2px #0084f733}.profile-grid{grid-template-columns:1fr 1.8fr;gap:28px;margin-top:28px;display:grid}@media (width<=992px){.profile-grid{grid-template-columns:1fr}}.student-id-card{border-radius:var(--radius-xl);text-align:center;background:#fff;border:1.5px solid #e2e8f0;flex-direction:column;align-items:center;padding:36px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -5px #0000000f,0 4px 12px #00000005}:root[data-theme=dark] .student-id-card{background:#0f172a;border:1.5px solid #334155;box-shadow:0 16px 40px #00000080}.student-id-card:before{content:"KVN TOPIK CARD";color:#fff;font-family:var(--font-display);letter-spacing:.5px;background:linear-gradient(90deg,#0077ed,#ec4899);padding:4px 34px;font-size:.65rem;font-weight:800;position:absolute;top:18px;right:-32px;transform:rotate(45deg);box-shadow:0 2px 10px #0077ed4d}.student-photo{background:linear-gradient(135deg,#0077ed 0%,#0084f7 100%);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:14px;font-size:3.2rem;display:flex;box-shadow:0 8px 24px #0077ed40}:root[data-theme=dark] .student-photo{border-color:#1e293b}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;display:grid}.badge-card-item{border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-normal);background:#fff;border:1.5px solid #e2e8f0;padding:18px 12px;box-shadow:0 2px 8px #00000005}:root[data-theme=dark] .badge-card-item{background:#1e293b;border:1.5px solid #334155}.badge-card-item.unlocked{background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);border-color:#f59e0b73;box-shadow:0 8px 24px -4px #f59e0b26}:root[data-theme=dark] .badge-card-item.unlocked{background:linear-gradient(135deg,#f59e0b1a 0%,#1e293be6 100%);border-color:#f59e0b66}.badge-medal-icon{margin-bottom:6px;font-size:2.3rem}.badge-title-item{font-size:.85rem;font-weight:700;font-family:var(--font-display);color:var(--text-primary)}.badge-desc-item{color:var(--text-secondary);margin-top:4px;font-size:.72rem;line-height:1.4}.certificate-preview-box{color:#3e3223;border:8px double #b2946c;border-image:initial;background:radial-gradient(circle,#fffdf8 0%,#f6f3e5 100%);border-radius:4px;padding:50px 40px;box-shadow:0 30px 70px #000c}.cert-title{letter-spacing:3px;color:#806137;font-size:2.6rem;font-family:var(--font-body);font-weight:700}.cert-korean-watermark{color:#b2946c0d;font-size:12rem;font-weight:700}.mobile-bottom-nav{display:none}@media (width<=1024px){.sidebar{z-index:1000;transition:transform var(--transition-normal);visibility:hidden;pointer-events:none;position:fixed;top:0;bottom:0;left:0;box-shadow:10px 0 35px #0003;transform:translate(-100%)!important}.sidebar:not(.collapsed){visibility:visible;pointer-events:auto;width:var(--sidebar-width)!important;transform:translate(0)!important}.main-content{width:100%!important;margin-left:0!important}.topbar{padding:0 16px}.page-container{padding:20px 20px 95px}.lesson-detail-view{grid-template-columns:1fr;gap:20px}.analytics-container{grid-template-columns:1fr}}@media (width<=820px){.mobile-bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);z-index:101;justify-content:space-around;align-items:center;height:64px;padding:0 8px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.mobile-bottom-nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:.7rem;font-weight:600;transition:all .2s;display:flex}.mobile-bottom-nav-item.active{color:var(--accent-purple);background:#0084f714;font-weight:700}.topbar-actions{gap:6px}.topbar-actions .btn-sm{padding:6px 10px;font-size:.78rem}}@media (width>=821px){.mobile-bottom-nav{display:none!important}.page-container{padding-bottom:30px}}.matching-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:20px;display:grid}.matching-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-display);color:var(--text-primary);text-align:center;cursor:pointer;min-height:100px;box-shadow:var(--shadow-sm);user-select:none;justify-content:center;align-items:center;padding:24px 16px;font-weight:600;transition:all .2s;display:flex}.matching-card:hover:not(:disabled){border-color:var(--border-hover);background:#0084f70d;transform:translateY(-2px)}.matching-card.selected{border-color:var(--accent-purple);background:#0084f726;transform:scale(1.02);box-shadow:0 0 15px #0084f74d}.matching-card.matched{border-color:var(--accent-green);opacity:.6;background:#10b9811a;transform:scale(.95)}.matching-card.error{border-color:var(--accent-rose);background:#f43f5e26;animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}.chart-header-actions{align-items:center;gap:12px;margin-bottom:8px;display:flex}.goal-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.goal-btn-group{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.goal-btn{color:var(--text-secondary);border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px 10px;font-size:.8rem;font-weight:600}.goal-btn:hover{color:var(--text-primary);background:#ffffff0d}.goal-btn.active{background:var(--accent-purple);color:#fff;box-shadow:0 2px 8px #c084fc4d}.chart-bar-rect{cursor:pointer;transition:fill .3s,filter .3s,opacity .3s}.chart-bar-rect.hovered{filter:brightness(1.1)drop-shadow(0 2px 8px #c084fc66);opacity:.95}.chart-bar-rect.today{stroke:var(--accent-purple-hover);stroke-width:1.5px}.svg-tooltip-group{pointer-events:none;animation:.15s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.skill-progress-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px;display:grid}@media (width<=768px){.skill-progress-grid{grid-template-columns:1fr}}.skill-progress-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.skill-progress-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);background:#ffffff05;transform:translateY(-4px)}.radial-progress-circle{transform:rotate(-90deg)}.circle-bg{stroke:var(--bg-tertiary);opacity:.4}.circle-progress{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.goal-meter-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);align-items:center;gap:20px;margin-bottom:16px;padding:20px;display:flex}.goal-meter-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.goal-meter-info{flex:1}.goal-meter-title{align-items:center;gap:6px;margin-bottom:4px;font-size:1.05rem;font-weight:700;display:flex}.goal-meter-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.analytics-container{grid-template-columns:1.2fr 1fr;gap:24px;margin:24px 0;display:grid}@media (width<=1024px){.analytics-container{grid-template-columns:1fr}}.cloud-status-pill{border-radius:var(--radius-lg);transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.cloud-status-pill.synced{color:var(--accent-green);background:#6ee7b726;border-color:#6ee7b733}.cloud-status-pill.syncing{color:var(--accent-blue);background:#93c5fd26;border-color:#93c5fd33}.cloud-status-pill.unsynced{color:var(--accent-coral);background:#fda4af26;border-color:#fda4af40}.cloud-status-pill.unsynced:hover{background:#fda4af40;transform:translateY(-1px)}.cloud-status-pill.offline{background:var(--bg-tertiary);color:var(--text-tertiary);border-color:var(--border-color)}.auth-modal-overlay{backdrop-filter:blur(8px);z-index:10000;background:#0f172a99;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.auth-modal-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:32px;animation:.3s cubic-bezier(.16,1,.3,1) scaleUp;position:relative}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal-close{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:4px;position:absolute;top:20px;right:20px}.auth-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.auth-input-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.auth-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-fast);padding:12px 16px;font-size:.9rem}.spin-anim{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=500px){.page-title{display:none}.topbar{padding:0 12px}.topbar-left{margin-right:auto}.cloud-lbl{display:none}.cloud-status-pill{padding:6px 8px}.streak-pill,.xp-pill{padding:6px 10px}.streak-pill span,.xp-pill span{font-size:.8rem}.welcome-banner{text-align:center;flex-direction:column;gap:16px;padding:24px 20px}.welcome-banner p{font-size:.85rem}.welcome-korean{font-size:.8rem}.welcome-title{font-size:1.25rem}.welcome-banner .btn{justify-content:center;width:100%}.stats-row{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:12px}.stat-icon{width:38px;height:38px}.stat-icon svg{width:18px;height:18px}.stat-val{font-size:1.1rem}.stat-lbl{font-size:.7rem}.goal-meter-card{text-align:center;flex-direction:column;gap:12px;padding:16px}.chart-header-actions{justify-content:space-between;width:100%}.goal-label{display:none}.goal-btn-group{justify-content:space-between;width:100%}.goal-btn{text-align:center;flex:1}.skill-progress-grid{gap:12px}.skill-progress-card{text-align:left;flex-direction:row;justify-content:flex-start;padding:12px}.streak-calendar-grid{gap:4px}.streak-day{padding:8px 4px}.glass-card{padding:12px!important}.analytics-container{margin:16px 0}.chart-wrapper{height:200px!important}}.sidebar-overlay{display:none}@media (width<=1024px){.sidebar-overlay.active{z-index:9990;-webkit-backdrop-filter:blur(4px);background:#0f172a73;display:block;position:fixed;inset:0}.sidebar{z-index:9999!important;background:var(--bg-secondary,#fff)!important}}@media (width<=500px){.podium-container{gap:8px!important}.podium-item{max-width:32vw!important}.podium-name{white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0 4px;overflow:hidden;font-size:.75rem!important}}.leaderboard-title{margin-bottom:8px;font-size:2.2rem}.leaderboard-desc{font-size:1rem}@media (width<=500px){.leaderboard-title{font-size:1.5rem}.leaderboard-desc{font-size:.85rem}}body{overscroll-behavior-y:none}*{-webkit-tap-highlight-color:transparent}.mobile-bottom-nav,.topbar,.toggle-sidebar-btn,.streak-pill,.xp-pill{user-select:none}.page-container,.chat-messages,.sidebar-menu{-webkit-overflow-scrolling:touch}@media (width<=768px){.chat-panel{height:calc(100vh - 250px);margin-top:16px}button.action-btn{min-height:44px}.glass-card,.glass-panel{padding:16px!important}.modal-content{width:90%;max-height:85vh;margin:auto;overflow-y:auto}}.timeline-container:after{content:"";background-color:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:4px;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:50%}.timeline-item{background-color:inherit;width:50%;padding:10px 40px;position:relative}.timeline-dot{border:4px solid var(--bg-primary);z-index:1;color:#fff;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;right:-20px;transform:translateY(-50%);box-shadow:0 0 0 2px #ffffff0d}.timeline-content{background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;padding:24px;transition:all .3s;position:relative}.timeline-item.active .timeline-content{border-width:2px}.timeline-item.locked .timeline-content{opacity:.6;cursor:not-allowed;background-color:#ffffff03}@media screen and (width<=768px){.timeline-container:after{left:31px}.timeline-item{width:100%;padding-left:70px;padding-right:0}.timeline-item.right{left:0%}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:11px}}.timeline-container{max-width:900px;margin:0 auto;padding:60px 0;position:relative}@keyframes pulse-glow{0%{box-shadow:0 0 #ec489966}70%{box-shadow:0 0 0 15px #ec489900}to{box-shadow:0 0 #ec489900}}.timeline-content{background:var(--bg-primary);cursor:pointer;border:1px solid #0000000d;border-radius:16px;padding:30px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014}.timeline-content:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(135deg,#fff6 0%,#fff0 100%);position:absolute;inset:0}.timeline-content>*{z-index:1;position:relative}.timeline-item.locked .timeline-content{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:none;cursor:not-allowed;opacity:.85}.timeline-item.locked .timeline-content:hover{transform:translateX(isLeft ? -5px : 5px)}.timeline-item.active:after{background-color:var(--accent-rose);height:3px}@media screen and (width<=768px){.timeline-container:after{left:40px}.timeline-item{width:100%;margin-bottom:30px;padding-left:90px;padding-right:15px}.timeline-item.right{left:0%}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:15px}.timeline-item.left:after,.timeline-item.right:after{width:25px;left:65px}}.roadmap-wrapper{background:0 0;min-height:100vh;padding:40px 20px;position:relative;overflow:hidden}.roadmap-blob{filter:blur(100px);z-index:0;pointer-events:none;border-radius:50%;animation:12s cubic-bezier(.4,0,.2,1) infinite alternate roadmap-float;position:absolute}.blob-1{background:#0084f726;width:500px;height:500px;top:5%;left:-10%}.blob-2{background:#06b6d426;width:600px;height:600px;animation-delay:-4s;top:40%;right:-15%}.blob-3{background:#ec489926;width:550px;height:550px;animation-delay:-8s;bottom:0%;left:20%}@keyframes roadmap-float{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-50px)scale(1.1)}to{transform:translate(-30px,30px)scale(.9)}}.timeline-container{z-index:10;max-width:900px;margin:0 auto;padding:60px 0;position:relative}.timeline-container:after{content:"";background:linear-gradient(180deg, #7c3aed1a 0%, var(--accent-blue) 25%, var(--accent-yellow) 50%, var(--accent-rose) 75%, #ec48991a 100%);border-radius:10px;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 15px #ffffff80}.timeline-item{box-sizing:border-box;width:50%;padding:15px 50px;position:relative}.timeline-item.left{left:0}.timeline-item.right{left:50%}.timeline-dot{background-color:var(--bg-primary);z-index:2;border:5px solid;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;right:-28px;transform:translateY(-50%);box-shadow:0 0 20px #0000001a}.timeline-item.right .timeline-dot{left:-28px}.timeline-item.active .timeline-dot{animation:2s infinite pulse-glow-premium;transform:translateY(-50%)scale(1.15)}@keyframes pulse-glow-premium{0%{box-shadow:0 0 #ec489999}70%{box-shadow:0 0 0 20px #ec489900}to{box-shadow:0 0 #ec489900}}.timeline-content{background:var(--bg-primary);opacity:.95;cursor:pointer;-webkit-backdrop-filter:blur(20px);border:1px solid #0084f71a;border-radius:20px;padding:35px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:visible;box-shadow:0 15px 35px #0000000d,inset 0 0 0 1px #ffffff80}.timeline-item.active .timeline-content:before{content:"✨";z-index:10;font-size:30px;animation:3s ease-in-out infinite float;position:absolute;top:-15px;right:-15px}.timeline-item.active .timeline-content{border:2px solid var(--accent-rose);box-shadow:0 20px 50px #ec489926,inset 0 0 20px #ec48990d}.timeline-item.active .timeline-content:hover{transform:translateY(-10px)scale(1.03);box-shadow:0 30px 60px #ec489940}.timeline-item.locked .timeline-content{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:none;cursor:not-allowed;opacity:.7;filter:grayscale(.5)}.timeline-item.locked .timeline-content:hover{opacity:.9}.timeline-item:after{content:"";background-color:var(--border-color);z-index:1;width:20px;height:2px;position:absolute;top:50%}.timeline-item.left:after{right:30px}.timeline-item.right:after{left:30px}.timeline-item.active:after{background:linear-gradient(90deg, var(--border-color), var(--accent-rose));height:4px}@media screen and (width<=768px){.timeline-container:after{left:40px}.timeline-item{width:100%;margin-bottom:40px;padding-left:90px;padding-right:15px}.timeline-item.right{left:0%}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:12px}.timeline-item.left:after,.timeline-item.right:after{width:22px;left:68px}}.roadmap-wrapper .text-gradient{background:linear-gradient(-45deg,#0ea5e9,#3b82f6,#ec4899,#0ea5e9) 0 0/300% 300%!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important;animation:4s infinite gradient-shimmer!important}@keyframes gradient-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}:root{--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--hero-gradient:linear-gradient(135deg, #0284c7 0%, #0ea5e9 35%, #a855f7 65%, #ec4899 100%);--hero-gradient-hover:linear-gradient(135deg, #0077ed 0%, #0084f7 35%, #9333ea 65%, #db2777 100%);--stat-streak:linear-gradient(135deg, #fb923c 0%, #f43f5e 100%);--stat-xp:linear-gradient(135deg, #fde047 0%, #f59e0b 100%);--stat-lesson:linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);--stat-vocab:linear-gradient(135deg, #6ee7b7 0%, #10b981 100%);--glow-purple:0 0 0 1px #0ea5e914, 0 8px 24px #0ea5e926;--glow-orange:0 0 0 1px #fb923c14, 0 8px 24px #fb923c26;--glow-amber:0 0 0 1px #f59e0b1a, 0 8px 24px #f59e0b2e;--glow-emerald:0 0 0 1px #10b9811a, 0 8px 24px #10b98126}:root[data-theme=dark]{--glow-purple:0 0 0 1px #38bdf82e, 0 8px 28px #38bdf838;--glow-orange:0 0 0 1px #fb923c33, 0 8px 28px #fb923c38;--glow-amber:0 0 0 1px #f59e0b38, 0 8px 28px #f59e0b40;--glow-emerald:0 0 0 1px #34d39933, 0 8px 28px #34d39938}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0ea5e973}50%{box-shadow:0 0 0 14px #0ea5e900}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hangulFloat{0%{opacity:0;transform:translateY(20px)rotate(-5deg)}20%{opacity:.8}to{opacity:0;transform:translateY(-220px)rotate(8deg)}}.stagger>*{opacity:0;animation:fadeUp .55s var(--ease-out-quart) forwards}.stagger>:first-child{animation-delay:40ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.22s}.stagger>:nth-child(5){animation-delay:.28s}.stagger>:nth-child(6){animation-delay:.34s}.stagger>:nth-child(7){animation-delay:.4s}.stagger>:nth-child(8){animation-delay:.46s}.fade-in-up{animation:fadeUp .5s var(--ease-out-quart) both}.hero-banner{border-radius:var(--radius-xl);background:var(--hero-gradient);color:#fff;isolation:isolate;min-height:220px;animation:fadeUp .6s var(--ease-out-quart) both;border:1px solid #ffffff26;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:32px;padding:40px 44px;display:grid;position:relative;overflow:hidden;box-shadow:0 4px #0ea5e933,0 8px 32px #0ea5e926,inset 0 1px #fff3}.hero-banner:before{content:"";z-index:-1;background:radial-gradient(circle at 15% 30%,#ffffff1f,#0000 50%),radial-gradient(circle at 85% 70%,#00000014,#0000 50%);position:absolute;inset:0}.hero-banner:after{content:"";opacity:.4;pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;mask-image:radial-gradient(#000 25%,#0000 70%)}.hero-banner>*{z-index:1;position:relative}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;text-shadow:0 2px 12px #00000026;margin-bottom:12px;font-size:1.85rem;font-weight:800;line-height:1.25}.hero-desc{opacity:.85;color:#b0ccf0;max-width:56ch;margin-bottom:22px;font-size:1rem;line-height:1.55}.hero-cta-wrap{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-greeting-tag{-webkit-backdrop-filter:blur(8px);letter-spacing:.02em;color:#fff;background:#fff3;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.hero-cta{color:#0070d6;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:transform .25s var(--ease-spring), box-shadow .25s ease;background:#fff;border:none;border-radius:14px;align-items:center;gap:10px;padding:13px 26px;font-size:1rem;display:inline-flex;box-shadow:0 4px 20px #00000026,inset 0 1px #fffc}.hero-cta:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 8px 28px #0003,inset 0 1px #fff}.hero-cta-secondary{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff59;border-radius:14px;align-items:center;gap:8px;padding:12px 22px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.hero-decor{justify-content:center;align-items:center;height:180px;display:flex;position:relative}.hero-decor-orb{-webkit-backdrop-filter:blur(14px);background:linear-gradient(135deg,#ffffff73,#ffffff1f);border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;animation:5s ease-in-out infinite floaty;display:flex;position:absolute;box-shadow:0 20px 50px #0000002e,inset 0 0 30px #fff6}.hero-decor-orb-text{font-family:var(--font-display);color:#fff;text-shadow:0 4px 12px #0003;font-size:3.8rem;font-weight:800}.hero-hangul{font-family:var(--font-display);color:#ffffffb3;text-shadow:0 0 12px #ffffff4d;pointer-events:none;font-weight:800;animation:6.5s ease-in-out infinite hangulFloat;position:absolute}.hero-hangul:first-child{font-size:1.9rem;animation-delay:0s;top:8%;left:8%}.hero-hangul:nth-child(2){font-size:1.4rem;animation-delay:1.8s;top:18%;right:12%}.hero-hangul:nth-child(3){font-size:1.6rem;animation-delay:3.4s;bottom:12%;left:18%}.hero-hangul:nth-child(4){font-size:1.3rem;animation-delay:4.6s;bottom:8%;right:6%}@media (width<=900px){.hero-banner{grid-template-columns:1fr;padding:28px 24px}.hero-decor{height:140px}.hero-decor-orb{width:110px;height:110px}.hero-decor-ring{width:140px;height:140px}.hero-decor-orb-text{font-size:3rem}.hero-title{font-size:1.5rem}}.stat-card-premium{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-spring), box-shadow .3s ease;cursor:default;padding:22px 20px;position:relative;overflow:hidden}.stat-card-premium:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.stat-card-premium:before{content:"";opacity:.18;pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;top:-40%;right:-20%}.stat-card-premium.streak:before{background:var(--stat-streak);opacity:.28}.stat-card-premium.xp:before{background:var(--stat-xp);opacity:.32}.stat-card-premium.lesson:before{background:var(--stat-lesson);opacity:.28}.stat-card-premium.vocab:before{background:var(--stat-vocab);opacity:.28}.stat-card-premium.streak{background:linear-gradient(135deg,#fb923c14,#f43f5e0a)}.stat-card-premium.xp{background:linear-gradient(135deg,#f59e0b1a,#fbbf240a)}.stat-card-premium.lesson{background:linear-gradient(135deg,#0ea5e914,#0284c70a)}.stat-card-premium.vocab{background:linear-gradient(135deg,#10b9811a,#6ee7b70a)}.stat-card-premium .stat-icon-wrap{color:#fff;z-index:1;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;display:flex;position:relative;box-shadow:0 6px 14px #0000002e}.stat-card-premium.streak .stat-icon-wrap{background:var(--stat-streak)}.stat-card-premium.xp .stat-icon-wrap{background:var(--stat-xp);color:#78350f}.stat-card-premium.lesson .stat-icon-wrap{background:var(--stat-lesson)}.stat-card-premium.vocab .stat-icon-wrap{background:var(--stat-vocab);color:#064e3b}.stat-card-premium .stat-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);z-index:1;font-size:2.1rem;font-weight:800;line-height:1.1;position:relative}.stat-card-premium .stat-value span.unit{color:var(--text-secondary);margin-left:4px;font-size:1rem;font-weight:600}.stat-card-premium .stat-label{color:var(--text-secondary);z-index:1;margin-top:6px;font-size:.85rem;font-weight:600;position:relative}.stat-card-premium .stat-progress{z-index:1;background:#7f7f7f1f;border-radius:999px;height:6px;margin-top:12px;position:relative;overflow:hidden}.stat-card-premium .stat-progress-fill{transform-origin:0;height:100%;animation:stat-fill .9s var(--ease-out-quart) both;border-radius:999px}.stat-card-premium.streak .stat-progress-fill{width:var(--progress,0%);background:linear-gradient(90deg,#fb923c,#f43f5e);box-shadow:0 0 10px #fb923c80}.stat-card-premium.xp .stat-progress-fill{width:var(--progress,0%);background:linear-gradient(90deg,#fde047,#f59e0b);box-shadow:0 0 10px #f59e0b80}.stat-card-premium.lesson .stat-progress-fill{width:var(--progress,0%);background:linear-gradient(90deg,#0ea5e9,#0284c7);box-shadow:0 0 10px #0ea5e980}.stat-card-premium.vocab .stat-progress-fill{width:var(--progress,0%);background:linear-gradient(90deg,#6ee7b7,#10b981);box-shadow:0 0 10px #10b98180}.stat-card-premium .stat-progress,.stat-card-premium .stat-progress-fill{border-radius:999px}@keyframes stat-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stat-card-premium .stat-trend{color:#059669;z-index:1;background:#10b9811f;border-radius:999px;align-items:center;gap:4px;margin-top:10px;padding:3px 9px;font-size:.78rem;font-weight:600;display:inline-flex;position:relative}.stat-card-premium .stat-trend.down{color:#e11d48;background:#f43f5e1f}.quick-practice-card{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);padding:22px;position:relative;overflow:hidden}.quick-practice-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#0ea5e92e,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-60%;right:-20%}.quick-practice-title{font-family:var(--font-display);align-items:center;gap:8px;margin-bottom:4px;font-size:1.05rem;font-weight:700;display:flex}.quick-practice-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:.8rem}.quick-practice-list{flex-direction:column;gap:10px;display:flex}.quick-practice-item{cursor:pointer;transition:all .25s var(--ease-out-quart);text-align:left;width:100%;color:inherit;background:#7f7f7f0f;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;display:flex}.quick-practice-item:hover{background:#7f7f7f1f;border-color:#0ea5e940;transform:translate(4px)}.quick-practice-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.quick-practice-icon.purple{background:var(--stat-lesson)}.quick-practice-icon.amber{background:var(--stat-xp);color:#78350f}.quick-practice-icon.green{background:var(--stat-vocab);color:#064e3b}.quick-practice-icon.coral{background:var(--stat-streak)}.quick-practice-text{flex:1;min-width:0}.quick-practice-text-main{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.quick-practice-text-sub{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.quick-practice-arrow{color:var(--text-tertiary);flex-shrink:0;transition:transform .2s}.quick-practice-item:hover .quick-practice-arrow{color:var(--accent-purple);transform:translate(3px)}.roadmap-chip{color:var(--text-secondary);background:#7f7f7f14;border:1px solid #7f7f7f1a;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:.82rem;font-weight:600;display:inline-flex}.roadmap-chip.purple{color:#0084f7;background:#0ea5e91f;border-color:#0ea5e933}.roadmap-chip.amber{color:#b45309;background:#f59e0b1f;border-color:#f59e0b33}.roadmap-chip.emerald{color:#047857;background:#10b9811f;border-color:#10b98133}.roadmap-chip.coral{color:#be123c;background:#f43f5e1f;border-color:#f43f5e33}.roadmap-progress-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);max-width:880px;box-shadow:var(--shadow-sm);border-radius:18px;align-items:center;gap:16px;margin:0 auto 40px;padding:18px 24px;display:flex}.roadmap-progress-bar{background:#7f7f7f26;border-radius:999px;flex:1;height:10px;position:relative;overflow:hidden}.roadmap-progress-fill{background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue));height:100%;animation:stat-fill 1s var(--ease-out-quart) both;border-radius:999px}.roadmap-help-banner{max-width:880px;color:var(--text-secondary);background:linear-gradient(135deg,#0ea5e914,#0284c70a);border:1px dashed #0ea5e94d;border-radius:14px;align-items:flex-start;gap:12px;margin:-20px auto 60px;padding:14px 20px;font-size:.88rem;line-height:1.55;display:flex}.roadmap-help-banner svg{color:var(--accent-purple);flex-shrink:0;margin-top:2px}.course-overall-progress{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);align-items:center;gap:16px;margin-bottom:22px;padding:18px 22px;display:flex}.course-overall-progress .label{color:var(--text-secondary);white-space:nowrap;font-size:.9rem}.course-overall-progress .label strong{color:var(--text-primary)}.course-overall-progress .bar{background:#7f7f7f26;border-radius:999px;flex:1;height:10px;overflow:hidden}.course-overall-progress .bar-fill{background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue));height:100%;transition:width .6s var(--ease-out-quart);border-radius:999px}.lesson-status-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.lesson-status-chip.done{color:#047857;background:#10b98124}.lesson-status-chip.active{color:#0084f7;background:#0ea5e924}.lesson-status-chip.locked{color:var(--text-tertiary);background:#7f7f7f24}.lesson-row{transition:all .25s var(--ease-out-quart)}.lesson-row:hover{transform:translate(4px)}.lesson-row.is-done{opacity:1}.lesson-row.is-done .lesson-row-title{text-decoration:none}.sidebar-quick-stats{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.sidebar-quick-stats .row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.sidebar-quick-stats .row .lbl{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.sidebar-quick-stats .row .val{color:var(--text-primary);font-weight:700;font-family:var(--font-display)}.sidebar.collapsed .sidebar-quick-stats{display:none}.glass-panel{transition:box-shadow .3s ease, transform .3s var(--ease-out-quart)}.glass-panel:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.toolbar-premium{border:1px solid var(--glass-border);background:#7f7f7f0f;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:flex}.toolbar-premium .dot{background:linear-gradient(135deg, var(--accent-purple), var(--accent-blue));border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite pulseGlow;box-shadow:0 0 8px #8b5cf680}.skeleton-shimmer{background:linear-gradient(90deg,#7f7f7f0f 0%,#7f7f7f2e 50%,#7f7f7f0f 100%) 0 0/200% 100%;border-radius:8px;animation:1.6s linear infinite shimmer}@media (width<=768px){.page-container{padding:16px 12px!important}.main-content{transition:margin-left .3s;margin-left:0!important}.main-content.collapsed{margin-left:0!important}.sidebar{transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translate(-100%);z-index:9999!important;background:var(--bg-secondary,#fff)!important;box-shadow:6px 0 35px #00000040!important}.sidebar.open,.sidebar:not(.collapsed){transform:translate(0)!important}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);background:#0f172a73;display:none;position:fixed;inset:0;z-index:9990!important}.sidebar-overlay.active{display:block}.topbar{height:56px;padding:0 14px}.page-title{font-size:1.1rem}.toggle-sidebar-btn{width:32px;height:32px}.hero-banner{grid-template-columns:1fr;gap:16px;min-height:auto;padding:24px 20px}.hero-title{font-size:1.25rem}.hero-desc{margin-bottom:14px;font-size:.85rem}.hero-cta-wrap{flex-direction:column;gap:8px}.hero-cta,.hero-cta-secondary{justify-content:center;width:100%;padding:12px 16px;font-size:.9rem}.hero-decor{height:100px}.hero-decor-orb{width:80px;height:80px}.hero-decor-ring{width:110px;height:110px}.hero-decor-orb-text{font-size:2.2rem}.hero-hangul{display:none}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.stat-card-premium{padding:14px 12px}.stat-card-premium .stat-icon-wrap{border-radius:10px;width:38px;height:38px;margin-bottom:10px}.stat-card-premium .stat-icon-wrap svg{width:18px;height:18px}.stat-card-premium .stat-value{font-size:1.4rem}.stat-card-premium .stat-label{font-size:.72rem}.stat-card-premium .stat-progress{height:4px;margin-top:8px}.stat-card-premium .stat-trend{padding:2px 6px;font-size:.68rem}.dashboard-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.analytics-container{grid-template-columns:1fr;gap:16px;margin:16px 0}.glass-panel{box-shadow:var(--shadow-sm)!important;padding:16px!important;transform:none!important}.glass-card{padding:12px!important}.quick-practice-card{z-index:1;padding:14px;position:relative}.quick-practice-item{z-index:2;gap:10px;min-height:44px;padding:10px 12px;position:relative}.quick-practice-icon{border-radius:8px;width:32px;height:32px}.quick-practice-text-main{font-size:.82rem}.streak-calendar-grid{gap:4px}.streak-day{padding:6px 2px;font-size:.7rem}.course-overall-progress{flex-wrap:wrap;gap:8px;padding:12px 14px;font-size:.8rem}.course-overall-progress .label{font-size:.78rem}.lesson-detail-view{grid-template-columns:1fr;gap:16px;margin-top:16px}.tabs-header{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto}.tab-btn{white-space:nowrap;padding:10px 14px;font-size:.78rem}.leaderboard-title{font-size:1.5rem}.leaderboard-desc{font-size:.85rem}.podium-container{gap:6px!important;min-height:200px!important;margin-bottom:30px!important}.podium-item{max-width:30vw!important}.podium-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:.7rem!important}.timeline-container{padding:20px 0}.timeline-container:after{left:24px}.timeline-item{width:100%;margin-bottom:20px;padding-left:60px;padding-right:10px}.timeline-item.right{left:0}.timeline-item.left .timeline-dot,.timeline-item.right .timeline-dot{left:4px}.timeline-content{padding:18px}.timeline-content h3{font-size:1.2rem!important}.roadmap-chip{padding:3px 7px;font-size:.7rem}.roadmap-progress-card{flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:12px 14px}.roadmap-help-banner{margin:0 auto 30px;padding:10px 14px;font-size:.78rem}.test-center-grid{grid-template-columns:1fr!important}.badge-grid{grid-template-columns:repeat(2,1fr);gap:10px}.chat-panel{height:calc(100vh - 220px);margin-top:12px}.chat-input-area{padding:10px}.chat-input{font-size:.85rem}.streak-pill,.xp-pill{gap:4px;padding:4px 8px;font-size:.75rem}.streak-pill span,.xp-pill span{font-size:.72rem}.cloud-status-pill{padding:4px 6px;font-size:.7rem}.cloud-lbl{display:none}.chart-header-actions{justify-content:space-between;width:100%}.goal-label{display:none}.goal-btn-group{justify-content:space-between;width:100%}.goal-btn{text-align:center;flex:1;font-size:.78rem}.skill-progress-grid{gap:10px}.skill-progress-card{text-align:left;flex-direction:row;justify-content:flex-start;padding:10px}}.btn{position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:radial-gradient(circle,#ffffff4d 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.btn:active:after{opacity:1;transition:opacity}.glass-card{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .3s}.glass-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-purple);transform:translateY(-4px)}.deck-card:hover{border-color:var(--accent-purple);box-shadow:0 20px 40px var(--glow-color);transform:translateY(-8px)scale(1.02)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:4px}.page-title{letter-spacing:-.025em;font-size:1.55rem}h2{letter-spacing:-.02em;font-size:1.7rem}h3{letter-spacing:-.015em;font-size:1.25rem}body{line-height:1.6}p{line-height:1.65}.stats-row{margin-top:32px}.auth-modal-card:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-indigo), var(--accent-coral));height:4px;position:absolute;top:0;left:0;right:0}.auth-input{background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:12px 16px;font-size:.92rem;transition:all .2s}.auth-input:focus{border-color:var(--accent-purple);outline:none;box-shadow:0 0 0 3px #0ea5e926}.site-footer{border-top:1px solid var(--border-color);color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:24px 40px;font-size:.82rem;display:flex}.site-footer a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.site-footer a:hover{color:var(--accent-purple)}@media (width<=768px){.site-footer{text-align:center;flex-direction:column;padding:16px 14px}}.breadcrumb-bar{color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:10px 24px;font-size:.82rem;display:flex}.breadcrumb-home{color:var(--accent-purple);font-weight:600}.breadcrumb-home:hover{text-decoration:underline}.breadcrumb-sep{color:var(--text-tertiary);font-size:.75rem}.breadcrumb-item.active{color:var(--text-primary);font-weight:600}.tour-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.tour-overlay.active{display:flex}.tour-card{background:var(--bg-primary);border-radius:var(--radius-xl);text-align:center;max-width:420px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);padding:32px}.tour-card h3{margin-bottom:8px;font-size:1.3rem}.tour-card p{color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.tour-steps{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.tour-dot{background:var(--border-color);border-radius:50%;width:8px;height:8px}.tour-dot.active{background:var(--accent-purple);border-radius:4px;width:24px}.reading-progress{background:linear-gradient(90deg, var(--accent-purple), var(--accent-blue));z-index:10000;border-radius:0 2px 2px 0;height:3px;transition:width .15s linear;position:fixed;top:0;left:0}.focus-mode-btn{background:var(--glass-bg);border:1px solid var(--border-color);width:44px;height:44px;box-shadow:var(--shadow-md);cursor:pointer;z-index:100;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px}.focus-mode-btn:hover{border-color:var(--accent-purple);box-shadow:0 0 20px var(--glow-color)}body.focus-mode .sidebar,body.focus-mode .topbar,body.focus-mode .breadcrumb-bar,body.focus-mode .site-footer{display:none!important}body.focus-mode .main-content{margin-left:0!important;padding-top:0!important}.menu-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:800}.menu-badge.hot{color:#fff;background:linear-gradient(135deg,#ef4444,#f97316);animation:2s infinite badge-pulse;box-shadow:0 2px 8px #ef444466}.menu-badge.new{color:#fff;background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 2px 8px #0284c766}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.visa-hero-card,.writing-hero-card,.hanja-hero-card,.shadowing-hero-card{border-radius:var(--radius-lg);flex-direction:row;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:28px 32px;display:flex;position:relative;overflow:hidden}@media (width<=900px){.visa-hero-card,.writing-hero-card,.hanja-hero-card,.shadowing-hero-card{flex-direction:column;align-items:flex-start;padding:20px}}.visa-hero-tag,.writing-hero-tag,.hanja-hero-tag,.shadowing-hero-tag{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.visa-hero-tag{color:#38bdf8;background:#3b82f626}.writing-hero-tag{color:#818cf8;background:#0284c726}.hanja-hero-tag{color:#34d399;background:#10b98126}.shadowing-hero-tag{color:#c084fc;background:#a855f726}.visa-hero-title,.writing-hero-title,.hanja-hero-title,.shadowing-hero-title{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:1.6rem;font-weight:800;display:flex}.visa-hero-desc,.writing-hero-desc,.hanja-hero-desc,.shadowing-hero-desc{color:var(--text-secondary);max-width:680px;margin:0;font-size:.9rem;line-height:1.5}.visa-hero-stats,.writing-hero-stats,.shadowing-hero-stats{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:16px;padding:12px 20px;display:flex}.stat-col{text-align:center}.stat-val{justify-content:center;align-items:center;gap:4px;font-size:1.25rem;font-weight:800;display:flex}.stat-lbl{color:var(--text-secondary);margin-top:2px;font-size:.7rem}.stat-divider{background:var(--border-color);width:1px;height:32px}.text-yellow{color:var(--accent-yellow)}.text-green{color:var(--accent-green)}.text-blue{color:var(--accent-blue)}.text-purple{color:var(--accent-purple)}.visa-categories-bar{gap:10px;margin-bottom:20px;padding-bottom:12px;display:flex;overflow-x:auto}.visa-cat-btn{white-space:nowrap;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.visa-cat-btn:hover{color:var(--text-primary);border-color:var(--accent-blue)}.visa-cat-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 4px 14px #3b82f64d}.visa-main-grid{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}@media (width<=992px){.visa-main-grid{grid-template-columns:1fr}}.visa-questions-panel{padding:20px}.panel-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:14px;font-size:.8rem;font-weight:700}.panel-section-title-between{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-heading{font-size:1.1rem;font-weight:700}.visa-questions-list{flex-direction:column;gap:10px;max-height:600px;padding-right:4px;display:flex;overflow-y:auto}.visa-q-item{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:14px 16px;transition:all .2s}.visa-q-item:hover{border-color:var(--accent-blue);transform:translateY(-2px)}.visa-q-item.selected{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 4px 16px #3b82f626}.visa-q-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.visa-q-badge{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;padding:2px 6px;font-size:.7rem;font-weight:700}.visa-done-badge{color:var(--accent-green);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.visa-q-korean{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.95rem;font-weight:700;overflow:hidden}.visa-q-vietnamese{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.visa-studio-panel{padding:28px}.studio-topbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:18px;display:flex}.studio-interviewer-info{align-items:center;gap:12px;display:flex}.interviewer-avatar{background:linear-gradient(135deg,#3b82f6,#0284c7);border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.5rem;display:flex;box-shadow:0 4px 12px #3b82f64d}.interviewer-name{margin:0;font-size:1.05rem;font-weight:700}.interviewer-role{color:var(--text-secondary);font-size:.75rem}.speaker-action-btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.speaker-action-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.speaker-action-btn.speaking{border-color:var(--accent-yellow);color:var(--accent-yellow);background:#f59e0b26;animation:1.5s infinite badge-pulse}.studio-question-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;margin-bottom:24px;padding:20px}.question-prefix{text-transform:uppercase;color:var(--accent-blue);margin-bottom:6px;font-size:.75rem;font-weight:700}.question-text-kr{color:var(--text-primary);margin-bottom:6px;font-size:1.4rem;font-weight:800;line-height:1.4}.question-text-vi{color:var(--text-secondary);margin-bottom:14px;font-size:.9rem;font-style:italic}.question-tips-box{color:var(--text-primary);background:#3b82f614;border:1px solid #3b82f633;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.tips-icon{color:var(--accent-blue);flex-shrink:0;margin-top:2px}.studio-mic-section{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:16px;margin-bottom:20px;padding:24px}.mic-prompt-heading{margin-bottom:18px;font-size:.95rem;font-weight:700}.mic-btn-wrapper,.studio-mic-btn-wrapper{justify-content:center;margin-bottom:14px;display:flex}.studio-mic-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#0284c7);border:none;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:all .2s;display:flex;position:relative;box-shadow:0 8px 24px #3b82f659}.studio-mic-btn:hover{transform:scale(1.06)}.studio-mic-btn.recording{background:#e11d48;animation:1.2s infinite badge-pulse;box-shadow:0 8px 24px #e11d4880}.mic-pulse-ring{border:2px solid #e11d4899;border-radius:50%;animation:1s infinite badge-pulse;position:absolute;inset:-6px}.mic-status-text{color:var(--text-secondary);margin-bottom:12px;font-size:.8rem}.user-transcript-card{background:var(--bg-primary);border:1px solid var(--border-color);text-align:left;border-radius:12px;max-width:600px;margin:12px auto 0;padding:14px 18px}.transcript-lbl{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;font-weight:700}.transcript-content{color:var(--accent-green);font-size:.95rem;font-weight:600}.analyzing-banner{color:var(--accent-blue);justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:.85rem;font-weight:600;display:flex}.studio-eval-card,.writing-eval-card{background:var(--bg-primary);border:1px solid var(--accent-green);border-radius:16px;margin-top:24px;padding:24px;box-shadow:0 8px 30px #10b9811f}.writing-eval-card{border-color:var(--accent-purple);box-shadow:0 8px 30px #0ea5e91f}.eval-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;display:flex}.eval-title{align-items:center;gap:8px;display:flex}.eval-title h4{margin:0;font-size:1.15rem;font-weight:800}.eval-score-box{color:var(--text-secondary);align-items:baseline;gap:6px;font-size:.85rem;display:flex}.eval-score-box strong{color:var(--accent-green);font-size:1.6rem;font-weight:900}.writing-eval-card .eval-score-box strong{color:var(--accent-purple)}.eval-metrics-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (width<=600px){.eval-metrics-grid{grid-template-columns:1fr}}.eval-metric-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px}.metric-lbl{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;display:block}.metric-val{align-items:center;gap:6px;font-size:.95rem;font-weight:800;display:flex}.eval-feedback-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:14px 18px}.feedback-lbl{color:var(--accent-yellow);margin-bottom:4px;font-size:.8rem;font-weight:700}.feedback-txt{color:var(--text-primary);font-size:.85rem;line-height:1.5}.eval-keywords-section{margin-bottom:16px}.keywords-lbl{color:var(--text-secondary);margin-bottom:8px;font-size:.75rem;font-weight:700;display:block}.keywords-pills{flex-wrap:wrap;gap:6px;display:flex}.kw-badge{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.kw-badge.matched{border:1px solid var(--accent-green);color:var(--accent-green);background:#10b98126}.kw-badge.unmatched{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary)}.eval-footer-actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.toggle-sample-btn{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.8rem;font-weight:700;display:flex}.toggle-sample-btn:hover{text-decoration:underline}.retry-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.retry-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.studio-sample-card,.writing-sample-drawer{background:#3b82f614;border:1px solid #3b82f640;border-radius:14px;margin-top:16px;padding:18px 20px}.writing-sample-drawer{background:#0ea5e914;border-color:#0ea5e940}.sample-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sample-title,.drawer-title{text-transform:uppercase;color:var(--accent-blue);font-size:.75rem;font-weight:800}.drawer-title{color:var(--accent-purple);margin-bottom:6px}.play-sample-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.sample-kr,.drawer-content{color:var(--text-primary);white-space:pre-line;margin-bottom:4px;font-size:.95rem;font-weight:700;line-height:1.5}.sample-vi{color:var(--text-secondary);font-size:.8rem;font-style:italic}.random-pick-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #f59e0b4d}.random-pick-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #f59e0b73}.cat-count-pill{background:#ffffff26;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:.7rem}.visa-toolbar-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.visa-search-box{flex:1;min-width:260px;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.visa-search-input{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:12px;outline:none;padding:10px 38px;font-size:.85rem;transition:border-color .2s}.visa-search-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f626}.clear-search-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.1rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.visa-diff-filter{flex-wrap:wrap;gap:6px;display:flex}.diff-pill-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s}.diff-pill-btn:hover{color:var(--text-primary);border-color:var(--accent-blue)}.diff-pill-btn.active{color:var(--accent-blue);border-color:var(--accent-blue);background:#3b82f626}.empty-search-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:40px 20px;display:flex}.badge-trap{color:#ef4444!important;background:#ef444426!important;border-color:#ef44444d!important}.univ-mini-badge{color:#818cf8;background:#0284c71f;border:1px solid #0284c740;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.visa-detail-tabs-bar{border-bottom:1px solid var(--border-color);gap:8px;margin-bottom:16px;padding-bottom:8px;display:flex;overflow-x:auto}.detail-tab-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.detail-tab-btn:hover{color:var(--text-primary);border-color:var(--accent-blue)}.detail-tab-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 4px 12px #3b82f640}.detail-tab-btn.tab-trap{color:#f87171;border-color:#ef44444d}.detail-tab-btn.tab-trap.active{color:#fff;background:#ef4444;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.visa-tab-content-box{margin-bottom:20px}.tips-highlight-card{background:#3b82f614;border:1px solid #3b82f633;border-radius:14px;margin-bottom:12px;padding:16px 18px}.tips-title-row{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;display:flex}.tips-desc-text{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.6}.keywords-chip-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chip-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}.chips-list{flex-wrap:wrap;gap:6px;display:flex}.kw-pill{color:var(--accent-green);background:#10b9811f;border:1px solid #10b98140;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:600}.trap-alert-card{background:#ef444414;border:1px solid #ef44444d;border-radius:14px;padding:18px 20px}.trap-alert-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.trap-alert-title{color:#ef4444;margin:0;font-size:.95rem;font-weight:800}.trap-alert-body{color:var(--text-primary);font-size:.9rem;font-weight:600;line-height:1.6}.grammar-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.grammar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 14px;transition:all .2s}.grammar-card:hover{border-color:var(--accent-purple);box-shadow:0 4px 14px #0ea5e926}.grammar-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.grammar-num{text-transform:uppercase;color:var(--accent-purple);font-size:.7rem;font-weight:800}.grammar-copy-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.grammar-pattern-text{color:var(--text-primary);font-size:.88rem;font-weight:700}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.vocab-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.vocab-kr-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.vocab-kr-text{color:var(--accent-blue);font-size:.92rem;font-weight:800}.vocab-hanja{color:var(--text-secondary);font-size:.75rem}.vocab-audio-btn{color:var(--accent-blue);cursor:pointer;background:#3b82f61f;border:1px solid #3b82f640;border-radius:6px;align-items:center;padding:3px 6px;display:flex}.vocab-audio-btn.speaking{color:var(--accent-yellow);background:#f59e0b33}.vocab-vi-text{color:var(--text-secondary);font-size:.8rem}.followup-list{flex-direction:column;gap:10px;display:flex}.followup-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px}.followup-item-header{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.followup-badge{color:var(--accent-yellow);white-space:nowrap;background:#f59e0b26;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:800}.followup-q-kr{color:var(--text-primary);font-size:.95rem;font-weight:700}.followup-q-vi{color:var(--text-secondary);margin-bottom:8px;font-size:.82rem;font-style:italic}.speaker-mini-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;display:inline-flex}.speaker-mini-btn.speaking{color:var(--accent-yellow);border-color:var(--accent-yellow)}.followup-answer-box{background:#10b98114;border:1px solid #10b98140;border-radius:10px;margin-top:8px;padding:12px 14px}.fu-ans-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.fu-ans-lbl{color:var(--accent-green);text-transform:uppercase;font-size:.75rem;font-weight:800}.fu-ans-kr{color:var(--text-primary);margin-bottom:4px;font-size:.92rem;font-weight:700;line-height:1.4}.fu-ans-vi{color:var(--text-secondary);font-size:.8rem;font-style:italic}.toggle-sample-always-btn{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 18px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.toggle-sample-always-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.writing-type-cards-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}@media (width<=992px){.writing-type-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.writing-type-cards-grid{grid-template-columns:1fr}}.writing-type-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;cursor:pointer;border-radius:14px;padding:16px;transition:all .2s}.writing-type-card:hover{border-color:var(--accent-purple);transform:translateY(-2px)}.writing-type-card.selected{border-color:var(--accent-purple);background:#0ea5e91f;box-shadow:0 4px 16px #0ea5e933}.type-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.type-badge{color:var(--accent-purple);font-size:.75rem;font-weight:800}.type-card-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.95rem;font-weight:700;overflow:hidden}.type-card-target{color:var(--text-secondary);font-size:.75rem}.writing-main-grid{grid-template-columns:420px 1fr;align-items:start;gap:24px;display:grid}@media (width<=992px){.writing-main-grid{grid-template-columns:1fr}}.writing-prompt-panel,.writing-editor-panel{padding:24px}.prompt-body-card{background:var(--bg-primary);border:1px solid var(--border-color);white-space:pre-line;border-radius:14px;margin-bottom:16px;padding:18px;font-size:.95rem;font-weight:600;line-height:1.6}.prompt-guide-box{background:#3b82f614;border:1px solid #3b82f633;border-radius:12px;margin-bottom:16px;padding:14px}.guide-title{color:var(--accent-blue);align-items:center;gap:6px;margin-bottom:4px;font-size:.8rem;font-weight:700;display:flex}.guide-desc{color:var(--text-primary);margin:0;font-size:.8rem;line-height:1.5}.grammar-section-title{text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:.75rem;font-weight:700}.grammar-chips{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.grammar-chip{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--accent-yellow);border-radius:8px;padding:6px 12px;font-family:monospace;font-size:.8rem}.sample-action-container{border-top:1px solid var(--border-color);padding-top:14px}.editor-topbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.editor-heading{align-items:center;gap:8px;font-size:1.05rem;font-weight:800;display:flex}.editor-controls{align-items:center;gap:8px;display:flex}.keyboard-toggle-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.keyboard-toggle-btn.active{background:var(--accent-purple);color:#fff;border-color:var(--accent-purple)}.clear-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 10px}.blank-inputs-group{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.blank-input-row label{color:var(--accent-purple);margin-bottom:6px;font-size:.8rem;font-weight:700;display:block}.blank-text-input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:12px;outline:none;padding:12px 16px;font-size:.95rem}.blank-text-input:focus{border-color:var(--accent-purple)}.essay-textarea-wrapper{margin-bottom:18px}.essay-textarea{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;resize:vertical;border-radius:14px;outline:none;padding:16px;font-size:1rem;line-height:1.6}.essay-textarea:focus{border-color:var(--accent-purple)}.textarea-stats-bar{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:6px;padding:0 4px;font-size:.75rem;display:flex}.hangul-keyboard-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;margin-bottom:18px;padding:14px}.keyboard-header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.75rem;font-weight:800;display:flex}.shift-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:700}.shift-btn.active{background:var(--accent-yellow);color:#000;border-color:var(--accent-yellow)}.keyboard-body{flex-direction:column;gap:6px;display:flex}.keyboard-row{justify-content:center;gap:5px;display:flex}.hangul-key{background:var(--bg-card);border:1px solid var(--border-color);width:38px;height:42px;color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:1.05rem;font-weight:700;transition:all .1s;box-shadow:0 2px 4px #0000001a}@media (width<=600px){.hangul-key{width:28px;height:36px;font-size:.85rem}}.hangul-key:active{background:var(--accent-purple);color:#fff;transform:scale(.92)}.keyboard-utility-row{justify-content:center;gap:8px;margin-top:4px;display:flex}.space-key{background:var(--bg-card);border:1px solid var(--border-color);max-width:240px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex:1;font-size:.8rem;font-weight:600}.backspace-key{color:#f43f5e;cursor:pointer;background:#e11d4826;border:1px solid #e11d4866;border-radius:8px;height:36px;padding:0 16px;font-size:.8rem;font-weight:700}.evaluate-submit-btn{justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:.95rem;font-weight:800;display:flex}.writing-rubric-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.rubric-item{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:10px;padding:10px}.rubric-item .lbl{color:var(--text-secondary);font-size:.7rem;display:block}.rubric-item .val{font-size:1.15rem;font-weight:800}.spacing-status-note{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;display:flex}.hanja-subtab-switcher{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-shrink:0;padding:4px;display:flex}.subtab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:700;transition:all .2s}.subtab-btn.active{background:var(--accent-blue);color:#fff;box-shadow:0 4px 12px #3b82f64d}.hanja-search-bar{margin-bottom:24px;position:relative}.hanja-search-bar .search-icon{color:var(--text-secondary);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.hanja-search-bar .search-input{background:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:14px;outline:none;padding:14px 16px 14px 46px;font-size:.95rem}.hanja-search-bar .search-input:focus{border-color:var(--accent-green)}.search-clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:.8rem;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.hanja-main-grid{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}@media (width<=992px){.hanja-main-grid{grid-template-columns:1fr}}.hanja-roots-panel,.hanja-detail-panel{padding:24px}.hanja-roots-list{flex-direction:column;gap:10px;max-height:600px;padding-right:4px;display:flex;overflow-y:auto}.hanja-root-item{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:14px 16px;transition:all .2s}.hanja-root-item:hover{border-color:var(--accent-green);transform:translateY(-2px)}.hanja-root-item.selected{border-color:var(--accent-green);background:#10b9811a;box-shadow:0 4px 16px #10b98126}.root-item-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.root-chars{align-items:center;gap:8px;display:flex}.hanja-char-large{color:var(--accent-green);font-family:serif;font-size:1.3rem;font-weight:800}.korean-char{color:var(--text-primary);font-size:1rem;font-weight:800}.root-meaning-txt{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem}.root-derived-count{color:var(--accent-blue);font-size:.75rem;font-weight:600}.root-header-banner{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;display:flex}@media (width<=600px){.root-header-banner{flex-direction:column;align-items:flex-start;gap:14px}}.root-identity{align-items:center;gap:16px;display:flex}.root-avatar-box{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;font-family:serif;font-size:2rem;display:flex;box-shadow:0 4px 16px #10b98159}.root-names{align-items:center;gap:10px;display:flex}.root-names h2{margin:0;font-size:1.5rem;font-weight:900}.root-desc-txt{color:var(--text-secondary);margin:4px 0 0;font-size:.9rem}.derived-words-section{margin-bottom:24px}.derived-section-heading{text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;font-weight:700;display:flex}.derived-cards-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=700px){.derived-cards-grid{grid-template-columns:1fr}}.derived-word-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;padding:16px;transition:all .2s}.derived-word-card:hover{border-color:var(--accent-green);transform:translateY(-2px)}.word-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.word-kr-title strong{color:var(--text-primary);font-size:1.1rem;font-weight:800}.word-hanja-tag{color:var(--text-secondary);margin-left:6px;font-family:serif;font-size:.8rem}.word-sino-txt{color:var(--accent-yellow);margin-bottom:2px;font-size:.8rem;font-weight:700}.word-meaning-txt{color:var(--text-primary);margin-bottom:10px;font-size:.85rem}.word-example-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;font-size:.75rem}.ex-kr{color:var(--text-primary);margin-bottom:2px;font-weight:600}.ex-vi{color:var(--text-secondary);font-style:italic}.hanja-mini-quiz-card{background:#10b98114;border:1px solid #10b98140;border-radius:14px;padding:18px 20px}.quiz-tag{text-transform:uppercase;color:var(--accent-green);align-items:center;gap:6px;margin-bottom:6px;font-size:.75rem;font-weight:800;display:flex}.quiz-question-txt{color:var(--text-primary);margin-bottom:12px;font-size:.95rem;font-weight:700}.quiz-options-bar{gap:10px;display:flex}.quiz-opt-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:all .2s}.quiz-opt-btn:hover{border-color:var(--accent-green)}.quiz-opt-btn.correct{background:var(--accent-green);color:#fff;border-color:var(--accent-green)}.quiz-result-msg{color:var(--accent-green);margin-top:8px;font-size:.8rem;font-weight:700}.grammar-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-lbl{color:var(--text-secondary);font-size:.8rem;font-weight:700}.filter-pill.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.grammar-cards-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=850px){.grammar-cards-grid{grid-template-columns:1fr}}.grammar-entry-card{padding:22px}.entry-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:12px;display:flex}.entry-cat-badge{text-transform:uppercase;color:var(--accent-blue);margin-bottom:4px;font-size:.7rem;font-weight:800;display:block}.entry-pattern-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.entry-meaning-box{margin-bottom:12px}.entry-meaning-txt{color:var(--accent-green);margin-bottom:4px;font-size:.9rem;font-weight:700}.entry-formula-txt{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--accent-purple);border-radius:8px;padding:6px 10px;font-family:monospace;font-size:.8rem}.entry-usage-note{color:var(--text-primary);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:.8rem;line-height:1.4}.entry-examples-section .ex-heading{text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.example-item-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:6px;padding:8px 12px;font-size:.8rem}.ex-kr-row{color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}.speaker-btn.small{width:24px;height:24px}.ex-vi-row{color:var(--text-secondary);font-size:.75rem;font-style:italic}.shadowing-lessons-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=900px){.shadowing-lessons-grid{grid-template-columns:1fr}}.shadowing-lesson-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;cursor:pointer;border-radius:16px;padding:18px;transition:all .2s}.shadowing-lesson-card:hover{border-color:var(--accent-purple);transform:translateY(-2px)}.shadowing-lesson-card.selected{border-color:var(--accent-purple);background:#a855f71f;box-shadow:0 4px 16px #a855f733}.lesson-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lesson-q-count{color:var(--text-secondary);font-size:.75rem;font-weight:600}.lesson-card-title{color:var(--text-primary);margin-bottom:4px;font-size:1rem;font-weight:800}.lesson-card-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.shadowing-stage-card{padding:28px}.stage-topbar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.stage-progress-info{align-items:center;gap:10px;display:flex}.speaker-label{color:var(--text-secondary);font-size:.85rem}.speaker-label strong{color:var(--text-primary)}.subtitle-toggles-bar{align-items:center;gap:8px;display:flex}.sub-toggle-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.sub-toggle-btn.active{background:var(--bg-card);color:var(--accent-purple);border-color:var(--accent-purple)}.sub-toggle-btn.cloze-active{border-color:var(--accent-yellow);color:var(--accent-yellow);background:#f59e0b26}.shadowing-screen-box{background:var(--bg-primary);border:1px solid var(--border-color);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:140px;margin-bottom:24px;padding:32px 24px;display:flex}.screen-korean-text{color:var(--text-primary);margin-bottom:12px;font-size:1.6rem;font-weight:800;line-height:1.5}.cloze-blur-word{background:var(--bg-card);border:1px dashed var(--border-color);color:#0000;user-select:none;cursor:pointer;border-radius:6px;padding:2px 8px;transition:color .2s;display:inline-block}.cloze-blur-word:hover{color:var(--text-primary)}.korean-hidden-notice{color:var(--text-secondary);font-size:.9rem;font-style:italic}.screen-vietnamese-text{color:var(--text-secondary);border-top:1px solid var(--border-color);width:80%;padding-top:12px;font-size:.95rem;font-style:italic}.shadowing-controls-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.speed-controller{align-items:center;gap:6px;display:flex}.speed-lbl{color:var(--text-secondary);margin-right:4px;font-size:.8rem;font-weight:700}.speed-pill{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700}.speed-pill.active{background:var(--accent-purple);color:#fff;border-color:var(--accent-purple)}.main-play-group{align-items:center;gap:10px;display:flex}.player-nav-btn{background:var(--bg-primary);border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.player-nav-btn:disabled{opacity:.3;cursor:not-allowed}.play-audio-btn{border-radius:12px;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:800;display:flex}.loop-toggle-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;display:flex}.loop-toggle-btn.active{border-color:var(--accent-yellow);color:var(--accent-yellow);background:#f59e0b26}.shadowing-mic-studio{background:var(--bg-primary);border:1px solid var(--border-color);text-align:center;border-radius:16px;padding:24px}.mic-instruction-title{margin-bottom:16px;font-size:.95rem;font-weight:700}.match-score-badge{border:1px solid var(--accent-green);color:var(--accent-green);background:#10b98126;border-radius:12px;align-items:center;gap:6px;margin-top:10px;padding:8px 16px;font-size:.9rem;font-weight:700;display:inline-flex}.app-container.is-landing-fullscreen{background:var(--bg-primary);width:100vw;min-height:100vh;margin:0;padding:0;display:block;overflow-x:hidden}.landing-3d-fullscreen{background:var(--bg-mesh), var(--bg-primary);width:100%;min-height:100vh;position:relative;overflow-x:hidden}.hero-floating-top-dock{z-index:999;pointer-events:none;justify-content:space-between;align-items:center;width:calc(100% - 48px);max-width:1440px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.dock-left-brand{-webkit-backdrop-filter:blur(20px);cursor:pointer;pointer-events:auto;background:#ffffffe0;border:1.5px solid #ffffffe6;border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 10px;transition:transform .2s;display:flex;box-shadow:0 10px 30px #00000014}.dock-left-brand:hover{transform:scale(1.03)}.dock-logo-icon{color:#fff;background:linear-gradient(135deg,#e07a5f 0%,#d97706 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 4px 10px #e07a5f66}.dock-brand-name{color:var(--text-primary);letter-spacing:.02em;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:800}.dock-time-switcher{-webkit-backdrop-filter:blur(20px);pointer-events:auto;background:#ffffffe0;border:1.5px solid #ffffffe6;border-radius:999px;align-items:center;gap:4px;padding:4px 6px;display:flex;box-shadow:0 10px 28px #00000014}.time-switch-pill{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.time-switch-pill:hover{color:#e07a5f;background:#e07a5f14}.time-switch-pill.active{color:#fff;background:linear-gradient(135deg,#f28b72 0%,#e07a5f 100%);box-shadow:0 4px 12px #e07a5f59}.dock-right-tools{pointer-events:auto;align-items:center;gap:10px;display:flex}.dock-stat-pill{-webkit-backdrop-filter:blur(20px);color:#1e293b;background:#ffffffe0;border:1.5px solid #ffffffe6;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:0 8px 24px #0000000f}.dock-tool-btn{-webkit-backdrop-filter:blur(20px);cursor:pointer;color:#334155;background:#ffffffe0;border:1.5px solid #ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex;box-shadow:0 8px 24px #0000000f}.dock-tool-btn:hover{color:#e07a5f;border-color:#e07a5f;transform:translateY(-2px)}.dock-tool-btn.student-btn{border-radius:999px;gap:6px;width:auto;padding:0 14px;font-size:.82rem;font-weight:700}.dock-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f28b72 0%,#e07a5f 100%);border:1.5px solid #fff9;border-radius:999px;align-items:center;gap:8px;padding:10px 22px;font-size:.88rem;font-weight:800;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 10px 24px #e07a5f66,inset 0 2px 4px #fff6}.dock-cta-btn:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 14px 30px #e07a5f80}:root[data-theme=dark] .dock-left-brand,:root[data-theme=dark] .dock-time-switcher,:root[data-theme=dark] .dock-stat-pill,:root[data-theme=dark] .dock-tool-btn{color:#f8fafc;background:#0f172ae0;border-color:#ffffff26;box-shadow:0 10px 30px #00000080}.landing-3d-main-container.pure-3d-view{flex-direction:column;gap:80px;width:100%;max-width:1560px;margin:0 auto;padding-top:18px;padding-left:24px;padding-right:24px;display:flex}.hero-3d-pure-canvas{background:#fdfaf6;border:2px solid #e07a5f38;border-radius:48px;justify-content:center;align-items:center;width:100%;height:90vh;min-height:720px;transition:all .6s;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000014,inset 0 1px 2px #ffffffe6}.hero-3d-pure-canvas.time-sunset{background:#23121d;border-color:#f43f5e59;box-shadow:0 30px 80px #e11d482e}.hero-3d-pure-canvas.time-night{background:#090e1a;border-color:#06b6d459;box-shadow:0 30px 80px #06b6d438}:root[data-theme=dark] .hero-3d-pure-canvas{background:#0b1120;border-color:#0ea5e940;box-shadow:0 30px 80px #0009}.pure-3d-island-backdrop{z-index:0;transform-style:preserve-3d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pure-3d-island-img{object-fit:cover;object-position:center 35%;filter:brightness(1.03)saturate(1.1);width:100%;height:100%;transition:filter .8s}.hero-3d-pure-canvas.time-sunset .pure-3d-island-img{filter:brightness(.96)saturate(1.3)contrast(1.08)hue-rotate(-12deg)}.hero-3d-pure-canvas.time-night .pure-3d-island-img{filter:brightness(.72)saturate(1.35)contrast(1.15)hue-rotate(205deg)}.atmosphere-overlay-tint{pointer-events:none;transition:opacity .8s;position:absolute;inset:0}.atmosphere-overlay-tint.sunset{background:radial-gradient(circle at 50% 30%,#fb923c33 0%,#f43f5e40 50%,#18091566 100%)}.atmosphere-overlay-tint.night{background:radial-gradient(circle at 50% 30%,#06b6d426 0%,#d946ef33 50%,#090e1a8c 100%)}.hotspots-overlay-layer{z-index:5;pointer-events:none;transform-style:preserve-3d;position:absolute;inset:0}.hotspot-pin-anchor{pointer-events:auto;cursor:pointer;z-index:10;position:absolute;transform:translate(-50%,-50%)}.pin-light-beam{opacity:.65;filter:blur(.5px);pointer-events:none;width:2px;height:80px;animation:2.5s ease-in-out infinite alternate beamGlow;position:absolute;bottom:50%;left:50%;transform:translate(-50%)}@keyframes beamGlow{0%{opacity:.3;height:60px}to{opacity:.85;height:100px}}.pin-radar-ring{pointer-events:none;border:2px solid;border-radius:50%;width:58px;height:58px;animation:2s cubic-bezier(.215,.61,.355,1) infinite pinPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pinPulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}.hotspot-pin-card{-webkit-backdrop-filter:blur(20px);transform-style:preserve-3d;background:#fffffff0;border:1.5px solid #fffffff2;border-radius:999px;align-items:center;gap:10px;padding:8px 16px 8px 8px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 14px 32px #0000001f,inset 0 2px 4px #ffffffe6}:root[data-theme=dark] .hotspot-pin-card,.hero-3d-pure-canvas.time-night .hotspot-pin-card{background:#0f172af0;border-color:#fff3;box-shadow:0 14px 32px #0009}.hotspot-pin-anchor:hover .hotspot-pin-card{transform:translateY(-4px)scale(1.08);box-shadow:0 20px 44px #0000002e}.pin-icon-wrap{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 4px 10px #00000026}.pin-label-wrap{text-align:left;flex-direction:column;display:flex}.pin-title{color:var(--text-primary);white-space:nowrap;font-size:.84rem;font-weight:800;line-height:1.15}.pin-badge{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.hero-live-ticker-wrap{z-index:15;pointer-events:auto;position:absolute;top:76px;left:28px}.ticker-pill{-webkit-backdrop-filter:blur(20px);color:#1e293b;background:#ffffffeb;border:1.5px solid #fffffff2;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 10px 28px #00000014}:root[data-theme=dark] .ticker-pill,.hero-3d-pure-canvas.time-night .ticker-pill{color:#f8fafc;background:#0f172aeb;border-color:#ffffff26}.ticker-live-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s cubic-bezier(.4,0,.6,1) infinite pulseDot;box-shadow:0 0 10px #10b981}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.hero-3d-pure-canvas.time-night .pin-title,.hero-3d-pure-canvas.time-night .capsule-h1{color:#fff}.pin-hover-tooltip{-webkit-backdrop-filter:blur(24px);z-index:50;pointer-events:auto;text-align:left;background:#fffffff5;border:1.5px solid #fffffff2;border-top:4px solid;border-radius:24px;width:270px;padding:16px 18px;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 20px 48px #0000002e}.tooltip-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tooltip-tag{border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:800}.tooltip-action-hint{color:var(--text-tertiary);font-size:.72rem;font-weight:700}:root[data-theme=dark] .pin-hover-tooltip,.hero-3d-pure-canvas.time-night .pin-hover-tooltip{background:#0f172af5;border-color:#ffffff26;box-shadow:0 20px 48px #0009}.tooltip-title{color:var(--text-primary);margin-bottom:2px;font-size:.94rem;font-weight:800}.tooltip-sub{color:#e07a5f;margin-bottom:6px;font-size:.76rem;font-weight:600;display:block}.tooltip-desc{color:var(--text-secondary);margin-bottom:10px;font-size:.78rem;line-height:1.45}.tooltip-action{align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.hero-bottom-floating-capsule{z-index:10;pointer-events:auto;width:calc(100% - 64px);max-width:960px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.capsule-glass-bar{-webkit-backdrop-filter:blur(24px);background:#ffffffe0;border:2px solid #ffffffeb;border-radius:32px;justify-content:space-between;align-items:center;gap:20px;padding:14px 28px;display:flex;box-shadow:0 20px 50px #0000001a,inset 0 1px 2px #fffffff2}:root[data-theme=dark] .capsule-glass-bar,.hero-3d-pure-canvas.time-night .capsule-glass-bar{background:#0f172ae0;border-color:#ffffff26;box-shadow:0 20px 50px #0009}.capsule-title-block{text-align:left;flex-direction:column;display:flex}.capsule-badge-row{align-items:center;gap:10px;display:flex}.capsule-badge{color:#e07a5f;letter-spacing:.06em;font-size:.7rem;font-weight:800}.capsule-status-dot{color:#10b981;font-size:.7rem;font-weight:700}.capsule-h1{color:var(--text-primary);margin:0;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:800;line-height:1.2}.capsule-btns-group{flex-shrink:0;align-items:center;gap:10px;display:flex}.clay-btn-primary.compact,.clay-btn-secondary.compact{border-radius:14px;padding:10px 18px;font-size:.85rem}.live-waveform-bars{justify-content:center;align-items:center;gap:4px;height:28px;margin:10px 0;display:flex}.wave-bar{background:#e07a5f;border-radius:4px;width:4px;transition:height .15s}.wave-bar.animating{animation:.7s ease-in-out infinite alternate waveBarAnim}@keyframes waveBarAnim{0%{opacity:.4;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1.3)}}.interactive-builder-box{flex-direction:column;gap:16px;display:flex}.builder-header-row{justify-content:space-between;align-items:center;display:flex}.builder-title-badge{color:#e07a5f;letter-spacing:.05em;font-size:.75rem;font-weight:800}.mini-speak-btn{color:#e07a5f;cursor:pointer;background:#e07a5f18;border:1px solid #e07a5f30;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:800;transition:all .2s;display:inline-flex}.mini-speak-btn:hover{color:#fff;background:#e07a5f}.assembled-hangeul-block{text-align:center;background:linear-gradient(135deg,#fffffff2 0%,#fdf2f0f2 100%);border:2px solid #e07a5f4d;border-radius:24px;padding:20px;box-shadow:0 16px 36px #e07a5f1f}:root[data-theme=dark] .assembled-hangeul-block{background:linear-gradient(135deg,#1e293bf2 0%,#0f172af2 100%);border-color:#e07a5f59}.assembled-char-text{color:#e07a5f;font-family:Outfit,sans-serif;font-size:3.2rem;font-weight:900;line-height:1}.assembled-formula-text{color:var(--text-tertiary);margin-top:6px;font-size:.85rem;font-weight:700}.builder-selectors-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.selector-col{text-align:left;flex-direction:column;gap:8px;display:flex}.sel-label{color:var(--text-secondary);font-size:.74rem;font-weight:800}.sel-buttons{flex-wrap:wrap;gap:6px;display:flex}.char-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:.95rem;font-weight:800;transition:all .15s}.char-btn:hover{color:#e07a5f;border-color:#e07a5f}.char-btn.active{color:#fff;background:#e07a5f;border-color:#e07a5f;transform:scale(1.06);box-shadow:0 4px 10px #e07a5f59}.roadmap-step-card.selected-step{border-color:var(--step-theme);box-shadow:0 20px 48px #0000001f, 0 0 24px var(--step-theme)40;transform:translateY(-6px)scale(1.02)}.banner-point-pin.active-road-pin{color:#fff;background:linear-gradient(135deg,#f28b72 0%,#e07a5f 100%);transform:scale(1.15);box-shadow:0 0 24px #e07a5fcc,0 8px 24px #0003}.testimonial-clay-card.luxury-letter{position:relative;overflow:hidden}.golden-wax-seal{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#f59e0b 0%,#d97706 50%,#b45309 100%);border:1.5px solid #fde68a;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:900;position:absolute;top:14px;right:14px;transform:rotate(4deg);box-shadow:0 6px 14px #d9770666}.full-3d-visual-section{flex-direction:column;gap:28px;display:flex}.grand-3d-showcase-grid{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:32px;display:grid}.studio-3d-art-card{border:2px solid var(--border-color);border-radius:36px;min-height:420px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000014}.studio-3d-art-img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.studio-3d-art-card:hover .studio-3d-art-img{transform:scale(1.04)}.studio-3d-floating-pill{-webkit-backdrop-filter:blur(16px);color:#1e293b;background:#ffffffeb;border:1px solid #ffffffe6;border-radius:20px;padding:10px 18px;font-size:.84rem;font-weight:800;position:absolute;box-shadow:0 10px 24px #0000001f}.studio-3d-floating-pill.pill-top{top:20px;left:20px}.studio-3d-floating-pill.pill-bottom{bottom:20px;right:20px}:root[data-theme=dark] .studio-3d-floating-pill{color:#f8fafc;background:#0f172aeb;border-color:#ffffff26}.roadmap-3d-banner-card{border:2px solid var(--border-color);border-radius:36px;width:100%;height:360px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000014}.roadmap-3d-banner-img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.roadmap-3d-banner-card:hover .roadmap-3d-banner-img{transform:scale(1.03)}.roadmap-3d-banner-overlay{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:20px;left:24px;right:24px}.banner-point-pin{-webkit-backdrop-filter:blur(16px);color:#1e293b;background:#fffffff0;border:1px solid #ffffffe6;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.84rem;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #0000001f}:root[data-theme=dark] .banner-point-pin{color:#f8fafc;background:#0f172af0;border-color:#ffffff26}.banner-point-pin span{color:#fff;background:#e07a5f;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:800;display:flex}.cta-clay-banner-3d-showcase{text-align:center;color:#fff;border-radius:44px;justify-content:center;align-items:center;min-height:380px;padding:56px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #e07a5f4d}.cta-3d-bg-wrap{z-index:0;position:absolute;inset:0}.cta-3d-bg-img{object-fit:cover;filter:brightness(.9)saturate(1.1);width:100%;height:100%;transition:transform .8s}.cta-clay-banner-3d-showcase:hover .cta-3d-bg-img{transform:scale(1.03)}.cta-3d-overlay{background:linear-gradient(#e07a5f99 0%,#0084f7b3 100%);position:absolute;inset:0}.cta-content-3d{flex-direction:column;align-items:center;gap:16px;max-width:650px;margin:0 auto;display:flex}.tilt-3d-card-wrapper{transform-style:preserve-3d;will-change:transform}.clay-feature-card{transform-style:preserve-3d}.card-3d-scene-banner{transform:translateZ(15px)}.card-title{transform:translateZ(22px)}.card-quota-container{transform:translateZ(18px)}.card-action-btn{transform:translateZ(26px)}.hero-3d-left-col{text-align:left;flex-direction:column;gap:20px;display:flex}.hero-badge-pill{color:#c95638;letter-spacing:.04em;background:#e07a5f1f;border:1px solid #e07a5f4d;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 18px;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #e07a5f1f}:root[data-theme=dark] .hero-badge-pill{color:#ff9b80;background:#e07a5f33;border-color:#e07a5f66}.sparkle-icon{color:#f59e0b;animation:8s linear infinite spinSlow}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-3d-title{color:var(--text-primary);letter-spacing:-.03em;font-family:Outfit,Inter,sans-serif;font-size:2.9rem;font-weight:800;line-height:1.18}.gradient-text-3d{background:linear-gradient(135deg,#e07a5f 0%,#d97706 45%,#0084f7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.hero-3d-desc{color:var(--text-secondary);max-width:600px;font-size:1.05rem;line-height:1.65}.hero-cta-group{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.clay-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(#f28b72 0%,#e07a5f 100%);border:1px solid #fff6;border-radius:20px;align-items:center;gap:10px;padding:14px 28px;font-size:.98rem;font-weight:800;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 8px 24px #e07a5f73,inset 0 2px 4px #ffffff80,inset 0 -3px 6px #00000026}.clay-btn-primary:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 12px 30px #e07a5f8c,inset 0 2px 4px #fff9}.clay-btn-primary:active{transform:translateY(1px)scale(.98)}.clay-btn-secondary{backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;background:#ffffffe6;border:1.5px solid #00000014;border-radius:20px;align-items:center;gap:10px;padding:14px 24px;font-size:.98rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 6px 18px #0000000d,inset 0 1px 2px #ffffffe6}:root[data-theme=dark] .clay-btn-secondary{color:#f1f5f9;background:#1e293be6;border-color:#ffffff1f}.clay-btn-secondary:hover{border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-2px)}.hero-stats-ribbon{backdrop-filter:blur(16px);background:#ffffffe0;border:1.5px solid #ffffffb3;border-radius:22px;justify-content:space-between;align-items:center;width:100%;max-width:600px;margin-top:14px;padding:12px 20px;display:flex;box-shadow:0 10px 28px #0000000a,inset 0 1px 2px #ffffffe6}:root[data-theme=dark] .hero-stats-ribbon{background:#0f172ae0;border-color:#ffffff14;box-shadow:0 16px 40px #0006}.hero-stat-item{text-align:left;align-items:center;gap:10px;display:flex}.stat-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 3px 8px #0000000a}.stat-info{flex-direction:column;display:flex}.stat-num{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.98rem;font-weight:800}.stat-lbl{color:var(--text-secondary);font-size:.72rem;font-weight:600}.hero-stat-sep{background:var(--border-color);width:1px;height:28px}.hero-3d-visual-showcase{justify-content:center;align-items:center;display:flex;position:relative}.floating-island-card{backdrop-filter:blur(10px);background:#ffffffb3;border:2px solid #fffc;border-radius:36px;width:100%;max-width:520px;padding:12px;animation:6s ease-in-out infinite islandFloat;position:relative;box-shadow:0 24px 60px #e07a5f2e,0 8px 24px #0000000f,inset 0 2px 4px #ffffffe6}:root[data-theme=dark] .floating-island-card{background:#1e293bb3;border-color:#ffffff1a;box-shadow:0 24px 60px #00000080}@keyframes islandFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(.8deg)}}.floating-island-img{object-fit:cover;border-radius:28px;width:100%;height:auto;display:block;box-shadow:0 10px 30px #0000001f}.floating-bubble{backdrop-filter:blur(12px);z-index:3;background:#ffffffeb;border:1.5px solid #fffc;border-radius:18px;align-items:center;gap:10px;padding:8px 14px;display:flex;position:absolute;box-shadow:0 12px 28px #0000001a,inset 0 1px 2px #ffffffe6}:root[data-theme=dark] .floating-bubble{background:#0f172ae6;border-color:#ffffff1f;box-shadow:0 12px 28px #0006}.floating-bubble strong{color:var(--text-primary);font-size:.82rem;display:block}.floating-bubble small{color:var(--text-secondary);font-size:.72rem;display:block}.bubble-icon{font-size:1.25rem}.bubble-top-left{animation:5s ease-in-out infinite floatBubble;top:-16px;left:-20px}.bubble-bottom-right{animation:6s ease-in-out 1s infinite floatBubble;bottom:-16px;right:-20px}.bubble-mid-right{animation:5.5s ease-in-out .5s infinite floatBubble;top:45%;right:-30px}@keyframes floatBubble{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.section-3d-carousel{flex-direction:column;gap:32px;display:flex}.section-header-wrap{flex-direction:column;gap:10px;display:flex}.section-badge{letter-spacing:.08em;color:#e07a5f;text-transform:uppercase;font-size:.78rem;font-weight:800}.section-title-3d{color:var(--text-primary);letter-spacing:-.02em;font-family:Outfit,Inter,sans-serif;font-size:2.3rem;font-weight:800}.section-subtitle-3d{color:var(--text-secondary);max-width:720px;font-size:1.02rem}.carousel-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.filter-pills-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-pill{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:8px 18px;font-size:.85rem;font-weight:700;transition:all .2s}.filter-pill:hover{color:#e07a5f;border-color:#e07a5f}.filter-pill.active{color:#fff;background:#e07a5f;border-color:#e07a5f;box-shadow:0 4px 14px #e07a5f59}.carousel-nav-arrows{align-items:center;gap:10px;display:flex}.nav-arrow-btn{background:var(--bg-secondary);border:1.5px solid var(--border-color);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 12px #0000000d}.nav-arrow-btn:hover{color:#fff;background:#e07a5f;border-color:#e07a5f;transform:scale(1.1)}.clay-cards-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:32px;display:grid}.clay-feature-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:36px;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #0000000d,inset 0 1px 2px #ffffffe6}:root[data-theme=dark] .clay-feature-card{border-color:#ffffff14;box-shadow:0 20px 50px #0006}.clay-feature-card:hover{border-color:var(--card-theme-color);box-shadow:0 28px 60px #00000017,inset 0 1px 2px #fffffff2}.card-3d-scene-banner{border-radius:26px;width:100%;height:200px;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000014}.card-3d-scene-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.clay-feature-card:hover .card-3d-scene-img{transform:scale(1.05)}.scene-overlay-badge{backdrop-filter:blur(8px);color:var(--text-primary);background:#ffffffeb;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.74rem;font-weight:800;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 4px 10px #0000001a}:root[data-theme=dark] .scene-overlay-badge{background:#0f172aeb}.scene-level-tag{backdrop-filter:blur(8px);color:var(--text-primary);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.74rem;font-weight:800;display:inline-flex;position:absolute;bottom:12px;left:12px;box-shadow:0 4px 10px #0000001a}:root[data-theme=dark] .scene-level-tag{background:#0f172aeb}.level-dot{border-radius:50%;width:7px;height:7px}.card-location-row{color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:2px;font-size:.76rem;font-weight:600;display:flex}.card-body{flex-direction:column;gap:6px;padding:0 6px;display:flex}.card-institution{color:#e07a5f;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.card-title{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800;line-height:1.25}.card-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.card-quota-container{flex-direction:column;gap:6px;padding:0 6px;display:flex}.quota-label-row{justify-content:space-between;align-items:center;font-size:.78rem;font-weight:700;display:flex}.quota-text{color:var(--text-secondary)}.quota-percent{font-weight:800}.clay-progress-track{background:#0000000f;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}:root[data-theme=dark] .clay-progress-track{background:#ffffff14}.clay-progress-fill{border-radius:999px;height:100%;transition:width .5s}.card-metrics-row{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px;display:grid}.metric-box{text-align:center;flex-direction:column;display:flex}.metric-val{color:var(--text-primary);font-size:.82rem;font-weight:800}.metric-lbl{color:var(--text-tertiary);font-size:.68rem}.card-action-btn{color:#fff;cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px;font-size:.92rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 6px 18px #00000026,inset 0 1px 2px #fff6}.card-action-btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.section-3d-playground{background:linear-gradient(135deg,#fff8f0eb 0%,#f5eee4eb 100%);border:1.5px solid #e07a5f33;border-radius:40px;padding:48px;box-shadow:0 18px 45px #00000008}:root[data-theme=dark] .section-3d-playground{background:linear-gradient(135deg,#0f172af2 0%,#1e293bf2 100%);border-color:#0ea5e933}.playground-container{grid-template-columns:1fr 1.25fr;align-items:center;gap:44px;display:grid}.playground-info-col{flex-direction:column;gap:16px;display:flex}.playground-tabs-switch{flex-direction:column;gap:10px;margin-top:8px;display:flex}.tab-switch-btn{background:var(--bg-secondary);border:1.5px solid var(--border-color);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:18px;align-items:center;gap:12px;padding:14px 20px;font-size:.92rem;font-weight:700;transition:all .2s;display:flex}.tab-switch-btn:hover{border-color:#e07a5f}.tab-switch-btn.active{color:#fff;background:#e07a5f;border-color:#e07a5f;box-shadow:0 6px 20px #e07a5f4d}.playground-tips{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:.84rem;font-weight:600;display:flex}.interactive-card-3d-box{perspective:1000px;min-height:290px}.flip-card-inner{text-align:center;width:100%;height:290px;transform-style:preserve-3d;cursor:pointer;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flip-card-inner.flipped{transform:rotateY(180deg)}.flip-card-face{backface-visibility:hidden;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;padding:28px;display:flex;position:absolute;box-shadow:0 18px 40px #00000014,inset 0 2px 4px #fffc}.flip-card-face.front{background:linear-gradient(135deg,#fff 0%,#fff6f0 100%);border:2.5px solid #e07a5f59}:root[data-theme=dark] .flip-card-face.front{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-color:#e07a5f66}.flip-card-face.back{background:linear-gradient(135deg,#e6f7f0 0%,#d1f2e4 100%);border:2.5px solid #2d9f7566;transform:rotateY(180deg)}:root[data-theme=dark] .flip-card-face.back{background:linear-gradient(135deg,#064e3b 0%,#022c22 100%);border-color:#34d3994d}.flip-badge{letter-spacing:.06em;color:var(--text-tertiary);font-size:.74rem;font-weight:800}.korean-term{color:var(--text-primary);font-size:2.8rem;font-weight:800}.hanja-sub{color:#e07a5f;font-size:.95rem;font-weight:700}.ipa-sub{color:var(--text-tertiary);font-size:.85rem}.sound-play-btn{color:#fff;cursor:pointer;background:#e07a5f;border:none;border-radius:999px;align-items:center;gap:8px;padding:9px 20px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #e07a5f59}.pulse-anim{animation:1s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.viet-meaning{color:var(--text-primary);font-size:1.45rem;font-weight:800}.usage-example{text-align:center;background:#ffffffb3;border-radius:14px;padding:10px 16px}:root[data-theme=dark] .usage-example{background:#00000040}.ex-kr{color:var(--text-primary);font-size:.95rem;font-weight:700}.ex-vi{color:var(--text-secondary);font-size:.85rem}.card-hint{color:#2d9f75;font-size:.82rem;font-weight:700}.interactive-visa-box{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:32px;flex-direction:column;gap:20px;padding:28px;display:flex;box-shadow:0 14px 34px #0000000d}.visa-officer-header{align-items:center;gap:14px;display:flex}.officer-avatar{background:#e07a5f26;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.6rem;display:flex}.officer-name{color:var(--text-primary);font-size:1.05rem;font-weight:800}.officer-sub{color:var(--text-secondary);font-size:.8rem}.visa-question-bubble{background:#e07a5f1a;border-left:4px solid #e07a5f;border-radius:0 16px 16px 0;padding:16px 20px}.kr-q{color:var(--text-primary);margin-bottom:6px;font-size:1.15rem;font-weight:800}.vi-q{color:var(--text-secondary);font-size:.9rem}.visa-actions-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.clay-listen-btn{color:#fff;cursor:pointer;background:#e07a5f;border:none;border-radius:14px;align-items:center;gap:8px;padding:11px 20px;font-size:.88rem;font-weight:700;display:inline-flex}.clay-try-interview-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:11px 20px;font-size:.88rem;font-weight:700;display:inline-flex}.interactive-keyboard-box{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:32px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 14px 34px #0000000d}.display-screen{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px;padding:14px 18px}.display-label{color:var(--text-tertiary);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.display-text{color:#0ea5e9;min-height:32px;font-size:1.4rem;font-weight:800}.mini-keyboard-keys{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.k-key{background:var(--bg-primary);border:1.5px solid var(--border-color);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:12px;font-size:1.05rem;font-weight:800;transition:all .1s;box-shadow:0 3px 6px #0000000d}.k-key:hover{color:#fff;background:#0ea5e9;border-color:#0ea5e9;transform:translateY(-2px)}.keyboard-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.clear-key-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.full-keyboard-btn{color:#fff;cursor:pointer;background:#0ea5e9;border:none;border-radius:12px;align-items:center;gap:6px;padding:8px 18px;font-size:.82rem;font-weight:700;display:inline-flex}.section-3d-roadmap{flex-direction:column;gap:32px;display:flex}.roadmap-milestones-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.roadmap-step-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:32px;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;transition:all .25s;display:flex;box-shadow:0 14px 30px #0000000a}.roadmap-step-card:hover{border-color:var(--step-theme);box-shadow:0 20px 45px #00000012}.step-top-header{justify-content:space-between;align-items:center;display:flex}.step-number{border-radius:10px;padding:4px 12px;font-size:.75rem;font-weight:800}.step-duration{color:var(--text-tertiary);font-size:.8rem;font-weight:700}.step-title{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:800}.step-desc{color:var(--text-secondary);font-size:.86rem;line-height:1.5}.step-skills-list{flex-direction:column;gap:8px;display:flex}.skill-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.step-btn{cursor:pointer;background:0 0;border:1.5px solid;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.step-btn:hover{background:var(--step-theme);color:#fff!important}.section-3d-testimonials{flex-direction:column;gap:32px;display:flex}.testimonials-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.testimonial-clay-card{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:32px;flex-direction:column;gap:14px;padding:26px;display:flex;box-shadow:0 14px 30px #0000000a}.testimonial-header{align-items:center;gap:12px;display:flex}.testi-avatar{background:#e07a5f1f;border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.35rem;display:flex}.testi-name{color:var(--text-primary);font-size:.98rem;font-weight:800}.testi-uni{color:var(--text-tertiary);font-size:.78rem}.testi-badge{color:#2d9f75;background:#2d9f751f;border-radius:8px;align-self:flex-start;padding:4px 10px;font-size:.74rem;font-weight:800;display:inline-block}.testi-quote{color:var(--text-secondary);font-size:.88rem;font-style:italic;line-height:1.55}.section-3d-cta{width:100%}.cta-clay-banner{text-align:center;color:#fff;background:linear-gradient(135deg,#e07a5f 0%,#d97706 50%,#0084f7 100%);border-radius:40px;padding:56px 36px;position:relative;overflow:hidden;box-shadow:0 20px 50px #e07a5f59}.cta-content{flex-direction:column;align-items:center;gap:18px;max-width:700px;margin:0 auto;display:flex}.cta-title{font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:800;line-height:1.25}.cta-desc{opacity:.92;font-size:1.05rem;line-height:1.6}.cta-btns{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:8px;display:flex}.landing-full-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:24px;margin-top:20px;padding:40px 0 60px;display:flex}.footer-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-brand{align-items:center;gap:10px;display:flex}.footer-links-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.footer-links-row a{color:var(--text-secondary);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s}.footer-links-row a:hover{color:#e07a5f}.footer-bottom-row{color:var(--text-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}@media (width<=1200px){.nav-center-links{display:none}}@media (width<=1080px){.hero-floating-top-dock{width:calc(100% - 24px);top:12px}.landing-3d-main-container.pure-3d-view{gap:60px;padding-top:12px;padding-left:16px;padding-right:16px}.hero-3d-pure-canvas{border-radius:36px;height:80vh;min-height:560px}.capsule-glass-bar{text-align:center;flex-direction:column;gap:14px;padding:16px}.capsule-title-block{text-align:center}.grand-3d-showcase-grid{grid-template-columns:1fr;gap:24px}.studio-3d-art-card{min-height:320px}.roadmap-3d-banner-card{height:280px}.full-3d-section{padding:40px 20px}}@media (width<=768px){.hero-floating-top-dock{z-index:1000;justify-content:space-between;align-items:center;gap:6px;width:calc(100% - 20px);display:flex;top:10px;left:10px;right:10px;transform:none}.dock-left-brand{white-space:nowrap;border-radius:999px;flex-shrink:0;gap:6px;height:38px;padding:6px 12px;box-shadow:0 4px 16px #0000001a}.dock-logo-icon{width:24px;height:24px;font-size:.8rem}.dock-brand-name{white-space:nowrap;font-size:.82rem;font-weight:800}.dock-time-switcher{border-radius:999px;flex-shrink:0;gap:4px;padding:4px 6px}.time-switch-pill{border-radius:999px;gap:3px;padding:5px 8px;font-size:.72rem}.time-switch-pill span{font-size:.7rem;font-weight:700;display:inline}.dock-right-tools{display:none}.hero-live-ticker-wrap{justify-content:center;width:calc(100% - 20px);display:flex;top:56px;left:10px;right:10px}.ticker-pill{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-content:center;width:100%;max-width:100%;padding:6px 12px;font-size:.74rem;overflow:hidden}.ticker-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hero-3d-pure-canvas{border-radius:24px;height:85vh;min-height:520px}.pure-3d-island-img{object-position:center 40%}.hotspot-pin-card{padding:6px}.pin-icon-wrap{width:32px;height:32px}.pin-icon-wrap svg{width:15px;height:15px}.pin-label-wrap{display:none}.hero-bottom-floating-capsule{width:calc(100% - 24px);bottom:14px;left:12px;right:12px;transform:none}.capsule-glass-bar{text-align:center;border-radius:20px;flex-direction:column;gap:12px;padding:16px 14px}.capsule-title-block{text-align:center;align-items:center}.capsule-badge-row{justify-content:center;gap:8px}.capsule-badge,.capsule-status-dot{font-size:.68rem}.capsule-h1{text-align:center;margin-top:4px;font-size:.95rem;font-weight:800;line-height:1.35}.capsule-btns-group{flex-direction:column;gap:8px;width:100%;display:flex}.clay-btn-primary.compact,.clay-btn-secondary.compact{white-space:nowrap;letter-spacing:-.01em;border-radius:12px;justify-content:center;width:100%;padding:12px 16px;font-size:.88rem;font-weight:800}.clay-btn-primary.compact span,.clay-btn-secondary.compact span{white-space:nowrap}.clay-cards-grid{grid-template-columns:1fr}.roadmap-3d-banner-card{height:220px}.roadmap-3d-banner-overlay{display:none}.studio-3d-art-card{min-height:260px}.section-3d-playground{padding:28px 18px}.cta-clay-banner-3d-showcase{min-height:300px;padding:40px 20px}}.courses-wrapper,.courses-wrapper *{font-family:Inter,Be Vietnam Pro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.courses-wrapper{max-width:1140px;margin:0 auto;padding:10px 0 60px;position:relative}.courses-hero-section{text-align:center;margin-bottom:28px;position:relative}.courses-hero-badge{letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 18px;font-size:.82rem;font-weight:700;transition:all .3s;display:inline-flex}:root[data-theme=light] .courses-hero-badge{color:#0077ed;background:linear-gradient(135deg,#0284c714 0%,#0ea5e91f 100%);border:1px solid #0284c733;box-shadow:0 2px 10px #0284c70f}:root[data-theme=dark] .courses-hero-badge{color:#a5b4fc;background:linear-gradient(135deg,#0284c726 0%,#0ea5e933 100%);border:1px solid #0ea5e94d;box-shadow:0 0 20px #0ea5e926}.courses-hero-title{letter-spacing:-.025em;font-size:2.15rem;font-weight:800;line-height:1.25;font-family:var(--font-display);margin-bottom:10px}:root[data-theme=light] .courses-hero-title{color:#0f172a!important;-webkit-text-fill-color:initial!important;background:0 0!important}:root[data-theme=dark] .courses-hero-title{color:#fff!important;-webkit-text-fill-color:initial!important;background:0 0!important}.courses-hero-desc{color:#64748b;max-width:640px;margin:0 auto;font-size:.95rem;line-height:1.6}:root[data-theme=dark] .courses-hero-desc{color:#94a3b8}.textbook-hero-card{-webkit-backdrop-filter:blur(16px);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:22px 28px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}:root[data-theme=light] .textbook-hero-card{background:#fff;border:1px solid #e2e8f0f2;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005}:root[data-theme=dark] .textbook-hero-card{background:#1e293b;border:1px solid #334155;box-shadow:0 10px 25px -3px #0000004d}.textbook-hero-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px -6px #0284c724}.textbook-info-block{flex:360px;align-items:center;gap:18px;display:flex}.textbook-icon-box{color:#fff;background:linear-gradient(135deg,#0077ed 0%,#0084f7 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 6px 18px #0284c759}.textbook-title-wrap{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.textbook-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.textbook-pill-badge{letter-spacing:.03em;color:#0084f7;background:#0084f71f;border:1px solid #0084f740;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700}:root[data-theme=dark] .textbook-pill-badge{color:#7dd3fc;background:#0ea5e933;border-color:#0ea5e966}.textbook-desc{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.5}.textbook-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-book-primary{cursor:pointer;background:linear-gradient(135deg,#0077ed 0%,#0084f7 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #0284c74d;color:#fff!important}.btn-book-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0284c773}.btn-book-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;color:var(--text-primary)!important}.btn-book-secondary:hover{background:var(--bg-tertiary);border-color:#0284c74d;transform:translateY(-2px)}.course-metrics-bar{background:var(--glass-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;padding:16px 22px;display:flex}.course-progress-left{flex:320px;align-items:center;gap:14px;display:flex}.course-progress-track-wrap{flex-direction:column;flex:1;gap:6px;display:flex}.course-progress-meta-row{justify-content:space-between;align-items:center;font-size:.86rem;display:flex}.course-progress-track{background:#7f7f7f1f;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.course-progress-bar-fill{background:linear-gradient(90deg,#0077ed 0%,#0084f7 50%,#ec4899 100%);border-radius:999px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1);position:relative}.course-metrics-tags{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.metric-tag-pill{border:1px solid var(--border-color);color:var(--text-primary);background:#7f7f7f12;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.course-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.course-tabs-segmented{border:1px solid var(--border-color);background:#7f7f7f14;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:inline-flex}.course-tab-pill{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.course-tab-pill:hover{color:var(--text-primary)}.course-tab-pill.active{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 4px 14px #00000014}:root[data-theme=dark] .course-tab-pill.active{color:#fff;background:#1e293be6;border-color:#0ea5e966;box-shadow:0 4px 16px #0000004d}.course-tab-badge{color:#0284c7;background:#0284c71f;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}:root[data-theme=dark] .course-tab-badge{color:#7dd3fc;background:#0ea5e940}.view-mode-tabs{border:1px solid var(--border-color);background:#7f7f7f14;border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.view-mode-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.view-mode-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 2px 8px #0000000f}.modern-timeline-wrap{max-width:920px;margin:0 auto;padding:40px 0 60px;position:relative}.modern-timeline-line{z-index:1;background:linear-gradient(#0077ed 0%,#0084f7 35%,#ec4899 70%,#10b981 100%);border-radius:999px;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 16px #0284c766}.timeline-step-node{box-sizing:border-box;z-index:2;width:50%;margin-bottom:24px;padding:16px 40px;position:relative}.timeline-step-node.left{text-align:right;left:0}.timeline-step-node.right{text-align:left;left:50%}.timeline-step-node.left .modern-lesson-card{text-align:left}.timeline-dot-anchor{background:var(--bg-primary);z-index:5;border:3px solid;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:absolute;top:36px;box-shadow:0 4px 16px #0000001a}.timeline-step-node.left .timeline-dot-anchor{right:-22px}.timeline-step-node.right .timeline-dot-anchor{left:-22px}.timeline-dot-anchor.completed{color:#10b981;background:var(--bg-primary);border-color:#10b981}.timeline-dot-anchor.active{color:#0084f7;border-color:#0084f7;animation:2s infinite node-pulse;box-shadow:0 0 0 6px #0084f726,0 0 20px #0084f74d}.timeline-dot-anchor.locked{color:#94a3b8;background:var(--bg-secondary);border-color:#94a3b8}@keyframes node-pulse{0%{box-shadow:0 0 #0084f766}70%{box-shadow:0 0 0 14px #0084f700}to{box-shadow:0 0 #0084f700}}.modern-lesson-card{background:var(--glass-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-backdrop-filter:blur(12px);border-radius:18px;padding:22px 24px;transition:all .28s cubic-bezier(.16,1,.3,1);position:relative}.modern-lesson-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px -4px #0284c71f,0 4px 12px #0000000a}.modern-lesson-card.active-lesson{border:2px solid #0084f7;box-shadow:0 12px 36px -6px #0084f733,inset 0 0 20px #0084f708}.modern-lesson-card.completed-lesson{border-left:4px solid #10b981}.modern-lesson-card.locked-lesson{opacity:.65;cursor:not-allowed}.lesson-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lesson-chapter-tag{letter-spacing:.04em;text-transform:uppercase;color:#0284c7;background:#0284c71a;border-radius:8px;padding:3px 10px;font-size:.76rem;font-weight:700}.lesson-status-pill{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.lesson-status-pill.done{color:#059669;background:#10b9811f}.lesson-status-pill.active{color:#0084f7;background:#0084f724}.lesson-status-pill.locked{color:#64748b;background:#94a3b826}.lesson-card-title{color:var(--text-primary);margin-bottom:8px;font-size:1.12rem;line-height:1.4;font-weight:700!important}.lesson-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.lesson-features-chips{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.lesson-feat-item{color:var(--text-secondary);align-items:center;gap:4px;font-size:.76rem;font-weight:600;display:inline-flex}.lesson-card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.lesson-xp-badge{color:#f59e0b;align-items:center;gap:4px;font-size:.84rem;font-weight:700;display:inline-flex}.lesson-cta-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.84rem;font-weight:700;transition:all .2s;display:inline-flex}.lesson-cta-btn.primary-cta{color:#fff;background:linear-gradient(135deg,#0077ed 0%,#0084f7 100%);box-shadow:0 4px 12px #0284c740}.lesson-cta-btn.primary-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0284c766}.lesson-cta-btn.review-cta{color:#059669;background:#10b9811f}.lesson-cta-btn.review-cta:hover{background:#10b98133}.courses-grid-layout{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:20px;display:grid}@media screen and (width<=1024px){.courses-hero-title{font-size:1.75rem}.modern-timeline-line{left:32px}.timeline-step-node{width:100%;margin-bottom:20px;padding-left:72px;padding-right:12px}.timeline-step-node.left,.timeline-step-node.right{text-align:left;left:0}.timeline-step-node.left .modern-lesson-card,.timeline-step-node.right .modern-lesson-card{text-align:left;width:100%}.timeline-step-node.left .timeline-dot-anchor,.timeline-step-node.right .timeline-dot-anchor{width:44px;height:44px;top:24px;left:10px;right:auto}.textbook-hero-card{padding:18px}}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--border-hover:#cbd5e1;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--card-bg:#fff;--card-border:#e2e8f0;--bg-mesh:radial-gradient(at 0% 0%, #0284c70f 0px, transparent 50%), radial-gradient(at 100% 0%, #ec48990a 0px, transparent 50%), radial-gradient(at 50% 100%, #10b9810a 0px, transparent 50%)}:root[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#111726;--bg-tertiary:#192237;--border-color:#ffffff17;--border-hover:#0084f780;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--card-bg:#111827d9;--card-border:#ffffff1a;--bg-mesh:radial-gradient(at 0% 0%, #0284c724 0px, transparent 50%), radial-gradient(at 100% 0%, #db27771a 0px, transparent 50%), radial-gradient(at 50% 100%, #10b98114 0px, transparent 50%)}body{background-color:var(--bg-primary)!important;background-image:linear-gradient(#0084f70e 1px, transparent 1px), linear-gradient(90deg, #0084f70e 1px, transparent 1px), var(--bg-mesh)!important;background-size:40px 40px,40px 40px,cover,cover,cover!important;background-attachment:fixed!important}.glass-panel,.glass-card{position:relative;background:var(--card-bg)!important;border:1.5px solid var(--card-border)!important;border-radius:20px!important;transition:all .25s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 10px 28px -6px #0f172a14,0 4px 10px -2px #0f172a0a!important}:root[data-theme=dark] .glass-panel,:root[data-theme=dark] .glass-card{-webkit-backdrop-filter:blur(18px)!important;box-shadow:0 20px 45px -10px #0000008c,inset 0 1px #ffffff1a!important}.glass-panel:hover,.glass-card:hover{box-shadow:0 20px 40px -8px #0084f72e, 0 0 0 2px var(--accent-purple)!important;border-color:var(--accent-purple)!important;transform:translateY(-4px)!important}.hero-banner{color:#fff!important;background:linear-gradient(135deg,#4338ca 0%,#0070d6 38%,#be185d 80%,#db2777 100%)!important;border:1.5px solid #ffffff40!important;border-radius:24px!important;padding:38px 44px!important;position:relative!important;overflow:hidden!important;box-shadow:0 20px 50px -10px #6d28d973,0 0 30px #db277733!important}.hero-greeting-tag{backdrop-filter:blur(10px);color:#fff;background:#ffffff38;border:1px solid #ffffff59;border-radius:99px;align-items:center;gap:6px;margin-bottom:12px;padding:5px 14px;font-size:.84rem;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #00000026}.hero-title{text-shadow:0 2px 10px #0003;color:#fff!important;margin-bottom:10px!important;font-size:1.95rem!important;font-weight:800!important;line-height:1.3!important}.hero-desc{max-width:58ch;color:#ffffffeb!important;margin-bottom:22px!important;font-size:.96rem!important;line-height:1.6!important}.hero-cta{align-items:center;gap:8px;display:inline-flex;color:#4338ca!important;cursor:pointer!important;background:#fff!important;border:none!important;border-radius:12px!important;padding:12px 22px!important;font-size:.94rem!important;font-weight:800!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 6px 20px #00000040!important}.hero-cta:hover{color:#0070d6!important;background:#f8fafc!important;transform:translateY(-2px)!important;box-shadow:0 10px 28px #0000004d!important}.hero-cta-secondary{align-items:center;gap:8px;display:inline-flex;backdrop-filter:blur(10px)!important;color:#fff!important;cursor:pointer!important;background:#ffffff2e!important;border:1.5px solid #ffffff59!important;border-radius:12px!important;padding:12px 20px!important;font-size:.94rem!important;font-weight:700!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.hero-cta-secondary:hover{background:#ffffff47!important;transform:translateY(-2px)!important}.hero-decor{pointer-events:none;justify-content:center;align-items:center;width:220px;height:220px;display:flex;position:absolute;top:50%;right:32px;transform:translateY(-50%)}.hero-decor-orb{backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffffff59,#ffffff0d);border:2px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;animation:4s ease-in-out infinite float;display:flex;box-shadow:0 10px 30px #0003,inset 0 0 20px #ffffff4d}.hero-decor-orb-text{color:#fff;text-shadow:0 2px 12px #0000004d;font-size:2.6rem;font-weight:900}.hero-decor-ring{border:1.5px dashed #fff6;border-radius:50%;width:170px;height:170px;animation:20s linear infinite rotateSlow;position:absolute}.hero-hangul{color:#ffffff59;font-size:1.25rem;font-weight:800;position:absolute}.hero-hangul:first-child{top:12px;left:12px}.hero-hangul:nth-child(2){top:12px;right:22px}.hero-hangul:nth-child(3){bottom:18px;left:26px}.hero-hangul:nth-child(4){bottom:18px;right:18px}.sidebar{background:var(--bg-secondary)!important;border-right:1.5px solid var(--border-color)!important}.sidebar-item{border-radius:12px!important;padding:10px 14px!important;font-weight:650!important}.sidebar-item.active{color:#fff!important;background:linear-gradient(135deg,#0084f7 0%,#06e 100%)!important;border:1px solid #ffffff40!important;font-weight:800!important;box-shadow:0 6px 20px #0084f761,0 2px 6px #06e3!important}:root[data-theme=dark] .sidebar-item.active{color:#fff!important;background:linear-gradient(135deg,#0084f7 0%,#06e 100%)!important;box-shadow:0 6px 24px #0084f780!important}.menu-badge.hot{color:#fff!important;background:linear-gradient(135deg,#f43f5e,#e11d48)!important}.menu-badge.pvp{color:#fff!important;background:linear-gradient(135deg,#f59e0b,#d97706)!important}.menu-badge.ai{color:#fff!important;background:linear-gradient(135deg,#3b82f6,#2563eb)!important}.menu-badge.new{color:#fff!important;background:linear-gradient(135deg,#10b981,#059669)!important}@media (width<=1024px){.topbar{padding:0 20px!important}.page-title{font-size:1.2rem!important}.hero-banner{padding:28px 24px!important}.hero-decor{display:none!important}}@media (width<=768px){.topbar{height:62px!important;padding:0 14px!important}.topbar-right{gap:6px!important}.page-title{font-size:1.05rem!important}.xp-pill,.streak-pill{padding:4px 10px!important;font-size:.76rem!important}.hero-banner{border-radius:16px!important;padding:22px 18px!important}.hero-title{font-size:1.4rem!important}.glass-panel,.glass-card{border-radius:16px!important;padding:16px!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple,#0284c7)}.sidebar{background:var(--bg-secondary)!important;border-right:1.5px solid var(--border-color)!important;box-shadow:4px 0 24px #00000008!important}:root[data-theme=dark] .sidebar{-webkit-backdrop-filter:blur(20px)!important;background:#0f172af2!important;box-shadow:4px 0 30px #00000073!important}.menu-badge.hot{color:#fff!important;background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 2px 8px #ef44444d!important}.menu-badge.new{color:#059669!important;background:#10b9811f!important;border:1px solid #10b98140!important}.menu-badge.pvp{color:#fff!important;background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 2px 8px #f59e0b73!important}.menu-badge.ai{color:#fff!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;box-shadow:0 2px 8px #3b82f673!important}.menu-badge.map{color:#fff!important;background:linear-gradient(135deg,#0ea5e9,#0070d6)!important;box-shadow:0 2px 8px #0ea5e973!important}:root[data-theme=light] .topbar,:root:not([data-theme=dark]) .topbar{-webkit-backdrop-filter:blur(16px)!important;background:#ffffffeb!important;border-bottom:1.5px solid #e2e8f0!important;box-shadow:0 4px 20px -2px #0f172a0a!important}:root[data-theme=dark] .topbar{-webkit-backdrop-filter:blur(16px)!important;background:#0f172ae0!important;border-bottom:1.5px solid #ffffff14!important;box-shadow:0 4px 24px -2px #0006!important}:root[data-korean-theme=seoul-daylight],:root:not([data-korean-theme]){--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-quaternary:#e2e8f0;--accent-purple:#0284c7;--accent-purple-hover:#0077ed;--accent-blue:#2563eb;--accent-rose:#e11d48;--accent-green:#10b981;--accent-yellow:#f59e0b;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--border-color:#e2e8f0;--border-hover:#cbd5e1}:root[data-korean-theme=cherry-blossom]{--bg-primary:#fff7fa;--bg-secondary:#fff;--bg-tertiary:#fdf2f8;--bg-quaternary:#fce7f3;--accent-purple:#db2777;--accent-purple-hover:#be185d;--accent-blue:#a855f7;--accent-rose:#f43f5e;--accent-green:#10b981;--accent-yellow:#f59e0b;--text-primary:#1f121d;--text-secondary:#4a2843;--text-tertiary:#7c4d72;--border-color:#fbcfe8;--border-hover:#f472b6}:root[data-korean-theme=busan-marine]{--bg-primary:#f0f9ff;--bg-secondary:#fff;--bg-tertiary:#e0f2fe;--bg-quaternary:#bae6fd;--accent-purple:#0284c7;--accent-purple-hover:#0369a1;--accent-blue:#0ea5e9;--accent-rose:#0d9488;--accent-green:#10b981;--accent-yellow:#f59e0b;--text-primary:#0c2340;--text-secondary:#1e3a5f;--text-tertiary:#47688f;--border-color:#bae6fd;--border-hover:#7dd3fc}:root[data-korean-theme=seoul-midnight]{--bg-primary:#090d16;--bg-secondary:#111726;--bg-tertiary:#192237;--bg-quaternary:#222d46;--accent-purple:#818cf8;--accent-purple-hover:#0284c7;--accent-blue:#38bdf8;--accent-rose:#f43f5e;--accent-green:#34d399;--accent-yellow:#fbbf24;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--border-color:#ffffff14;--border-hover:#0084f766}:root[data-theme=light],:root:not([data-theme=dark]){& .sidebar{background:#fff!important;border-right:1px solid #e2e8f0!important;box-shadow:2px 0 16px #00000005!important}& .sidebar-brand{border-bottom:1px solid #f1f5f9!important}& .brand-text{background:linear-gradient(135deg,#1e1b4b 0%,#4338ca 100%)!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important}& .sidebar-section-title,& .sidebar-section-label{color:#334155!important;letter-spacing:.08em!important;font-size:.74rem!important;font-weight:800!important}& .sidebar-item{color:#1e293b!important;font-weight:650!important}& .sidebar-item:hover{color:#0f172a!important;background:#f1f5f9!important;border-color:#cbd5e1!important}& .sidebar-item.active{color:#fff!important;background:linear-gradient(135deg,#0084f7 0%,#06e 100%)!important;border:1px solid #ffffff40!important;font-weight:800!important;box-shadow:0 6px 20px #0084f761,0 2px 6px #06e3!important}& .sidebar-item.active .sidebar-icon-box{color:#fff!important;background:#ffffff38!important;border-color:#ffffff59!important}& .sidebar-item.active .sidebar-label{color:#fff!important;font-weight:800!important}& .sidebar-item.active .menu-badge{color:#06e!important;background:#fff!important;border:none!important;font-weight:900!important}& .sidebar-footer{border-top:1px solid #f1f5f9!important}& .breadcrumb-bar{color:#64748b!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px #00000005!important}& .breadcrumb-item.active{color:#0f172a!important;font-weight:700!important}& .glass-panel,& .glass-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 4px 20px -2px #0000000a,0 2px 6px -1px #00000005!important}& .glass-card:hover{border-color:#cbd5e1!important;box-shadow:0 12px 32px -4px #0284c71f!important}& .xp-pill{color:#b45309!important;background:#fffbeb!important;border-color:#fde68a!important}& .streak-pill{color:#e11d48!important;background:#fff1f2!important;border-color:#fecdd3!important}& .courses-hero-title{color:#0f172a!important;-webkit-text-fill-color:initial!important;background:0 0!important}& .courses-hero-desc{color:#475569!important}& .course-metrics-bar{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 2px 10px #00000008!important}& .course-tabs-segmented{background:#f1f5f9!important;border:1px solid #e2e8f0!important}& .course-tab-pill{color:#64748b!important}& .course-tab-pill.active{color:#0077ed!important;background:#fff!important;box-shadow:0 2px 8px #0000000f!important}& .modern-lesson-card{background:#fff!important;border:1.5px solid #e2e8f0!important;box-shadow:0 4px 16px -2px #0000000a!important}& .modern-lesson-card:hover{border-color:#cbd5e1!important;box-shadow:0 10px 28px -4px #0284c71f!important}& .modern-lesson-card.active-lesson{border-color:#0284c7!important;box-shadow:0 8px 24px -4px #0284c733!important}& .lesson-card-header .lesson-title{color:#0f172a!important;font-weight:800!important}& .lesson-card-desc{color:#475569!important}& .btn-secondary{color:#0f172a!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 2px #0000000a!important}& .btn-secondary:hover{color:#0077ed!important;background:#f8fafc!important;border-color:#cbd5e1!important}& input,& select,& textarea{color:#0f172a!important;background:#fff!important;border:1.5px solid #e2e8f0!important}& input:focus,& select:focus,& textarea:focus{border-color:#0284c7!important;box-shadow:0 0 0 3px #0284c726!important}}@media print{body{color:#000!important;background:#fff!important;font-size:12pt!important}.sidebar,.topbar,.sidebar-overlay,.reading-progress,.focus-mode-btn,.btn-primary,.btn-secondary,.theme-toggle-btn,.quiz-option:hover,.audio-wave-container,button{display:none!important}.main-content{width:100%!important;margin:0!important;padding:0!important}.glass-panel{page-break-inside:avoid;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #ccc!important}}body.hide-romaja .romaja-text,body.hide-romaja [data-romaja=true],body.hide-romaja .flashcard-roman,body.hide-romaja td:nth-child(2)[style*=italic],body.hide-romaja .vocab-romaja{display:none!important}body.hide-vietnamese .vietnamese-text,body.hide-vietnamese [data-vietnamese=true],body.hide-vietnamese .vocab-meaning-sub{opacity:.15!important;filter:blur(4px)!important;transition:all .2s!important}body.hide-vietnamese .vietnamese-text:hover,body.hide-vietnamese [data-vietnamese=true]:hover{opacity:1!important;filter:blur()!important}.btn-3d{letter-spacing:.02em;text-transform:uppercase;cursor:pointer;user-select:none;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.9rem;font-weight:800;transition:all .1s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.btn-3d-brand,.btn-3d-purple{background:#0284c7;box-shadow:0 4px #4338ca;color:#fff!important}.btn-3d-brand:hover,.btn-3d-purple:hover{background:#0077ed;transform:translateY(-1px);box-shadow:0 5px #3730a3}.btn-3d-brand:active,.btn-3d-purple:active{transform:translateY(3px)!important;box-shadow:0 1px #4338ca!important}.btn-3d-rose,.btn-3d-pink{background:#ec4899;box-shadow:0 4px #be185d;color:#fff!important}.btn-3d-rose:hover,.btn-3d-pink:hover{background:#db2777;transform:translateY(-1px);box-shadow:0 5px #9d174d}.btn-3d-rose:active,.btn-3d-pink:active{transform:translateY(3px)!important;box-shadow:0 1px #be185d!important}.btn-3d-green{background:#10b981;box-shadow:0 4px #047857;color:#fff!important}.btn-3d-green:hover{background:#059669;transform:translateY(-1px);box-shadow:0 5px #065f46}.btn-3d-green:active{transform:translateY(3px)!important;box-shadow:0 1px #047857!important}.btn-3d-amber{background:#f59e0b;box-shadow:0 4px #b45309;color:#fff!important}.btn-3d-amber:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 5px #92400e}.btn-3d-amber:active{transform:translateY(3px)!important;box-shadow:0 1px #b45309!important}.btn-3d-white{background:#fff;border:2px solid #e2e8f0;border-bottom:4px solid #cbd5e1;color:#1e293b!important}.btn-3d-white:hover{background:#f8fafc;border-color:#cbd5e1 #cbd5e1 #94a3b8;transform:translateY(-1px)}.btn-3d-white:active{border-bottom-width:2px!important;transform:translateY(2px)!important}[data-theme=dark] .btn-3d-white{background:#1e293b;border:2px solid #ffffff1f;border-bottom:4px solid #ffffff38;color:#f8fafc!important}[data-theme=dark] .btn-3d-white:hover{background:#334155}.layout-3col-container{align-items:flex-start;gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;display:flex}.layout-3col-main{flex-direction:column;flex:1;gap:1.5rem;min-width:0;display:flex}.layout-3col-rail{width:340px;top:calc(var(--topbar-height) + 1.25rem);flex-direction:column;flex-shrink:0;gap:1.25rem;display:flex;position:sticky}@media (width<=1200px){.layout-3col-rail{display:none}}.card-3d-tactile{background:var(--bg-secondary);border:2px solid var(--border-color);border-bottom:4px solid var(--border-hover);border-radius:20px;padding:1.25rem;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.card-3d-tactile:hover{border-color:var(--accent-purple);border-bottom-color:var(--accent-purple-hover);transform:translateY(-2px);box-shadow:0 12px 28px -4px #0284c726}.header-toggle-pill{cursor:pointer;user-select:none;border:1.5px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:800;transition:all .15s;display:inline-flex}.header-toggle-pill.active{color:#0077ed;background:#0284c71f;border-color:#0284c7}[data-theme=dark] .header-toggle-pill.active{color:#a5b4fc;background:#0284c740;border-color:#818cf8}.header-toggle-pill:active{transform:scale(.96)}.slide-viewer-container{background:var(--bg-secondary,#fff);color:var(--text-primary,#0f172a);border:1px solid var(--border-color,#0084f733);box-sizing:border-box;border-radius:20px;flex-direction:column;width:100%;max-width:100%;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 15px 40px -10px #00000014,0 0 0 1px #0000000a}:root[data-theme=dark] .slide-viewer-container{color:#f1f5f9;background:#090d16;border-color:#0084f74d;box-shadow:0 20px 50px -10px #0009,0 0 0 1px #ffffff0d}.slide-viewer-container.is-fullscreen{z-index:99999!important;border:none!important;border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;position:fixed!important;inset:0!important}.slide-lesson-hub-strip{background:var(--bg-primary,#f8fafc);border-bottom:1px solid var(--border-color,#e2e8f0);flex-direction:column;gap:10px;padding:12px 16px;display:flex}:root[data-theme=dark] .slide-lesson-hub-strip{background:#0a0f1dfa;border-bottom-color:#ffffff14}.slide-viewer-header{background:var(--bg-secondary,#fff);border-bottom:1px solid var(--border-color,#e2e8f0);z-index:20;box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 18px;display:flex}:root[data-theme=dark] .slide-viewer-header{background:#0f172af5;border-bottom-color:#ffffff14}.slide-viewer-badge{color:#fff;background:linear-gradient(135deg,#0084f7 0%,#0077ed 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:900;display:flex;box-shadow:0 4px 14px #0084f766}.slide-viewer-title-group{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.slide-viewer-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slide-viewer-main-title{color:var(--text-primary,#0f172a);letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:.95rem;font-weight:800}:root[data-theme=dark] .slide-viewer-main-title{color:#fff}.slide-viewer-section-tag{color:#0084f7;white-space:nowrap;background:#0084f71f;border:1px solid #0084f74d;border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:700}:root[data-theme=dark] .slide-viewer-section-tag{color:#7dd3fc;background:#0084f740}.slide-viewer-sub-desc{color:var(--text-secondary,#64748b);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:.76rem;overflow:hidden}:root[data-theme=dark] .slide-viewer-sub-desc{color:#94a3b8}.slide-viewer-controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.slide-select-dropdown{background:var(--bg-tertiary,#f1f5f9);border:1px solid var(--border-color,#cbd5e1);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:10px;outline:none;max-width:220px;padding:6px 10px;font-size:.78rem;font-weight:700;transition:all .2s}:root[data-theme=dark] .slide-select-dropdown{color:#e2e8f0;background:#1e293b;border-color:#334155}.slide-select-dropdown:hover,.slide-select-dropdown:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e933}.slide-ctrl-btn{cursor:pointer;border:1px solid var(--border-color,#cbd5e1);background:var(--bg-tertiary,#f1f5f9);color:var(--text-primary,#334155);user-select:none;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}:root[data-theme=dark] .slide-ctrl-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}.slide-ctrl-btn:hover{background:var(--border-color,#e2e8f0);color:var(--text-primary,#0f172a)}:root[data-theme=dark] .slide-ctrl-btn:hover{color:#fff;background:#334155}.slide-ctrl-btn.active{color:#d97706;background:#f59e0b26;border-color:#f59e0b80}:root[data-theme=dark] .slide-ctrl-btn.active{color:#fbbf24}.slide-viewer-body{background:var(--bg-primary,#f8fafc);box-sizing:border-box;flex-direction:row;width:100%;max-width:100%;min-height:460px;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .slide-viewer-body{background:#030712}.slide-stage-col{background:var(--bg-tertiary,#f1f5f9);border-right:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;flex-direction:column;flex:1 1 0;justify-content:space-between;min-width:0;max-width:100%;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .slide-stage-col{background:#000;border-right-color:#ffffff14}.slide-img-viewport{box-sizing:border-box;user-select:none;background:radial-gradient(circle,#0084f70a 0%,#f1f5f9 100%);flex:1;justify-content:center;align-items:center;width:100%;max-width:100%;height:52vh;min-height:280px;max-height:520px;padding:16px;display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .slide-img-viewport{background:radial-gradient(circle,#111827 0%,#000 100%)}.slide-card-frame{box-sizing:border-box;background:#fff;border-radius:14px;justify-content:center;align-items:center;max-width:100%;height:100%;max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 15px 35px -5px #0000001f,0 0 0 1px #0000000f}:root[data-theme=dark] .slide-card-frame{background:#0f172a;box-shadow:0 20px 45px -10px #000c,0 0 0 1px #ffffff1a}.slide-main-image{object-fit:contain;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.slide-watermark{backdrop-filter:blur(8px);color:#0084f7;pointer-events:none;background:#ffffffe6;border:1px solid #0084f740;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.7rem;font-weight:800;position:absolute;bottom:8px;right:8px}:root[data-theme=dark] .slide-watermark{color:#7dd3fc;background:#000000bf;border-color:#ffffff1f}.slide-nav-arrow-btn{backdrop-filter:blur(10px);color:#1e293b;cursor:pointer;z-index:10;background:#ffffffe6;border:1.5px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 20px #0000001f}:root[data-theme=dark] .slide-nav-arrow-btn{color:#fff;background:#0f172ad9;border-color:#ffffff26;box-shadow:0 8px 25px #00000080}.slide-nav-arrow-btn:hover:not(:disabled){color:#fff;background:#0084f7;border-color:#38bdf8;transform:translateY(-50%)scale(1.08);box-shadow:0 10px 30px #0084f766}.slide-nav-arrow-btn:disabled{opacity:.2;cursor:not-allowed}.slide-nav-arrow-btn.prev{left:14px}.slide-nav-arrow-btn.next{right:14px}@media (width<=640px){.slide-nav-arrow-btn{width:36px;height:36px}.slide-nav-arrow-btn.prev{left:8px}.slide-nav-arrow-btn.next{right:8px}}.slide-stage-footer{background:var(--bg-secondary,#fff);border-top:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex}:root[data-theme=dark] .slide-stage-footer{background:#0f172af5;border-top-color:#ffffff14}.slide-nav-btn-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slide-jump-box{color:var(--text-secondary,#64748b);align-items:center;gap:6px;font-size:.8rem;display:flex}.slide-jump-input{background:var(--bg-tertiary,#f1f5f9);border:1px solid var(--border-color,#cbd5e1);width:50px;color:var(--text-primary,#0f172a);text-align:center;border-radius:8px;outline:none;padding:4px 6px;font-size:.8rem;font-weight:800}:root[data-theme=dark] .slide-jump-input{color:#fff;background:#1e293b;border-color:#334155}.slide-jump-input:focus{border-color:#0ea5e9}.slide-progress-track{background:var(--bg-tertiary,#e2e8f0);border-radius:99px;width:100px;height:6px;overflow:hidden}:root[data-theme=dark] .slide-progress-track{background:#1e293b}.slide-progress-fill{background:linear-gradient(90deg,#0084f7,#06b6d4);border-radius:99px;height:100%;transition:width .3s}.slide-companion-col{background:var(--bg-secondary,#fff);box-sizing:border-box;word-break:break-word;overflow-wrap:break-word;border-left:1px solid var(--border-color,#e2e8f0);flex-direction:column;flex:0 0 320px;gap:14px;width:320px;min-width:0;max-width:320px;max-height:580px;padding:16px;display:flex;overflow-y:auto}:root[data-theme=dark] .slide-companion-col{background:#0f172af5;border-left-color:#ffffff14}@media (width<=1200px){.slide-viewer-body{flex-direction:column}.slide-stage-col{border-right:none;border-bottom:1px solid var(--border-color,#e2e8f0);flex:auto}.slide-companion-col{border-left:none;flex:auto;width:100%;max-width:100%;max-height:none;overflow-y:visible}}.slide-companion-card{background:var(--bg-tertiary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;border-radius:12px;padding:12px}:root[data-theme=dark] .slide-companion-card{background:#1e293bb3;border-color:#ffffff14}.slide-word-item{background:var(--bg-secondary,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;transition:all .2s;display:flex}:root[data-theme=dark] .slide-word-item{background:#0f172a99;border-color:#ffffff0f}.slide-word-item:hover{background:var(--bg-tertiary,#f1f5f9);border-color:#0084f766}:root[data-theme=dark] .slide-word-item:hover{background:#1e293be6}.slide-gallery-strip{background:var(--bg-secondary,#fff);border-top:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;width:100%;padding:12px 16px}:root[data-theme=dark] .slide-gallery-strip{background:#090d16;border-top-color:#ffffff14}.slide-gallery-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.slide-thumb-scroll{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;-webkit-overflow-scrolling:touch;box-sizing:border-box;gap:8px;width:100%;padding-bottom:6px;display:flex;overflow-x:auto}:root[data-theme=dark] .slide-thumb-scroll{scrollbar-color:#475569 #0f172a}.slide-thumb-scroll::-webkit-scrollbar{height:5px}.slide-thumb-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}:root[data-theme=dark] .slide-thumb-scroll::-webkit-scrollbar-thumb{background:#475569}.slide-thumb-btn{border:2px solid var(--border-color,#e2e8f0);cursor:pointer;opacity:.75;background:#f1f5f9;border-radius:8px;flex-shrink:0;width:96px;height:54px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}:root[data-theme=dark] .slide-thumb-btn{opacity:.65;background:#0f172a;border-color:#1e293b}.slide-thumb-btn:hover{opacity:1;border-color:#94a3b8;transform:translateY(-2px)}.slide-thumb-btn.active{opacity:1;z-index:5;border-color:#0ea5e9;transform:scale(1.04);box-shadow:0 0 0 2px #0ea5e980,0 6px 14px #0084f759}.slide-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.slide-thumb-num{color:#fff;background:#0f172ad9;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.65rem;font-weight:800;position:absolute;bottom:2px;left:2px}.inline-slide-showcase{box-sizing:border-box;background:linear-gradient(135deg,#0084f70d 0%,#0077ed08 50%,#ec489908 100%);border:1.5px solid #0084f733;border-radius:20px;flex-direction:column;gap:16px;max-width:100%;margin:16px 0 28px;padding:20px;display:flex;overflow:hidden;box-shadow:0 10px 30px -10px #0084f71a}.inline-slide-top-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.btn-back-roadmap-clean{background:var(--bg-secondary,#fff);border:1.5px solid var(--border-color,#e2e8f0);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:9px 18px;font-size:.86rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 8px #0000000a}.btn-back-roadmap-clean:hover{color:#0084f7;background:#0084f714;border-color:#0084f7;transform:translate(-3px);box-shadow:0 4px 14px #0084f726}:root[data-theme=dark] .btn-back-roadmap-clean{color:#f1f5f9;background:#0f172a;border-color:#ffffff1a}:root[data-theme=dark] .btn-back-roadmap-clean:hover{color:#7dd3fc;background:#0084f733;border-color:#38bdf8}.lesson-hero-card{border:1px solid var(--border-color,#e2e8f0);background:linear-gradient(135deg,#0084f70a 0%,#fffffff2 100%);border-left:5px solid #0084f7;border-radius:16px;flex-direction:column;gap:8px;padding:16px 20px;display:flex;box-shadow:0 4px 20px #00000008}:root[data-theme=dark] .lesson-hero-card{background:linear-gradient(135deg,#0084f71f 0%,#0f172af2 100%);border-color:#ffffff14 #ffffff14 #ffffff14 #0ea5e9}.lesson-hero-badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-hero-course-tag{color:#0084f7;letter-spacing:.02em;background:#0084f71a;border:1px solid #0084f740;border-radius:99px;padding:3px 10px;font-size:.74rem;font-weight:800}:root[data-theme=dark] .lesson-hero-course-tag{color:#7dd3fc;background:#0084f740}.lesson-hero-meta-pill{color:var(--text-secondary,#64748b);align-items:center;gap:5px;font-size:.76rem;font-weight:700;display:inline-flex}.lesson-hero-title{letter-spacing:-.02em;color:var(--text-primary,#0f172a);margin:0;font-size:1.25rem;font-weight:800;line-height:1.3}:root[data-theme=dark] .lesson-hero-title{color:#fff}.lesson-hero-description{color:var(--text-secondary,#64748b);margin:0;font-size:.88rem;line-height:1.55}:root[data-theme=dark] .lesson-hero-description{color:#94a3b8}@media (width<=768px){.slide-viewer-title-group{width:100%}.slide-select-dropdown{flex:100%;max-width:100%}.slide-companion-col{padding:12px}.sidebar{width:280px!important;box-shadow:none!important;z-index:9999!important;transform:translate(-100%)!important}.sidebar.open{transform:translate(0)!important;box-shadow:8px 0 40px #00000040!important}.sidebar.collapsed{width:280px!important;transform:translate(-100%)!important}.sidebar-overlay{z-index:9998;backdrop-filter:blur(4px);background:#0006;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.main-content,.main-content.collapsed{width:100%!important;max-width:100vw!important;margin-left:0!important}.topbar{gap:8px!important;height:56px!important;padding:0 12px!important}.page-title{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:160px!important;font-size:.92rem!important;overflow:hidden!important}.topbar-stats-group .xp-pill,.topbar-theme-select,.cloud-status-pill,.topbar-tools-group,.topbar-tool-btn.tool-secondary{display:none!important}.page-container{padding:14px 12px 84px!important}.courses-grid-layout{grid-template-columns:1fr!important;gap:14px!important}.modern-lesson-card{padding:14px!important}.lesson-card-title{font-size:1rem!important;line-height:1.35!important}.lesson-card-desc{-webkit-line-clamp:2!important;font-size:.82rem!important}.lesson-features-chips{gap:8px!important;margin-bottom:12px!important}.courses-hero-title{font-size:1.35rem!important;line-height:1.3!important}.courses-overview-badge{padding:3px 8px!important;font-size:.72rem!important}.btn-back-roadmap-clean{padding:8px 14px!important;font-size:.82rem!important}.lesson-hero-card{border-radius:12px!important;padding:12px 14px!important}.lesson-hero-title{font-size:1.05rem!important}.lesson-hero-description{font-size:.82rem!important;line-height:1.5!important}.slide-viewer-container{border-radius:12px!important}.slide-viewer-header{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:10px 12px!important}.slide-viewer-main-title{font-size:.85rem!important}.slide-viewer-controls{flex-wrap:wrap!important;gap:6px!important;width:100%!important;display:flex!important}.slide-ctrl-btn{flex:auto!important;justify-content:center!important;padding:7px 10px!important;font-size:.74rem!important}.slide-ctrl-btn span{display:none!important}.slide-img-viewport{height:38vh!important;min-height:200px!important;max-height:340px!important;padding:8px!important}.slide-nav-arrow-btn{width:36px!important;height:36px!important}.slide-nav-arrow-btn.prev{left:6px!important}.slide-nav-arrow-btn.next{right:6px!important}.slide-stage-footer{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:8px 12px!important}.slide-nav-btn-group{width:100%!important;display:flex!important}.slide-nav-btn-group .slide-ctrl-btn{flex:1!important;justify-content:center!important}.slide-nav-btn-group .slide-ctrl-btn span{display:inline!important}.slide-jump-box{justify-content:center!important}.slide-viewer-body{flex-direction:column!important}.slide-stage-col{border-right:none!important;border-bottom:1px solid var(--border-color,#e2e8f0)!important;flex:auto!important}.slide-companion-col{border-left:none!important;flex:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;padding:12px!important;overflow-y:visible!important}.slide-gallery-strip{padding:8px 10px!important}.slide-thumb-btn{width:72px!important;height:40px!important}.modern-timeline-container{padding:0!important}.modern-timeline-line{left:24px!important}.timeline-step-node{width:100%!important;padding-left:60px!important;padding-right:0!important}.timeline-step-node.left .timeline-dot-anchor,.timeline-step-node.right .timeline-dot-anchor{width:38px!important;height:38px!important;top:18px!important;left:6px!important}.glass-panel{border-radius:14px!important;padding:16px!important}.dashboard-grid,.stats-grid{grid-template-columns:1fr!important;gap:12px!important}.flashcard-container{max-width:100%!important}.metric-tag-pill{padding:2px 8px!important;font-size:.7rem!important}.focus-mode-btn{display:none!important}.tabs-header{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;gap:6px!important;padding-bottom:6px!important}.tabs-header::-webkit-scrollbar{display:none!important}.tab-btn{white-space:nowrap!important;flex-shrink:0!important;min-height:40px!important;padding:8px 14px!important;font-size:.78rem!important}.lesson-detail-view{grid-template-columns:1fr!important;gap:16px!important}.vocab-table{font-size:.82rem!important}.vocab-table th,.vocab-table td{padding:8px 10px!important}.auth-modal-card{border-radius:16px!important;width:92vw!important;max-width:400px!important;padding:20px!important}.auth-input{padding:12px!important;font-size:.88rem!important}.toast-container{bottom:80px!important;right:12px!important}button,a,[role=button]{min-height:36px}.inline-slide-showcase{border-radius:14px!important;padding:12px!important}.page-container *,.main-content *{box-sizing:border-box!important;max-width:100%!important}.slide-img-viewport img,.slide-img-viewport .slide-image{object-fit:contain!important;width:100%!important;max-width:none!important;height:auto!important}.mobile-bottom-nav{height:62px!important;padding-bottom:env(safe-area-inset-bottom,0)!important}.sidebar-progress-widget{padding:10px!important}.textbook-hero-card{border-radius:14px!important;padding:14px!important}}@media (width<=400px){.page-title{max-width:120px!important;font-size:.85rem!important}.topbar{height:52px!important;padding:0 10px!important}.page-container{padding:10px 8px!important}.courses-hero-title{font-size:1.15rem!important}.lesson-hero-title{font-size:.95rem!important}.slide-img-viewport{height:32vh!important;min-height:180px!important;max-height:280px!important}.modern-lesson-card{padding:12px!important}.lesson-card-title{font-size:.92rem!important}}.ai-tutor-container{background:#fff;border:1px solid #e2e8f0e6;border-radius:22px;margin-top:24px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 16px 40px -12px #0f172a12,0 1px 3px #0f172a0a}.ai-tutor-container:before{content:"";background:linear-gradient(90deg,#3b82f6,#6366f1,#ec4899);height:4px;position:absolute;top:0;left:0;right:0}.ai-tutor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ai-tutor-title-group{align-items:center;gap:14px;display:flex}.ai-tutor-icon-wrapper{background:linear-gradient(135deg,#fdf2f8,#ede9fe);border:1.5px solid #ec489940;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.65rem;display:flex;box-shadow:0 6px 16px #ec48991f}.ai-tutor-title{color:#0f172a;letter-spacing:-.3px;align-items:center;gap:8px;margin:0;font-size:1.12rem;font-weight:800;display:flex}.ai-tutor-subtitle{color:#64748b;align-items:center;gap:6px;margin-top:3px;font-size:.8rem;font-weight:500;display:flex}.ai-tutor-status-badge{color:#059669;background:#10b9811a;border:1px solid #10b98133;border-radius:12px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.pulse-dot{background-color:#10b981;border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulse-green;display:inline-block;box-shadow:0 0 #10b981b3}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.ai-tutor-actions{align-items:center;gap:8px;display:flex}.ai-reset-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.ai-reset-btn:hover{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.ai-chat-box{scroll-behavior:smooth;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:16px;min-height:220px;max-height:390px;margin-bottom:16px;padding:20px;display:flex;overflow-y:auto}.ai-chat-box::-webkit-scrollbar{width:6px}.ai-chat-box::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.ai-chat-box::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.ai-chat-box::-webkit-scrollbar-thumb:hover{background:#94a3b8}.chat-bubble-container{align-items:flex-start;gap:12px;animation:.25s ease-out fadeInBubble;display:flex}@keyframes fadeInBubble{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-bubble-container.student{flex-direction:row-reverse}.chat-avatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;display:flex;box-shadow:0 4px 10px #0000000f}.chat-avatar.student{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:1px solid #fff3}.chat-avatar.tutor{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:1px solid #ffffff4d}.chat-bubble{white-space:pre-line;word-break:break-word;max-width:85%;padding:13px 18px;font-size:.92rem;line-height:1.65;box-shadow:0 2px 8px #0f172a0a}.chat-bubble.tutor{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:18px 18px 18px 4px}.chat-bubble.student{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:18px 18px 4px;box-shadow:0 4px 14px #2563eb33}.speaker-mini-btn{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:5px;margin-top:6px;padding:4px 11px;font-size:.74rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #00000008}.speaker-mini-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.typing-indicator-box{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:8px;padding:10px 16px;font-size:.82rem;font-weight:500;display:inline-flex;box-shadow:0 2px 6px #00000008}.typing-dots{align-items:center;gap:4px;display:flex}.typing-dot{background:#8b5cf6;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.chat-chips-scroll{scroll-behavior:smooth;gap:8px;margin:14px 0;padding-bottom:6px;display:flex;overflow-x:auto}.chat-chips-scroll::-webkit-scrollbar{height:4px}.chat-chips-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.ai-chip-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #0f172a08}.ai-chip-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 14px #3b82f61f}.ai-input-area{background:#fff;border:1.5px solid #cbd5e1;border-radius:28px;align-items:center;gap:8px;padding:6px 8px 6px 18px;transition:all .25s;display:flex;box-shadow:0 4px 14px #0f172a0a}.ai-input-area:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f,0 4px 18px #6366f114}.ai-input-field{color:#0f172a;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 4px;font-size:.92rem;font-weight:500}.ai-input-field::placeholder{color:#94a3b8;font-weight:400}.ai-mic-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.ai-lang-badge{color:#fff;cursor:pointer;z-index:2;border:1.5px solid #fff;border-radius:10px;padding:2px 5px;font-size:.55rem;font-weight:800;transition:all .2s;position:absolute;top:-6px;right:-8px;box-shadow:0 2px 4px #00000026}.ai-lang-badge.kr{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.ai-lang-badge.vn{background:linear-gradient(135deg,#ef4444,#b91c1c)}.ai-lang-badge:hover{transform:scale(1.08)translateY(-1px)}.ai-mic-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.ai-mic-btn:hover{color:#334155;background:#e2e8f0}.ai-mic-btn.recording{color:#ef4444;background:#ef44441a;border-color:#ef44444d;animation:1.5s infinite pulse-record}@keyframes pulse-record{0%{transform:scale(.95);box-shadow:0 0 #ef444499}70%{transform:scale(1);box-shadow:0 0 0 8px #ef444400}to{transform:scale(.95);box-shadow:0 0 #ef444400}}.ai-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:10px 20px;font-size:.86rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #4f46e540}.ai-send-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#6d28d9);transform:translateY(-1px);box-shadow:0 6px 18px #4f46e559}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (width<=640px){.ai-tutor-container{border-radius:18px;padding:16px}.ai-tutor-title{font-size:1rem}.hide-on-mobile{display:none!important}.ai-send-btn{border-radius:16px;padding:10px 14px}.chat-bubble{max-width:90%;padding:11px 14px;font-size:.88rem}}
