@import url('../fonts/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@500;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--navy:#13284e;--blue:#3c69d5;--bg:#f3f6fc;--line:#dbe3f1;--ink:#17243a;--muted:#63718c;--green:#167a58;--red:#ad334c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.01em}button,input,select{font:inherit}button{cursor:pointer}header{background:linear-gradient(115deg,#152b52,#3153a1);color:white;padding:26px max(18px,calc((100vw - 1060px)/2)) 24px}header .eyebrow{letter-spacing:.11em;font-size:12px;opacity:.85;font-weight:800}h1{font-size:clamp(22px,3.8vw,34px);margin:5px 0}header p{margin:0;opacity:.88}main{max-width:1060px;margin:auto;padding:20px 16px 45px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tab{border:1px solid var(--line);background:white;border-radius:13px;padding:12px 15px;font-weight:750;color:var(--navy)}.tab.active{background:var(--navy);color:white}.panel{display:none}.panel.active{display:block}.card,.tile{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 5px 18px #1c376309}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:13px}.btn{border:0;background:var(--blue);color:white;border-radius:11px;padding:11px 16px;font-weight:750}.btn.alt{background:#e9efff;color:#254a9f}.btn.ghost{background:white;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:#fce8ee;color:#a52c47}.btn:disabled{opacity:.45;cursor:not-allowed}.stat{padding:8px 12px;border-radius:999px;background:#e8efff;color:#254a9f;font-size:13px;font-weight:700}.tools{margin-bottom:14px}.search{width:260px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.tile h3{font-size:22px;margin:0 0 3px}.ipa{font-size:15px;color:#56709a}.korean{font-weight:800;color:#244fa8;margin:8px 0}.definition{margin:7px 0}.label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.example{margin:6px 0 0;font-style:italic}.speaker{border:0;background:#eaf0ff;color:#315dc0;border-radius:9px;padding:5px 10px}.flash{min-height:300px;max-width:620px;margin:15px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;cursor:pointer;user-select:none}.flash .big{font-size:clamp(31px,5vw,48px);font-weight:850;color:var(--navy)}.flash .revealed{margin-top:12px}.flash .big{overflow-wrap:anywhere}.flash .ipa{font-size:clamp(18px,2.5vw,23px);color:#57709b}.flash .flash-meaning{font-size:clamp(25px,4.5vw,37px);font-weight:850;color:#244fa8;line-height:1.4}.flash .face-tag{font-size:13px;letter-spacing:.09em;color:#71809a;font-weight:800}.flash.back{background:#edf3ff;border-color:#b6c9f7}.flash:focus-visible,.btn:focus-visible,.tab:focus-visible{outline:3px solid #ffbd59;outline-offset:2px}.center{text-align:center}.option{display:block;width:100%;text-align:left;background:white;border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;margin:9px 0;color:var(--ink)}.option:hover:not(:disabled){border-color:var(--blue)}.option.correct{background:#e5f6ed;border-color:#219268}.option.wrong{background:#feeaed;border-color:#cc5262}.question{font-size:22px;font-weight:800;margin:14px 0}.progress{height:10px;background:#e4ebf5;overflow:hidden;border-radius:99px;margin:13px 0 20px}.bar{height:100%;background:#4271d4;transition:width .2s}.answer{border:1.5px solid var(--line);padding:12px 14px;border-radius:10px;width:min(420px,100%)}.feedback{font-weight:750;margin:12px 0}.feedback.yes{color:var(--green)}.feedback.no{color:var(--red)}.hide{display:none!important}.vocab-row{border-bottom:1px solid var(--line);padding:12px 0}.vocab-row:last-child{border-bottom:0}.footer{font-size:12px;color:var(--muted);margin-top:24px}#speechStatus{font-size:13px;color:#7b4a12}.notice{background:#fff4dc;border:1px solid #f1d08a;color:#6b4a07;border-radius:14px;padding:12px 14px;margin-bottom:16px;font-size:14px;font-weight:650} button,input,select{font-size:16px}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.flash{-webkit-user-select:none;user-select:none} @supports(padding:env(safe-area-inset-bottom)){main{padding-bottom:calc(45px + env(safe-area-inset-bottom))}} @media(max-width:580px){.card,.tile{padding:16px}.tab{flex:1 1 42%;padding:10px}.question{font-size:19px}}
header a.back{color:#fff;opacity:.85;font-size:14px;text-decoration:none;font-weight:700}header a.back:hover{opacity:1}
.setgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}a.settile{display:block;text-decoration:none;color:inherit;transition:transform .12s,border-color .12s}a.settile:hover{transform:translateY(-2px);border-color:#9fb6ee}.settile h3{margin:0 0 6px;font-size:20px;color:var(--navy)}.settile .words{color:var(--muted);font-size:14px;margin-top:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.loading{padding:40px 0;text-align:center;color:var(--muted)}
.field{display:block;margin:0 0 12px}.field>span{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:4px}.field input,.field textarea,.field select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{font:inherit;font-size:15px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media(max-width:640px){.two{grid-template-columns:1fr}}
.wordrow{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#fbfcff}.wordrow .wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wordrow input{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:8px 10px;font-size:15px;background:#fff}.wordrow input.bad{border-color:#cc5262;background:#fff5f6}.wordrow .num{font-weight:800;color:var(--muted);font-size:13px}.wordrow .mini{border:0;background:#eef2fa;border-radius:8px;padding:4px 9px;font-size:13px;color:var(--ink)}@media(max-width:640px){.wordrow .wgrid{grid-template-columns:1fr 1fr}}
.wordrow .wide{grid-column:span 3}@media(max-width:640px){.wordrow .wide{grid-column:span 2}}
.setrow{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:12px 0}.setrow:last-child{border-bottom:0}.pill{font-size:12px;font-weight:800;border-radius:99px;padding:3px 9px}.pill.on{background:#e5f6ed;color:#167a58}.pill.off{background:#eef0f4;color:#63718c}
.err{background:#feeaed;border:1px solid #f0b3bf;color:#8f2139;border-radius:12px;padding:10px 13px;margin:10px 0;font-size:14px;white-space:pre-line}
dialog{border:0;border-radius:18px;padding:22px;max-width:620px;width:calc(100% - 32px);box-shadow:0 20px 60px #0004}dialog::backdrop{background:#13284e80}

/* 고급스러운 제목 글씨: 영어는 Playfair Display, 한글은 Noto Serif KR */
h1,h2,.tile h3,.settile h3,.flash .big,.question{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;letter-spacing:0}
h1{font-weight:700}header .eyebrow{letter-spacing:.18em}
.btn,.tab,.option,.stat{font-family:inherit}
label.btn{cursor:pointer;display:inline-flex;align-items:center}
.btn.alt{background:#fff;border:1.5px solid #3c69d5;color:#2b55b8}.btn.alt:hover{background:#eef3ff}
.btn:hover:not(:disabled){filter:brightness(1.05)}
h2 .stat,h1 .stat,.tab{font-family:'Pretendard Variable',Pretendard,system-ui,sans-serif}

/* 퀴즈 결과 메시지 */
.cheer{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;font-weight:700;font-size:clamp(34px,8vw,52px);line-height:1.15;text-align:center;margin:6px 0 14px;animation:cheerPop .55s cubic-bezier(.2,1.4,.4,1)}
.cheer.excellent{color:#c58b00}.cheer.good{color:#1f6feb}.cheer.try{color:#d1495b}
@keyframes cheerPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}

/* ---- MMEA 캐릭터 ---- */
header{position:relative;overflow:hidden}
header .mascot{position:absolute;right:max(10px,calc((100vw - 1060px)/2));bottom:0;height:140px;width:auto;filter:drop-shadow(0 6px 14px #0004);pointer-events:none;animation:mascotIn .6s cubic-bezier(.2,1.3,.4,1) both}
header:has(.mascot)>*:not(.mascot){max-width:calc(100% - 170px)}
@keyframes mascotIn{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.parade-old{display:flex;gap:2px;margin:14px 0 -24px;align-items:flex-end}
.parade img{height:84px;width:auto;filter:drop-shadow(0 4px 8px #0004);animation:bob 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.45s)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:4px 0 22px}
.menucard{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);background:white;border:1px solid var(--line);border-radius:20px;padding:12px 18px 12px 12px;box-shadow:0 5px 18px #1c376309;transition:transform .15s,box-shadow .15s}
.menucard:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1c376318}
.menucard img{height:76px;width:auto}.menucard strong{display:block;font-size:18px}.menucard small{color:var(--muted);font-size:13px}
.menucard.c-video{border-left:6px solid #1aa0c8}.menucard.c-writing{border-left:6px solid #f08a1c}
.sechead{font-size:20px;margin:0 0 12px}
.settile{position:relative;padding-right:96px!important}
.tilechar{position:absolute;right:10px;bottom:8px;height:78px;width:auto;opacity:.95}
.guide{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.guide img{height:64px;width:auto;flex:none;filter:drop-shadow(0 3px 6px #0002)}
.guide p{position:relative;margin:0;background:white;border:1px solid var(--line);border-radius:16px;padding:10px 14px;font-weight:650;color:var(--navy);box-shadow:0 4px 12px #1c37630a}
.guide p::before{content:'';position:absolute;left:-7px;top:50%;width:12px;height:12px;background:white;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
.cheerchar{display:block;height:170px;width:auto;margin:0 auto -4px;animation:cheerPop .6s cubic-bezier(.2,1.4,.4,1)}
@media(max-width:580px){header .mascot{height:96px;right:6px}header:has(.mascot)>*:not(.mascot){max-width:calc(100% - 92px)}.parade img{height:52px}.parade-old{margin-bottom:-22px}.cheerchar{height:130px}.guide img{height:52px}.tilechar{height:62px}.settile{padding-right:78px!important}}

/* 홈 상단: 로고 + 캐릭터 */
header.home{padding-bottom:18px}
.brand{display:flex;align-items:center;gap:18px}
.brand .logo{width:96px;height:96px;flex:none;border-radius:50%;box-shadow:0 6px 18px #0005}
.cast{display:flex;justify-content:space-between;align-items:flex-end;gap:6px;margin-top:18px}
.cast img{flex:1 1 0;min-width:0;width:100%;max-width:150px;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 10px #0004);animation:bob 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.45s)}
.cast img:hover{transform:scale(1.06)}
.hlogo{float:left;width:46px;height:46px;border-radius:50%;margin:6px 12px 0 0;box-shadow:0 3px 10px #0004}
@media(max-width:580px){.brand .logo{width:68px;height:68px}.brand{gap:12px}.cast{flex-wrap:wrap;justify-content:center;gap:4px 2px}.cast img{flex:0 0 23%;max-width:none}}

.userbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;color:var(--navy)}
.userbar .btn{padding:8px 14px;font-size:14px}

/* 워크시트 */
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 14px;font-size:14px}.check{display:flex;gap:7px;align-items:center;font-weight:600;color:var(--ink)}
.wsbar{position:sticky;top:0;z-index:3;margin-bottom:14px;padding:14px 16px}
.paper{background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #1c376314;max-width:820px;margin:0 auto;padding:44px 52px;font-size:16px;line-height:1.6;color:#17243a;outline:none}
.paper:focus{box-shadow:0 0 0 3px #ffbd5966,0 8px 28px #1c376314}
.paper h1{font-size:28px;margin:0;color:var(--navy)}.paper h2{font-size:19px;color:var(--navy);margin:0}.paper .ws-h td{border:0!important}
.paper h3{font-size:17px;color:#254a9f;margin:18px 0 8px;font-family:inherit}.paper p{margin:0 0 12px}
.paper table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:15px}.paper th,.paper td{border:1px solid #c3cfe4;padding:7px 9px;text-align:left;vertical-align:top}.paper th{background:#eef3fc}
.paper blockquote{margin:8px 0;padding:8px 12px;background:#f7f3e8;border-left:4px solid #b8963e}.paper hr{border:0;border-top:1px dashed #c3cfe4;margin:18px 0}
.ws-head{display:flex;align-items:center;gap:16px;border-bottom:3px solid var(--navy);padding-bottom:12px;margin-bottom:6px}.ws-head img{width:72px;height:72px}.ws-name{color:var(--muted);font-size:14px;margin-top:4px}
@media(max-width:640px){.paper{padding:22px 16px}}

/* 동영상 저작권 안내 */
.vwrap{position:relative;padding-right:64px}
.copyright{position:absolute;right:0;top:0;bottom:0;width:56px;writing-mode:vertical-rl;text-orientation:mixed;font-size:10.5px;line-height:1.35;color:#5b6780;background:#f4f6fb;border:1px solid var(--line);border-radius:12px;padding:10px 5px;overflow:hidden;user-select:none}
.wm{position:absolute;left:0;top:0;pointer-events:none;color:#fff;opacity:.28;font-size:13px;font-weight:700;text-shadow:0 0 3px #000;white-space:nowrap;animation:wmMove 24s linear infinite}
@keyframes wmMove{0%{left:6%;top:10%}25%{left:52%;top:68%}50%{left:8%;top:80%}75%{left:55%;top:16%}100%{left:6%;top:10%}}
@media(max-width:700px){.vwrap{padding-right:0}.copyright{position:static;width:auto;writing-mode:horizontal-tb;margin-top:8px;font-size:11.5px;padding:8px 10px}}

.recbar{font-size:14px;background:#eef6f0;border:1px solid #c9e6d3;color:#1d5b3c;border-radius:12px;padding:9px 13px;margin-bottom:14px}.recbar a{color:inherit;font-weight:800}

/* 나의 학습방 */
.menucard.c-my{border-left:6px solid #7a3fc4}
.stack>.card{margin-bottom:14px}
.stiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:6px 0 14px}
.stile{background:#f4f7fd;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.stile strong{display:block;font-size:22px;color:var(--navy)}.stile span{font-size:13px;color:var(--muted)}
.stable{width:100%;border-collapse:collapse;font-size:14px}.stable th,.stable td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:middle}.stable th{color:var(--muted);font-size:12.5px}
.pbar{position:relative;background:#e8eef9;border-radius:99px;height:18px;min-width:90px;overflow:hidden}.pbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#4271d4,#6a8ff0);border-radius:99px}.pbar span{position:relative;font-size:12px;font-weight:800;padding-left:8px;color:#13284e}
.trend{width:100%;height:auto}.trend .grid{stroke:#e1e7f2}.trend text{font-size:11px;fill:#8391aa}.trend .line{fill:none;stroke:#3c69d5;stroke-width:3;stroke-linejoin:round}.trend .dot{fill:#fff;stroke:#3c69d5;stroke-width:2.5}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#f1f4fa;border:1px solid var(--line);border-radius:99px;padding:5px 11px;font-size:14px}.chip b{color:#a52c47;margin-left:2px}
.monthly .overall{background:#fbf7ec;border-left:4px solid #b8963e;border-radius:8px;padding:10px 14px;margin:12px 0}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px}.area{border:1px solid var(--line);border-radius:14px;padding:12px 14px}.area h3{margin:0;font-size:17px}
.area .good,.area .improve{margin-top:8px;border-radius:10px;padding:8px 11px;font-size:14.5px}.area .good{background:#eef8f2}.area .improve{background:#fff3ec}.area p{margin:4px 0 0}
@media(max-width:580px){.stable{font-size:13px}.stable th,.stable td{padding:6px 3px}}

/* 숙제 관리 */
.hwadd{display:grid;grid-template-columns:1fr 130px 150px 90px auto;gap:8px;margin:12px 0 0}
.hwadd input,.hwadd select,.hwtable input,.hwtable select{border:1.5px solid var(--line);border-radius:9px;padding:8px 9px;width:100%;background:white}
.hwtable td{padding:6px 4px}.hwtable .nowrap{white-space:nowrap}.hwtable .nowrap input{display:inline-block}
.saved{border-color:#2f9e6b!important;background:#eefaf3!important;transition:background .3s}
@media(max-width:760px){.hwadd{grid-template-columns:1fr 1fr}.hwadd input:first-child{grid-column:1/-1}.hwtable{display:block;overflow-x:auto}}
.trend{max-height:220px}.pbar{display:flex;align-items:center}.pbar span{line-height:18px}
.fbmonth{background:var(--card,#fff);border:1px solid var(--line);border-radius:16px;padding:4px 14px}.fbmonth>summary{cursor:pointer;font-weight:700;font-size:17px;padding:10px 0;list-style-position:inside}.fbmonth .card.monthly{border:0;box-shadow:none;padding:0 0 12px;margin:0;background:none}
.newtag{font-size:12px;background:#b8963e;color:#fff;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.fbline{border-left:3px solid #e6dcc0;padding-left:14px;display:grid;gap:14px}.fbstep .fbm{display:block;color:#13284e;margin-bottom:2px}.fbstep .good,.fbstep .improve{margin-top:6px;border-radius:10px;padding:8px 11px;font-size:14.5px}.fbstep .good{background:#eef8f2}.fbstep .improve{background:#fff3ec}.fbstep p{margin:4px 0 0}
.btn.small{padding:7px 12px;font-size:14px}
.mixgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:22px}.mixtile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px!important;text-decoration:none;color:var(--navy);text-align:center}.mixtile img{width:64px;height:auto}.mixtile strong{font-size:17px}a.mixtile:hover{border-color:var(--blue)}.mixtile.off{opacity:.55}
@media(max-width:580px){.mixgrid{grid-template-columns:repeat(3,1fr);gap:8px}.mixtile{padding:10px 6px!important}.mixtile img{width:46px}.mixtile strong{font-size:15px}}
.ttsbox{background:#f4f7ff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0}
.accentrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px!important}
.setname{cursor:pointer}.setname:hover{text-decoration:underline}
.homefab{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;filter:drop-shadow(0 6px 10px #0006);animation:fabWiggle 2.6s ease-in-out infinite;transform-origin:70% 60%;margin:-6px 0 4px -4px}
.homefab .lbl{margin-top:-4px;background:#3a2a00;color:#ffd23f;font-weight:900;font-size:14px;border-radius:999px;padding:3px 12px;letter-spacing:.02em}
.homefab:hover,.homefab:active{animation:none;transform:translateX(-6px) scale(1.06)}
@keyframes fabWiggle{0%,70%,100%{transform:translateX(0) rotate(0)}76%{transform:translateX(-7px) rotate(-6deg)}82%{transform:translateX(0) rotate(3deg)}88%{transform:translateX(-4px) rotate(-3deg)}94%{transform:translateX(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.homefab{animation:none}}
@media(max-width:580px){.homefab svg{width:100px;height:70px}}
header a.back{display:inline-block;background:#ffc928;color:#3a2a00!important;opacity:1!important;border-radius:999px;padding:4px 12px;font-weight:800}
/* ===== 아이보리 & 골드 테마 (2026-10-15, 시안 A) ===== */
:root{--navy:#1b2a4a;--blue:#1b2a4a;--bg:#faf7f0;--line:#ece3cd;--ink:#1b2a4a;--muted:#6b7488;--gold:#b8963e;--gold-d:#8a7031;--gold-l:#f3ead3}
body{background:var(--bg)}
header{background:#faf7f0;color:var(--navy);border-bottom:1px solid #e6dcc4}
header p{color:#5d6780;opacity:1}
header .eyebrow{color:var(--gold);opacity:1;letter-spacing:.28em;font-weight:700}
header .mascot{filter:drop-shadow(0 6px 12px #8a703140)}
.hlogo{box-shadow:0 0 0 1px #d8c79c,0 4px 10px #8a703125}
header a.back{background:transparent!important;color:var(--gold-d)!important;border:1px solid #d8c79c;padding:4px 12px}
header a.back:hover{background:#fff!important}
.card,.tile{border-color:var(--line);box-shadow:0 10px 30px -20px #8a703170}
.btn{background:var(--navy)}.btn:hover:not(:disabled){filter:none;background:#26385f}
.btn.alt{background:#fff;border:1.5px solid #d8c79c;color:var(--gold-d)}.btn.alt:hover{background:#fffaf0}
.btn.ghost{border-color:var(--line)}
.tab{border-color:var(--line);color:var(--navy)}.tab.active{background:var(--navy);border-color:var(--navy)}
.stat{background:#fff;border:1px solid #d8c79c;color:var(--gold-d)}
.speaker{background:#f6efdc;color:var(--gold-d)}
.korean{color:#2a4a8a}.ipa{color:#7a7f95}
.bar{background:var(--gold)}.progress{background:#efe7d3}
.option{border-color:var(--line)}.option:hover:not(:disabled){border-color:var(--gold)}
.flash.back{background:#fbf5e6;border-color:#e2cf9c}
.guide p,.guide p::before{border-color:var(--line)}
.recbar{background:#fbf6ea;border-color:#ead9ad;color:#6d5823}
.notice{background:#fbf6ea;border-color:#ead9ad}
.sechead{display:flex;align-items:center;gap:12px;font-size:24px;margin:30px 0 14px;color:var(--navy)}.sechead::after{content:"";flex:1;height:1px;background:#e6dcc4}
/* 홈 */
header.home.lux{padding:0 max(18px,calc((100vw - 1060px)/2)) 0;border-bottom:0;background:transparent}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e6dcc4}
.tb-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.tb-brand .logo{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 1px #d8c79c}
.tb-brand span{font:700 13px 'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;letter-spacing:.2em;color:var(--gold-d)}
.tb-nav{display:flex;gap:22px}.tb-nav a{color:#4a5670;text-decoration:none;font-size:14px;font-weight:600}.tb-nav a.on,.tb-nav a:hover{color:var(--navy);font-weight:800}
.lux .hero{text-align:center;padding:40px 0 0}
.lux .hero .eyebrow{font-size:12px;letter-spacing:.32em}
.lux .hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.1;margin:12px 0 10px;color:var(--navy)}
.goldrule{width:64px;height:2px;background:var(--gold);margin:18px auto 0}
.lux .cast{position:relative;justify-content:center;gap:2px;margin:24px auto 0;max-width:960px}
.lux .cast::before{content:"";position:absolute;left:4%;right:4%;bottom:0;height:60%;background:radial-gradient(ellipse at 50% 100%,#f1e7cf,transparent 70%);z-index:0}
.lux .cast img{position:relative;z-index:1;max-width:128px;filter:drop-shadow(0 6px 8px #8a703130)}
.menucard{border:1px solid var(--line)!important;border-radius:18px;padding:16px 20px;box-shadow:0 10px 30px -18px #8a703160}
.menucard img{height:70px;width:70px;object-fit:contain;background:#faf4e6;border-radius:50%}
.menucard strong{font-size:17px;color:var(--navy)}
a.settile{border-radius:18px}a.settile:hover{border-color:#d8c79c}
.setno{font:700 13px 'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;color:var(--gold);letter-spacing:.1em;margin-bottom:2px}
.settile h3{font-size:22px}
.settile .stat{background:#fff;border:1px solid #d8c79c;color:var(--gold-d);padding:3px 12px}
.mixgrid{display:flex;flex-wrap:wrap;gap:10px}
.mixtile{flex-direction:row!important;align-items:baseline!important;gap:10px!important;background:var(--navy)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:12px 22px!important;box-shadow:0 8px 20px -12px #1b2a4a90!important}
.mixtile img{display:none}.mixtile strong{font:700 18px 'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;color:#fff}.mixtile .stat,.mixtile .small{background:none;border:0;color:#d9c38a;padding:0;font-size:13px}
a.mixtile:hover{background:#26385f!important}.mixtile.off{opacity:.45}
@media(max-width:600px){.tb-nav{display:none}.lux .hero{padding-top:26px}.lux .cast{flex-wrap:wrap}.lux .cast img{flex:0 0 23%}.mixgrid{display:flex}.mixtile{padding:10px 16px!important}.mixtile strong{font-size:16px}.sechead{font-size:21px}}
/* 나의 학습방 · 통계 */
.monthly .overall{background:#fbf6ea;border-left-color:var(--gold)}
.pbar i{background:linear-gradient(90deg,#e2c77d,#b8963e)!important}.pbar{background:#f1ead8!important}
.trend .line{stroke:var(--navy)!important}.trend .dot{fill:#fff!important;stroke:var(--gold)!important}
.fbmode.active{background:var(--navy)}
/* 퀴즈 머리: 노란 화살표 왼쪽 위(로고보다 작게), 로고 오른쪽 위 */
.qhead{padding-top:14px}
.qhead .hlogo{float:none;position:absolute;top:14px;right:max(14px,calc((100vw - 1060px)/2));width:76px;height:76px;margin:0;z-index:2}
.qhead .homefab{margin:0 0 6px -2px}
.qhead .homefab svg{width:68px!important;height:48px!important}
.qhead .homefab .lbl{font-size:11px;padding:2px 9px;margin-top:-3px}
.qhead .mascot{height:118px}
@media(max-width:580px){.qhead .hlogo{width:60px;height:60px;top:12px}.qhead .homefab svg{width:58px!important;height:41px!important}.qhead .mascot{height:84px}}
/* 노란 화살표: 테마에 맞춘 차분한 버전 (2026-10-15) */
.qhead .homefab{display:inline-flex;flex-direction:row;align-items:center;gap:8px;animation:none;filter:none;margin:4px 0 10px;padding:4px 14px 4px 4px;border:1px solid #e3cf95;border-radius:999px;background:#fffaf0;color:var(--navy);text-decoration:none;transition:background .15s,transform .15s}
.qhead .homefab .arr{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#f7d564,#e5b62e);color:var(--navy);box-shadow:inset 0 0 0 1px #c99a1e,0 3px 8px #b8963e40}
.qhead .homefab .lbl{background:none;color:var(--navy);font-size:14px;font-weight:700;padding:0;margin:0;letter-spacing:0}
.qhead .homefab:hover{background:#fff3d6;transform:translateX(-2px)}
@media(max-width:580px){.qhead .homefab .arr{width:34px;height:34px}.qhead .homefab .lbl{font-size:13px}}
.qhead .homefab .arr svg{width:20px!important;height:20px!important;margin-left:-2px}
.ttslist{margin-top:10px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.ttstable{width:100%;border-collapse:collapse;font-size:14px}.ttstable th{text-align:left;font-size:12px;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line)}.ttstable td{padding:4px 6px;border-bottom:1px solid #f3eddf}.ttssay{width:100%;min-width:110px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:14px}
.spk{display:inline-flex;gap:4px;vertical-align:middle}.speaker.slow{background:#fff;border:1px solid #e3cf95;color:var(--gold-d);font-size:15px}
/* 퀴즈 결과 화면 (깔끔한 아이보리·골드) */
.result{max-width:440px;margin:4px auto;text-align:center;padding:8px 4px 4px;animation:rFade .45s ease-out}
@keyframes rFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.result .rchar{display:block;height:96px;width:auto;margin:0 auto 6px}
.result .reyebrow{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);font-weight:700}
.result .rtitle{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;font-weight:700;font-size:clamp(30px,7vw,40px);line-height:1.15;margin:4px 0 4px;color:var(--navy)}
.result.excellent .rtitle{color:var(--gold-d)}
.result .rsub{margin:0 0 18px;color:var(--muted);font-size:15px}
.result .rring{--deg:0deg;width:148px;height:148px;margin:0 auto 18px;border-radius:50%;background:conic-gradient(var(--gold) var(--deg),var(--line) 0);display:grid;place-items:center}
.result .rring>div{width:126px;height:126px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--line)}
.result .rring strong{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;font-size:38px;line-height:1;color:var(--navy)}
.result .rring small{font-size:17px;margin-left:1px}
.result .rring span{font-size:13px;color:var(--muted);margin-top:4px}
.result .rstats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 18px}
.result .rstats>div{padding:10px 4px}.result .rstats>div+div{border-left:1px solid var(--line)}
.result .rstats b{display:block;font-size:20px;color:var(--navy)}.result .rstats span{font-size:12px;color:var(--muted)}
.result .ractions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result .ractions .btn{width:100%;padding:12px}
/* 단어 사전 */
.dictbar{display:flex;gap:8px}.dictbar input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:17px;background:#fff}
.dictbar input:focus{outline:none;border-color:var(--gold)}
.dictopts{margin-top:12px;justify-content:space-between}.dictlevel{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.dictrecent{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{border:1px solid var(--line);background:#fffaf0;color:var(--navy);border-radius:999px;padding:4px 12px;font-size:14px}
.dictcard{margin-top:14px}.dicthead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.dicthead h2{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;font-size:clamp(30px,7vw,40px);margin:0;color:var(--navy);line-height:1.15;overflow-wrap:anywhere}
.dictbadge{display:inline-block;margin:8px 0 0;font-size:13px;background:#faf4e6;color:var(--gold-d);border-radius:999px;padding:3px 12px}
.dictmean{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.dictnum{width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;display:grid;place-items:center;font-weight:700}
.dictpos{font-size:13px;color:var(--gold-d);font-weight:700}
.dictko{font-size:21px;font-weight:800;color:var(--navy);margin:6px 0 2px}.dicten{color:var(--muted)}
.dictex{background:#faf7f0;border-radius:12px;padding:10px 12px;margin-top:10px}.dictex p{margin:0;font-style:italic}.dictex p.small{font-style:normal;margin-top:4px}
.dictnote{margin:14px 0 0;background:#fff8e6;border-radius:12px;padding:10px 12px;font-size:14px}
.menucard.c-dict{border-left:6px solid #b8963e}
.dictopts .accentrow{padding:0!important;border:0!important;background:none!important;box-shadow:none!important}.dictopts .accentrow .btn{padding:8px 14px}
@media(max-width:600px){#siteTitle .t1{display:block;line-height:1.05}#siteTitle .t2{display:block;font-size:.62em;margin-top:6px;letter-spacing:.01em}}
.ttstable .exrow td{background:#fcfaf4}.ttstable .exrow td:first-child{padding-left:18px;color:var(--muted)}
.rectag{font-size:11px;background:#fdecc8;color:#8a5a00;border-radius:999px;padding:1px 7px;white-space:nowrap}
.mini.recording{background:#d1495b!important;color:#fff!important;animation:recPulse 1s infinite}
@keyframes recPulse{50%{opacity:.6}}
/* 🎤 말해보기 */
.sptabs{justify-content:center;margin-bottom:12px}
.spcard{max-width:560px;margin:0 auto;text-align:center}
.sptext{font-family:'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;color:var(--navy);font-weight:700;margin:18px 0 6px;overflow-wrap:anywhere}
.sptext.word{font-size:clamp(34px,8vw,48px)}.sptext.example{font-size:clamp(20px,4.6vw,26px);line-height:1.4}
.spko{color:var(--muted);margin-bottom:18px}
.spsteps{display:grid;gap:10px;max-width:320px;margin:0 auto}.spsteps>div{display:flex;align-items:center;gap:10px}.spsteps .btn{flex:1;padding:13px}
.spn{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;display:grid;place-items:center;flex:0 0 auto}
.btn.sprec{background:#b8963e}.btn.sprec.recording{background:#d1495b;animation:recPulse 1s infinite}
.vpick{border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;background:#fff}
.vpicklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px;max-height:260px;overflow:auto}
.vpickrow{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer}.vpickrow:hover{background:#faf7f0}
/* 🎥 쉐도잉 */
#shadow{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.shrec{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.shrec video{width:200px;max-width:45%;border-radius:12px;background:#000;transform:scaleX(-1)}
.shtime{font-weight:800;font-size:18px;color:var(--navy)}
.shprev{width:100%;max-width:420px;border-radius:12px;background:#000;display:block}
/* 📚 Read Aloud */
.menucard.c-read{border-left:6px solid #1aa0c8}
.ratext{white-space:pre-wrap;background:#faf7f0;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:19px;line-height:1.75;margin:0 0 14px;max-height:55vh;overflow:auto;font-family:Georgia,'Times New Roman',serif}
.raitem{border-top:1px solid var(--line);padding:12px 0}.raitem:first-child{border-top:0}
.rafb{background:#fff8e6;border-radius:12px;padding:10px 12px;margin-top:8px}.rafb p{margin:4px 0}.rastars{color:#c58b00;letter-spacing:2px}
.rafbform{display:flex;gap:8px;align-items:flex-start;margin-top:8px;flex-wrap:wrap}.rafbform textarea{flex:1 1 260px;border:1.5px solid var(--line);border-radius:10px;padding:8px}.rafbform select{border:1px solid var(--line);border-radius:10px;padding:8px}
.tlogin{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.voicepanel{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.vsrow{margin:6px 0}.vsrow b{min-width:140px;font-size:14px}.vsrow select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;min-width:190px}
/* 🗣 문장 쉐도잉 */
.shs{padding:14px}.shsstage{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;aspect-ratio:16/10;display:flex;flex-direction:column}
.shsstage img{flex:1;min-height:0;width:100%;object-fit:contain;background:#faf7f0}
.shscap{background:#1b2a4a;color:#fff;padding:12px 14px;text-align:center;min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.shskw{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.shskw span{font-size:clamp(20px,3.4vw,32px);font-weight:800;color:#ffd86b;letter-spacing:.01em}
.shskw span+span::before{content:'·';color:#ffffff66;margin-right:8px}
.shssent{font-size:clamp(16px,2.4vw,22px);font-weight:600}
.shsbadge{position:absolute;top:12px;left:12px;background:#1b2a4ad9;color:#fff;border-radius:999px;padding:6px 14px;font-weight:800;font-size:15px}.shsbadge:empty{display:none}
.shsbadge.speak{background:#b8963e}.shsbadge.done{background:#167a58}
.shscount{position:absolute;top:12px;right:12px;width:74px;height:74px;border-radius:50%;background:#b8963e;color:#fff;font-size:38px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #0003}
.shsinfo{display:flex;justify-content:space-between;align-items:center;margin:10px 2px 6px;font-weight:700;color:var(--navy);font-size:14px;gap:8px;flex-wrap:wrap}
.shsdots{display:flex;gap:6px}.shsdots i{width:12px;height:12px;border-radius:50%;background:#e4e0d4;display:block}.shsdots i.on{background:#b8963e}.shsdots i.cur{outline:2px solid #1b2a4a;outline-offset:1px}
.shsprog{height:8px;background:#ece7da;border-radius:99px;overflow:hidden;margin-bottom:12px}.shsprog div{height:100%;width:0;background:#b8963e;transition:width .4s}
.shsctl{gap:8px}.shstile img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin-bottom:8px;background:#faf7f0}
.shsedit .scrow{display:grid;grid-template-columns:150px 1fr;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#fff}
.shsedit .scimg{width:150px;aspect-ratio:16/10;border-radius:10px;background:#faf7f0 center/contain no-repeat;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);cursor:pointer}
.shsedit textarea,.shsedit input[type=text]{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
@media(max-width:580px){.shsedit .scrow{grid-template-columns:1fr}.shsedit .scimg{width:100%}}
/* 📖 내 책 · 책·레벨 */
.bkgroup{margin-bottom:18px}.bkghead{margin:0 0 8px;color:var(--navy);font-size:17px}
.bkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
a.bktile{position:relative;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;padding:12px!important;transition:transform .12s,border-color .12s}a.bktile:hover{transform:translateY(-2px);border-color:#c9a64a}
.bktile img,.bkph{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#faf3e3}.bkph{display:flex;align-items:center;justify-content:center;font-size:44px}
.bktile strong{font-size:14.5px;line-height:1.35;color:var(--navy)}.bkno2{position:absolute;top:18px;left:18px;background:#13284e;color:#fff;border-radius:999px;min-width:26px;height:26px;padding:0 7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.bkhero{display:block;width:140px;border-radius:12px;margin:0 0 14px;box-shadow:0 6px 18px #0002}
.bkacts{display:grid;gap:10px}a.bkact{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:14px 16px!important}a.bkact:hover{border-color:#c9a64a}.bkact strong{display:block;color:var(--navy)}.bkicon{font-size:26px}.bkgo{margin-left:auto;font-size:20px;color:var(--muted)}
.bklevel{margin:18px 0 6px;font-size:17px;color:var(--navy)}.bkrow{padding:8px 0}.bkcover{width:42px;height:56px;object-fit:cover;border-radius:6px;background:#faf3e3;flex:none}.bkno{display:flex;align-items:center;justify-content:center;font-size:20px}
.bkpick{width:110px!important;aspect-ratio:3/4!important;flex:none}
.lvpick select{width:auto;padding:4px 8px;font-size:13.5px;border-radius:8px}
@media (max-width:520px){.bkgrid{grid-template-columns:repeat(2,1fr)}}
.bkstate{font-size:12px;font-weight:800;border-radius:999px;padding:2px 9px;align-self:flex-start}.bkstate.now{background:#c9a64a;color:#fff}.bkstate.done{background:#e6f3ec;color:var(--green)}.bkstate.lock{background:#eef0f5;color:var(--muted)}
.bktile.locked{opacity:.55;filter:grayscale(.6);cursor:not-allowed}.bktile.cur{border-color:#c9a64a;box-shadow:0 0 0 2px #c9a64a55}
.lvset{display:inline-flex;gap:4px;flex-wrap:wrap}
.shssum{order:-1;flex:1;min-height:0;overflow:hidden;background:#faf7f0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;padding:8px;z-index:1;align-content:center}.shssum div{position:relative;display:flex;align-items:center;justify-content:center;min-height:60px}.shssum img{flex:none;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.shssum b{position:absolute;left:4px;top:4px;background:#13284e;color:#fff;border-radius:999px;width:22px;height:22px;font-size:12px;display:flex;align-items:center;justify-content:center}
.shsstage .shsbadge,.shsstage .shscount{z-index:2}

.shssum.hide{display:none}
.goalbox{background:#fff8e6;border:1px solid #ecd9a6;border-radius:12px;padding:10px 14px;margin:10px 0}
.bktile{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px!important}.bkph{aspect-ratio:4/3}
.shscam{position:absolute;right:10px;bottom:10px;width:28%;max-width:200px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:3px solid #fff;box-shadow:0 4px 14px #0005;transform:scaleX(-1);z-index:3;background:#000}
.shsrecbox .shsstage .shscap{padding-right:32%}
.shsrecstage{aspect-ratio:16/9;display:block}.shsrecstage canvas{display:block;width:100%;height:100%}
.shsrecbox .shsstage .shscap{padding-right:0}
.shsrecstage .shscam{top:8px;bottom:auto;right:8px;width:26%}
/* 📒 나의 조심 노트 (글쓰기 왼쪽) */
.wlayout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;align-items:start}
.mnote{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;background:#fffdf5 repeating-linear-gradient(#fffdf5 0 27px,#dfe7f3 27px 28px);border:1px solid #e6dcc2;border-left:6px solid #e8a2a2;border-radius:6px 14px 14px 6px;padding:12px 14px 12px 18px;box-shadow:0 6px 18px #1b2a4a14;font-size:14px;line-height:28px}
.mnhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--navy);font-size:16px}.mnhead span{font-size:12px;color:var(--muted)}
.mnitem{margin:6px 0 10px}.mnt{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;color:#8f2139}.mnt small{color:var(--muted);font-size:11.5px}.mnc{margin-left:auto;font-size:12px;font-weight:800;color:var(--muted)}.mnitem.hot .mnc{color:#c0392b}
.mntip{color:#5b4a2a;font-size:13px;line-height:22px}.mnex{font-size:13px;line-height:22px;word-break:break-word}.mnex s{color:#a33;text-decoration-color:#c55}.mnex b{color:var(--green)}
.mnempty,.mnfoot{color:var(--muted);font-size:13px;line-height:22px;margin:8px 0 0}
@media (max-width:860px){.wlayout{grid-template-columns:1fr}.mnote{position:static;max-height:none}}

/* 🐵 History(세계사) 쉐도잉 영상: 원숭이 캐릭터 */
.settile.histv{position:relative}
.settile .histbadge{position:absolute;right:10px;top:10px;width:64px;height:64px;border-radius:50%;background:#fffdf8;box-shadow:0 2px 10px #0003;object-fit:cover;z-index:1}
.histface{width:44px;height:44px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;background:#fffdf8;box-shadow:0 1px 6px #0002}
.bkicon .histface{width:30px;height:30px;margin:0}

.vfilter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.vgroup .sechead{margin-top:18px}
/* 📅 이번 주 학습 확인 · 👪 학부모 리포트 */
.wknone{background:#fff4f4;border:1px solid #f0c9cf;border-radius:14px;padding:12px 14px;margin-bottom:12px}.wknone div{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
.wkall{background:#effaf4;border:1px solid #bfe5cf;border-radius:14px;padding:12px 14px;margin-bottom:12px;font-weight:700}
.wktable{overflow-x:auto}.wktable table{border-collapse:collapse;width:100%;font-size:14px}.wktable th,.wktable td{padding:8px 10px;border-bottom:1px solid #eee4cf;text-align:left;white-space:nowrap}.wktable th{font-size:13px;color:#6b6250}.wktable tr.wkzero td{background:#fff8f8}
.rpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.rptile{display:flex;gap:12px;align-items:center;margin:0}.rpicon{font-size:30px}.rpval{font-size:24px;font-weight:800;color:#1b2a4a}
.rparea{padding:10px 0;border-top:1px solid #eee4cf}.rparea:first-of-type{border-top:0}.rptags{display:flex;gap:6px;flex-wrap:wrap}

/* 🔁 오늘의 복습 */
.reviewcard{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;border:2px solid #b8963e;background:#fffaf0;margin-bottom:16px}.reviewcard img{width:64px;height:64px;object-fit:contain}.reviewcard span:nth-child(2){flex:1;display:flex;flex-direction:column}.reviewcard strong{font-size:18px}.reviewcard small{color:#6b6250}.reviewcard.done{border-color:#dcd3bd;background:#fff}
/* 🤖 AI 발음 피드백 */
.proncard{background:#f5f8ff;border:1px solid #cfdcf5;border-radius:14px;padding:12px 14px;margin:10px 0;text-align:left}.pronstars{color:#d39b1c;letter-spacing:1px}.pronwords{display:grid;gap:8px;margin-top:6px}.pronwords>div{background:#fff;border-radius:10px;padding:8px 10px}.pronpill{background:#eef3ff;color:#1b2a4a}
.dictbook{margin-top:12px;display:inline-block}
/* 🎞 그림은 카드 오른쪽 위, 단어와 같은 높이 */
.dictgif{float:right;width:min(42%,230px);margin:0 0 10px 14px;text-align:center;background:#faf7f0;border-radius:14px;padding:6px}
.dictgif img{width:100%;height:auto;max-height:200px;object-fit:contain;border-radius:10px;display:block}
.dictgifbar{margin-top:4px;display:grid;gap:4px}.dictgifby{font-size:10px;color:var(--muted)}.dictgifbar .btn{padding:4px 8px;font-size:12px}
.dictcard .dicthead{display:flex}.dictcard .dictmean,.dictcard .dictsyn,.dictcard .dictnote{overflow:hidden}
@media(max-width:480px){.dictgif{width:40%;margin-left:10px}.dictcard .dicthead{flex-direction:column;gap:6px}}
.wbtools select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.wbopts{margin-top:12px;gap:16px;font-size:14px}.wbopts label{display:flex;gap:6px;align-items:center}
.wbpaper{margin-top:14px}.wbhead{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:0 2px 8px;flex-wrap:wrap}
.wbtable{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:15px}
.wbtable th{background:var(--navy);color:#fff;text-align:left;padding:8px 10px;font-size:13px;white-space:nowrap}
.wbtable td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top}
.wbn{color:var(--muted);width:28px}.wbw{font-size:17px;color:var(--navy)}.wbko{font-weight:700;color:var(--navy);min-width:90px}
.wbtest .wbko{min-width:140px}.wbdel{padding:4px 9px;font-size:13px}
@media(max-width:640px){.wbtable{font-size:13px}.wbtable th,.wbtable td{padding:6px}}
@media print{
  header,.noprint,#langBtn,.inappbar{display:none!important}
  body{background:#fff}main{padding:0;max-width:none}
  .wbtable{font-size:11.5pt;border-radius:0}.wbtable th{background:#eee!important;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .wbtable td,.wbtable th{border:1px solid #999}.wbtable tr{break-inside:avoid}
  .wbtest td.wbko{height:30px}
}
.dictsyn{margin-top:12px;display:grid;gap:4px;font-size:14px}.dictsyn b{color:var(--gold-d);margin-right:6px}
.wbipa{color:#56709a;white-space:nowrap}
@media print{.wbtest td.wbblank{min-width:90px}}
.wbscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.wbex{min-width:200px}.wbpos{min-width:44px}
@media print{.wbscroll{overflow:visible}.wbex{min-width:0;width:30%}}
.btn.ghost:hover:not(:disabled){background:#f6f2e8;color:var(--ink)}a.btn{text-decoration:none}
@media(max-width:480px){.dictcard .dictmean{clear:right}}
.dictsrc{margin:12px 0 0;clear:both}.dictsrc a{color:var(--gold-d)}
.dictwait{color:var(--muted);font-weight:600;font-size:16px;animation:dictPulse 1.2s ease-in-out infinite}
@keyframes dictPulse{50%{opacity:.4}}
.secpick{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.secchip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-size:13px;color:var(--muted)}
.secchip.on{background:#e8f0ff;border-color:#9db5e6;color:var(--ink,#13284e);font-weight:600}
.secchip input{margin:0}
.vrstage{background:#000}.vrstage #vrV,.vrstage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.vrcount{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:96px;font-weight:800;color:#fff;text-shadow:0 2px 12px #000;z-index:4;background:#0006}
.shstile .vtag{display:inline-block;margin-left:6px}
.shvthumb{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#152b52,#3153a1);color:#fff;font-size:40px;border-radius:12px}
.wsacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px 14px;font-size:14px}
.wsact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.wsact.on{border-color:#9db5e6;background:#f2f6ff}
.wsact .check{flex:1;min-width:0}
.wsnum{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;border:2px dashed #c3cfe4;font-size:13px;font-weight:800;color:#fff;flex:none}
.wsact.on .wsnum{background:#13284e;border:2px solid #13284e}
.wsact input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.wschar{display:inline-flex;align-items:center;gap:4px;flex:none}.wschar img{height:30px;width:auto}.wschar select{width:auto;padding:3px 6px;font-size:12.5px;border-radius:8px}
.wsact:not(.on) .wschar{opacity:.45}
#wsPaper table.ws-h td:last-child{cursor:pointer;min-width:40px}
.wscharpick{position:absolute;z-index:20;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px #0003;padding:10px;display:grid;grid-template-columns:repeat(4,64px);gap:6px;max-width:300px}
.wscharpick .small{grid-column:1/-1}
.wscharpick button{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);border-radius:10px;background:#faf7f0;padding:4px;cursor:pointer;font:inherit}
.wscharpick button:hover{border-color:#13284e}.wscharpick img{height:40px;width:auto}.wscharpick span{font-size:22px;line-height:40px}.wscharpick small{font-size:11px}
@media print{.wscharpick{display:none}}
.wsfmtbar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:13.5px}
.wsfmtbar label{display:inline-flex;align-items:center;gap:4px;font-weight:600}.wsfmtbar select{width:auto;padding:3px 6px;font-size:13px;border-radius:8px}
.wsfmtlab{font-weight:800;color:var(--navy)}
.paper.wsfmt table{font-size:inherit}.paper.wsfmt h1{font-family:inherit}.paper.wsfmt p{margin:0 0 .7em}
.hintbar{background:#fff7dc;border:1px solid #f1d58a;border-radius:12px;padding:10px 14px;margin:0 0 12px;line-height:1.6;font-size:14.5px}
/* 숙제 공지 · 날짜별 피드백 */
.hnpick{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow:auto;padding:4px 0}
.hnpick label{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:14px;background:#fff}
.hnpick label.on{border-color:#13284e;background:#eef3ff;font-weight:600}
.hnpick input{margin:0}
.dfopts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.dfopts button{border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff;font:inherit;font-size:14px;cursor:pointer}
.dfopts button.on.t-g{background:#2e8b57;border-color:#2e8b57;color:#fff}.dfopts button.on.t-o{background:#2f6fd0;border-color:#2f6fd0;color:#fff}
.dfopts button.on.t-w{background:#e08a1e;border-color:#e08a1e;color:#fff}.dfopts button.on.t-b{background:#c8423b;border-color:#c8423b;color:#fff}
.dfopts button.on.t-n{background:#eee;border-color:#999}
.dfbadge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;color:#fff;white-space:nowrap}
.dfbadge.t-g{background:#2e8b57}.dfbadge.t-o{background:#2f6fd0}.dfbadge.t-w{background:#e08a1e}.dfbadge.t-b{background:#c8423b}.dfbadge.t-x{background:#999}
.dfrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px dashed var(--line)}
.dfmiss{background:#fff4e5;border-radius:10px;padding:8px 12px;margin-bottom:6px}.dfmiss p{margin:4px 0 0}
.dfok{color:#2e8b57;font-weight:600;margin-bottom:6px}
.dfnote{margin:10px 0 0;background:#f4f7fb;border-radius:10px;padding:8px 12px}
.hntext{margin:8px 0 0;font-size:16px;line-height:1.6}
.hncard.past{opacity:.7}
.dftable td{vertical-align:top}.dftable .dfbadge{font-size:12px}
.hnitem{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.hnitem .hntext{margin:4px 0 6px;font-size:15px}
.dftable tr.sel td{background:#eef3ff}
.hnpick label{white-space:nowrap;flex-direction:row}
.pos{font-size:.6em;font-weight:600;font-style:italic;color:#8a6d2b;letter-spacing:0;white-space:nowrap}
.hwtabs{margin-bottom:14px}
.hngroups{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px}
.hgchip{border:1.5px solid #b8963e;border-radius:999px;padding:6px 12px;background:#fffaf0;font:inherit;font-size:14px;cursor:pointer}
.hgchip b{margin-left:4px;color:#8a6d2b}.hgchip.on{background:#13284e;border-color:#13284e;color:#fff}.hgchip.on b{color:#f3d99a}.hgchip:disabled{opacity:.45;cursor:default}
.hnpick label small{font-size:11px;margin-left:2px}
.grnames{display:flex;flex-wrap:wrap;gap:8px}
.grname{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:12px;padding:6px 8px;background:#fff}
.grname input{width:110px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:14px}
#grList select.saved{outline:2px solid #2e8b57}
.clspick{display:inline-flex;align-items:center;gap:4px;margin-top:6px}.clspick select{border:1.5px solid #b8963e;border-radius:8px;padding:4px 8px;background:#fffaf0;font:inherit;font-size:13px}
.wsquizopt label{display:flex;gap:8px;align-items:flex-start;font-weight:500}.wsquizopt{background:#fffaf0;border:1.5px dashed #b8963e;border-radius:12px;padding:10px 12px}
@media print{.paper,.paper *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
/* 🤝 공유 자료 */
.libbtn.on{background:#eef7f0;border-color:#2e8b57;color:#1f6e43}
.libhead{margin:18px 0 6px;padding-top:12px;border-top:2px dashed #dcd3bd;font-size:16px;color:#8a6d2b}
.libtabs{margin:10px 0 0}
.libprev{margin-top:8px}.libscroll{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.libws{font-size:13px}.libws img{max-width:90px}
.libscenes{margin:6px 0;padding-left:20px}.libscenes li{display:flex;gap:8px;align-items:center;margin:4px 0}.libscenes img{width:56px;height:56px;object-fit:cover;border-radius:8px}

/* 📄 워크시트 쪽 나눠 보기 (A4·B4, 인쇄와 같은 여백·글자 크기) */
.wspages{overflow-x:auto;padding:2px 2px 12px}
.paper.wspaged{max-width:none;margin:0 auto;padding:16mm 15mm;border-radius:3px;font-size:12pt;line-height:1.55;position:relative;overflow:visible}
.paper.wspaged h1{margin:0 0 4pt}.paper.wspaged h3{font-size:12.5pt;margin:12pt 0 6pt}.paper.wspaged h4{font-size:12pt;margin:10pt 0 4pt}
.paper.wspaged p{margin:0 0 8pt}.paper.wspaged td p,.paper.wspaged th p{margin:0}.paper.wspaged blockquote{margin:6pt 0;padding:6pt 10pt}
.paper.wspaged .ws-head{gap:14pt;padding-bottom:8pt;margin-bottom:6pt}.paper.wspaged .ws-head img{width:62pt;height:62pt}.paper.wspaged .ws-name{font-size:11pt;margin-top:4pt}
div.ws-pg,li.ws-pg{display:block;margin:0;padding:0;list-style:none;border:0}
.ws-pgsp{position:relative;pointer-events:none;user-select:none;background:linear-gradient(to bottom,transparent 0,transparent var(--a),#dde3ec var(--a),#dde3ec calc(var(--a) + 26px),transparent calc(var(--a) + 26px))}
.ws-pgsp::before{content:'';position:absolute;left:0;right:0;top:var(--a);height:26px;box-shadow:inset 0 6px 6px -6px #1c376340,inset 0 -6px 6px -6px #1c376340}
.ws-pgsp::after{content:'PAGE ' attr(data-pg);position:absolute;left:0;right:0;top:var(--a);height:26px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#7a879c;letter-spacing:.08em}
#wfPages{font-weight:700}
@media print{.ws-pg{display:none!important}}

/* 📝 단어 시험지 만들기 (선생님 전용) */
.tsbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff8e6;border:1px dashed #d9b45a;border-radius:14px;padding:10px 14px;margin-bottom:14px}
.tsdlg{width:min(980px,96vw);max-height:94vh;border:0;border-radius:18px;padding:20px;box-shadow:0 20px 60px #0004}.tsdlg::backdrop{background:#13284e88}
.tscols{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.tscol{display:flex;flex-direction:column;gap:4px;background:#f3f6fc;border-radius:12px;padding:10px 12px}
.tscol select{padding:6px 8px;border-radius:8px;border:1px solid var(--line)}
.tsrow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:14px}.tsrow label{display:inline-flex;align-items:center;gap:5px;font-weight:600}.tsrow select{width:auto;padding:4px 6px;border-radius:8px;border:1px solid var(--line);font-size:14px}
.tsprev{margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#e9edf3}.tsprev iframe{width:100%;height:46vh;border:0;background:white;display:block}
@media(max-width:820px){.tscols{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.tscols{grid-template-columns:1fr}}

/* 🏠 홈: Homework · Feedback 💌 작은 상자 (예전 크기의 반) */
.hfrow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.hfrow:has(> .minicard:not(.hide)){margin-bottom:14px}
.reviewcard.minicard{flex:1 1 200px;gap:8px;padding:7px 12px;margin:0;border-width:1.5px;border-radius:12px}
.reviewcard.minicard img{width:30px;height:30px}.reviewcard.minicard strong{font-size:14px;line-height:1.2}.reviewcard.minicard small{font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reviewcard.minicard span:nth-child(2){min-width:0}.reviewcard.minicard .bkgo{font-size:14px}
.reviewcard.fbcard{border-color:#e7a3b5;background:#fff4f7}

/* 📖 책 칸 위 레벨 칸 */
.bklvsel{display:block;width:100%;margin:0 0 6px}
/* 🎤 문장 말해보기: 단어 퀴즈 예문과 같은 읽기 쉬운 글씨체 (Playfair 대신 기본 글씨체) */
.sptext.example{font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-style:italic;font-weight:600;letter-spacing:0}
/* ✂️ 쉐도잉 그림 자르기 */
.cropdlg{width:min(920px,96vw);max-height:96vh;border:0;border-radius:18px;padding:18px;box-shadow:0 20px 60px #0004}.cropdlg::backdrop{background:#13284e88}
.cropwrap{display:flex;justify-content:center;background:#f3f1ec;border-radius:12px;padding:8px;overflow:auto}
.cropwrap canvas{max-width:100%;height:auto;touch-action:none;cursor:crosshair;border-radius:4px}
.shsedit .scimgbar{display:flex;flex-direction:column;gap:4px;margin-top:6px;align-items:flex-start}
/* 문장 쉐도잉: 원하는 문장으로 이동 · 다시 듣기 */
.shsjump{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 4px}.shsjump .mini{min-width:34px}.shsjump .mini.on{background:#1b2a4a;color:#fff;border-color:#1b2a4a}.shsjsep{flex:0 0 8px}
.shsseek{gap:10px;margin-top:10px;flex-wrap:nowrap;align-items:center}.shsseek input[type=range]{flex:1;min-width:80px;accent-color:#b8963e}.shsseek .btn{white-space:nowrap}
.shsedit .scvoice{gap:8px;margin-top:6px;flex-wrap:wrap;align-items:center}.shsedit .scvoice select{width:auto;max-width:230px;padding:4px 8px}
.shsedit .screcbtn.recording{background:#d64545;color:#fff;border-color:#d64545}.shsedit .screc{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
/* ✏️ 워크시트 표 고치기 막대 */
.wstbar{position:absolute;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:#1b2a4a;color:#fff;border-radius:12px;padding:6px 8px;box-shadow:0 6px 20px #0004;max-width:calc(100vw - 16px)}
.wstbar button{background:#fff;color:#1b2a4a;border:0;border-radius:8px;padding:4px 8px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}.wstbar button:hover{background:#ffe9a8}
.wstbar i{width:1px;height:18px;background:#ffffff55;margin:0 2px}.wstbar.hide{display:none}
body.wscolres #wsPaper td,body.wscolres #wsPaper th,body.wscolres #wsKey td,body.wscolres #wsKey th,body.wscoldrag,body.wscoldrag *{cursor:col-resize!important}body.wscoldrag{user-select:none}
/* 🔤 영어 단어(퀴즈·카드·사전·말해보기)는 스펠링이 잘 보이는 단순한 글씨체 (예문과 같은 Pretendard) */
.tile h3,.flash .big,.question,.dicthead h2,.sptext{font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:.01em;font-weight:800}
/* ✏️ 퀴즈 종류 3가지 */
.qmodes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 16px}
.qmode{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:2px solid var(--line);border-radius:16px;padding:14px 8px;color:var(--ink);text-align:center;line-height:1.35}
.qmode b{font-size:18px;color:var(--navy)}.qmode span{font-size:14px;font-weight:650}
.qmode:hover{border-color:#b8963e}.qmode.on{border-color:#b8963e;background:#fff7e3;box-shadow:0 0 0 3px #b8963e33}
.question.qword{font-size:clamp(28px,6vw,40px);color:var(--navy);text-align:center}
@media(max-width:520px){.qmodes{gap:6px}.qmode{padding:10px 4px}.qmode b{font-size:15px}.qmode span{font-size:12.5px}}
/* 🎤 내 목소리 크기 막대 (촬영 화면) */
.vmeter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 2px;position:relative}.vmeter b{font-size:14px;white-space:nowrap}
.vmbar{position:relative;flex:1;min-width:120px;height:16px;border-radius:99px;background:#e9e4d8;overflow:hidden}.vmbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#e0a93b;border-radius:99px;transition:width .08s linear}
.vmbar span{position:absolute;top:0;bottom:0;border-left:2px dashed #1b2a4a99}.vmeter.good .vmbar i{background:#2f9e62}
.vmok{font-style:normal;font-size:13px;font-weight:700;min-width:84px;text-align:center;padding:3px 10px;border-radius:99px;background:#f3eee2;color:#7a5a12}.vmeter.good .vmok{background:#e2f5ea;color:#1e7a49}
.vmhint{flex-basis:100%;background:#fff1c1;color:#7a4b00;border-radius:12px;padding:7px 12px;font-weight:700;font-size:14px;text-align:center}
.dkey summary{cursor:pointer;list-style-position:inside}.dkey summary .warn{color:#a86b00;font-weight:700}.dkey code{background:#f1ede3;padding:1px 5px;border-radius:5px}
.wskind{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.wskind label{display:flex;align-items:center;gap:8px;border:2px solid #d8deea;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;background:#fff}.wskind label small{font-weight:400;color:#5d6b82}.wskind label.on{border-color:#2f5fbf;background:#eef3fc}.wskind input{margin:0}
.shsedit .scpics{margin:10px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:#fbf8ff}
.dbgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}@media(max-width:640px){.dbgrid{grid-template-columns:1fr}}
.dbm{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}.dbm p{margin:6px 0 0}
.dbbar{height:12px;border-radius:99px;background:#eef1f6;overflow:hidden;margin-top:8px}.dbbar i{display:block;height:100%;border-radius:99px;background:#3aa76d}
.dbm.warn .dbbar i{background:#e0a020}.dbm.bad .dbbar i{background:#d9534f}.dbm.bad{border-color:#f1b7b5}
.dbtable{width:100%;border-collapse:collapse;font-size:14px}.dbtable th,.dbtable td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.dbtable td:not(:first-child),.dbtable th:not(:first-child){text-align:right}
/* 📚 단어 세트 영역 탭 (학생 홈) · 영역 표 (학생 관리) */
.areatabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.areatab{border:1.5px solid var(--gold,#b8963e);border-radius:999px;padding:9px 16px;background:#fffaf0;color:var(--navy);font-weight:750;cursor:pointer}
.areatab b{margin-left:4px;color:#8a6d2b;font-size:13px}.areatab.on{background:var(--navy);border-color:var(--navy);color:#fff}.areatab.on b{color:#f3d99a}
@media(max-width:580px){.areatab{flex:1 1 44%;padding:9px 10px;font-size:15px}}
.areapill{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#f3ead3;color:#6e5520;margin-left:6px;vertical-align:middle}
.qatable{width:100%;border-collapse:collapse;font-size:14px}.qatable th,.qatable td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:center}.qatable th:first-child,.qatable td:first-child{text-align:left}
.qatable th{font-size:13px;vertical-align:bottom}.qatable th button{display:block;margin:4px auto 0}.qatable input{width:20px;height:20px;cursor:pointer}.qawrap{overflow-x:auto}
.qatable th button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:2px 10px;font-size:12px;font-weight:700;color:var(--navy)}
.wsquizopt label:not(#wsQuizAreaWrap){display:block;text-align:left;padding-left:26px;text-indent:-26px;margin:4px 0}.wsquizopt input[type=checkbox]{width:18px!important;height:18px;margin:0 8px 0 0;padding:0;vertical-align:-3px;text-indent:0}.wsquizopt #wsQuizAreaWrap{justify-content:flex-start}.wsquizopt select{width:auto!important}

.wsbar.fmtoff #wsFmt,.wsbar.fmtoff>p{display:none}.adminhome{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:20;border:1px solid #d9c9a0;background:#1b2a4a;color:#fff;border-radius:999px;padding:9px 15px;font-weight:750;font-size:14px;box-shadow:0 4px 14px #1b2a4a33}.adminhome:hover{background:#2a3d66}
.wscatsel{width:auto;border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-size:13px;background:#fff}
/* ===== E2 Emerald International (v142) ===== */
:root{--navy:#0f3b33;--blue:#165a4c;--bg:#f4f8f6;--line:#e1ece7;--ink:#0f3b33;--muted:#5b776f;--gold:#e0a93b;--gold-d:#a8761a;--gold-l:#fcf2dc;--em3:#2a8a72;--emL:#e5f3ee;--shadow:0 12px 34px -26px #0f3b3380}
h1,h2,.tile h3,.settile h3,.flash .big,.question{font-weight:800;letter-spacing:-.015em}
.card,.tile{border-color:var(--line);border-radius:22px;box-shadow:var(--shadow)}
.btn{background:var(--blue);border-radius:999px}.btn:hover:not(:disabled){background:var(--navy)}.btn.alt{background:var(--emL);color:var(--blue)}.btn.alt:hover:not(:disabled){background:#d4ebe2}.btn.ghost{border-radius:999px}.btn.ghost:hover:not(:disabled){background:#f3faf7}.btn.danger:hover:not(:disabled){background:#f9d9e1}
.tab{border-radius:999px;border-color:var(--line);color:var(--navy);box-shadow:0 4px 14px -10px #0f3b3380}.tab.active{background:var(--navy);border-color:var(--navy)}
.stat{background:var(--emL);color:var(--blue)}
.korean,.flash .flash-meaning{color:#1d7a63}.ipa,.flash .ipa{color:#5b776f}
.speaker{background:var(--emL);color:var(--blue)}
.search{border-radius:999px}
.sechead::after{background:#dbe8e2}
.notice,.recbar{background:#fcf6e6;border-color:#f0dcae}
/* 각 페이지 위 머리띠 */
header{background:linear-gradient(120deg,#0f3b33,#165a4c 60%,#2a8a72);color:#fff;border-bottom:0;border-radius:0 0 28px 28px}
header::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#f2d38a22;right:-90px;top:-150px;pointer-events:none}
header h1{color:#fff}header p{color:#cfe6dd}header .eyebrow{color:#f2d38a}
header .mascot{filter:drop-shadow(0 8px 14px #0005)}
.hlogo{box-shadow:0 0 0 2px #ffffff55,0 4px 12px #0003}
header a.back{background:#ffffff1f!important;color:#fff!important;border:1px solid #ffffff40;border-radius:999px}header a.back:hover{background:#ffffff33!important}
.qhead .homefab{background:#ffffff1f;border-color:#ffffff40;color:#fff}.qhead .homefab .lbl{color:#fff}.qhead .homefab:hover{background:#ffffff33}
.qhead .homefab .arr{background:linear-gradient(145deg,#f2d38a,#e0a93b);box-shadow:none}
/* 홈 */
header.home.lux{background:transparent;color:var(--ink);border-radius:0;overflow:visible}
header.home.lux::before{display:none}
.topbar{background:#fff;border-bottom:0;border-radius:0 0 22px 22px;padding:12px 20px;box-shadow:0 8px 30px -20px #0f3b3360}
.tb-brand .logo{box-shadow:0 0 0 1px #dbe8e2}
.tb-brand span{font:800 19px 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;color:var(--navy)}
.tb-nav{align-items:center;gap:18px}.tb-nav a{color:#41605a}.tb-nav a.on{background:var(--navy);color:#fff;padding:6px 14px;border-radius:999px}.tb-nav a:hover{color:var(--navy)}.tb-nav a.on:hover{color:#fff}
.lux .hero{position:relative;overflow:hidden;margin-top:26px;padding:40px 24px 0;border-radius:28px;background:linear-gradient(120deg,#0f3b33,#165a4c 60%,#2a8a72);color:#fff}
.lux .hero::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#f2d38a26;right:-80px;top:-120px}
.lux .hero::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:#2a8a7255;left:-50px;bottom:-60px}
.lux .hero .eyebrow{display:inline-block;position:relative;background:#ffffff1f;color:#fff;padding:6px 14px;border-radius:999px;letter-spacing:.08em;font-weight:700}
.lux .hero h1{position:relative;color:#fff}.lux .hero h1 .t1{color:#fff}.lux .hero h1 .t2{color:#f2d38a}
.goldrule{position:relative;background:#f2d38a;width:48px;border-radius:2px}
.lux .cast{z-index:1}.lux .cast::before{background:radial-gradient(ellipse at 50% 100%,#ffffff2a,transparent 70%)}.lux .cast img{filter:drop-shadow(0 6px 10px #0004)}
.menucard{border-color:var(--line)!important;border-radius:22px;box-shadow:var(--shadow)}
.menucard:hover{box-shadow:0 16px 36px -22px #0f3b3390}
.menucard img{background:var(--emL);border-radius:18px}
.menucard.c-writing img{background:#fff4e0}.menucard.c-dict img{background:#fdf0e8}.menucard.c-shs img,.menucard.c-read img{background:#e8f1fb}.menucard.c-my img{background:#f1edfd}
a.settile{border-radius:22px}a.settile:hover{border-color:#b9d8cc}
.setno{font:800 12px 'Plus Jakarta Sans',sans-serif;color:var(--em3);letter-spacing:.1em}
.settile .stat{border-color:#f0dcae;color:var(--gold-d);background:#fffaf0}
.mixtile{background:var(--navy)!important;box-shadow:0 8px 20px -12px #0f3b3390!important}a.mixtile:hover{background:var(--blue)!important}.mixtile .stat,.mixtile .small{color:#f2d38a}
.bar{background:linear-gradient(90deg,var(--em3),#f2d38a)}.progress{background:#e3eeea}
.pbar i{background:linear-gradient(90deg,var(--em3),#f2d38a)!important}.pbar{background:#e3eeea!important}
.option:hover:not(:disabled){border-color:var(--em3)}
.flash.back{background:#f3faf7;border-color:#b9d8cc}
.monthly .overall{background:#f3faf7;border-left-color:var(--em3)}
@media(max-width:600px){.topbar{border-radius:0 0 18px 18px}.lux .hero{margin-top:16px;border-radius:24px;padding:30px 14px 0}header{border-radius:0 0 22px 22px}}
/* Shadowing & Record: 분류 접기 */
details.shfold{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);margin:0 0 12px;padding:0 18px}
details.shfold>summary{list-style:none;cursor:pointer;margin:0;padding:16px 0;font-size:20px;font-weight:800}
details.shfold>summary::-webkit-details-marker{display:none}
details.shfold>summary::after{content:"";flex:0 0 12px;width:12px;height:12px;margin-left:auto;background:none;border:solid var(--em3);border-width:0 3px 3px 0;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
details.shfold[open]>summary::after{transform:rotate(-135deg) translateY(-3px)}
details.shfold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}
details.shfold>.setgrid{padding-bottom:18px}
details.shfold:hover{border-color:#b9d8cc}
/* 홈: 동물을 누르면 학습 메뉴로 (로그인 후에만 글씨가 보이고 눌러져요) */
.lux .cast .castlink{position:relative;z-index:1;flex:1 1 0;min-width:0;max-width:128px;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;pointer-events:none;-webkit-tap-highlight-color:transparent}
.lux .cast .castlink img{max-width:100%;width:100%;transition:transform .15s}
.castlbl{display:none;margin:2px 0 14px;padding:4px 10px;border-radius:999px;background:#ffffff26;border:1px solid #ffffff45;font:800 12.5px/1.2 'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;white-space:nowrap;text-align:center}
header.home.in .castlink{pointer-events:auto;cursor:pointer}
header.home.in .castlbl{display:inline-block}
header.home.in .castlink:hover img,header.home.in .castlink:active img{transform:translateY(-4px) scale(1.06)}
header.home.in .castlink:hover .castlbl,header.home.in .castlink:active .castlbl{background:#f2d38a;color:#0f3b33;border-color:#f2d38a}
.homehint{text-align:center;color:var(--muted);font-weight:700;margin:6px 0 14px}
#homeGate{margin-top:18px}
@media(max-width:600px){.lux .cast .castlink{flex:0 0 24%;max-width:none}.castlbl{font-size:11px;padding:3px 7px;margin-bottom:10px;white-space:normal;line-height:1.15}}
@media(max-width:600px){header .eyebrow{letter-spacing:.1em}}
/* v145: 동물 그림의 원래 글자 띠(VOCABULARY 등)를 빼고, 그 자리에 메뉴 이름 띠 */
.lux .cast .castlink img{aspect-ratio:360/320;object-position:bottom}
.castlbl{display:inline-block!important;position:relative;z-index:2;margin:-16px 0 14px;padding:5px 12px;border-radius:999px;background:#fff;border:3px solid var(--bc,#2a8a72);color:var(--bc,#2a8a72);font:900 13px/1.1 'Plus Jakarta Sans','Pretendard Variable',Pretendard,sans-serif;letter-spacing:.01em;box-shadow:0 4px 10px #0003}
.castlink.c-quiz{--bc:#7b2fbf}.castlink.c-video{--bc:#1693b3}.castlink.c-shs{--bc:#1f5fbf}.castlink.c-read{--bc:#4f8f14}.castlink.c-writing{--bc:#e67a10}.castlink.c-dict{--bc:#b3202c}.castlink.c-my{--bc:#1499bd}
header.home.in .castlink:hover .castlbl,header.home.in .castlink:active .castlbl{background:var(--bc);color:#fff;border-color:var(--bc)}
@media(max-width:600px){.castlbl{font-size:11px;padding:4px 7px;border-width:2px;margin:-12px 0 10px}}
@media(max-width:600px){.castlbl{white-space:nowrap;padding:4px 6px;font-size:10.5px}}
/* v154 퀴즈 중 ← 퀴즈 종류 다시 고르기 */
.qback{padding:6px 14px;font-size:14px;margin:0 0 10px}
.navrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.navrow .homefab{margin:-6px 0 4px 0}
.backbtn{display:inline-block;background:#fff;color:#0f3b33;border:1px solid #d8c79c;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:800;line-height:1.6}.backbtn:hover{background:#fff8e1}

.shskw{flex-direction:column;align-items:center;gap:2px}.shskw .kwline{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;text-align:center}.shskw span+span::before{content:none}.shskw .kwline span+span::before{content:'·';color:#ffffff66;margin-right:8px}

.ordbox{position:fixed;inset:0;background:#0008;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.ordcard{background:#fff;border-radius:16px;padding:18px;max-width:900px;width:100%;max-height:90vh;overflow:auto}.ordgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ordpic{position:relative;border:3px solid var(--line);border-radius:12px;background:#fff;padding:6px;display:flex;flex-direction:column;gap:4px;align-items:center}.ordpic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.ordpic span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ordpic.on{border-color:#2e7d32}.ordpic b{position:absolute;top:10px;left:10px;min-width:34px;height:34px;border-radius:50%;background:#2e7d32;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center}.ordpic b:empty{display:none}
/* 쉐도잉 화면: 휴대폰에서도 PC·영상과 같은 비율 (그림은 크게, 자막은 화면 너비에 맞춰 작게) */
.shsstage{container-type:inline-size}
@supports (width:1cqw){
.shscap{padding:1.1cqw 1.4cqw;min-height:0;gap:.5cqw}
.shskw{gap:0}.shskw .kwline{gap:.8cqw}
.shskw span{font-size:3.3cqw;line-height:1.3}
.shskw .kwline span+span::before{margin-right:.8cqw}
.shssent{font-size:2.2cqw}
.shsbadge{font-size:max(11px,1.5cqw);padding:.6cqw 1.4cqw;top:1.2cqw;left:1.2cqw}
.shscount{width:max(40px,7cqw);height:max(40px,7cqw);font-size:max(20px,3.6cqw);top:1.2cqw;right:1.2cqw}
}
/* 휴대폰 세로: 그림이 화면 너비를 꽉 채우게 (16:10 틀 안에서 양옆이 비지 않게) */
@media (orientation:portrait) and (max-width:700px){
.shs{padding:8px}
.shsstage:not(.shsrecstage){aspect-ratio:auto}   /* 촬영 화면(영상·캔버스)은 16:9 그대로 (v176: 휴대폰 세로에서 영상 칸 높이가 0이 됐어요) */
.shsstage>#shsImg{flex:none;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.shsstage .shssum{min-height:75cqw}
}
.qlitem{border:1px solid #eee4cf;border-radius:12px;padding:8px 12px;margin:6px 0;background:#fff}.qlitem summary{cursor:pointer;line-height:1.7}
.qlwords{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0}.qlwords span{border-radius:999px;padding:2px 10px;font-size:13px}.qlx{background:#fdeaea;color:#a12a2a}.qlo{background:#e8f6ec;color:#1d6b3a}
.abloop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid #eee4cf;border-radius:14px;background:#fffdf7}.abloop .btn{padding:8px 12px}
.vmdead{flex-basis:100%;background:#fdeaea;color:#a12a2a;border-radius:12px;padding:7px 12px;font-weight:700;font-size:14px}
/* 📝 레벨테스트 (v178) */
.ltbody main{max-width:760px}.ltcard{margin-bottom:14px}.ltcard h2{font-size:21px}
.ltbar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px max(16px,calc((100vw - 760px)/2));background:var(--navy);color:#fff;font-size:15px;box-shadow:0 4px 14px #0003}.ltbar b{font-size:19px;font-variant-numeric:tabular-nums}.ltbarpart{opacity:.9;font-size:14px}.ltbarline{flex-basis:100%;height:6px;border-radius:9px;background:#ffffff33;overflow:hidden}.ltbarline i{display:block;height:100%;background:var(--gold,#e0a93b);transition:width .3s}.ltbar.ltwarn{background:#b3263e}.ltbar.ltwarn b{animation:recPulse 1s infinite}
.ltradio{gap:22px}.ltradio label{display:flex;gap:6px;align-items:center;font-weight:700}
.ltlevel{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:14px;padding:10px 14px 10px 40px;margin:6px 0;position:relative;cursor:pointer;background:#fff}.ltlevel input{position:absolute;left:14px;top:14px}.ltlevel span{font-size:14px;color:var(--muted)}.ltlevel.on{border-color:var(--em3,#2a8a72);background:var(--emL,#e5f3ee)}
.ltcam{width:100%;max-width:520px;margin:10px auto;position:relative;border-radius:16px;overflow:hidden;background:#0f1d1a;aspect-ratio:4/3;display:block}.ltcam video,video.ltcam{width:100%;height:100%;object-fit:cover;display:block}video.ltcam{object-fit:contain}#cCam,#iCam{transform:scaleX(-1)}
.ltrecdot{position:absolute;left:10px;top:10px;background:#d1495bdd;color:#fff;border-radius:999px;padding:3px 12px;font-weight:800;font-size:14px}
.ltorder{margin:4px 0 10px;padding-left:22px;line-height:1.9}
.lthead{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.lthead h2{margin:2px 0 6px}.ltnum{flex:0 0 38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:850;font-size:18px}
.ltdir{background:var(--gold-l,#fcf2dc);border-radius:12px;padding:10px 14px;font-size:15px;line-height:1.75}
.ltwords{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:12px 0}.ltwords div,.ltsents div{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-size:24px;font-weight:800;background:#fff;display:flex;gap:8px;align-items:baseline}.ltwords small,.ltsents small,.ltqw small{font-size:12px;color:var(--muted);font-weight:700;min-width:16px}
.ltsents{display:flex;flex-direction:column;gap:8px;margin:12px 0}.ltsents div{font-size:22px;line-height:1.45}
.ltctl{margin:12px 0 4px}.ltctl audio{width:100%;max-width:420px}
.ltq{border-bottom:1px solid var(--line);padding:10px 0}.ltqw{font-size:24px;font-weight:850;margin-bottom:6px}.ltopts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:620px){.ltopts{grid-template-columns:repeat(4,1fr)}}.ltopt{border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:11px 8px;font-weight:700;color:var(--ink)}.ltopt.on{border-color:var(--em3,#2a8a72);background:var(--emL,#e5f3ee);color:var(--navy)}
.ltspell{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.ltko{font-size:34px;font-weight:850;color:var(--navy)}.ltspell .answer{width:min(360px,100%);font-size:24px;text-align:center}
.ltclock{width:min(360px,100%);height:10px;border-radius:9px;background:#e4ebf5;overflow:hidden}.ltclock i{display:block;height:100%;width:100%;background:var(--em3,#2a8a72);transition:width .1s linear}
.ltdict{margin:12px 0}.ltdict .answer{width:100%;margin-top:6px;font-size:18px}
.ltintro{margin:8px 0;padding-left:20px;line-height:1.9}
.ltitem{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:8px 0;background:#fff}.ltitem summary{cursor:pointer;line-height:1.8}.ltdetail{padding-top:8px}.ltdetail h4{margin:16px 0 4px}
.ltbadge{display:inline-block;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:800;margin-left:4px}.ltbadge.ok{background:#e8f6ec;color:#1d6b3a}.ltbadge.no{background:#fdeaea;color:#a12a2a}.ltbadge.wait{background:#f1f1ee;color:#6b6b62}
.ltinfo{background:var(--emL,#e5f3ee);border-radius:12px;padding:10px 14px;line-height:1.7}.lttable{border-collapse:collapse;margin:10px 0;min-width:260px}.lttable td,.lttable th{border:1px solid var(--line);padding:5px 12px;text-align:left}.ltgin{width:80px;border:1.5px solid var(--line);border-radius:8px;padding:6px 8px}
.ltintrog{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0}.ltintrog select{border:1.5px solid var(--line);border-radius:8px;padding:4px 6px}
.ltlink{display:flex;align-items:center;gap:12px;max-width:520px;margin:14px auto 0;padding:14px 18px;text-decoration:none;color:var(--ink)}.ltlink>span:first-child{font-size:28px}.ltlink strong{display:block}.ltlink small{color:var(--muted)}.ltlink .bkgo{margin-left:auto}
.lthidden div{font-size:16px!important;color:var(--muted);justify-content:center;background:#f7f7f2!important;border-style:dashed!important;padding:22px!important}
.lttopic{border:2px solid var(--em3,#2a8a72);border-radius:16px;padding:12px 16px;margin:10px 0;line-height:1.7}.lttopic b{font-size:22px}
.ltwrite{display:flex;flex-direction:column;gap:8px;margin:10px 0}.ltwrite label{display:flex;gap:8px;align-items:center}.ltwrite small{min-width:20px;font-weight:800;color:var(--muted);text-align:right}.ltwrite .answer{width:100%;font-size:17px}
.ltcount{font-size:15px;padding:6px 12px;border-radius:10px;background:#f1f1ee;display:inline-block;margin-bottom:8px}.ltcount.ok{background:#e8f6ec;color:#1d6b3a}
.ltwai{background:#f7f4ff;border-radius:12px;padding:10px 14px;margin:8px 0;line-height:1.7}.ltwai .fix{color:#1d6b3a}
.ltwlines{line-height:1.8;margin:6px 0}
.ltcode input{font-size:22px;letter-spacing:.3em;font-weight:800;max-width:220px}.ltwhere{background:#fff6e5;border:1px solid #f1d08a;border-radius:12px;padding:10px 14px;margin:8px 0 12px;line-height:1.6}
.ltcodes{border-collapse:collapse;width:100%;font-size:14px;margin-top:8px}.ltcodes td,.ltcodes th{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.ltcodebox{background:var(--emL,#e5f3ee);border-radius:12px;padding:10px 14px;margin:8px 0;white-space:pre-line}
.ltcodewrap{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:8px 0;background:#fffdf5}.ltcodewrap summary{cursor:pointer;line-height:1.8}
.ltnotice ol{padding-left:22px;line-height:1.85;margin:10px 0}.ltnotice li{margin:6px 0}.ltnotewarn{background:#fff6e5;border:1px solid #f1d08a;border-radius:12px;padding:10px 14px;margin:12px 0}
.ltguide{background:var(--card,#fff);border:1px solid var(--line,#dfe8e4);border-radius:14px;padding:10px 12px;margin:10px 0 12px}.ltguide video{display:block;width:100%;max-width:720px;aspect-ratio:16/9;border-radius:10px;margin-top:8px;background:#0f3b33}
.ltpass{background:#fbfdfc;border:1.5px solid var(--line,#dfe8e4);border-radius:14px;padding:14px 16px;margin:14px 0 6px}.ltpasst{font-weight:850;font-size:19px;margin-bottom:6px}.ltpassx{font-size:19px;line-height:1.75}.ltqq{font-size:19px;font-weight:800}.ltopts.ltoptcol{grid-template-columns:1fr!important}.ltoptcol .ltopt{text-align:left;font-size:17px}
.ltmode{margin:8px 0;gap:8px}.ltmode .btn{flex:1 1 45%}.ltmode .btn:disabled{opacity:1}
.ltwbox{width:100%;min-height:260px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:17px;line-height:1.7;margin:6px 0}
.ltphoto{background:var(--gold-l,#fcf2dc);border-radius:12px;padding:12px 14px;margin:10px 0;line-height:1.8}.ltuptime{display:inline-block;background:#b3263e;color:#fff;border-radius:999px;padding:1px 10px;font-weight:800;font-size:14px;margin-left:6px}
.ltpick{display:inline-block;margin:6px 0;cursor:pointer}.ltthumbs{margin:6px 0 10px;line-height:1.8}.ltwimg{max-width:100%;border-radius:10px;border:1px solid var(--line);margin:6px 0}
.ltwtext{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;line-height:1.7;margin:6px 0}
/* ===== v190 홈 배너: Rochelle 2026-11-01 "MMEA Learning Studio" 배너 스타일 (더 큰 캐릭터, 노란 제목, 반짝이, 굵은 알약 이름표) ===== */
.lux .hero{background:radial-gradient(circle at 0% 0%,#2a8a6a 0 150px,transparent 151px),radial-gradient(circle at 100% 0%,#2f9470 0 190px,transparent 191px),radial-gradient(ellipse 60% 55% at 100% 100%,#22805f,transparent 70%),radial-gradient(ellipse 45% 45% at 0% 100%,#1d7556,transparent 70%),linear-gradient(180deg,#106a50,#0d5d46);padding:34px 18px 0}
.lux .hero::before,.lux .hero::after{display:none}
.lux .hero .eyebrow{font-size:14px;padding:9px 22px;background:#ffffff1c;border:1px solid #ffffff2e;box-shadow:0 4px 14px #0002;letter-spacing:.03em}
.lux .hero h1{font-weight:900;letter-spacing:-.01em;text-shadow:0 4px 14px #0003}
.lux .hero h1 .t2{color:#f9c846}
#siteTitle{display:inline-block;position:relative;padding:0 46px}
#siteTitle::before,#siteTitle::after{content:"";position:absolute;top:50%;width:34px;height:46px;margin-top:-23px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 46'%3E%3Cg stroke='%23f9c846' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M7 5l6 7'/%3E%3Cpath d='M3 23h11'/%3E%3Cpath d='M7 41l6-7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
#siteTitle::before{left:0}#siteTitle::after{right:0;transform:scaleX(-1)}
.goldrule{width:96px;height:5px;border-radius:3px;background:#f9c846;margin-top:14px}
.lux .cast{max-width:1120px;margin-top:20px;gap:6px}
.lux .cast .castlink{max-width:172px}
.lux .cast::before{background:none}
.castlbl{font-size:15.5px;padding:7px 16px;border-width:4px;margin:-18px 0 18px;box-shadow:0 4px 0 #0000001f,0 6px 14px #0003}
@media(max-width:600px){#siteTitle{padding:0 30px}#siteTitle::before,#siteTitle::after{width:22px;height:30px;margin-top:-15px}.lux .hero .eyebrow{font-size:11px;padding:6px 12px}.goldrule{width:64px;height:4px}.lux .cast .castlink{flex:0 0 24%;max-width:none}.castlbl{font-size:11px;padding:4px 7px;border-width:2.5px;margin:-12px 0 12px}}
/* v191 강아지 선그림 캐릭터 (발까지 그려져 있어 이름표가 발을 덜 가리게) */
.castlbl{margin-top:-8px}
@media(max-width:600px){.castlbl{margin-top:-6px}}
/* v192 캐릭터 조금 작게 (Rochelle 2026-11-01) */
.lux .cast .castlink{max-width:136px}
.lux .cast{max-width:1000px;gap:14px}
@media(max-width:600px){.lux .cast .castlink{flex:0 0 22%}.lux .cast{gap:4px 6px}}
/* v193 제목 양옆 노란 반짝이 줄 없앰 (Rochelle: 지저분) */
#siteTitle{display:block;padding:0}#siteTitle::before,#siteTitle::after{display:none}
/* v194 여러 동물 캐릭터 (Rochelle 2026-11-01): 실제 크기처럼 약간씩 다르게 + 간격 넓게 */
.lux .cast .castlink img{width:calc(100% * var(--s,1))!important;margin:0 auto}
.castlink.c-quiz{--s:.88}.castlink.c-video{--s:.98}.castlink.c-shs{--s:.9}.castlink.c-read{--s:1}.castlink.c-writing{--s:.93}.castlink.c-dict{--s:.97}.castlink.c-my{--s:.94}
.lux .cast{max-width:1080px;gap:30px}.lux .cast .castlink{max-width:126px}
@media(max-width:600px){.lux .cast{gap:10px 10px}.lux .cast .castlink{flex:0 0 21%}}
/* v196 쉐도잉 피드백: 문법 체크 · 선생님 피드백 · 다시 찍기 */
.prongram{margin-top:8px;padding:8px 10px;border-radius:12px;background:#fff7e6;border:1px solid #f2d38a}
.prongram>div{margin-top:6px}.prongram s{color:#a12a2a}.pill.gtype{background:#f2d38a;color:#5a4300;font-size:11px;padding:2px 7px}
.shfb{margin-top:10px;padding:10px 12px;border-radius:14px;background:#eef7f3;border:1px solid #cfe6dd}
.shfb textarea{width:100%;margin:6px 0}
.shredo{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fdecec;border:2px solid #e07a7a;color:#8a1c22;font-weight:700}
.shredo small{display:block;font-weight:500;color:#8a1c22}
.shmine{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px;background:#fff}
/* v197 메뉴 화면 위쪽 캐릭터를 오른쪽 빈 공간에 크게 (Rochelle 2026-11-01) */
header .mascot{height:min(94%,230px);right:max(24px,calc((100vw - 1060px)/2 + 30px))}
header:has(.mascot)>*:not(.mascot){max-width:calc(100% - 250px)}
.qhead .mascot{height:min(94%,190px)}
@media(max-width:580px){header .mascot{height:min(88%,135px);right:8px}header:has(.mascot)>*:not(.mascot){max-width:calc(100% - 118px)}.qhead .mascot{height:min(88%,120px)}}
/* v198 PC: 메뉴 화면 캐릭터를 초록 머리 대신 아래 활동 영역 오른쪽 빈 공간에 (Rochelle 2026-11-01). 휴대폰·좁은 화면은 그대로 */
@media(min-width:1360px){
header .mascot,.qhead .mascot{--g:calc((100vw - 1060px)/2);position:fixed;top:auto;left:auto;width:min(260px,calc(var(--g) - 28px));right:max(12px,calc((var(--g) - min(260px,calc(var(--g) - 28px)))/2));bottom:max(70px,9vh);height:auto;max-height:46vh;object-fit:contain;z-index:5}
header:has(.mascot)>*:not(.mascot){max-width:none}
}

/* v200 ✏️ AI 피드백 고치기 */
.pronedit{display:grid;gap:6px;margin:8px 0;padding:12px 14px;border-radius:14px;background:#fffdf5;border:1.5px dashed #e0a93b;text-align:left}
.pronedit label{display:grid;gap:3px}.pronedit textarea,.pronedit input,.pronedit select{width:100%;max-width:none;font-size:15px;padding:7px 9px}
.perow{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:6px;align-items:center;margin:4px 0}.perow[data-k="g"]{grid-template-columns:auto 1fr 1fr 1.5fr auto}
.perow .btn.small,.pronedit .btn.small{padding:5px 10px;font-size:13px}
@media(max-width:640px){.perow,.perow[data-k="g"]{grid-template-columns:1fr 1fr}.perow .btn{justify-self:start}}
.pronedit>.btn,.pronedit .pe-score{justify-self:start;width:auto}

