:root{--bg:#fbf8f6;--bg-alt:#f3eeea;--card:#fff;--text:#1c1917;--muted:#78716c;--border:#e7e0da;--primary:#e11d48;--primary-dark:#be123c;--primary-soft:#ffe4e6;--blue:#1d4ed8;--ok:#059669;--ok-soft:#d1fae5;--ko:#dc2626;--ko-soft:#fee2e2;--shadow:0 1px 2px #1c19170a, 0 4px 16px #1c19170f;--radius:16px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ko:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14110f;--bg-alt:#1c1815;--card:#221d1a;--text:#f5f0eb;--muted:#a8a29e;--border:#3a322d;--primary-soft:#4c0519;--ok-soft:#064e3b;--ko-soft:#450a0a;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.1rem;font-weight:700}p{margin:0 0 .8em}.ko-text{font-family:var(--font-ko)}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.mt{margin-top:1.5rem}.link{color:var(--primary);font-weight:600}.link:hover{text-decoration:underline}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}.container.narrow,.narrow{max-width:820px}.page{padding-top:2rem;padding-bottom:4rem}.page-head{margin-bottom:1.5rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.between{justify-content:space-between}.row.center{justify-content:center}.row.gap{gap:1rem}.stack{flex-direction:column;gap:1.25rem;display:flex}.stack.plain{margin:0;padding:0;list-style:none}.btn{border:1.5px solid var(--primary);background:var(--primary);color:#fff;font:inherit;cursor:pointer;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.2rem;font-weight:600;transition:transform .1s,background .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 4px 14px #e11d4840}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--primary);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--primary-soft);color:var(--primary);box-shadow:none}.btn.light{color:var(--primary);background:#fff;border-color:#fff}.btn.danger{border-color:var(--ko);color:var(--ko);background:0 0}.btn.danger:hover:not(:disabled){background:var(--ko);color:#fff;box-shadow:none}.btn.small{border-radius:10px;padding:.4rem .8rem;font-size:.875rem}.btn.big{padding:.85rem 1.6rem;font-size:1.05rem}.btn.full{width:100%}.pill{background:var(--bg-alt);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:600;display:inline-block}.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.input{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:.7rem .9rem;font-size:1rem;transition:border-color .15s}.input:focus{border-color:var(--primary);outline:none}textarea.input{resize:vertical}label{flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:flex}.input-prefix{align-items:stretch;display:flex}.input-prefix span{background:var(--bg-alt);border:1.5px solid var(--border);color:var(--muted);border-right:0;border-radius:10px 0 0 10px;align-items:center;padding:0 .7rem;display:flex}.input-prefix .input{border-radius:0 10px 10px 0}.error{color:var(--ko);background:var(--ko-soft);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}.success{color:var(--ok);background:var(--ok-soft);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}.notice{background:var(--primary-soft);border-radius:10px;padding:.7rem 1rem;font-size:.9rem}.notice a{color:var(--primary);font-weight:600}.notice-card{border-color:var(--primary);background:linear-gradient(135deg, var(--card), var(--primary-soft))}.progress{background:var(--bg-alt);border-radius:999px;height:10px;margin:.5rem 0;overflow:hidden}.progress>div{background:var(--primary);border-radius:999px;height:100%;transition:width .4s}.progress.thin{height:6px}.header{z-index:50;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:66px;display:flex}.logo{align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.logo-mark{background:linear-gradient(135deg, var(--primary), #f97316);color:#fff;width:36px;height:36px;font-family:var(--font-ko);border-radius:10px;place-items:center;font-weight:900;display:grid}.nav{align-items:center;gap:1.2rem;font-size:.95rem;font-weight:600;display:flex}.nav>a:not(.btn){color:var(--muted);padding:.3rem 0}.nav>a.active,.nav>a:hover:not(.btn){color:var(--text)}.nav-cta{color:var(--primary)!important}.burger{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:1.5rem;display:none}.user-menu{position:relative}.user-btn{cursor:pointer;font:inherit;color:var(--text);background:0 0;border:0;align-items:center;gap:.5rem;font-weight:600;display:flex}.dropdown{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;min-width:220px;padding:.4rem;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown a,.dropdown button{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.55rem .8rem}.dropdown a:hover,.dropdown button:hover{background:var(--bg-alt)}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;display:inline-block}.avatar.placeholder{color:#fff;place-items:center;font-weight:800;display:inline-grid}.footer{border-top:1px solid var(--border);background:var(--bg-alt);padding:3rem 0 1.5rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;display:grid}.footer-grid h4{font-size:.9rem}.footer-grid a{color:var(--muted);padding:.15rem 0;font-size:.9rem;display:block}.footer-grid a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);margin-top:2rem;padding-top:1rem}.hero{background:radial-gradient(ellipse at top right, var(--primary-soft), transparent 60%);padding:4rem 0 3rem}.hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:3rem;display:grid}.hero h1{margin:1rem 0;font-size:clamp(2.2rem,5vw,3.4rem)}.grad{background:linear-gradient(90deg, var(--primary), #f97316);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:var(--muted);max-width:560px;font-size:1.15rem}.hero-stats{gap:2.5rem;margin-top:2rem;display:flex}.hero-stats div{flex-direction:column;display:flex}.hero-stats strong{font-size:1.6rem;font-weight:800}.hero-stats span{color:var(--muted);font-size:.85rem}.hero-card{text-align:center;padding:2rem;transform:rotate(1.5deg)}.hero-hangul{font-family:var(--font-ko);background:linear-gradient(135deg, var(--primary), #f97316);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3.5rem,8vw,5.5rem);font-weight:900;line-height:1.1}.mini-lesson{text-align:left;gap:.8rem;margin-top:1.5rem;display:grid}.mini-lesson>div{background:var(--bg);border-radius:12px;padding:.7rem 1rem}.big{font-size:1.3rem;font-weight:700}.section{padding:4.5rem 0}.section.alt{background:var(--bg-alt)}.section-head{text-align:center;max-width:640px;margin:0 auto 2.5rem}.section-head h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.feature-icon{margin-bottom:.5rem;font-size:2.2rem}.feature.highlight{border-color:var(--primary);background:linear-gradient(160deg, var(--card) 40%, var(--primary-soft))}.steps .step{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;margin-bottom:.7rem;font-weight:800;display:inline-grid}.timeline{flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;display:flex}.timeline-item{border-left:5px solid var(--accent);gap:1.25rem;transition:transform .15s;display:flex}.timeline-item:hover{transform:translate(4px)}.timeline-badge{background:var(--accent);color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.3rem;font-weight:800;display:grid}.timeline-item>div:last-child{flex:1}.pricing{align-items:stretch}.price-card{flex-direction:column;display:flex;position:relative}.price-card ul{flex:1;margin:1rem 0 1.5rem;padding:0;list-style:none}.price-card li{padding:.35rem 0;font-size:.95rem}.price{font-size:2.6rem;font-weight:800}.price span{color:var(--muted);font-size:1rem;font-weight:500}.price-card.featured{border:2px solid var(--primary);transform:scale(1.03)}.ribbon{background:var(--primary);color:#fff;border-radius:999px;padding:.2rem .8rem;font-size:.8rem;font-weight:700;position:absolute;top:-12px;right:18px}.save{color:var(--ok);font-size:.9rem;font-weight:700}.faq{margin-bottom:.8rem;padding:1rem 1.3rem}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted);margin:.8rem 0 0}.cta{background:linear-gradient(135deg, var(--primary), #f97316);color:#fff}.cta h2{font-size:2rem}.level-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.level-card{border-top:5px solid var(--accent);flex-direction:column;gap:.3rem;transition:transform .15s,box-shadow .15s;display:flex}.level-card:hover{transform:translateY(-3px)}.level-card h2,.level-card h3{margin:.4rem 0 0}.level-num{background:var(--accent,var(--primary));color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:800;display:inline-grid}.lesson-mini{color:var(--muted);margin:.5rem 0;padding:0;font-size:.85rem;list-style:none}.lesson-mini li{padding:.12rem 0}.lesson-mini li.done{color:var(--ok)}.lesson-mini a:hover{color:var(--primary)}.level-hero{border-left:6px solid var(--accent);grid-template-columns:1fr 260px;gap:2rem;margin:1rem 0 1.5rem;display:grid}.level-hero h1{margin-top:.7rem}.level-hero-stats{background:var(--bg);border-radius:12px;align-self:center;padding:1.2rem}.big-num{font-size:2.2rem;font-weight:800}.lesson-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.lesson-row{align-items:center;gap:1rem;padding:1rem 1.25rem;transition:transform .15s,border-color .15s;display:flex}.lesson-row:hover{border-color:var(--primary);transform:translate(3px)}.lesson-row h3{margin:0}.lesson-index{background:var(--bg-alt);width:40px;height:40px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.lesson-row.done .lesson-index{color:#fff}.lesson-meta{align-items:center;gap:1rem;display:flex}.test-row{border-style:dashed;border-width:2px}.score{background:var(--ok-soft);color:var(--ok);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:700;display:inline-block}.score.ko{background:var(--ko-soft);color:var(--ko)}.breadcrumb{color:var(--muted);margin-bottom:1rem}.breadcrumb a:hover{color:var(--primary)}.lesson-head{border-top:6px solid var(--accent);margin-bottom:1.5rem}.lesson-head h1{margin-top:.8rem}.subtitle{color:var(--muted);font-size:1.15rem}.objectives ul{margin:.4rem 0 0;padding-left:1.2rem}.lesson-layout{grid-template-columns:1fr 300px;align-items:start;gap:1.5rem;display:grid}.lesson-body{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.lesson-section h2{align-items:center;gap:.6rem;display:flex}.sec-num{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:8px;place-items:center;font-size:.95rem;display:inline-grid}.rich-list{margin:0 0 .8rem;padding-left:1.2rem}.table-wrap{border:1px solid var(--border);border-radius:12px;margin:.8rem 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.93rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .8rem}th{background:var(--bg-alt);font-size:.85rem;font-weight:700}tr:last-child td{border-bottom:0}td p{margin:0;display:inline}td.ko-text{font-size:1.05rem}.examples{gap:.6rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.examples li{background:var(--bg);border-left:3px solid var(--primary);border-radius:0 10px 10px 0;padding:.6rem 1rem}.ex-ko{font-size:1.1rem;font-weight:500}.ex-fr{font-size:.93rem}.tip{color:#713f12;background:#fef9c3;border-radius:10px;gap:.5rem;margin-top:.8rem;padding:.8rem 1rem;font-size:.93rem;display:flex}.tip p{margin:0}@media (prefers-color-scheme:dark){.tip{color:#fde68a;background:#422006}}.speak{cursor:pointer;opacity:.75;vertical-align:middle;color:var(--text);background:0 0;border:0;padding:0 .2rem;font-size:.95em}.speak:hover{opacity:1;transform:scale(1.15)}.dialogue{flex-direction:column;gap:.7rem;display:flex}.bubble{background:var(--bg);border-radius:16px 16px 16px 4px;max-width:80%;padding:.7rem 1rem}.bubble.right{background:var(--primary-soft);border-radius:16px 16px 4px;align-self:flex-end}.speaker{color:var(--primary);font-size:.8rem;font-weight:700}.sticky{position:sticky;top:86px}.vocab{max-height:60vh;margin:0 0 1rem;padding:0;list-style:none;overflow-y:auto}.vocab li{border-bottom:1px solid var(--border);padding:.5rem 0}.vocab .ko-text{font-size:1.1rem;font-weight:600}.lesson-nav{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.runner-head{justify-content:space-between;align-items:center;display:flex}.question{margin:1.2rem 0 1rem;font-size:1.2rem}.options{gap:.6rem;margin-bottom:1rem;display:grid}.option{text-align:left;border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:.6rem;padding:.8rem 1rem;font-size:1rem;transition:border-color .12s,background .12s;display:flex}.option:hover:not(:disabled){border-color:var(--primary)}.option.selected{border-color:var(--primary);background:var(--primary-soft)}.option.correct{border-color:var(--ok);background:var(--ok-soft)}.option.wrong{border-color:var(--ko);background:var(--ko-soft)}.option.used{opacity:.5}.option:disabled{cursor:default}.opt-letter{background:var(--bg-alt);border-radius:7px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:inline-grid}.fill-row{gap:.6rem;margin-bottom:.5rem;display:flex}.fill-row .input{font-size:1.15rem}.order-answer{border:2px dashed var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:56px;margin-bottom:.8rem;padding:.6rem;display:flex}.order-bank{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.chip{border:1.5px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;padding:.5rem .9rem;font-size:1.05rem}.chip:hover:not(:disabled){border-color:var(--primary)}.chip:disabled{opacity:.3;cursor:default}.order-answer .chip{background:var(--primary-soft);border-color:var(--primary)}.match-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.match-col{flex-direction:column;gap:.5rem;display:flex}.match-col .option{flex-direction:column;align-items:flex-start;gap:.1rem}.match-tag{color:var(--primary);font-size:.8rem;font-weight:600}.feedback{border-radius:12px;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:1.2rem;padding:1rem 1.2rem;display:flex}.feedback.ok{background:var(--ok-soft)}.feedback.ko{background:var(--ko-soft)}.feedback .btn{margin-top:.5rem}.result-card{text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.score-ring{--pct:0;background:conic-gradient(var(--ring) calc(var(--pct) * 1%), var(--bg-alt) 0);border-radius:50%;place-items:center;width:130px;height:130px;margin-bottom:.5rem;display:grid}.score-ring.ok{--ring:var(--ok)}.score-ring.ko{--ring:var(--ko)}.score-ring span{background:var(--card);border-radius:50%;place-items:center;width:104px;height:104px;font-size:1.8rem;font-weight:800;display:grid}.recap{text-align:left;width:100%;margin:.5rem 0 1rem}.recap summary{cursor:pointer;color:var(--primary);font-weight:600}.recap li{margin:.4rem 0}.recap li.ok strong{color:var(--ok)}.recap li.ko strong{color:var(--ko)}.test-head{border-top:6px solid var(--accent,var(--primary));margin:1rem 0 1.5rem}.placement-banner{border:2px solid var(--primary);background:linear-gradient(135deg, var(--card), var(--primary-soft));justify-content:space-between;align-items:center;gap:1rem;display:flex}.recommended{border:2px solid var(--accent);text-align:left;border-radius:14px;align-items:center;gap:1rem;margin:.5rem 0 1rem;padding:1rem 1.5rem;display:flex}.recommended h3{margin:0}.jamo-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.6rem;display:grid}.jamo{border:1.5px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font:inherit;border-radius:12px;flex-direction:column;align-items:center;padding:.7rem .3rem;display:flex}.jamo:hover{border-color:var(--primary);background:var(--primary-soft)}.jamo-char{font-size:2rem;font-weight:700;line-height:1.2}.builder-grid{grid-template-columns:repeat(3,1fr) 1.2fr;align-items:end;gap:1rem;display:grid}.builder-result{flex-direction:column;align-items:center;margin-bottom:1rem;display:flex}.builder-result .ko-text{color:var(--primary);font-size:4rem;font-weight:900;line-height:1}.auth{justify-content:center;display:flex}.auth-card{width:100%;max-width:440px}.dash-head{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-head h1,.dash-head p{margin:0}.stat-grid{grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat{flex-direction:column;padding:1.1rem;display:flex}.stat strong{font-size:1.6rem;font-weight:800}.stat-icon{font-size:1.3rem}.dash-grid{grid-template-columns:1fr 340px;align-items:start;gap:1.25rem;display:grid}.continue{border-left:6px solid var(--accent,var(--primary))}.continue h2{margin-top:.7rem}.level-progress{flex-direction:column;gap:.7rem;display:flex}.lp-row:hover strong{color:var(--primary)}.in-progress+.in-progress{border-top:1px solid var(--border);padding-top:1rem}.badges{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.6rem;display:grid}.badge{text-align:center;background:var(--bg);filter:grayscale();opacity:.4;border-radius:12px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .3rem;display:flex}.badge.earned{filter:none;opacity:1;background:var(--primary-soft)}.badge span{font-size:1.7rem}.badge small{font-size:.72rem;font-weight:600;line-height:1.2}.badges.big{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.booking-mini{padding:0;font-size:.9rem;list-style:none}.profile-head{align-items:flex-start;gap:3rem;padding:1rem 0 1.5rem;display:flex}.profile-head .avatar{border:4px solid var(--card);box-shadow:0 0 0 3px var(--primary)}.profile-info{flex:1;min-width:0}.profile-title h1{margin:0 .5rem 0 0;font-size:1.5rem;font-weight:600}.profile-counts{flex-wrap:wrap;gap:1.8rem;margin:1rem 0;padding:0;list-style:none;display:flex}.profile-bio{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.profile-bio p{margin:0}.bio{white-space:pre-wrap}.small-pill{border-color:var(--accent);color:var(--accent)}.highlights{gap:1.2rem;padding:.5rem 0 1rem;display:flex;overflow-x:auto}.highlight{flex-direction:column;align-items:center;gap:.3rem;min-width:72px;display:flex}.highlight span{background:var(--card);border:2px solid var(--border);width:64px;height:64px;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #f97316;border-radius:50%;place-items:center;font-size:1.8rem;display:grid}.highlight small{text-align:center;font-size:.72rem}.tabs{border-top:1px solid var(--border);justify-content:center;gap:2rem;margin-bottom:1.2rem;display:flex}.tabs button{font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;border-top:2px solid #0000;margin-top:-1px;padding:.9rem .2rem;font-size:.85rem;font-weight:600}.tabs button.active{color:var(--text);border-top-color:var(--text)}.profile-levels{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.profile-level{border-top:4px solid var(--accent);padding:1.1rem}.results-list{margin:0;padding:0;list-style:none}.results-list li{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.7rem 0;display:flex}.results-list li:last-child{border-bottom:0}.avatar-edit{background:var(--bg);border-radius:14px;align-items:center;gap:1.2rem;margin-bottom:1.2rem;padding:1rem;display:flex}.danger-zone{border-color:var(--ko-soft)}.booking-layout{grid-template-columns:1fr 340px;align-items:start;gap:1.25rem;display:grid}.formulas{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;display:grid}.formula{border:2px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;gap:.2rem;margin:0;padding:1rem;font-weight:400}.formula input{display:none}.formula.active{border-color:var(--primary);background:var(--primary-soft)}.price-sm{font-size:1.6rem;font-weight:800}.days{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:.5rem;display:grid}.day,.slot{border:1.5px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;text-transform:capitalize;border-radius:12px;flex-direction:column;align-items:center;padding:.5rem;display:flex}.day strong{font-size:1.3rem}.day:hover,.slot:hover:not(:disabled){border-color:var(--primary)}.day.active,.slot.active{background:var(--primary);border-color:var(--primary);color:#fff}.slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;display:grid}.slot{font-weight:600}.slot:disabled{opacity:.4;cursor:not-allowed;font-size:.75rem}.booking-summary ul{margin:0 0 1rem;padding:0;list-style:none}.booking-summary li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.93rem;display:flex}.booking-summary li strong{text-align:right;text-transform:capitalize}.booking-summary li.total{border-bottom:0;font-size:1.1rem}.booking-summary .btn{margin-bottom:.5rem}.booking-row{flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.booking-row strong{text-transform:capitalize}.booking-row.cancelled{opacity:.5}.prose ul{padding-left:1.2rem}@media (width<=960px){.hero-grid,.level-hero,.lesson-layout,.dash-grid,.booking-layout{grid-template-columns:1fr}.hero-card{transform:none}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.price-card.featured{transform:none}.sticky{position:static}.footer-grid,.builder-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.burger{display:block}.nav{background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:.8rem;padding:1rem 20px 1.5rem;display:none;position:absolute;top:66px;left:0;right:0}.nav.open{display:flex}.dropdown{box-shadow:none;margin-top:.5rem;position:static}.hide-sm{display:inline}.hero{padding-top:2.5rem}.hero-stats{gap:1.5rem}.grid-2,.grid-4{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.profile-head{text-align:center;flex-direction:column;align-items:center;gap:1rem}.profile-head .avatar{width:96px!important;height:96px!important}.profile-info .row,.profile-counts{justify-content:center}.profile-bio{align-items:center}.lesson-row{flex-wrap:wrap}.lesson-meta{width:100%;padding-left:56px}.fill-row{flex-direction:column}.bubble{max-width:95%}.card{padding:1.1rem}.placement-banner{flex-direction:column;align-items:flex-start}.tabs{gap:1rem}}:root{--bg:#f5f6f8;--bg-alt:#edf0f5;--card:#fff;--text:#172033;--muted:#667086;--border:#e5e9f0;--primary:#2858ec;--primary-dark:#1b40bd;--primary-soft:#eaf0ff;--blue:#2858ec;--ok:#287139;--ok-soft:#ebf8de;--ko:#926007;--ko-soft:#fff5d9;--shadow:0 6px 28px #17203305;--radius:24px;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#101722;--bg-alt:#212c3e;--card:#182232;--text:#f2f5fc;--muted:#a6b4cc;--border:#2e3b50;--primary:#89a9ff;--primary-dark:#a5bdff;--primary-soft:#253a64;--ok:#b2e587;--ok-soft:#254031;--ko:#f3d071;--ko-soft:#493c20;--shadow:0 6px 28px #00000012;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}body{letter-spacing:-.015em}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.btn{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #8bafff}.container{max-width:1200px;padding-inline:32px}.page{padding-top:40px}h1{letter-spacing:-.045em;font-weight:750}h2{letter-spacing:-.035em}.card{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:24px}.header{background:color-mix(in srgb, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.header-inner{height:78px}.logo{letter-spacing:-.04em;font-size:1.25rem}.logo-mark{background:#2858ec;border-radius:13px;width:39px;height:39px}.nav{gap:24px;font-size:.875rem}.nav>a.active:not(.btn){color:var(--primary)}.btn{min-height:48px;box-shadow:none;color:#fff;background:#2858ec;border-color:#2858ec;border-radius:14px;font-weight:650}.btn:hover{background:#2047c4;transform:translateY(-1px)}.btn.ghost{background:var(--card);color:var(--text);border-color:var(--border)}.btn.ghost:hover{border-color:var(--primary);background:var(--primary-soft)}.btn.danger{background:var(--ko-soft);color:var(--ko);border-color:#0000}.input{border-radius:13px;min-height:48px}.pill{border-radius:9px;font-weight:600}.mobile-dock{display:none}.footer{background:var(--card);margin-top:30px}.eyebrow{letter-spacing:.12em;color:var(--muted);margin-bottom:10px;font-size:.75rem;font-weight:750}.home-greeting{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.home-greeting h1{max-width:790px;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.13}.home-greeting p:last-child{margin:0}.greeting-wave{color:var(--primary);white-space:nowrap}.home-counters{flex-shrink:0;gap:10px;display:flex}.home-counters>span{background:var(--card);border:1px solid var(--border);white-space:nowrap;border-radius:14px;align-items:center;gap:6px;padding:10px 12px;font-weight:700;display:flex}.home-counters small{color:var(--muted);font-weight:500}.home-top-grid{grid-template-columns:1.85fr 1fr;gap:22px;display:grid}.study-hero{color:#fff;background:#2858ec;border-radius:28px;padding:28px 32px;overflow:hidden}.hero-label{letter-spacing:.12em;color:#e0e8ff;font-size:.75rem;font-weight:650}.hero-number{color:#e0e8ff;font-size:.75rem}.study-hero-content{grid-template-columns:1fr 132px;align-items:center;gap:24px;padding:28px 0;display:grid}.hero-kicker{color:#d1deff;font-size:.875rem}.study-hero h2{max-width:410px;margin:0 0 14px;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1}.study-hero-content p:not(.hero-kicker){color:#e0e8ff;max-width:360px;font-size:.9375rem}.btn.hero-start{color:#172033;background:#d9f87a;border-color:#d9f87a;gap:24px;margin-top:12px;padding-inline:22px}.btn.hero-start:hover{background:#e6ffa6}.hero-duration{color:#d1deff;margin-top:10px;font-size:.75rem;display:block}.hangul-study{justify-items:center;gap:6px;display:grid;transform:rotate(7deg)}.hangul-study>span{font-family:var(--font-ko);color:#2858ec;background:#fff;border-radius:24px;place-items:center;width:104px;height:104px;font-size:3.7rem;font-weight:750;display:grid;box-shadow:0 8px #173eb866}.hangul-study>span:nth-child(2){color:#23384b;background:#d9f87a;transform:translate(-18px)rotate(-14deg)}.hangul-study small{letter-spacing:.22em;margin-top:14px;font-size:.65rem}.hero-progress{color:#e0e8ff;grid-template-columns:1fr auto;font-size:.75rem;display:grid}.hero-progress .progress{background:#ffffff26;grid-column:1/-1;height:5px;margin-bottom:0}.hero-progress .progress>div{background:#d9f87a}.word-card{background:var(--card);border:1px solid var(--border);border-radius:28px;flex-direction:column;padding:28px;display:flex}.word-card .eyebrow{margin:0;font-size:.6875rem}.word-tag{color:var(--muted);background:var(--bg-alt);border-radius:7px;padding:4px 8px;font-size:.75rem}.word-body{text-align:center;margin:auto 0;padding:25px 0}.word-body>span{font-family:var(--font-ko);letter-spacing:-.06em;color:var(--primary);font-size:clamp(2.5rem,4vw,3.8rem);font-weight:750}.word-body>p:first-of-type{color:var(--muted);letter-spacing:.05em;margin:2px 0 26px;font-size:.875rem}.word-body h2{font-size:1.45rem}.word-body>p:last-child{font-size:.875rem}.word-audio{border-top:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:16px;font-size:.8125rem;display:flex}.word-audio .speak{background:var(--primary-soft);opacity:1;border-radius:50%;width:40px;height:40px}.quick-actions{grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 44px;display:grid}.quick-action{background:var(--card);border:1px solid var(--border);border-radius:21px;align-items:center;gap:14px;padding:20px;transition:transform .2s;display:flex}.quick-action:hover,.chapter-card:hover{border-color:var(--primary);transform:translateY(-3px)}.quick-action h2{letter-spacing:-.02em;margin:0 0 3px;font-size:1rem}.quick-action p{color:var(--muted);margin:0;font-size:.8125rem}.action-icon{border-radius:15px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.6rem;font-weight:750;display:grid}.lilac{color:#5845a2;background:#e9e2ff}.lime{color:#40521f;background:#e4f5b4}.blue{color:#2858ec;background:#e1ecff}.action-arrow{color:var(--muted);margin-left:auto}.section-title{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.section-title h2{margin:0;font-size:1.8rem}.section-title .link{white-space:nowrap;font-size:.875rem}.chapter-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.chapter-card{border:1px solid var(--border);background:var(--card);border-radius:23px;padding:24px;transition:transform .2s}.chapter-number{background:var(--primary-soft);width:43px;height:43px;color:var(--primary);border-radius:14px;place-items:center;font-size:.9375rem;font-weight:750;display:grid}.chapter-1,.chapter-4{color:#40521f;background:#e4f5b4}.chapter-2,.chapter-5{color:#5845a2;background:#e9e2ff}.chapter-ko{font-family:var(--font-ko);letter-spacing:-.05em;margin:18px 0 10px;font-size:2rem;font-weight:650}.chapter-card .progress{height:5px;margin:22px 0 12px}.chapter-card .row:last-child{color:var(--muted);font-size:.8125rem}.join-banner{background:var(--primary-soft);border-radius:22px;justify-content:space-between;align-items:center;gap:22px;margin-top:28px;padding:28px;display:flex}.join-banner p{margin:0}.home-footnote{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:24px 0;font-size:.8125rem;display:flex}.home-footnote a{color:var(--primary)}.home-extra{border-top:1px solid var(--border);padding-block:28px}.level-card{border-top-width:3px}.level-num{border-radius:16px}.lesson-head,.test-head{border-top-width:3px}.option{background:var(--card);border-width:2px;border-radius:16px;min-height:64px;padding:14px 18px}.opt-letter{border-radius:10px;width:34px;height:34px;margin-right:5px}.option.selected .opt-letter{color:#fff;background:#2858ec}.option.correct .opt-letter{color:#fff;background:#367142}.option.wrong .opt-letter{color:#fff;background:#956d17}.question{margin-block:28px 24px;font-size:clamp(1.3rem,3vw,1.75rem);line-height:1.5}.runner{padding:28px}.runner-head{gap:12px}.runner .progress{margin-top:18px}.feedback{border-radius:18px;padding:20px}.feedback .btn{align-self:stretch}.result-card{padding:40px 24px}.result-card h3{font-size:1.75rem}.dash-head{margin-bottom:28px}.dash-head h1{font-size:clamp(1.6rem,3vw,2.5rem)}.stat{border:0}.stat strong{font-size:2rem}.stat-icon{margin-bottom:8px}.stat:first-child{background:var(--primary-soft)}.stat:nth-child(2){background:var(--ok-soft)}.continue{background:var(--primary-soft);border-left:0;padding:30px}.badge small,.highlight small{font-size:.8125rem}.badge{border:1px dashed var(--border);opacity:.7}.badge.earned{border-style:solid}.badges{gap:10px}.sync-status{color:var(--muted);margin-bottom:16px;font-size:.8125rem}.sync-status.error{color:var(--ko)}.demo-badge{color:#40521f;background:#e4f5b4;border-radius:9px;padding:6px 12px;font-size:.8125rem;display:inline-block}.auth{align-items:flex-start;min-height:70vh;padding-top:60px}.auth-card{max-width:460px;padding:36px}.auth-card h1{font-size:2rem}.auth-card .btn{margin-top:12px}.auth-card label{margin-block:20px}@media (width<=1000px){.home-greeting{align-items:flex-start}.home-counters{flex-direction:column}.study-hero-content{grid-template-columns:1fr 90px}.hangul-study>span{width:80px;height:80px;font-size:2.8rem}.quick-action{gap:10px;padding:16px}.quick-action h2{font-size:.9375rem}.action-arrow{display:none}.nav{gap:14px}.container{padding-inline:24px}}@media (width<=760px){.container{padding-inline:20px}.page{padding-top:25px;padding-bottom:35px}.header-inner{height:64px}.logo{font-size:1.1rem}.logo-mark{width:34px;height:34px}.burger{padding:8px;font-size:1.4rem}.nav.open{padding:20px;top:64px;box-shadow:0 15px 30px #17203312}.app{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-dock{z-index:60;padding:10px 6px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-dock a{min-width:58px;color:var(--muted);flex-direction:column;align-items:center;gap:5px;padding:5px;font-size:.75rem;font-weight:550;display:flex}.mobile-dock a.active{color:var(--primary)}.mobile-dock a.active svg{stroke-width:2.3px}.home-greeting{margin-bottom:20px;display:block}.home-greeting h1{max-width:440px;font-size:2rem}.home-greeting .eyebrow{letter-spacing:.09em;font-size:.625rem}.home-counters{flex-direction:row;gap:8px;margin-top:18px}.home-counters>span{padding:6px 12px;font-size:.875rem}.home-top-grid{grid-template-columns:1fr;gap:18px}.study-hero{border-radius:24px;padding:22px}.study-hero-content{grid-template-columns:1fr 78px;gap:12px;padding:24px 0}.study-hero h2{font-size:1.9rem}.study-hero-content p:not(.hero-kicker){font-size:.875rem}.hero-label{font-size:.625rem}.hangul-study>span{border-radius:18px;width:68px;height:72px;font-size:2.6rem}.hangul-study>span:nth-child(2){transform:translate(-7px)rotate(-12deg)}.hero-duration{font-size:.75rem}.word-card{padding:22px}.word-body{padding:18px 0 14px}.word-body>span{font-size:3rem}.word-body>p:first-of-type{margin-bottom:14px}.word-body h2{font-size:1.25rem}.word-body>p:last-child{margin-bottom:0}.word-audio{margin-top:8px}.quick-actions{grid-template-columns:1fr;gap:10px;margin:18px 0 30px}.quick-action{border-radius:18px;gap:16px;padding:16px}.quick-action h2{font-size:1rem}.action-arrow{display:block}.quick-action .action-icon{width:44px;height:44px}.section-title{align-items:flex-start}.section-title h2{font-size:1.5rem}.section-title .link{white-space:normal;text-align:right;padding-top:28px;font-size:.75rem}.eyebrow{font-size:.6875rem}.chapter-grid{grid-template-columns:1fr 1fr;gap:12px}.chapter-card{border-radius:19px;min-width:0;padding:16px}.chapter-card h3{font-size:1rem;line-height:1.4}.chapter-ko{font-size:1.7rem}.chapter-card .small{font-size:.8125rem}.chapter-card .row:last-child{font-size:.75rem}.chapter-card .progress{margin-top:14px}.join-banner{padding:22px;display:block}.join-banner h2{font-size:1.25rem}.join-banner p{margin-bottom:18px;font-size:.875rem}.home-extra h2{font-size:1.2rem}.footer{padding-top:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-grid>div:first-child{grid-column:1/-1}.footer h4{font-size:.875rem}.footer a{font-size:.8125rem}.card{border-radius:20px;padding:20px}.lesson-head h1{font-size:1.8rem}.lesson-head .row{gap:12px}.runner{padding:18px}.lesson-section .runner{margin-inline:-10px}.option{min-height:62px;padding:12px}.question{font-size:1.3rem}.runner .btn{width:100%}.runner-head .pill{font-size:.8125rem}.match-grid{gap:8px}.match-grid .option{overflow-wrap:anywhere;font-size:.9375rem}.auth{padding-top:30px}.auth-card{padding:26px}.stat-grid{gap:12px}.stat{padding:18px}.stat:last-child{flex-direction:row;grid-column:1/-1;align-items:center;gap:16px}.stat:last-child .stat-icon{margin:0}.dash-head .avatar{display:none}.profile-title{justify-content:center}.tabs{gap:8px}.tabs button{font-size:.8125rem}.lesson-nav .btn{white-space:normal}.sync-status{margin-bottom:12px}}@media (width<=360px){.container{padding-inline:14px}.study-hero-content{grid-template-columns:1fr}.hangul-study{display:none}.chapter-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body{background-color:#f2f6fa;background-image:radial-gradient(at 0 10%,#b4d8ff66,#0000 50%),radial-gradient(at 100% 55%,#c6dded66,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}:root{--card:#ffffffb8;--border:#ffffffd6;--bg:#f2f6fa;--shadow:0 14px 40px #20456b0b}.header{background:#ffffff96;border-bottom:1px solid #ffffffdf;box-shadow:0 4px 20px #203b5605}.card,.chapter-card,.quick-action,.word-card,.home-counters>span{-webkit-backdrop-filter:blur(22px)saturate(1.3);backdrop-filter:blur(22px)saturate(1.3);background:#ffffffa6;border:1px solid #ffffffeb;box-shadow:0 10px 30px #3757750a,inset 0 1px #fff}.study-hero.photo-hero{background:linear-gradient(100deg,#0c213bbf,#102b4566),url(/images/seoul.jpg) 50%/cover;border:1px solid #ffffffa6;padding:28px 32px;box-shadow:0 18px 45px #183e6422}.photo-hero .hero-label{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;background:#ffffff20;border:1px solid #ffffff4a;border-radius:20px;padding:7px 12px}.photo-hero .study-hero-content{grid-template-columns:1fr 130px;padding-block:34px}.photo-hero .hero-kicker,.photo-hero .hero-duration,.photo-hero .hero-progress{color:#f1f6ff}.photo-hero .btn.hero-start{color:#123455;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-color:#fff;box-shadow:0 8px 20px #0002}.hero-destination{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff17;border:1px solid #ffffff69;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;padding:22px 12px;display:flex;transform:rotate(5deg)}.hero-destination>span{font-size:3rem;font-family:var(--font-ko);font-weight:600}.hero-destination small{letter-spacing:.15em;text-align:center;font-size:.5rem}.word-card{position:relative;overflow:hidden}.word-photo{object-fit:cover;width:calc(100% + 56px);height:116px;margin:-28px -28px 20px}.word-body{padding-block:13px}.word-body>span{font-size:2.8rem}.word-body>p:first-of-type{margin-bottom:12px}.practice-invite{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow);background:#ffffff7d;border:1px solid #fff;border-radius:28px;grid-template-columns:1.3fr 1fr;margin-bottom:40px;display:grid;overflow:hidden}.practice-invite>div{padding:34px}.practice-invite h2{max-width:450px;font-size:1.9rem}.practice-invite p:not(.eyebrow){color:var(--muted)}.practice-invite img{object-fit:cover;width:100%;height:100%;max-height:330px}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.scenario-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow);background:#ffffffa6;border:1px solid #fff;border-radius:25px;overflow:hidden}.scenario-photo{height:185px;position:relative}.scenario-photo img{object-fit:cover;width:100%;height:100%}.glass-label{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#122f49;background:#ffffff9c;border:1px solid #fff9;border-radius:20px;padding:6px 12px;font-size:.75rem;font-weight:650;position:absolute;bottom:16px;left:18px}.scenario-content{padding:23px}.scenario-content h2{font-size:1.3rem}.scenario-content>p{color:var(--muted);font-size:.9375rem}.scenario-content .btn{padding-inline:13px;font-size:.875rem}.scenario-content>p:last-child{margin:15px 0 0;font-size:.75rem}.scene-header{color:#fff;background-position:50%;background-size:cover;border-radius:26px;margin:20px 0;padding:32px}.scene-header h1{margin-top:18px}.scene-header .pill{color:#fff;background:#ffffff25;border:1px solid #fff5}.scene-header .btn.ghost{color:#133151;background:#fffc}.scene-intro{margin-bottom:20px}.scene-dialogue{border-bottom:1px solid #d4dde8;padding-block:18px}.scene-dialogue strong{min-width:75px;color:var(--primary);display:inline-block}.oral-practice h2{margin-top:20px}.oral-tabs{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.oral-tabs .btn{font-size:.875rem}.oral-model{background:#fff6;border:1px solid #fff;border-radius:20px;padding:24px}.oral-model .ko-text{word-break:keep-all;font-size:1.4rem;line-height:1.9}.oral-model details{margin-bottom:18px}.voice-settings{border-block:1px solid #d5deea;margin:12px 0;padding:16px 0}.voice-settings summary{cursor:pointer;color:var(--primary);font-size:.9rem;font-weight:600}.voice-settings .grid-2{margin-top:16px}.voice-settings p{margin-top:12px}.mic-consent{align-items:flex-start;gap:12px;margin:22px 0;font-size:.875rem;font-weight:400;line-height:1.6;display:flex}.mic-consent input{accent-color:#2858ec;flex-shrink:0;width:20px;height:20px;margin-top:4px}.mic-button{min-height:54px}.mic-button.listening{background:#235b60;border-color:#235b60}.transcript-box{background:#ffffff60;border:1px dashed #9bafc9;border-radius:18px;min-height:125px;margin:24px 0;padding:22px}.transcript-box .ko-text{overflow-wrap:anywhere;font-size:1.3rem}.oral-feedback{background:#edf3ffba;border:1px solid #cadaf0;border-radius:20px;padding:24px}.oral-feedback.ok{background:#edf9e6c2}.oral-feedback.review{background:#fff7d8b3}.oral-tip{margin-top:18px}.speech-control{vertical-align:middle;flex-wrap:wrap;align-items:center;display:inline-flex}.speak{color:#2455b9;opacity:1;background:#e4eeff8c;border-radius:50%;justify-content:center;align-items:center;gap:6px;min-width:36px;min-height:36px;display:inline-flex}.speak.speaking{background:#c9dfef}.speech-error{max-width:320px;color:var(--ko);background:var(--ko-soft);border-radius:8px;padding:8px;font-size:.8125rem;display:block}@media (prefers-color-scheme:dark){body{background:radial-gradient(at 0 0,#274b6955,#0000 70%),#101923}:root{--card:#1d2b3bd6;--bg:#111c28;--border:#667c9440}.card,.chapter-card,.quick-action,.word-card,.home-counters>span,.scenario-card{background:#2335498c;border-color:#72859d44;box-shadow:0 12px 40px #0002,inset 0 1px #fff1}.header{background:#182a3aba;border-color:#fff2}.practice-invite{background:#2335498c;border-color:#72859d44}.oral-model,.transcript-box{background:#16263777;border-color:#566f8944}.oral-feedback{background:#233952}.oral-feedback.ok{background:#254336}.oral-feedback.review{background:#443c27}.voice-settings{border-color:#667c9440}.footer{background:#182839aa}.mobile-dock{background:#182839dd}.join-banner{background:#253e5799}}@media (width<=1000px){.scenario-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.study-hero.photo-hero{padding:22px}.photo-hero .study-hero-content{grid-template-columns:1fr 76px;gap:12px}.hero-destination{border-radius:18px;padding:18px 5px}.hero-destination>span{font-size:2rem}.hero-destination small{font-size:.5rem}.photo-hero .hero-label{font-size:.6rem}.word-photo{width:calc(100% + 44px);height:140px;margin:-22px -22px 20px}.practice-invite{grid-template-columns:1fr}.practice-invite>div{padding:24px}.practice-invite h2{font-size:1.6rem}.practice-invite img{grid-row:1;height:180px}.scenario-grid{grid-template-columns:1fr;gap:18px}.scenario-photo{height:190px}.scene-header{padding:24px}.scene-header h1{font-size:1.8rem}.oral-model{padding:18px}.oral-model .ko-text{font-size:1.2rem}.oral-practice{padding:20px}.oral-practice .oral-tabs .btn{flex:1}.oral-feedback{padding:18px}.mic-button,.scene-header .oral-tabs .btn{width:100%}.speech-error{max-width:100%}.practice-invite .btn{width:100%}}
