
:root{--blue:#1269c7;--blue2:#0d56a5;--ink:#243247;--muted:#6f7f93;--line:#dce5ef;--bg:#f4f7fb;--panel:#fff;--soft:#eaf3ff;--shadow:0 12px 34px rgba(24,49,83,.10)}
*{box-sizing:border-box} html,body{margin:0;height:100%;font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,select{font:inherit}
.top{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 rgba(34,54,77,.08)}
.topline{height:64px;display:flex;align-items:center;padding:0 28px;gap:14px;border-top:0}
.brand{font-size:22px;font-weight:800;letter-spacing:-.5px;white-space:nowrap}.dot{color:#9bacbf}.pill{background:#f2f6fb;border:1px solid #dbe5ef;border-radius:999px;padding:8px 12px;font-weight:700}.issue{display:flex;align-items:center;gap:6px}.route-select select,.mode-select{border:1px solid #cdd9e7;border-radius:10px;padding:8px 34px 8px 11px;background:#fff;font-weight:800;color:var(--ink)}
.viewnav{display:flex;align-self:stretch;align-items:center;gap:2px;margin-left:4px}.viewbtn{height:100%;border:0;background:transparent;padding:0 16px;font-weight:780;color:#65758a;cursor:pointer;position:relative;white-space:nowrap}.viewbtn:hover{color:var(--blue)}.viewbtn.active{color:var(--blue)}.viewbtn.active:after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--blue)}.mode-select{display:none}
.top-spacer{flex:1}.ghost{border:1px solid #d4dfeb;background:#fff;color:#52657c;border-radius:9px;padding:8px 11px;cursor:pointer}.ghost:hover{background:#f5f8fc}
.shell{height:calc(100vh - 64px);min-height:560px;display:flex;overflow:hidden}
.side{width:250px;flex:0 0 250px;background:#fff;border-right:1px solid var(--line);overflow:auto;padding:15px 12px 28px;transition:.2s}
.side.hidden{width:0;flex-basis:0;padding-left:0;padding-right:0;border:0;overflow:hidden}
.side-title{font-size:12px;font-weight:800;color:#8190a2;padding:4px 8px 9px;text-transform:uppercase;letter-spacing:.6px}.list{display:flex;flex-direction:column;gap:7px}
.listitem{display:flex;gap:10px;align-items:center;width:100%;border:1px solid transparent;background:transparent;border-radius:11px;padding:8px;cursor:pointer;text-align:left;color:#44566c}
.listitem:hover{background:#f6f9fc}.listitem.active{background:#edf5ff;border-color:#cbe1fb;color:#125ca8}
.thumb{width:74px;aspect-ratio:16/9;border-radius:6px;object-fit:cover;border:1px solid #dfe6ee;background:#f4f7fa;flex:0 0 auto}.li-text{min-width:0}.li-title{font-size:13px;font-weight:780;line-height:1.3;display:block;white-space:normal}.li-sub{font-size:11px;color:#8a98a9;margin-top:4px;display:block}
.main{min-width:0;flex:1;overflow:auto;padding:22px 26px 32px}
.toolbar{height:38px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.toolbar .title{font-size:15px;font-weight:800}.toolbar .spacer{flex:1}
.smallbtn{border:1px solid #d6e0ea;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer;color:#54677d}.smallbtn:hover{background:#f7f9fc}
.card{background:#fff;border:1px solid #dde6ef;border-radius:16px;box-shadow:var(--shadow)}
.slide-stage{max-width:1180px;margin:0 auto}.slide-wrap{position:relative;background:#111;border-radius:14px;overflow:hidden;box-shadow:0 10px 35px rgba(12,30,54,.15)}.slide-wrap img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff}
.navbar{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:13px}.navbtn{border:1px solid #d4dfeb;background:#fff;border-radius:10px;padding:9px 16px;cursor:pointer;font-weight:800;color:#495f77}.navbtn:disabled{opacity:.35;cursor:not-allowed}.counter{font-size:13px;color:#78889b;min-width:70px;text-align:center}
.overview{max-width:1220px;margin:0 auto}.hero-card{padding:22px 24px;margin-bottom:16px;display:flex;align-items:center;gap:18px}.hero-card .tag{font-size:12px;font-weight:800;color:var(--blue);background:#edf5ff;border-radius:999px;padding:7px 10px}.hero-card h1{font-size:26px;margin:0 0 6px;letter-spacing:-.7px}.hero-card p{margin:0;color:var(--muted);font-size:14px}.hero-card .spacer{flex:1}.badge{background:#f1f6fc;color:#58718b;border:1px solid #d9e5f1;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:700}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px}.overview-slide{padding:14px}.overview-slide img{display:block;width:100%;border-radius:10px;border:1px solid #e1e8ef}.summary{padding:22px}.summary h3{margin:0 0 16px;font-size:17px}.sumitem{padding:14px 0;border-bottom:1px solid #edf1f5}.sumitem:last-child{border-bottom:0}.sumhead{font-weight:800;font-size:14px;margin-bottom:4px}.sumdesc{font-size:13px;color:#738399;line-height:1.55}
.video-layout,.guide-layout{max-width:1180px;margin:0 auto}.player{padding:18px}.poster{position:relative;overflow:hidden;border-radius:13px;background:#0c1724;aspect-ratio:16/9;cursor:pointer}.poster img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72)}.playcircle{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:31px;color:var(--blue);padding-left:5px;box-shadow:0 9px 28px rgba(0,0,0,.22)}.placeholder-label{position:absolute;left:18px;bottom:18px;background:rgba(13,33,55,.82);color:#fff;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700}.video-meta{padding:14px 4px 0}.video-titlebar{display:flex;align-items:center;gap:12px;min-height:42px}.video-titlebar h2{font-size:20px;margin:0;min-width:0}.video-titlebar .spacer{flex:1}.rangebtn{border:1px solid #d5e0eb;background:#fff;color:#53677e;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:750;white-space:nowrap}.rangebtn:hover{background:#f4f8fc}.poster-playhint{position:absolute;right:16px;bottom:16px;background:rgba(255,255,255,.92);color:#557089;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}
.guide-note{max-width:1180px;margin:0 auto 14px;background:#eef7ff;border:1px solid #d2e8ff;border-radius:12px;padding:12px 15px;color:#3c648d;font-size:13px;line-height:1.55}.guide-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.guide-copy{padding:22px}.guide-copy h2{margin:0 0 8px;font-size:21px}.guide-copy p{margin:0;color:#738298;line-height:1.6;font-size:14px}.reuse{display:inline-block;margin-top:16px;background:#f0f7f4;color:#2f7b61;border:1px solid #d5eadd;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.guide-preview{padding:13px}.guide-preview img{width:100%;border-radius:10px;border:1px solid #e0e7ef;display:block}
.toast{position:fixed;right:22px;bottom:22px;background:#22364d;color:#fff;padding:12px 16px;border-radius:10px;font-size:13px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:99}.toast.show{opacity:1;transform:none}.mobile-menu{display:none}
@media (max-width:900px){
.topline{padding:0 10px;height:60px;gap:7px}.brand{font-size:16px}.topline .dot,.topline .pill,.viewnav{display:none}.route-select select{max-width:92px;padding:7px 27px 7px 9px;font-size:12.5px}.mode-select{display:block;max-width:116px;padding:7px 27px 7px 9px;font-size:12.5px}.shell{height:calc(100vh - 60px)}
.side{position:fixed;z-index:15;top:60px;bottom:0;left:0;width:min(82vw,310px);flex-basis:auto;box-shadow:9px 0 28px rgba(20,43,69,.16);transform:translateX(-102%);transition:.2s}.side.mobile-open{transform:none}.side.hidden{width:min(82vw,310px);padding:15px 12px 28px;border-right:1px solid var(--line)}
.main{padding:14px 12px 25px}.mobile-menu{display:inline-flex}.desktop-side-toggle{display:none}.overview-grid{grid-template-columns:1fr}.hero-card{align-items:flex-start;flex-wrap:wrap}.hero-card h1{font-size:21px}.guide-detail{grid-template-columns:1fr}.toolbar .title{font-size:13px}.video-titlebar{align-items:flex-start;flex-wrap:wrap}.video-titlebar h2{font-size:17px;flex:1 1 100%}.video-titlebar .rangebtn{margin-left:auto}.media-kindbar{margin-bottom:10px}
}

.media-kindbar{display:flex;gap:8px;margin:0 auto 14px;max-width:1180px;flex-wrap:wrap}.kindbtn{border:1px solid #d7e2ed;background:#fff;color:#65778c;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;cursor:pointer}.kindbtn.active{background:#eaf3ff;color:#1269c7;border-color:#bdd8f7}.kindbtn.screen.active{background:#e8f7f5;color:#1d817f;border-color:#bfe5e1}.kindbtn.practice.active{background:#fff0e6;color:#c66d23;border-color:#f2d1b6}.kind-icon{font-size:14px}.typebadge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;margin-right:6px}.typebadge.screen{background:#e8f7f5;color:#1d817f}.typebadge.practice{background:#fff0e6;color:#c66d23}.related{max-width:1180px;margin:14px auto 0;padding:14px 16px;background:#fff;border:1px solid #dde6ef;border-radius:13px;box-shadow:0 8px 24px rgba(24,49,83,.06)}.related-head{font-size:12px;font-weight:850;color:#76879a;margin-bottom:9px}.related-row{display:flex;gap:8px;flex-wrap:wrap}.related-btn{border:1px solid #d6e0ea;background:#f8fbfe;border-radius:9px;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:800;color:#40566f}.related-btn:hover{background:#eef5fc}.video-guide{grid-column:1/-1;padding:18px 18px 16px;margin-top:2px;background:#f8fbff;border-color:#dbe7f3}.guide-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.guide-head-left{display:flex;align-items:center;gap:14px;min-width:0}.guide-icon{width:44px;height:44px;border-radius:50%;background:#e6f0ff;color:#1269c7;display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 auto}.guide-title-line{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.guide-title-line h3{margin:0;font-size:17px;letter-spacing:-.3px}.guide-divider{color:#9eb0c2;font-weight:700}.guide-title-line p{margin:0;color:#58718b;font-size:13px;font-weight:700}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-card{display:flex;align-items:flex-start;gap:16px;padding:16px 17px;background:#fff;border:1px solid #e0e8f0;border-radius:16px;box-shadow:0 6px 20px rgba(24,49,83,.05)}.guide-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:900;flex:0 0 auto;line-height:1}.guide-num.blue{background:#2a74de}.guide-num.mint{background:#34c3b0}.guide-num.orange{background:#ff9938}.guide-main{min-width:0;padding-left:14px;border-left:1px solid #e9eef4;flex:1}.guide-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}.guide-title{font-size:15px;font-weight:900;color:#243247;letter-spacing:-.2px}.guide-loc{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:850;white-space:nowrap}.guide-loc.top{background:#edf5ff;color:#2a67a6;border:1px solid #d6e7fa}.guide-loc.sub{background:#eef8f6;color:#2a817a;border:1px solid #d3ebe7}.guide-desc{font-size:12.5px;color:#6f7f93;line-height:1.55}.media-hint{max-width:1180px;margin:0 auto 14px;background:#fff8e8;border:1px solid #f3dfb2;border-radius:12px;padding:11px 14px;color:#79633a;font-size:12.5px;line-height:1.55}.media-label{font-size:12px;color:#8391a4;font-weight:750;margin-top:5px}.coursebadge{background:#f1f6fc;color:#58718b;border:1px solid #d9e5f1;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:700}.poster.screen{background:#12302f}.poster.practice{background:#2b2016}

/* 관련 영상 발견성 개선 */
.related-quick{max-width:1180px;margin:0 auto 12px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #cfe0f2;border-radius:12px;background:linear-gradient(90deg,#f4f9ff 0%,#fbfdff 55%,#fffaf5 100%);box-shadow:0 6px 18px rgba(24,49,83,.06)}
.related-quick-icon{width:36px;height:36px;border-radius:10px;background:#e6f1ff;color:#1269c7;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.related-quick-copy{min-width:0}.related-quick-copy strong{display:block;font-size:13px;color:#28425f;margin-bottom:2px}.related-quick-copy span{display:block;font-size:11.5px;color:#7b8b9d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-quick-counts{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.rq-count{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850;white-space:nowrap}.rq-count.screen{background:#e8f7f5;color:#1d817f}.rq-count.practice{background:#fff0e6;color:#c66d23}.related-launch{border:0;background:#1269c7;color:#fff;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap;box-shadow:0 4px 10px rgba(18,105,199,.16)}.related-launch:hover{background:#0d56a5}
.related-backdrop{position:fixed;z-index:54;left:0;right:0;top:118px;bottom:0;background:rgba(24,38,55,.24);opacity:0;pointer-events:none;transition:.2s}.related-drawer{position:fixed;z-index:55;top:118px;right:0;bottom:0;width:min(390px,92vw);background:#fff;border-left:1px solid #dce5ef;box-shadow:-15px 0 38px rgba(24,49,83,.16);transform:translateX(105%);transition:.23s ease;display:flex;flex-direction:column}.related-open .related-backdrop{opacity:1;pointer-events:auto}.related-open .related-drawer{transform:none}.rd-head{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 14px;border-bottom:1px solid #edf1f5}.rd-head-copy{min-width:0;flex:1}.rd-kicker{font-size:11px;font-weight:850;color:#1269c7;margin-bottom:4px}.rd-title{font-size:17px;font-weight:900;letter-spacing:-.3px}.rd-close{border:1px solid #d8e2ec;background:#fff;border-radius:8px;width:34px;height:34px;cursor:pointer;color:#697b90;font-size:18px}.rd-body{padding:14px;overflow:auto}.rd-note{font-size:12px;line-height:1.55;color:#74859a;background:#f5f8fc;border-radius:10px;padding:10px 11px;margin-bottom:12px}.rd-item{width:100%;text-align:left;border:1px solid #dce5ef;background:#fff;border-radius:12px;padding:13px 13px 12px;margin-bottom:9px;cursor:pointer;transition:.15s}.rd-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(24,49,83,.08);border-color:#c7d9ec}.rd-item-top{display:flex;align-items:center;gap:7px;margin-bottom:7px}.rd-type{border-radius:999px;padding:4px 7px;font-size:10.5px;font-weight:900}.rd-type.screen{background:#e8f7f5;color:#1d817f}.rd-type.practice{background:#fff0e6;color:#c66d23}.rd-dur{font-size:10.5px;color:#8a98a9}.rd-name{font-size:14px;font-weight:850;color:#2c4057;margin-bottom:5px}.rd-desc{font-size:11.5px;color:#74859a;line-height:1.5}.rd-arrow{float:right;color:#1269c7;font-weight:900}
@media(max-width:900px){.guide-head{flex-direction:column;align-items:flex-start}.guide-note{max-width:none;text-align:left}.guide-cards{grid-template-columns:1fr}.guide-card{padding:15px 14px;gap:12px}.guide-main{padding-left:12px}.related{margin-left:0;margin-right:0}.related-quick{align-items:flex-start;flex-wrap:wrap;padding:10px;margin-bottom:10px}.related-quick-copy{flex:1;min-width:180px}.related-quick-copy span{white-space:normal}.related-quick-counts{margin-left:48px;order:3}.related-launch{margin-left:auto}.related-backdrop{top:110px}.related-drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:72vh;border-left:0;border-top:1px solid #dce5ef;border-radius:18px 18px 0 0;transform:translateY(105%)}.related-open .related-drawer{transform:none}.rd-head{padding:15px 16px 12px}.rd-body{padding:12px 14px 22px}}

.route-select{display:flex;align-items:center;gap:7px}.route-select select{border:1px solid #cdd9e7;border-radius:10px;padding:8px 31px 8px 10px;background:#fff;font-weight:800;color:var(--ink)}
.route-select select[hidden]{display:none}.route-hint{font-size:11px;color:#8a98aa;margin-left:2px;white-space:nowrap}.loading{max-width:760px;margin:60px auto;text-align:center;color:#718196}.errorbox{max-width:780px;margin:40px auto;padding:22px;background:#fff;border:1px solid #e2e8ef;border-radius:14px;box-shadow:var(--shadow)}
.video-frame{width:100%;height:100%;border:0;display:block;background:#000}.video-native{width:100%;height:100%;display:block;background:#000}.poster.has-video img{filter:none}.poster.has-video .playcircle,.poster.has-video .placeholder-label{display:none}
@media(max-width:900px){.route-select{gap:5px}.route-select select{max-width:78px;padding:7px 25px 7px 8px;font-size:12px}.route-hint{display:none}}


/* v5: 레벨 고정형 상단 구조 */
.context-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border:1px solid #dbe5ef;background:#f2f6fb;color:#4f6379;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:850;white-space:nowrap}
.issue-select{min-width:112px}
@media(max-width:900px){
  .topline{padding:0 8px;gap:5px}
  .brand{font-size:15px}
  .route-select{gap:5px;flex:0 0 auto}
  .context-badge{min-width:44px;padding:6px 8px;font-size:11.5px}
  .route-select .issue-select{min-width:92px;max-width:102px;padding:7px 24px 7px 8px;font-size:12px}
  .mode-select{max-width:98px;padding:7px 23px 7px 8px;font-size:12px}
}


/* v7: 공통 하단 저작권 */
.site-footer{max-width:1220px;margin:72px auto 10px;padding:18px 8px 4px;border-top:1px solid #e2e8f0;text-align:center;color:#93a0af;font-size:11px;line-height:1.55;font-weight:400;letter-spacing:-.1px}
.site-footer strong{font-weight:600;color:#7d8b9b}
@media(max-width:900px){.site-footer{margin-top:54px;padding:16px 6px 8px;font-size:10px;line-height:1.5}}



/* v9: 기본교육 고정 버튼 + 레벨 고정 + 호별교육 분리 */
.basic-course-btn{border:1px solid #cdd9e7;background:#fff;color:#52657c;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:850;white-space:nowrap;cursor:pointer;transition:.15s}
.basic-course-btn:hover{border-color:#9fc4ef;background:#f4f9ff;color:var(--blue)}
.basic-course-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(18,105,199,.18)}
.route-select .issue-select{min-width:116px}
@media(max-width:900px){
  .basic-course-btn{padding:7px 9px;font-size:11.5px;border-radius:9px}
  .context-badge{min-width:42px;padding:6px 7px;font-size:11px}
  .route-select .issue-select{min-width:88px;max-width:96px;padding:7px 22px 7px 7px;font-size:11.5px}
}
@media(max-width:430px){
  .topline{padding-left:7px;padding-right:7px;gap:4px}
  .brand{font-size:14px}
  .basic-course-btn{padding:6px 7px;font-size:11px}
  .context-badge{min-width:39px;padding:6px 6px;font-size:10.5px}
  .route-select{gap:4px}
  .route-select .issue-select{min-width:82px;max-width:88px;font-size:11px;padding-right:19px}
  .mode-select{max-width:88px;font-size:11px;padding-right:19px}
}

/* v11: 현재 교육 상태와 보기 메뉴를 시각적으로 분리, 호 이동 버튼은 메뉴 우측에 배치 */
.current-course{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 15px;
  border-radius:12px;
  border:1px solid #d7e3ef;
  background:#f5f8fc;
  font-size:18.5px;
  font-weight:900;
  color:#243247;
  white-space:nowrap;
  letter-spacing:-.3px;
}
.viewnav{
  display:flex;
  align-self:stretch;
  align-items:center;
  gap:2px;
  margin-left:10px;
  padding-left:14px;
  border-left:1px solid #dde6ef;
}
.top-spacer{display:none !important}
.course-switcher{flex:0 0 auto;display:flex;align-items:center;position:relative;margin-left:24px}
.course-jump-btn,
.course-dropdown>summary{
  min-height:38px;
  border-radius:10px;
  padding:8px 12px;
  font-size:12.5px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
  transition:.15s;
}
.course-jump-btn{
  border:1px solid #e89ab8;
  background:#fff2f7;
  color:#b03066;
  box-shadow:0 1px 0 rgba(176,48,102,.05);
}
.course-jump-btn:hover{background:#ffe7f0;border-color:#d97aa1;color:#9c2457}
.course-dropdown{position:relative}
.course-dropdown>summary{list-style:none;display:flex;align-items:center;gap:6px;border:1px solid #e89ab8;background:#fff2f7;color:#b03066;box-shadow:0 1px 0 rgba(176,48,102,.05)}
.course-dropdown>summary:hover{background:#ffe7f0;border-color:#d97aa1;color:#9c2457}
.course-dropdown>summary::-webkit-details-marker{display:none}
.course-dropdown>summary::after{content:'▼';font-size:9px;color:#b85a7e;margin-left:2px;transform:translateY(1px)}
.course-dropdown[open]>summary{background:#ffe7f0;border-color:#d97aa1;color:#9c2457}
.course-dropdown-menu{
  position:absolute;
  z-index:50;
  right:0;
  top:calc(100% + 7px);
  min-width:164px;
  padding:7px;
  background:#fff;
  border:1px solid #d5e2ef;
  border-radius:11px;
  box-shadow:0 12px 28px rgba(24,49,83,.15);
}
.course-option{
  display:block;
  width:100%;
  border:0;
  background:#fff;
  color:#465b73;
  border-radius:8px;
  padding:9px 10px;
  text-align:left;
  font-size:12.5px;
  font-weight:800;
  cursor:pointer;
}

.course-menu-sep{height:1px;background:#e7edf4;margin:5px 3px}
.course-option.basic-option{color:#465b73}
.course-option.basic-option.active{background:#f6eef4;color:#a22e5e}
.course-option:hover{background:#f2f7fc}
.course-option.active{background:#eaf3ff;color:#1269c7}

@media (min-width:901px){
  .topline{gap:10px}
  .viewbtn{padding-left:15px;padding-right:15px}
}

@media (max-width:900px){
  .topline{
    height:auto;
    min-height:101px;
    padding:8px 10px 9px;
    gap:6px 8px;
    flex-wrap:wrap;
    align-content:center;
  }
  .brand{order:1;font-size:16px}
  .current-course{order:2;font-size:14px;min-height:34px;padding:0 10px}
  .course-switcher{order:3;margin-left:14px}
  .course-jump-btn,.course-dropdown>summary{min-height:34px;padding:7px 9px;font-size:11.5px;border-radius:9px}
  .course-dropdown-menu{min-width:138px}
  .mode-select{
    order:5;
    display:block;
    flex:1 1 100%;
    width:100%;
    max-width:none;
    min-height:34px;
    margin:2px 0 0;
    padding:7px 30px 7px 10px;
    font-size:12.5px;
    border-top:1px solid #dde6ef;
  }
  .shell{height:calc(100vh - 101px)}
  .side{top:101px}
  .related-backdrop{top:101px}
  .related-drawer{top:auto}
}

@media (max-width:420px){
  .topline{padding-left:8px;padding-right:8px;gap:5px}
  .brand{font-size:15px}
  .current-course{font-size:13px}
  .course-jump-btn,.course-dropdown>summary{padding-left:8px;padding-right:8px;font-size:11px}
}

@media (max-width:900px){.course-switcher{margin-left:12px}}
@media (max-width:520px){.course-switcher{margin-left:8px}}

@media(max-width:900px){.guide-head{align-items:flex-start}.guide-title-line{gap:7px}.guide-cards{grid-template-columns:1fr}.guide-card{padding:14px 13px;gap:12px}.guide-main{padding-left:12px}.guide-desc{font-size:12px}}


/* v21: 모바일 상단 정렬, 타이틀 영역 축소, 안내 카드 아이콘 보강 */
.hero-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 16px;
  padding:18px 22px;
  margin-bottom:14px;
}
.hero-card .spacer{display:none !important}
.hero-card h1{font-size:20px;line-height:1.28;margin:0 0 4px;letter-spacing:-.45px}
.hero-card p{font-size:13px;line-height:1.5;margin:0;color:#6f7f93}
.coursebadge{padding:8px 10px;font-size:11.5px}
.summary{padding:20px}
.summary h3{margin-bottom:14px}
.sumitem{padding:16px 0}
.guide-mini-icon{display:inline-flex;align-items:center;justify-content:center;min-width:16px;margin-right:4px;font-size:13px;line-height:1}

@media (max-width:900px){
  .topline{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      'brand course switcher'
      'tabs tabs tabs';
    align-items:center;
    gap:8px 10px;
    min-height:0;
    padding:10px 12px 8px;
  }
  .brand{grid-area:brand;font-size:16px}
  .dot{display:none !important}
  .current-course{
    grid-area:course;
    justify-self:start;
    min-height:36px;
    padding:0 11px;
    font-size:14px;
    border-radius:11px;
  }
  .course-switcher{grid-area:switcher;justify-self:end;margin-left:0 !important}
  .viewnav{
    grid-area:tabs;
    display:flex !important;
    width:100%;
    overflow-x:auto;
    -ms-overflow-style:none;
    scrollbar-width:none;
    margin-left:0;
    padding-left:0;
    border-left:0;
    border-top:1px solid #dde6ef;
    padding-top:6px;
    gap:0;
  }
  .viewnav::-webkit-scrollbar{display:none}
  .viewbtn{
    height:40px;
    padding:0 14px;
    font-size:13.5px;
    flex:0 0 auto;
  }
  .viewbtn.active:after{left:14px;right:14px;height:4px}
  .mode-select{display:none !important}
  .shell{height:calc(100vh - 106px)}
  .side{top:106px}
  .related-backdrop{top:106px}

  .hero-card{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:12px;
    padding:16px 18px;
    margin-bottom:12px;
  }
  .hero-card h1{font-size:18px;margin-bottom:4px}
  .hero-card p{font-size:12px;line-height:1.45}
  .coursebadge{align-self:start;padding:7px 9px;font-size:10.5px}
  .overview-slide{padding:10px}
  .summary{padding:18px}
  .sumitem{padding:14px 0}
}

@media (max-width:520px){
  .topline{grid-template-columns:auto minmax(0,1fr) auto;gap:7px 8px;padding:9px 10px 7px}
  .brand{font-size:15px}
  .current-course{min-height:34px;padding:0 10px;font-size:13px}
  .course-jump-btn,.course-dropdown>summary{min-height:34px;padding:7px 10px;font-size:11px}
  .viewbtn{padding:0 12px;font-size:13px}
  .shell{height:calc(100vh - 102px)}
  .side{top:102px}
  .related-backdrop{top:102px}
  .hero-card{padding:14px 16px;gap:10px}
  .hero-card h1{font-size:17px}
  .hero-card p{font-size:11.5px;line-height:1.45}
  .coursebadge{font-size:10px;padding:6px 8px;justify-self:end}
}

@media (max-width:400px){
  .topline{grid-template-columns:auto 1fr;grid-template-areas:'brand switcher' 'course course' 'tabs tabs';}
  .brand{font-size:14px}
  .current-course{justify-self:start;width:max-content;max-width:100%}
  .course-switcher{justify-self:end}
  .shell{height:calc(100vh - 136px)}
  .side{top:136px}
  .related-backdrop{top:136px}
}


/* v22: 화면 시연 아이콘을 '▶' 버튼형으로 통일 */
.screen-play-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid #2a74de;border-radius:3px;background:#fff;color:#2a74de;font-size:10px;font-weight:900;line-height:1;box-sizing:border-box;vertical-align:-2px;flex:0 0 auto}
.screen-play-icon.sm{width:14px;height:14px;font-size:9px;border-radius:3px;vertical-align:-1px}
.screen-play-icon.lg{width:18px;height:18px;font-size:11px;border-radius:4px}
.practice-hands-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:-1px;flex:0 0 auto}
.practice-hands-icon.sm{font-size:13px}
.practice-hands-icon.lg{font-size:16px}
.kindbtn .screen-play-icon,.kindbtn .practice-hands-icon,.typebadge .screen-play-icon,.typebadge .practice-hands-icon,.rq-count .screen-play-icon,.rq-count .practice-hands-icon,.guide-title .screen-play-icon,.guide-title .practice-hands-icon,.li-title .screen-play-icon,.li-title .practice-hands-icon{margin-right:4px}
.related-quick-icon .screen-play-icon,.guide-icon .screen-play-icon,.playcircle .screen-play-icon{margin-right:0}
.playcircle .screen-play-icon{width:24px;height:24px;font-size:14px;border-width:2px;border-radius:5px;background:rgba(255,255,255,.95)}


/* v23: 화면 시연 아이콘을 윈도우 기본 버튼형 느낌으로 단순화 */
.screen-play-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;background:#2f78f3;color:#fff;border:none;border-radius:2px;font-size:9px;font-weight:900;line-height:1;box-sizing:border-box;vertical-align:middle;flex:0 0 auto;padding-left:1px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.screen-play-icon.sm{width:15px;height:15px;font-size:9px;border-radius:2px}
.screen-play-icon.lg{width:17px;height:17px;font-size:10px;border-radius:3px}
.practice-hands-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;flex:0 0 auto}
.practice-hands-icon.sm{font-size:13px}
.practice-hands-icon.lg{font-size:16px}
.kindbtn,.typebadge,.rq-count,.guide-title,.related-btn{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.kindbtn{padding:8px 14px}
.typebadge{gap:5px}
.li-title-icon{display:inline-flex;align-items:flex-start;gap:6px;line-height:1.3}
.li-title-label{display:inline-block}
.li-title .screen-play-icon,.li-title .practice-hands-icon{margin-top:1px}
.kindbtn .screen-play-icon,.kindbtn .practice-hands-icon,.typebadge .screen-play-icon,.typebadge .practice-hands-icon,.rq-count .screen-play-icon,.rq-count .practice-hands-icon,.guide-title .screen-play-icon,.guide-title .practice-hands-icon,.li-title .screen-play-icon,.li-title .practice-hands-icon{margin-right:0}
.guide-title{font-weight:800}
.playcircle{padding-left:6px}


/* v29 overview refresh */
.overview-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}
.glance{padding:20px 20px 16px}
.glance-head{margin-bottom:14px}
.glance-head h2{margin:0 0 6px;font-size:24px;letter-spacing:-.5px;color:#243247}
.glance-head p{margin:0;color:#6f7f93;font-size:14px;line-height:1.55}
.glance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.glance-item{display:flex;gap:12px;align-items:flex-start;padding:14px 14px;background:#f8fbff;border:1px solid #dee8f3;border-radius:14px}
.glance-num{width:36px;height:36px;border-radius:12px;background:#2a74de;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900;flex:0 0 auto}
.glance-body{min-width:0}
.glance-title{font-size:15px;font-weight:900;color:#243247;margin-bottom:4px;letter-spacing:-.2px}
.glance-desc{font-size:13px;color:#6f7f93;line-height:1.55}
.glance-foot{margin-top:14px;padding:12px 14px;background:#fff8e8;border:1px solid #f3dfb2;border-radius:12px;color:#79633a;font-size:12.5px;line-height:1.6}
.watch-guide-card{padding:20px}
.watch-guide-card h3{margin:0 0 14px;font-size:22px;letter-spacing:-.4px;color:#243247}
.watch-list{display:flex;flex-direction:column;gap:12px}
.watch-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf1f5}
.watch-item:last-child{border-bottom:0;padding-bottom:0}
.watch-step{width:32px;height:32px;border-radius:50%;background:#edf5ff;color:#1269c7;display:grid;place-items:center;font-size:13px;font-weight:900;flex:0 0 auto}
.watch-name{font-size:14px;font-weight:900;color:#243247;margin-bottom:4px}
.watch-desc{font-size:13px;color:#6f7f93;line-height:1.55}
@media(max-width:980px){.overview-top{grid-template-columns:1fr}.glance-grid{grid-template-columns:1fr}.glance-head h2,.watch-guide-card h3{font-size:20px}}
@media(max-width:640px){.glance{padding:16px}.watch-guide-card{padding:16px}.glance-item{padding:12px}.glance-num{width:32px;height:32px;border-radius:10px;font-size:13px}}


/* v30 overview simplification: 핵심 + 메뉴 안내 */
.overview>.glance{margin-bottom:16px}
.glance{padding:20px}
.glance-head{margin-bottom:16px}
.glance-head h2{margin:0 0 6px;font-size:24px;letter-spacing:-.5px;color:#243247}
.glance-head p{margin:0;color:#6f7f93;font-size:14px;line-height:1.55}
.glance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.glance-item{display:flex;gap:11px;align-items:flex-start;padding:15px 14px;min-height:104px;background:#f8fbff;border:1px solid #dee8f3;border-radius:14px}
.glance-num{width:36px;height:36px;border-radius:12px;background:#2a74de;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900;flex:0 0 auto}
.glance-body{min-width:0}.glance-title{font-size:15px;font-weight:900;color:#243247;margin-bottom:5px;letter-spacing:-.2px}.glance-desc{font-size:12.5px;color:#6f7f93;line-height:1.55}
.video-guide{margin-top:0}
.video-guide .guide-head{margin-bottom:12px}
.video-guide .guide-cards{gap:12px}
@media(min-width:1150px){.glance-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:900px){.glance-head h2{font-size:20px}.glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.glance{padding:16px}.glance-grid{grid-template-columns:1fr}.glance-item{min-height:0}}


/* v31 overview content expansion */
.overview{padding-top:10px}
.hero-card{margin-bottom:18px}
.overview>.glance{padding:24px 20px 18px;margin-bottom:18px}
.glance-head{margin-bottom:18px}
.glance-head h2{display:none}
.glance-head p{font-size:16px;line-height:1.7;color:#5e6f85}
.glance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.glance-item{padding:16px 15px;min-height:0;align-self:stretch}
.glance-title{font-size:18px;margin-bottom:8px;line-height:1.3}
.glance-desc{font-size:14px;line-height:1.7;word-break:keep-all}
.glance-actions{margin-top:10px}
.glance-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:999px;background:#edf5ff;border:1px solid #cfe0f6;color:#1d67c9;font-weight:800;font-size:12.5px;text-decoration:none}
.glance-link:hover{background:#e2efff}
.video-guide{margin-top:6px}
@media(min-width:1150px){.glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.overview{padding-top:4px}.overview>.glance{padding:16px}.glance-head p{font-size:14px;line-height:1.6}.glance-grid{grid-template-columns:1fr}.glance-title{font-size:16px}.glance-desc{font-size:13px;line-height:1.6}.glance-link{width:100%;padding:10px 12px;font-size:13px}}


/* v32 overview emphasis refinement */
.glance-item:nth-child(1) .glance-num{background:#2a74de}
.glance-item:nth-child(2) .glance-num{background:#35bda9}
.glance-item:nth-child(3) .glance-num{background:#ff9938}
.glance-item:nth-child(4) .glance-num{background:#ef6b86}
.glance-item:nth-child(5) .glance-num{background:#8a72e8}
.video-guide .guide-cards.guide-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.video-guide .guide-card{min-height:126px}
.video-guide .guide-num{background:#2a74de !important}
.video-guide .guide-loc.top{background:#edf5ff;color:#2a67a6;border:1px solid #d6e7fa}
@media(max-width:1180px){.video-guide .guide-cards.guide-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.video-guide .guide-cards.guide-cards-4{grid-template-columns:1fr}}


/* v33 site links refinement */
.glance-grid{align-items:stretch}
.glance-actions{display:flex;flex-wrap:wrap;gap:10px}
.glance-link.secondary{background:#ffffff;border-color:#cfe0f6;color:#5a79a7}
.glance-link.secondary:hover{background:#f5f9ff}
@media(min-width:1051px){.glance-item:nth-child(5){grid-column:span 2}}
@media(max-width:620px){.glance-actions{gap:8px}.glance-link.secondary,.glance-link{width:100%}}
