
:root{color-scheme:dark;--bg:#070d17;--panel:#101b2c;--panel2:#0c1625;--line:#263b59;--text:#f3f7fb;--muted:#9eafc2;--blue:#78b2ff;--green:#91dfad;--red:#ff9b9b;--amber:#ffd68a}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#09111f,#060b13);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif}
body{min-height:100vh}.app{width:min(760px,100%);margin:auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))}
.top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:14px}.back,.menuBtn{height:52px;border:1px solid #263b59;border-radius:16px;background:#101c30;color:#eaf2fc;font-size:15px;padding:0 14px}.menuBtn{width:52px;font-size:23px}.title{text-align:center;min-width:0}.title b{display:block;font-size:20px}.title span{font-size:11px;color:#8fa3bc}
.hero,.panel,.question,.feedback{background:linear-gradient(180deg,#111f34,#0d1727);border:1px solid #29415f;border-radius:23px;padding:18px;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.hero h1{font-size:28px;margin:4px 0 8px}.hero p{font-size:14px;color:#b5c2d1;line-height:1.55;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.stat{padding:12px;border:1px solid #233854;border-radius:16px;background:#0a1423}.stat b{display:block;font-size:19px}.stat span{font-size:11px;color:#98a9bc}
.actions{display:grid;gap:10px;margin-top:14px}.btn{min-height:54px;border:0;border-radius:17px;padding:12px 15px;font-size:16px;font-weight:700}.primary{background:#76adf2;color:#07111e}.secondary{background:#13263e;color:#d8e9ff;border:1px solid #2b4b70}.danger{background:#3a1a22;color:#ffd4d4;border:1px solid #6b2e3d}.ghost{background:#0c1727;color:#c6d5e7;border:1px solid #263b59}
.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 10px}.sectionTitle h2{font-size:18px;margin:0}.sectionTitle span{font-size:12px;color:var(--muted)}
.filters{display:flex;gap:7px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid #29425f;background:#0c1726;color:#bdd0e5;border-radius:999px;padding:9px 12px;font-size:13px}.chip.active{background:#17375d;border-color:#4b79aa;color:white}
.subjectGrid{display:grid;gap:9px}.subjectCard{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #263b59;border-radius:18px;background:#0e192a}.subjectCard .ico{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#173253;font-size:20px}.subjectCard .copy{flex:1;min-width:0}.subjectCard b{display:block}.subjectCard small{color:#9eafc2}.subjectCard em{font-style:normal;color:#8fc4ff;font-size:12px}
.question{margin-top:8px}.qtop{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:11px;border:1px solid #345272;border-radius:999px;padding:5px 8px;color:#b9d7f5}.tag.retry{color:#ffdf9c;border-color:#705d32}.symbol{font-size:38px;font-weight:760;line-height:1.15;margin:18px 0 8px;word-break:break-word}.context{color:#9fb0c4;font-size:13px;line-height:1.45;margin-bottom:14px}.prompt{font-size:18px;font-weight:680;line-height:1.45;margin:0 0 14px}.choices{display:grid;gap:9px}.choice{width:100%;min-height:56px;border:1px solid #2b4564;background:#0c1727;color:#eef5fd;border-radius:17px;padding:13px 14px;text-align:left;font-size:15px;line-height:1.4}.choice:disabled{opacity:.86}.choice.correct{border-color:#4a9d69;background:#10301f}.choice.wrong{border-color:#a94c5d;background:#31131a}
.feedback{margin-top:12px}.feedback.good{border-color:#2f744a}.feedback.bad{border-color:#81404e}.feedback h3{margin:0 0 10px;font-size:18px}.answerLine{font-size:14px;line-height:1.5;margin:7px 0}.tipbox{margin-top:12px;border:1px solid #705d32;background:#2a2213;border-radius:16px;padding:13px;line-height:1.5;color:#ffe4a9}.source{margin-top:12px;color:#8fa5bc;font-size:12px;line-height:1.45}.sourceImg{width:100%;border-radius:14px;margin-top:10px;border:1px solid #304761}
.progress{height:7px;border-radius:999px;background:#14233a;overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:#72aef5}
.listTools{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:10px}.search{height:50px;border-radius:15px;border:1px solid #2b4564;background:#0b1523;color:#fff;padding:0 14px;font-size:15px}.list{display:grid;gap:8px}.row{padding:13px;border:1px solid #273b58;background:#0d1828;border-radius:16px}.rowhead{display:flex;align-items:flex-start;gap:10px}.row .sym{font-size:20px;font-weight:750;min-width:80px;word-break:break-word}.row .mean{flex:1;font-size:14px;line-height:1.45}.row small{display:block;color:#899db4;margin-top:7px;font-size:11px}.wrongCount{color:#ffadad;font-size:12px}
.empty{text-align:center;color:#9eafc2;padding:34px 10px}
.bottom{position:fixed;z-index:20;left:0;right:0;bottom:0;background:rgba(7,13,23,.95);backdrop-filter:blur(14px);border-top:1px solid #263952;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.nav{height:56px;border:0;border-radius:16px;background:transparent;color:#93a6bd;font-size:13px}.nav.active{background:#132640;color:#fff}.modal{position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.62);display:grid;place-items:end center}.sheet{width:min(760px,100%);background:#0e1929;border:1px solid #304563;border-radius:24px 24px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom))}.sheet h3{margin:0 0 12px}.sheet .btn{width:100%;margin-top:8px}
@media(max-width:390px){.app{padding-left:11px;padding-right:11px}.hero h1{font-size:25px}.symbol{font-size:32px}.choice{font-size:14px}.stats{gap:6px}.stat{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v1.2 answer-leak fix + expansion/mnemonic */
.hiddenSymbol{margin:18px 0 12px;min-height:94px;border:1px dashed #41648d;border-radius:18px;background:#0a1525;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.hiddenSymbol span{font-size:31px;font-weight:800;color:#78b2ff}
.hiddenSymbol b{font-size:17px}
.hiddenSymbol small{color:#8fa3bc}
.lead{border-left:3px solid #4c78aa;padding-left:12px;color:#dce9f7}
.expandBox{margin-top:13px;border:1px solid #355679;background:#0a192a;border-radius:17px;padding:13px}
.expandBox>b{display:block;margin-bottom:9px;color:#b9dcff}
.expItem+.expItem{border-top:1px solid #263c57;margin-top:11px;padding-top:11px}
.expLine{font-size:14px;line-height:1.5;color:#eef6ff}
.expNote{font-size:11px;color:#93a7bd;margin-top:6px;line-height:1.45}
.wordParts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.wordPart{display:flex;flex-direction:column;padding:7px 9px;border:1px solid #2d4969;border-radius:12px;background:#101f32;min-width:70px}
.wordPart strong{font-size:12px;color:#d7eaff}
.wordPart small{font-size:10px;color:#90a7c0;margin-top:2px}
.tipText{margin-top:7px;line-height:1.65}
.sayLine{margin-top:10px;padding-top:9px;border-top:1px solid #655327;font-size:13px;color:#ffe8ba}
.fullMini{margin-top:7px;color:#a9c9e8;font-size:12px;line-height:1.45}
@media(max-width:390px){.wordPart{min-width:62px;padding:6px 7px}.expLine{font-size:13px}}

/* ===== AVIATION STUDY SUITE v2.0 · Hydraulics-inspired independent design ===== */
:root{--v2-bg:#07101c;--v2-panel:#101c2d;--v2-panel2:#132238;--v2-line:#263a55;--v2-text:#eef4fb;--v2-muted:#9fb0c7;--v2-cyan:#66d9ef;--v2-blue:#6fa8ff;--v2-mint:#7ee0c3;--v2-amber:#ffc86b;--v2-violet:#b99cff;--v2-shadow:0 20px 45px rgba(0,0,0,.22)}
html,body{background:radial-gradient(900px 560px at 90% -10%,rgba(53,100,170,.18),transparent 65%),linear-gradient(180deg,#07101c,#091321 62%,#070e18)!important;color:var(--v2-text)!important;overflow-x:hidden}
body{font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,.btn,.choice,.choice-btn,.module-btn,.module-card,.primary,.secondary{min-height:54px}
.topbar,.top{position:sticky!important;top:0;z-index:30;background:rgba(7,16,28,.88)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(62,83,112,.48)!important}
.topbar{min-height:66px;padding:10px 12px!important}
.suite-link,.top-link,.back{display:flex!important;align-items:center;justify-content:center;min-height:44px!important;border:1px solid var(--v2-line)!important;border-radius:14px!important;background:rgba(19,34,56,.72)!important;color:var(--v2-text)!important;text-decoration:none!important;padding:0 11px!important;font-size:13px!important;font-weight:650!important}
.icon-btn,.menuBtn{min-width:44px!important;min-height:44px!important;border-radius:14px!important;border:1px solid var(--v2-line)!important;background:rgba(19,34,56,.72)!important;color:var(--v2-text)!important}
.brand,.brand-wrap,.title{text-align:center;min-width:0}.brand-kicker,.brand-wrap .eyebrow,.title span{font-size:9px!important;letter-spacing:.12em!important;color:#708ba9!important}.brand h1,.brand strong,.brand-wrap strong,.title b{font-size:17px!important;font-weight:700!important;letter-spacing:-.02em!important}
main,.app-shell,.app{max-width:760px!important;margin-left:auto!important;margin-right:auto!important}.hero,.mission-card,.panel,.card,.question,.feedback{border-radius:22px!important;border-color:var(--v2-line)!important;box-shadow:0 12px 30px rgba(0,0,0,.12)}.hero,.mission-card{background:linear-gradient(145deg,#102b48 0%,#0d1e32 52%,#111d2e 100%)!important;border-color:#2d4c6c!important}.card,.panel,.question,.feedback{background:linear-gradient(145deg,rgba(18,32,52,.92),rgba(13,25,42,.96))!important}
.eyebrow,.kicker{color:#8fb7e8!important;font-size:11px!important;letter-spacing:.08em!important}.progressbar,.progress-track,.progress{background:#08111d!important;border-radius:999px!important;overflow:hidden!important}.progressbar>i,.progressbar>span,.progress-bar,.progress>span,.progress i{background:linear-gradient(90deg,var(--v2-blue),var(--v2-mint))!important}
.bottom-nav,.bottom{background:rgba(7,16,28,.95)!important;backdrop-filter:blur(18px)!important;border-top:1px solid var(--v2-line)!important}.bottom-nav button,.bottom .nav{min-height:56px!important;border-radius:16px!important}.bottom-nav button.active,.bottom .nav.active{color:#fff!important;background:#132640!important}
.v2-resume{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:13px 14px;margin-bottom:12px;border-radius:18px;border:1px solid #345f83;background:linear-gradient(125deg,rgba(22,67,101,.48),rgba(15,30,49,.78))}.v2-resume>div{min-width:0}.v2-resume strong,.v2-resume small{display:block}.v2-resume strong{font-size:15px}.v2-resume small{color:var(--v2-muted);font-size:12px;margin-top:2px}
.v2-mission{position:relative;overflow:hidden;border:1px solid #2d4c6c;border-radius:28px;padding:20px;background:linear-gradient(145deg,#102b48 0%,#0d1e32 52%,#111d2e 100%);box-shadow:var(--v2-shadow);margin-bottom:14px}.v2-mission:after{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(102,217,239,.22),transparent 65%);pointer-events:none}.v2-mission-top{position:relative;z-index:1;display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.v2-mission-top>div:first-child{min-width:0}.v2-mission h1,.v2-mission h2{font-size:26px!important;line-height:1.23!important;letter-spacing:-.04em!important;margin:3px 0 7px!important}.v2-mission p{font-size:14px;color:#b6c7da;margin:0}
.v2-donut{--p:0;position:relative;flex:0 0 76px;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--v2-mint) calc(var(--p)*1%),rgba(255,255,255,.09) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}.v2-donut:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#102138}.v2-donut b,.v2-donut small{position:relative;z-index:1;display:block;text-align:center}.v2-donut b{font-size:16px}.v2-donut small{font-size:9px;color:var(--v2-muted);margin-top:-15px}
.v2-hero-chips{position:relative;z-index:1;display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.v2-chip{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--v2-line);border-radius:999px;padding:3px 9px;font-size:11px;color:var(--v2-muted);background:rgba(255,255,255,.055);white-space:nowrap}
.v2-mission-btn{position:relative;z-index:1;width:100%;min-height:66px;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;text-align:left;gap:8px;border:1px solid rgba(126,224,195,.48);border-radius:17px;background:linear-gradient(135deg,rgba(39,116,103,.72),rgba(27,75,83,.68));color:var(--v2-text);padding:11px 14px}.v2-mission-btn>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.12)}.v2-mission-btn b,.v2-mission-btn small{display:block}.v2-mission-btn small{font-size:11px;color:#c6e9df}.v2-mission-btn i{font-size:25px;font-style:normal;color:#b9f4e3}
.v2-section-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:23px 2px 11px}.v2-section-row h2{font-size:18px;margin:0}.v2-section-row small{font-size:11px;color:var(--v2-muted)}
.v2-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v2-quick{min-height:116px!important;text-align:left!important;padding:14px!important;border-radius:20px!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid #365070!important;color:var(--v2-text)!important}.v2-quick:before{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-30px;top:-35px;opacity:.16;background:var(--v2-cyan)}.v2-quick.amber{background:linear-gradient(145deg,#362b1a,#1d1f24)!important;border-color:#66532e!important}.v2-quick.amber:before{background:var(--v2-amber)}.v2-quick.cyan{background:linear-gradient(145deg,#12313b,#172431)!important;border-color:#2b5b68!important}.v2-quick.violet{background:linear-gradient(145deg,#292443,#1b1f30)!important;border-color:#544c76!important}.v2-quick.violet:before{background:var(--v2-violet)}.v2-quick.green{background:linear-gradient(145deg,#17342f,#17262b)!important;border-color:#345e55!important}.v2-quick.green:before{background:var(--v2-mint)}.v2-quick.slate{background:linear-gradient(145deg,#1d2c42,#182332)!important;border-color:#3c526f!important}.v2-quick .v2-icon{font-size:24px;margin-bottom:7px;position:relative;z-index:1}.v2-quick b,.v2-quick small{position:relative;z-index:1;display:block}.v2-quick b{font-size:15px}.v2-quick small{font-size:11px;color:var(--v2-muted)}
.v2-pass-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.v2-pass{min-height:76px;border:1px solid var(--v2-line);border-radius:17px;background:rgba(16,29,47,.72);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:8px 4px}.v2-pass span{font-size:18px}.v2-pass b{font-size:12px}.v2-pass small{font-size:9px;color:var(--v2-muted)}.v2-pass.active{border-color:#558fd0;background:linear-gradient(160deg,rgba(47,91,144,.62),rgba(20,43,72,.88))}.v2-pass-note{display:flex;gap:11px;align-items:center;margin-top:9px;padding:11px 12px;border-radius:15px;background:rgba(13,25,41,.72);border:1px solid rgba(41,59,83,.72)}.v2-pass-note>span{font-size:22px}.v2-pass-note b,.v2-pass-note small{display:block}.v2-pass-note small{font-size:11px;color:var(--v2-muted)}
.v2-mini-modules{display:grid;gap:9px}.v2-mini-module{width:100%;display:grid;grid-template-columns:44px 1fr 34px;gap:11px;align-items:center;text-align:left;padding:13px!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(18,32,52,.9),rgba(14,25,42,.95))!important;border:1px solid #263b57!important;color:var(--v2-text)!important}.v2-mini-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(111,168,255,.1);font-size:20px}.v2-mini-module h3{font-size:14px;margin:0 0 3px;overflow-wrap:anywhere}.v2-mini-module p{font-size:10px;color:var(--v2-muted);margin:0}.v2-mini-module>span:last-child{font-size:24px;color:#759bc5}
.v2-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 2px}.v2-stat{padding:10px 7px;border:1px solid var(--v2-line);border-radius:15px;background:rgba(10,20,35,.72);min-width:0}.v2-stat b{display:block;font-size:17px}.v2-stat span{display:block;font-size:9px;color:var(--v2-muted);overflow-wrap:anywhere}
@media(max-width:430px){.v2-mission{padding:18px 16px}.v2-mission h1,.v2-mission h2{font-size:24px!important}.v2-donut{width:68px;height:68px;flex-basis:68px}.v2-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.v2-mission-top{display:block}.v2-donut{margin-top:12px}.v2-quick-grid{gap:7px}.v2-quick{min-height:108px!important;padding:12px!important}.v2-pass{min-height:72px}}
.symbols-loop{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.symbols-loop .v2-pass{min-height:68px}