.wrapper{max-width:1280px;margin:auto}.topnav{display:flex;gap:7px;padding:19px 22px 0;flex-wrap:wrap}.tab{background:#fff;color:#234376;border:1px solid #d6e2f4;border-radius:9px;padding:11px 15px;font-size:13px}.tab.active{background:#1644a3;color:white}.layout{padding-top:14px}.main{min-height:70vh}.side{max-height:calc(100vh - 130px);overflow:auto}.mini{color:#64748b;font-size:12px}.muted{color:#64748b}.page-title{color:#1644a3;font-weight:800;font-size:23px;margin:2px 0 10px}.lead{font-size:14px;line-height:1.7;color:#64748b}.cardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:19px 0}.panel{border:1px solid #dfe7f1;border-radius:11px;padding:17px;background:white}.panel h3{margin:0 0 9px;font-size:16px}.panel p{color:#59677d;font-size:13px}.tag{display:inline-block;background:#ebf2ff;border-radius:6px;padding:3px 7px;color:#244a9c;font-size:11px;margin:2px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.chips button,.filter{background:#fff;color:#1d4ed8;border:1px solid #b8c9e7;padding:7px 10px;font-size:12px}.chips button.active,.filter.active{background:#dbeafe}.result{border-bottom:1px solid #e2e8f0;padding:12px 1px;cursor:pointer}.result:hover{background:#f7faff}.result strong{color:#1644a3}.itemhead{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.pill{font-size:11px;padding:3px 7px;border-radius:6px;background:#eef2f6;color:#455468}.pill.S{background:#ffedf0;color:#b42338}.pill.A{background:#fff3d9;color:#8b5900}.pill.B{background:#eaf2ff;color:#2454a2}.pill.C{background:#f1f5f9;color:#566576}.flexline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mapimg{width:100%;height:auto;max-width:100%;display:block;border:1px solid #e1e7ee;border-radius:7px}.action{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:7px;background:#1d4ed8;color:#fff;text-decoration:none;font-size:13px}.linkbutton{display:inline;border:0;background:none;color:#1644a3;text-decoration:underline;padding:2px;font-size:inherit;cursor:pointer}.fakeweek{padding:11px;background:#f8fafc;border:1px dashed #b5c3d6;border-radius:8px;margin-top:10px}.callout{background:#f8fafc;border-left:3px solid #1d4ed8;padding:12px;margin:12px 0;font-size:13px}.contentbox{line-height:1.65}.stickysearch{margin-top:10px}.sidebarbtn{display:block;background:transparent;color:#334155;padding:8px 5px;text-align:left;width:100%;border:0;font-size:12px;font-weight:500}.sidebarbtn:hover{background:#edf4ff}.weektitle{color:#1644a3;font-size:17px;font-weight:700}.academyrow{padding:9px 0;border-bottom:1px solid #e2e8f0}.empty{padding:32px;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:9px}.alignend{text-align:right}.preview{margin-top:15px;padding:12px;border:1px solid #d5e0ef;border-radius:8px}.preview article{max-width:100%}@media(max-width:760px){.topnav{padding:10px;gap:6px}.tab{padding:9px 10px;font-size:12px}.cardgrid{grid-template-columns:1fr}.side{max-height:none}.page-title{font-size:20px}.panel{padding:12px}}@media print{.topnav,.side,.sub,.action,.chips{display:none!important}.main{border:0;padding:0}.panel{break-inside:avoid}}

.criteria{margin:12px 0;border:1px solid #dfe7f1;background:#fff;border-radius:10px;overflow:hidden}.criteria summary{list-style:none;cursor:pointer;padding:16px;font-weight:750;color:#17448b;background:#f4f8ff}.criteria summary::-webkit-details-marker{display:none}.criteria summary:after{content:'▾';float:right}.criteria[open] summary:after{content:'▴'}.criteria-body{padding:15px;line-height:1.8}.criteria-line{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;color:#263246}.criteria-line:nth-child(even){background:#fafcff}.brokenlabel{font-size:11px;color:#a43426;font-weight:650;background:#fff0ec;padding:2px 5px;border-radius:4px}.panel .action{border:0;cursor:pointer} @media(max-width:760px){.criteria-body{padding:9px}.criteria-line{font-size:13px}}

/* v3: phone dashboard and subject statistics */
.mobile-search{display:none}.statrow{margin:15px 0}.statlabel{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;margin-bottom:6px}.statlabel span{color:#375b93;font-variant-numeric:tabular-nums;white-space:nowrap}.stattrack{height:12px;background:#eaf0f7;border-radius:10px;overflow:hidden}.statfill{height:100%;background:#327ac9;border-radius:10px}
@media(max-width:760px){body[data-section="home"] .topnav,body[data-section="home"] .side,body[data-section="home"] .lead,body[data-section="home"] .callout,body[data-section="home"] .main > #content > .panel:last-of-type,body[data-section="home"] .main > #content > .mini{display:none!important}body[data-section="home"] .main .cardgrid{margin:12px 0;gap:10px}body[data-section="home"] .main .cardgrid .panel{padding:18px 16px;min-height:74px}body[data-section="home"] .main .cardgrid .panel h3{font-size:16px}body[data-section="home"] .page-title{font-size:20px}body[data-section="home"] .layout{padding-top:8px}body[data-section="home"] .main{padding-top:0} .side{display:none!important}.topnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.tab{white-space:nowrap;flex-shrink:0}.mobile-search{display:none;margin:4px 0 12px}.mobile-search input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccd9e8;border-radius:9px;font-size:15px;background:#fff}body[data-section="topics"] .mobile-search,body[data-section="questions"] .mobile-search{display:block}.statlabel{font-size:12px}}

@media(max-width:760px){body[data-section="home"] .home-topfive{display:none!important}}


/* Official criteria: three-tier hierarchy; only this section is styled. */
.criteria-heading{font-size:20px;color:#17448b;margin:28px 0 14px}
.criteria-group{margin:12px 0;border:1px solid #dbe4f1;border-radius:12px;background:#fff;overflow:hidden}
.criteria-group>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;background:#f3f7ff;color:#17448b;font-size:18px;font-weight:750}
.criteria-group>summary::-webkit-details-marker{display:none}
.criteria-group>summary::after{content:'▾';margin-left:auto;color:#59759e}
.criteria-group[open]>summary::after{content:'▴'}
.criteria-count{font-size:12px;color:#64748b;font-weight:500;white-space:nowrap}
.criteria-sections{padding:8px 20px 20px}
.criteria-section{padding:15px 0;border-bottom:1px solid #e6ecf4}
.criteria-section:last-child{border-bottom:0}
.criteria-section h3{font-size:16px;color:#1c4f92;margin:0 0 9px;font-weight:700}
.criteria-section ul{padding-left:23px;margin:0;list-style:disc}
.criteria-section li{color:#263246;line-height:1.7;margin:5px 0;font-size:15px;overflow-wrap:break-word}
.exam-grid{padding:10px 18px 18px}
.exam-row{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid #e6ecf4;padding:12px 3px;gap:14px}
.exam-row:last-child{border-bottom:none}
.exam-label{font-weight:700;color:#17448b}
.exam-value{color:#263246;line-height:1.6;overflow-wrap:break-word}
@media(max-width:760px){.criteria-group>summary{padding:13px 11px;font-size:15px}.criteria-count{font-size:10px}.criteria-sections{padding:4px 12px 14px}.criteria-section li{font-size:14px}.exam-row{grid-template-columns:1fr;gap:3px}.criteria-heading{font-size:18px}}

/* 멘토반 전 집중학습 - 기존 UI 보존 */
.focus-item{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #e5ebf4}.focus-check{flex:none}.focus-check input{width:20px;height:20px;accent-color:#2051ac}.focus-topic{background:transparent;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;flex:1;padding:2px}.focus-topic strong{color:#1746a5}.focus-group h3{margin-bottom:8px}@media(max-width:720px){.focus-item{padding:13px 0}.focus-topic{font-size:14px}}

/* 복합형 설계·구축 학습: 모바일 친화 자료 페이지 */
.cg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}.cg-box{border:1px solid #d7e1ee;border-radius:11px;padding:13px;background:#fbfdff;min-width:0;overflow-wrap:anywhere}.cg-box b,.cg-box strong{color:#1644a3}.cg-box p{margin:7px 0 0;line-height:1.65}.cg-box small{display:block;margin-top:7px;color:#56718e;line-height:1.55}.cg-anchor{display:inline-block;padding:8px 12px;border:1px solid #bdcee9;border-radius:9px;color:#194c9b;text-decoration:none;font-size:14px;font-weight:600;background:#f4f8ff}.cg-layers{display:flex;align-items:stretch;gap:5px;overflow-x:auto;padding:12px 0}.cg-layer{flex:1 0 120px;border:1px solid #a4c3e8;border-radius:9px;padding:12px 8px;text-align:center;background:#f0f6ff}.cg-layer b{display:block;color:#124b98;font-size:13px}.cg-layer span{display:block;margin-top:6px;color:#344765;font-size:12px;line-height:1.5}.cg-arrow{align-self:center;font-weight:bold;color:#4f83b7}.cg-question{border:1px solid #d7e1ee;border-radius:10px;margin:9px 0;background:white}.cg-question summary{cursor:pointer;padding:13px;color:#173f84}.cg-question>div{padding:4px 13px 14px;border-top:1px solid #edf0f5;line-height:1.7}#cg-flow,#cg-types,#cg-arch,#cg-knowledge,#cg-study,#cg-trends,#cg-practice{scroll-margin-top:24px}@media(max-width:680px){.cg-grid{grid-template-columns:1fr}.cg-layers{display:block}.cg-layer{margin:0 0 3px}.cg-arrow{text-align:center;transform:rotate(90deg);padding:3px}.cg-anchor{font-size:13px}}


/* 학원 19문제: 별도 페이지 없이 좌측 목록, 우측 답안. 기존 235개 화면은 보존 */
body[data-section="academy"] .wrapper{max-width:1560px}
body[data-section="academy"] .layout{grid-template-columns:minmax(0,1fr);max-width:1520px}
body[data-section="academy"] .side{display:none}
body[data-section="academy"] .main{min-width:0;padding:22px}
.academy-workspace{display:grid;grid-template-columns:315px minmax(0,1fr);gap:16px;align-items:start;margin-top:15px}
.academy-rail{position:sticky;top:12px;height:calc(100dvh - 25px);min-height:340px;background:#fff;border:1px solid #d5e2f3;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}
.academy-rail-head{flex:none;padding:15px;border-bottom:1px solid #e4eaf4;display:flex;align-items:center;justify-content:space-between;gap:8px}
.academy-rail-head strong{display:block;font-size:16px;color:#1644a3}
.academy-rail-head small{display:block;color:#63748e;margin-top:5px}
#academyListToggle{display:none}
.academy-problem-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 20px;scrollbar-gutter:stable}
.academy-session-heading{font-size:12px;color:#466087;font-weight:800;border-bottom:1px solid #dbe6f3;padding:12px 5px 8px}
.academy-pick{display:block;width:100%;text-align:left;background:#fff;color:#253f5d;border:1px solid #e0e8f3;border-radius:8px;margin:7px 0;padding:11px;font-size:13px;line-height:1.5;cursor:pointer}
.academy-pick strong{display:block;font-size:13px}
.academy-pick small{display:block;color:#738094;margin-top:4px;font-weight:500}
.academy-pick:hover{background:#f2f7ff}
.academy-pick[aria-current="true"]{background:#eaf2ff;color:#1644a3;border-color:#2563eb;box-shadow:inset 3px 0 #2563eb}
.academy-detail{min-width:0}
.academy-detail-head{position:sticky;top:9px;z-index:3;background:#fff;border:1px solid #dce5f0;border-radius:11px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.academy-detail-head strong{display:block;font-size:17px;color:#173f83;line-height:1.45}
.academy-detail-head small{display:block;color:#6a7b92;font-size:12px;margin-top:5px}
.academy-view-buttons{display:flex;gap:7px;flex-wrap:wrap}
.academy-view-buttons button,.academy-mobile-nav button{border:1px solid #a9bfde;background:white;color:#173f83;padding:9px 11px;border-radius:8px;font-size:13px;white-space:nowrap}
.academy-view-buttons button:disabled,.academy-mobile-nav button:disabled{opacity:.4;cursor:not-allowed}
.academy-answer-surface{margin-top:12px;background:#fff;border:1px solid #dce5f0;border-radius:11px;padding:7px;min-height:600px}
#academyAnswerFrame{display:block;width:100%;min-height:680px;border:0;overflow:hidden}
.academy-answer-pending{padding:26px 20px;max-width:800px;margin:auto}
.academy-answer-pending h3{font-size:20px}
.academy-answer-pending p{line-height:1.7;font-size:14px}
#academyRelatedButtons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
#academyRelatedButtons button{background:#edf6ee;border:1px solid #96c6a0;color:#196340}
.academy-answer-note{font-size:12px;color:#61738a}
.academy-mobile-nav{display:none}
@media(max-width:920px){
 body[data-section="academy"] .layout{padding:10px}
 body[data-section="academy"] .main{padding:12px}
 .academy-workspace{display:flex;flex-direction:column;gap:10px}
 .academy-rail{width:100%;position:static;height:auto;min-height:0}
 .academy-rail-head{padding:13px;gap:12px}
 .academy-rail-head strong{font-size:14px}
 #academyListToggle{display:block;flex:none;background:#eaf2ff;color:#174b93;border:1px solid #a9c5e8;font-size:12px;padding:9px}
 .academy-problem-list{display:none;max-height:42dvh;overflow-y:auto}
 .academy-problem-list.expanded{display:block}
 .academy-detail{width:100%}
 .academy-detail-head{position:static;padding:12px}
 .academy-detail-head strong{font-size:16px}
 .academy-view-buttons{display:none}
 .academy-answer-surface{padding:2px}
 #academyAnswerFrame{min-height:650px}
 .academy-mobile-nav{display:flex;position:sticky;bottom:0;z-index:4;justify-content:space-between;align-items:center;gap:8px;background:rgba(255,255,255,.98);border:1px solid #d0deef;border-radius:9px;padding:8px;margin:8px 0 0;box-shadow:0 -2px 12px #173e7c16}
 .academy-mobile-nav span{font-size:13px;font-weight:800;color:#173f83;white-space:nowrap}
}


/* 통합 235개 연속학습 탐색기 */
body[data-section="topics"] .wrapper{max-width:1580px}
body[data-section="topics"] .layout{max-width:1540px;grid-template-columns:minmax(0,1fr)}
body[data-section="topics"] .side{display:none}
body[data-section="topics"] .main{min-width:0;padding:22px}
.topic-explorer{min-width:0}
.topic-explorer-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start;margin-top:14px}
.topic-explorer-rail{position:sticky;top:12px;height:calc(100dvh - 24px);min-height:355px;background:#fff;border:1px solid #d5e1f0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}
.topic-explorer-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border-bottom:1px solid #e2eaf4}
.topic-explorer-head strong{display:block;color:#1644a3;font-size:16px}
.topic-explorer-head small{display:block;color:#6e7e90;margin-top:4px;font-size:12px}
#topicToggle{display:none}
.topic-explorer-filters{flex:none;padding:10px 11px 11px;border-bottom:1px solid #e2eaf4}
#topicQuickSearch{width:100%;margin:0 0 8px;padding:10px 11px;background:#fff}
.topic-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:7px 0 0}
.topic-filter-pair select{min-width:0;width:100%;font:inherit;font-size:12px;padding:9px 7px;border:1px solid #cbd8e9;border-radius:7px;background:white;color:#253d5c}
.topic-explorer-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 18px;scrollbar-gutter:stable}
.topic-explorer-pick{display:block;text-align:left;width:100%;background:#fff;border:1px solid #dee7f4;color:#263b58;border-radius:8px;padding:11px;margin:7px 0;cursor:pointer;font-family:inherit;line-height:1.5}
.topic-explorer-pick strong{font-size:13px;display:block;font-weight:720;overflow-wrap:anywhere}
.topic-explorer-pick small{font-size:11px;display:block;color:#708095;margin-top:4px;font-weight:450;overflow-wrap:anywhere}
.topic-explorer-pick:hover{background:#f3f7ff;border-color:#afc9ec}
.topic-explorer-pick[aria-current="true"]{border-color:#2563eb;background:#eaf2ff;box-shadow:inset 3px 0 #2563eb;color:#174b93}
.topic-explorer-noresults{padding:12px;font-size:13px;color:#697c94}
.topic-explorer-detail{min-width:0}
.topic-explorer-detailhead{position:sticky;top:9px;z-index:3;background:#fff;border:1px solid #d9e4f1;border-radius:11px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topic-explorer-detailhead strong{font-size:17px;line-height:1.45;color:#17458c;overflow-wrap:anywhere;display:block}
.topic-explorer-detailhead small{font-size:12px;display:block;color:#697d92;margin-top:4px}
.topic-explorer-nav{display:flex;gap:7px;flex-wrap:wrap}
.topic-explorer-nav button,.topic-explorer-mobile-nav button{background:#fff;color:#164891;border:1px solid #b3c5e1;border-radius:8px;padding:9px 11px;font-size:13px;white-space:nowrap}
.topic-explorer-nav button:disabled,.topic-explorer-mobile-nav button:disabled{opacity:.45;cursor:not-allowed}
.topic-explorer-paper{margin-top:12px;background:#fff;border:1px solid #dae4ef;border-radius:11px;padding:7px;min-height:620px}
#topicAnswerFrame{display:block;width:100%;min-height:680px;border:0;overflow:hidden;background:white}
.topic-explorer-empty{padding:28px 23px;max-width:750px;min-height:360px;margin:0 auto}
.topic-explorer-empty h3{font-size:20px;color:#17458c}
.topic-explorer-empty p{font-size:14px;line-height:1.75;color:#63748b}
.topic-explorer-meta{margin:11px 0;border:1px solid #dce5f0;background:#fff;border-radius:10px;padding:12px 15px}
.topic-explorer-facts{display:flex;flex-wrap:wrap;gap:7px}
.topic-explorer-facts span{padding:5px 8px;background:#f2f6fc;border-radius:6px;font-size:12px;color:#425a79}
.topic-explorer-related{font-size:13px;padding:11px 0 4px}
.topic-extra-link{border:1px solid #aac7e7;background:#f0f5ff;color:#16458c;font-size:12px;padding:7px 9px;margin:3px;border-radius:7px}
.topic-explorer-questions{margin:13px 0 1px;border-top:1px solid #e2e8f3;font-size:13px}
.topic-explorer-questions summary{padding:13px 3px 4px;cursor:pointer;font-weight:700;color:#17458c}
.topic-question-row{border-bottom:1px solid #e9eef7;padding:9px 2px;line-height:1.55}
.topic-question-row span{display:block;color:#6b7890;font-size:11px}
.topic-question-row p{font-size:13px;margin:5px 0}
.topic-explorer-mobile-nav{display:none}
@media(max-width:920px){
 body[data-section="topics"] .layout{padding:10px}
 body[data-section="topics"] .main{padding:12px 12px 92px}
 .topic-explorer-grid{display:flex;flex-direction:column;gap:9px}
 .topic-explorer-rail{width:100%;height:auto;position:static;min-height:0}
 .topic-explorer-head{padding:12px}
 .topic-explorer-head strong{font-size:14px}
 #topicToggle{display:block;flex:none;border:1px solid #a9c5e8;border-radius:7px;color:#164891;background:#eaf2ff;padding:9px;font-size:12px}
 .topic-explorer-filters,.topic-explorer-list{display:none}
 .topic-explorer-rail.expanded .topic-explorer-filters{display:block}
 .topic-explorer-rail.expanded .topic-explorer-list{display:block;max-height:44dvh;flex:none;overflow-y:auto}
 .topic-explorer-detail{width:100%}
 .topic-explorer-detailhead{position:static;padding:12px}
 .topic-explorer-detailhead strong{font-size:16px}
 .topic-explorer-nav{display:none}
 .topic-explorer-paper{padding:2px}
 #topicAnswerFrame{min-height:650px}
 .topic-explorer-mobile-nav{display:flex;position:fixed;left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));z-index:5;justify-content:space-between;align-items:center;gap:8px;background:rgba(255,255,255,.98);border:1px solid #ccdbee;border-radius:9px;padding:8px;margin:9px 0;box-shadow:0 -2px 12px #133a7f19}
 .topic-explorer-mobile-nav span{font-size:13px;font-weight:800;color:#17458c;white-space:nowrap}
}
@media print{
 body[data-section="topics"] .topnav,body[data-section="topics"] .topic-explorer-rail,body[data-section="topics"] .topic-explorer-detailhead,body[data-section="topics"] .topic-explorer-meta,body[data-section="topics"] .topic-explorer-mobile-nav{display:none!important}
 body[data-section="topics"] .topic-explorer-grid{display:block}
}
