
/* Naesin Map · School Insight detail 2.0. Preserves original homepage styling. */
:root{--d-ink:#122342;--d-blue:#3458e8;--d-bg:#f6f8fd;--d-line:#e6ecf6;--d-muted:#60728d}
body.detail-page{background:#fff;font-weight:640;color:var(--d-ink)}
body.detail-page button,body.detail-page input{font-family:inherit}
.detail-page .wrap{max-width:1192px}
.detail-page .header{box-shadow:none}
.detail-page .hd-nav{display:flex;gap:26px;font-size:13px;font-weight:780;color:#566983;align-items:center}
.detail-page .hd-nav a:hover{color:#3458e8}
.dp-hero{padding:35px 0 50px;background:radial-gradient(ellipse 700px 440px at 97% 25%,#e9efff 0%,transparent 72%),linear-gradient(115deg,#fff,#f5f8ff);border-bottom:1px solid #e6ecf8}
.dp-crumb{font-size:12px;color:#7a88a0;font-weight:740;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:34px}
.dp-crumb a:hover{color:#3458e8}
.dp-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.dp-eyebrow{font-size:11px;letter-spacing:.11em;font-weight:900;color:#3761e9;margin-bottom:15px}
.dp-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #dce5fb;background:#edf3ff;color:#3458c9;font-size:12px;font-weight:850;border-radius:99px;padding:7px 11px}
.dp-badge.muted{color:#657791;background:#f2f5fa;border-color:#e8edf5}
.dp-hero h1{font-size:clamp(31px,3.6vw,49px);letter-spacing:-.06em;line-height:1.23;margin:17px 0;font-weight:900}
.dp-hero h1 span{color:#3659e6;display:inline-block}
.dp-subtitle{margin:0;max-width:710px;color:#536886;font-size:15px;font-weight:690;line-height:1.9}
.dp-status{padding:17px 18px;border:1px solid #dae4f6;border-radius:15px;background:rgba(255,255,255,.85);min-width:235px;max-width:300px}
.dp-status strong{display:block;font-size:12px;font-weight:880;margin-bottom:7px}
.dp-status span{font-size:12px;color:#6b7c96;line-height:1.7;display:block;font-weight:700}
.dp-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:29px;max-width:880px}
.dp-summary>div{border:1px solid #e4eafa;background:#fff;border-radius:14px;padding:18px 18px;box-shadow:0 8px 22px rgba(27,57,109,.03)}
.dp-summary small{display:block;font-size:11px;color:#7d8da5;font-weight:780;margin-bottom:6px}
.dp-summary strong{display:block;font-size:15px;color:#192c50;font-weight:870;line-height:1.5}
.dp-navstrip{background:#fff;border-bottom:1px solid #e8edf6;position:sticky;top:81px;z-index:35}
.dp-navstrip .wrap{display:flex;align-items:center;gap:27px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.dp-navstrip .wrap::-webkit-scrollbar{display:none}
.dp-navstrip a{padding:17px 1px;color:#63738d;font-size:13px;font-weight:790;border-bottom:3px solid transparent}
.dp-navstrip a:hover,.dp-navstrip a:focus-visible{color:#3359dd;border-color:#3359dd}
.dp-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;padding-top:40px;padding-bottom:70px;align-items:start}
.dp-main{min-width:0}
.dp-card{border-radius:21px;padding:29px;background:#fff;border:1px solid var(--d-line);box-shadow:0 13px 40px rgba(30,59,111,.045);margin-bottom:19px;scroll-margin-top:170px}
.dp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}
.dp-card h2{font-size:26px;letter-spacing:-.055em;font-weight:900;line-height:1.35;margin:6px 0 8px}
.dp-card p.desc{color:#687992;font-size:13px;line-height:1.85;font-weight:680;margin:0}
.dp-mini{display:inline-flex;color:#3d62dd;background:#edf2ff;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap}
.dp-section-num{color:#4867e2;font-size:10px;font-weight:950;letter-spacing:.13em}
.dp-planner{background:linear-gradient(155deg,#fff,#f9fbff)}
.dp-selectors{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;margin:23px 0 21px;padding:18px;border:1px solid #e9eef8;border-radius:14px;background:#f7f9fe}
.dp-selectors>div{min-width:0}
.dp-selectors .subject-ctrl{width:100%}
.dp-selectors label{display:block;color:#576a87;font-size:11px;font-weight:850;margin-bottom:10px}
.dp-buttons{display:flex;gap:7px;flex-wrap:wrap}
.dp-buttons button{border:1px solid #dce4f4;border-radius:9px;background:#fff;color:#536783;font-weight:830;padding:9px 14px;font-size:13px}
.dp-buttons button.active{color:#fff;background:#3458e8;border-color:#3458e8;box-shadow:0 4px 12px #3458e825}
.dp-buttons button:hover:not(.active){border-color:#91a6f6;color:#2849c9}
.dp-study-hero{background:#172b55;color:#fff;padding:23px;border-radius:15px;position:relative;overflow:hidden}
.dp-study-hero:after{content:'';width:210px;height:210px;border:1px solid #adc0ff28;border-radius:50%;position:absolute;right:-70px;top:-105px;box-shadow:0 0 0 45px #adbfff0a,0 0 0 90px #adbfff09;pointer-events:none}
.dp-study-hero small{display:block;font-size:11px;color:#bdd0fd;font-weight:880;letter-spacing:.05em;margin-bottom:10px}
.dp-study-hero h3{font-size:24px;font-weight:900;line-height:1.42;letter-spacing:-.05em;margin:0 0 12px;position:relative;z-index:1}
.dp-study-hero p{max-width:630px;font-size:13px;color:#d4def4;line-height:1.85;font-weight:650;margin:0;position:relative;z-index:1}
.dp-approach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:14px}
.dp-approach>div{border:1px solid #e8edf6;border-radius:13px;padding:17px;background:#fff}
.dp-approach small{color:#395ce4;font-weight:920;font-size:10px;letter-spacing:.06em}
.dp-approach h4{font-size:15px;font-weight:890;margin:9px 0 7px;letter-spacing:-.035em}
.dp-approach p{color:#667992;font-size:12px;line-height:1.72;font-weight:690;margin:0}
.dp-example{border-radius:12px;padding:16px 18px;background:#f0f5ff;border:1px solid #dce7ff;margin-top:13px}
.dp-example strong{font-size:12px;color:#244dce;font-weight:900;display:block;margin-bottom:6px}
.dp-example p{margin:0;font-size:13px;color:#415779;font-weight:690;line-height:1.8}
.dp-now{display:flex;align-items:center;gap:10px;padding:14px 17px;border-radius:11px;background:#f3f8f8;border:1px solid #e4f1f1;margin-top:14px;color:#32665e;font-size:12px;font-weight:710;line-height:1.6}
.dp-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dp-intro-box{background:#f8faff;border:1px solid #e7ecfa;border-radius:13px;padding:17px}
.dp-intro-box .symbol{font-size:22px;margin-bottom:8px}
.dp-intro-box strong{font-size:14px;display:block;font-weight:880;margin-bottom:7px}
.dp-intro-box p{font-size:12px;color:#66788f;line-height:1.75;margin:0;font-weight:650}
.dp-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.dp-insight{border:1px solid #e6ebf6;border-radius:14px;padding:18px 17px;min-width:0;background:#fff}
.dp-insight-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:12px}
.dp-insight-index{background:#eff3ff;border-radius:9px;min-width:31px;height:31px;display:grid;place-items:center;color:#4568e6;font-size:11px;font-weight:950}
.dp-insight-status{font-size:10px;color:#6c7c95;background:#f2f4f8;border-radius:99px;padding:5px 7px;font-weight:800;white-space:nowrap}
.dp-insight h3{font-size:15px;font-weight:900;margin:0 0 8px;letter-spacing:-.035em}
.dp-insight p{font-size:12px;font-weight:640;line-height:1.7;color:#647790;margin:0}
.dp-insight details{margin-top:13px;border-top:1px solid #edf1f8;padding-top:11px}
.dp-insight summary{font-size:12px;font-weight:880;color:#3459cf;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
.dp-insight summary:after{content:'+';font-size:17px}
.dp-insight details[open] summary:after{content:'−'}
.dp-insight details ul{padding-left:17px;margin:10px 0 0;color:#536982;font-size:12px;line-height:1.85;font-weight:660}
.dp-dataline{background:#f6f8fc;border:1px solid #e9eef7;padding:17px;border-radius:12px;margin-top:16px;font-size:12px;line-height:1.9;color:#5b6f89;font-weight:690}
.dp-dataline strong{color:#203a73}
.dp-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dp-week{border-radius:13px;background:#f7f9fe;border:1px solid #e6edf9;padding:17px 14px;min-width:0}
.dp-week small{color:#4163d4;font-size:10px;font-weight:940;letter-spacing:.06em}
.dp-week .bar{width:100%;height:5px;border-radius:99px;background:#dce5f9;margin:15px 0}
.dp-week:first-child .bar{background:#3458e8}.dp-week:nth-child(2) .bar{background:#7894ed}.dp-week:nth-child(3) .bar{background:#a4b6e6}
.dp-week h3{font-size:15px;font-weight:870;margin:0 0 8px}
.dp-week p{font-size:12px;color:#62758e;line-height:1.7;margin:0;font-weight:650}
.dp-selfdate{padding:17px 19px;margin:17px 0 0;background:#fbfcff;border:1px dashed #cdd9ee;border-radius:13px;display:flex;align-items:center;flex-wrap:wrap;gap:15px}
.dp-selfdate label{font-size:13px;font-weight:830;color:#344d78}
.dp-selfdate input{padding:10px 12px;border:1px solid #d7dfec;background:#fff;color:#253b60;border-radius:9px;font-size:13px;font-weight:650}
.dp-selfdate b{color:#3458e8;font-size:14px;font-weight:920}
.dp-selfdate small{color:#8995a7;font-size:11px;font-weight:650;display:block;width:100%}
.dp-checklist label{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #eef1f7;color:#3b4e68;font-weight:720;font-size:13px;line-height:1.6;cursor:pointer}
.dp-checklist label:last-child{border:0}
.dp-checklist input{width:19px;height:19px;flex:none;accent-color:#3458e8;margin:0}
.dp-check-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 10px;font-size:12px;font-weight:830;color:#63748f}
.dp-progress{background:#e9edf7;height:9px;border-radius:99px;overflow:hidden}
.dp-progress i{background:linear-gradient(90deg,#3658e8,#7294f3);display:block;height:100%;width:0;transition:width .2s}
.dp-check-actions{display:flex;align-items:center;gap:10px;margin-top:17px;flex-wrap:wrap}
.dp-outlinebtn{font-size:12px;font-weight:850;color:#3154ca;border:1px solid #ccd9f8;border-radius:9px;background:#fff;padding:10px 14px}
.dp-outlinebtn:hover{background:#f2f6ff}
.dp-qa details{border-bottom:1px solid #ecf0f6;padding:15px 0}
.dp-qa details:first-child{padding-top:5px}.dp-qa details:last-child{border:0}
.dp-qa summary{list-style:none;cursor:pointer;font-weight:850;font-size:14px;display:flex;gap:10px;justify-content:space-between;align-items:center;color:#233650}
.dp-qa summary:after{content:'+';font-weight:850;color:#5270d8;font-size:19px}
.dp-qa details[open] summary:after{content:'−'}
.dp-qa p{font-size:13px;line-height:1.85;color:#63758f;font-weight:670;margin:12px 23px 3px 0}
.dp-related{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dp-related a{border:1px solid #e7ecf5;padding:13px 15px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-weight:820;font-size:13px}
.dp-related a:hover{background:#f4f7ff;color:#3458e8}
.dp-related small{display:block;color:#8090a5;font-size:10px;font-weight:700;margin-top:3px}
.dp-side{position:sticky;top:151px;background:#fff;border:1px solid #e6ebf5;border-radius:18px;padding:22px;box-shadow:0 11px 33px rgba(30,57,96,.05)}
.dp-side>.dp-section-num{margin-bottom:12px;display:block}
.dp-side h3{font-size:18px;font-weight:900;line-height:1.4;margin:0 0 9px}
.dp-side p{font-size:12px;color:#697c94;font-weight:680;line-height:1.8;margin:0 0 17px}
.dp-side-link{display:block;background:#3458e8;color:white;text-align:center;border-radius:10px;padding:13px 12px;font-size:13px;font-weight:850;margin-bottom:16px}
.dp-side ol{list-style:none;margin:0;padding:0}
.dp-side li a{display:block;padding:10px 0;border-bottom:1px solid #eef1f7;font-size:12px;color:#60738c;font-weight:740}
.dp-side li a:hover{color:#3155d3}
.dp-side .dp-source{font-size:11px;line-height:1.75;color:#8090a3;margin-top:20px}
.dp-bottom{background:#172b54;color:white;border-radius:20px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px}
.dp-bottom h2{font-size:22px;font-weight:900;line-height:1.4;margin:0 0 8px}
.dp-bottom p{font-size:12px;color:#d2dcf5;font-weight:650;line-height:1.7;margin:0}
.dp-bottom a{white-space:nowrap;padding:12px 16px;border-radius:10px;background:#4165ec;font-size:13px;font-weight:850}
.dp-notice{font-size:11px;line-height:1.9;color:#8b9ab0;font-weight:650;padding:0 0 45px}
.dp-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1020px){.dp-body{grid-template-columns:minmax(0,1fr) 220px;gap:15px}.dp-side{padding:15px}.dp-approach{grid-template-columns:1fr}.dp-approach>div{padding:14px}.dp-hero h1{font-size:36px}}
@media(max-width:800px){.dp-body{grid-template-columns:1fr}.dp-side{position:static;order:2}.dp-topline{flex-direction:column}.dp-status{max-width:none;width:100%}.detail-page .hd-nav{display:none}}
@media(max-width:640px){.dp-hero{padding:23px 0 30px}.dp-crumb{margin-bottom:22px;font-size:10px;gap:6px}.dp-hero h1{font-size:30px;margin:14px 0 11px}.dp-subtitle{font-size:13px}.dp-status{padding:12px 15px}.dp-summary{margin-top:16px;gap:7px}.dp-summary>div{padding:11px 9px}.dp-summary small{font-size:10px}.dp-summary strong{font-size:11px}.dp-navstrip{top:68px}.dp-navstrip .wrap{gap:18px}.dp-navstrip a{padding:14px 0;font-size:12px}.dp-body{padding-top:19px;padding-bottom:35px}.dp-card{padding:19px 16px;border-radius:16px;scroll-margin-top:132px}.dp-card h2{font-size:21px}.dp-card p.desc{font-size:12px}.dp-card-head{flex-direction:column;gap:5px}.dp-selectors{margin:17px 0 14px;padding:13px;gap:14px}.dp-study-hero{padding:19px}.dp-study-hero h3{font-size:20px}.dp-approach{grid-template-columns:1fr;gap:7px}.dp-approach>div h4{margin:5px 0}.dp-intro-grid{gap:8px}.dp-intro-box{padding:12px}.dp-intro-box p{font-size:11px}.dp-insight-grid{grid-template-columns:1fr;gap:8px}.dp-insight{padding:16px}.dp-roadmap{grid-template-columns:1fr 1fr;gap:8px}.dp-week{padding:13px}.dp-week h3{font-size:13px}.dp-related{grid-template-columns:1fr}.dp-bottom{padding:23px 19px;flex-direction:column;align-items:flex-start}.dp-bottom h2{font-size:19px}.dp-selfdate{padding:15px;gap:9px}.dp-side{padding:20px}}
@media print{.header,.topline,.dp-navstrip,.dp-side,.dp-bottom,.dp-check-actions,.dp-selfdate{display:none!important}.dp-body{display:block}.dp-card{box-shadow:none;break-inside:avoid}.dp-hero{padding:12px 0}.dp-checklist{break-inside:avoid}}

/* Mobile: keep section navigation discoverable without occupying reading space while scrolling */
@media(max-width:640px){.dp-navstrip{position:static;top:auto}.dp-card{scroll-margin-top:86px}}
