:root{--primary:#5145cd;--navy:#1d2450;--teal:#087f74;--orange:#a44b20;--amber:#996100;--ink:#202334;--sub:#5e6575;--soft:#f5f4fc;--line:#e4e4ed;--white:#fff;--shadow:0 16px 50px rgba(31,31,68,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;line-height:1.7;font-size:16px;letter-spacing:-.018em;word-break:keep-all}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a99afc;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35;color:var(--navy)}.muted{color:var(--sub)}.sm{font-size:13px}.hide{display:none!important}.page{max-width:1500px;margin:auto;padding:0 34px 90px}.topbar{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.top-inner{max-width:1500px;margin:auto;padding:12px 34px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:750;color:var(--navy);font-size:21px;display:flex;align-items:center;gap:10px;letter-spacing:-.045em}.brand-mark{display:grid;place-items:center;background:var(--primary);color:#fff;width:31px;height:31px;border-radius:9px;font-size:18px}.toplinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-caption{font-size:13px;color:var(--sub);margin-right:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;border:1px solid var(--line);background:white;border-radius:11px;padding:10px 18px;font-size:14px;font-weight:700;color:var(--navy);transition:background .12s,border .12s;text-align:center;white-space:nowrap}.btn:hover:not(:disabled){background:var(--soft)}.btn.primary{background:var(--primary);border-color:var(--primary);color:white}.btn.primary:hover:not(:disabled){background:#4034b5}.btn.flat{border-color:transparent;background:transparent}.btn.small{padding:8px 12px;min-height:37px}.btn.secondary{border-color:#d7d3fb;color:var(--primary)}.btn.warn{color:var(--orange)}.pill{color:var(--primary);font-size:12px;font-weight:750;letter-spacing:.05em}.intro-wrap{max-width:1060px;margin:70px auto}.intro-heading{padding-bottom:30px;border-bottom:1px solid var(--line)}.intro-heading h1{font-size:clamp(35px,4.2vw,53px);letter-spacing:-.06em;margin:14px 0 18px;font-weight:760}.intro-heading p{font-size:19px;max-width:660px;color:var(--sub)}.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:38px}.select-grid h2{font-size:20px;margin-bottom:19px}.grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grade-button{border:1px solid var(--line);background:white;border-radius:13px;text-align:left;padding:16px 14px;min-height:88px;color:var(--navy);font-weight:750;font-size:23px}.grade-button.selected{border:2px solid var(--primary);padding:15px 13px;background:var(--soft);color:var(--primary)}.grade-button small{display:block;font-size:11px;font-weight:600;color:var(--sub);margin-top:2px}.grade-button:disabled{color:#a6a8b5;background:#fafafa}.sem-button{border:1px solid var(--line);background:white;min-height:69px;width:100%;padding:12px 17px;text-align:left;border-radius:12px;margin-bottom:10px;font-size:17px;font-weight:700;color:var(--navy)}.sem-button.active{border:2px solid var(--primary);background:var(--soft);color:var(--primary);padding:11px 16px}.start-row{margin-top:30px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.start-row .btn{min-height:54px;padding:13px 29px;font-size:17px}.notice-inline{font-size:14px;color:var(--sub)}.content-head{padding:34px 0 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:22px;flex-wrap:wrap}.content-head h1{font-size:clamp(28px,3vw,35px);margin:7px 0 8px;letter-spacing:-.05em}.content-head p{font-size:14px;margin:0;color:var(--sub)}.chapter-wrap{display:grid;grid-template-columns:258px minmax(0,1fr);gap:35px;margin-top:28px;align-items:start}.sidebar{position:sticky;top:92px;padding-right:15px;border-right:1px solid var(--line);max-height:calc(100vh - 115px);overflow-y:auto}.side-label{font-size:12px;font-weight:750;color:var(--sub);margin:0 0 12px}.side-units{display:flex;flex-direction:column;gap:3px}.side-unit{width:100%;border:0;background:white;text-align:left;display:flex;align-items:center;gap:10px;min-height:49px;padding:11px 9px;font-size:14px;font-weight:650;border-radius:9px;color:#45485c}.side-unit.on{background:var(--soft);color:var(--primary)}.unit-num{width:24px;height:24px;flex:none;border:1px solid #d6d6e6;border-radius:7px;display:grid;place-items:center;font-size:12px}.side-unit.on .unit-num{background:var(--primary);color:#fff;border-color:var(--primary)}.side-title{flex:1;line-height:1.3}.side-tick{font-size:11px;color:var(--teal)}.side-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;color:var(--sub);font-size:12px}.study{min-width:0;max-width:1080px}.chapter-heading{margin-bottom:26px}.chapter-heading h2{font-size:clamp(29px,3vw,39px);margin:7px 0 12px;letter-spacing:-.06em}.chapter-heading p{font-size:17px;color:var(--sub);margin:0}.chapter-rule{height:3px;background:var(--primary);width:56px;margin-bottom:23px}.tabs{display:flex;gap:9px;border-bottom:1px solid var(--line);padding-bottom:11px;margin:25px 0 29px;flex-wrap:wrap}.tab{border:0;background:none;padding:9px 12px;min-height:42px;border-radius:8px;color:var(--sub);font-size:14px;font-weight:700}.tab.active{background:var(--soft);color:var(--primary)}.topic-label{color:var(--primary);font-weight:750;font-size:13px;margin-bottom:12px}.concept{font-size:17px}.concept h3{font-size:24px;margin-bottom:16px}.concept .lead{font-size:18px;line-height:1.85;max-width:860px}.concept-block{margin:31px 0}.concept-block h3{font-size:20px;margin-bottom:12px}.explain-list{padding:0 0 0 21px;max-width:870px}.explain-list li{padding:0 0 10px 5px;line-height:1.8}.visual-panel{background:var(--soft);padding:14px 18px;border-radius:12px;margin:24px 0;max-width:690px}.diagram{width:100%;max-width:630px;min-height:90px;margin:0 auto;display:block}.diagram svg{display:block;width:100%;height:auto;max-height:245px}.example-section{border-top:1px solid var(--line);padding-top:26px;margin-top:35px}.worked{border-left:3px solid var(--primary);padding:3px 0 8px 18px;margin:18px 0 25px;max-width:870px}.worked h4{color:var(--primary);font-size:15px;margin:0 0 5px}.worked p{margin:6px 0;line-height:1.75}.worked .how{color:var(--teal);font-size:15px}.caution{border-left:3px solid var(--orange);padding:12px 17px;background:#fffaf5;max-width:870px}.caution strong{color:var(--orange)}.action-foot{border-top:1px solid var(--line);padding-top:23px;margin-top:35px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.practice-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.progress-track{height:5px;border-radius:20px;background:#efedf8;overflow:hidden;min-width:150px;flex:1;max-width:340px}.progress-fill{background:var(--primary);height:100%}.question-header{display:flex;justify-content:space-between;color:var(--sub);font-size:14px;gap:10px;margin:7px 0 16px}.question-header strong{color:var(--primary)}.question-text{font-size:clamp(20px,2.4vw,26px);font-weight:730;line-height:1.65;color:var(--navy);margin:16px 0 26px;letter-spacing:-.035em}.math-inline mjx-container{display:inline-block!important;vertical-align:middle!important;margin:0 .05em!important}.choice-list{display:grid;gap:10px}.choice-item{border:1px solid #dfe0ea;text-align:left;padding:14px 16px;display:flex;align-items:center;gap:14px;background:#fff;border-radius:11px;min-height:58px;color:var(--ink);font-size:17px}.choice-item.selected{border:2px solid var(--primary);padding:13px 15px;background:var(--soft)}.choice-number{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid #cbcbdc;display:grid;place-items:center;color:var(--sub);font-size:14px}.choice-item.selected .choice-number{background:var(--primary);border-color:var(--primary);color:#fff}.answer-input{font-size:22px;border:1px solid #d3d3df;border-radius:11px;padding:13px 16px;min-height:58px;width:min(390px,100%);background:#fff}.input-tip{font-size:12px;color:var(--sub);margin:10px 0}.keypad{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.keypad .btn{min-width:47px;min-height:46px;padding:7px}.feedback{background:#f8fbfb;border:1px solid #cbdedb;padding:21px 23px;margin-top:23px;border-radius:11px;font-size:15px;line-height:1.77}.feedback.wrong{background:#fffaf6;border-color:#eedccb}.feedback h3{font-size:18px;color:var(--teal);margin:0 0 13px}.feedback.wrong h3{color:var(--orange)}.sol-row{padding:6px 0;border-bottom:1px solid #e3e9e8}.sol-row:last-child{border:0}.sol-row strong{display:inline-block;min-width:80px;color:var(--navy)}.sol-steps{margin:5px 0 8px 0;padding-left:20px}.sol-steps li{margin:5px 0}.sol-answer{color:var(--primary);font-weight:750}.end-unit{padding:26px 0}.end-unit h3{font-size:24px}.end-unit p{color:var(--sub)}.end-stat{display:flex;gap:12px;margin:22px 0;flex-wrap:wrap}.stat{background:var(--soft);border-radius:11px;padding:12px 18px;min-width:130px}.stat strong{display:block;font-size:26px;color:var(--primary)}.level-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.level-nav .btn.on{background:var(--primary);color:#fff;border-color:var(--primary)}.builder-head{margin-bottom:28px}.builder-head h2{font-size:32px;margin:7px 0}.builder{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:28px;align-items:start}.panel{border:1px solid var(--line);border-radius:13px;padding:23px}.panel h3{font-size:18px;margin-bottom:17px}.unit-opts{display:grid;grid-template-columns:1fr;gap:4px}.unit-opt{display:flex;align-items:center;gap:12px;padding:9px 8px;min-height:41px;font-size:14px}.unit-opt input,.check input{width:18px;height:18px;accent-color:var(--primary)}.field{margin-bottom:21px}.field label.field-title{font-size:14px;font-weight:720;display:block;margin-bottom:8px}.field input[type=text],.field select{width:100%;padding:11px 12px;height:47px;border:1px solid #d1d2df;border-radius:9px;background:white}.check{display:flex;align-items:center;gap:11px;margin:13px 0;font-size:14px}.build-count{font-size:13px;color:var(--teal);font-weight:700}.build-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}.dialog[hidden]{display:none!important}.dialog{position:fixed;inset:0;z-index:90;background:rgba(21,22,43,.70);display:flex;flex-direction:column;align-items:center}.dialog-toolbar{width:100%;padding:12px 24px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:68px;flex-wrap:wrap}.dialog-toolbar strong{color:var(--navy)}.dialog-scroll{flex:1;overflow:auto;width:100%;padding:28px 16px 60px}.preview-doc{transform-origin:top center;width:210mm;margin:0 auto;background:white;box-shadow:0 10px 55px #0004;min-height:297mm;padding:18mm 16mm;color:#111}.preview-note{text-align:center;color:#e5e5ec;font-size:12px;margin:0 0 16px}.print-only{display:none}.print-paper{color:#111;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:11pt;line-height:1.52}.print-header{border-bottom:2px solid #292929;padding-bottom:4mm;margin-bottom:6mm}.print-header h1{font-size:21pt;color:#111;margin:0 0 2mm}.print-header p{font-size:10pt;margin:0 0 3mm}.print-fields{display:flex;gap:16mm;font-size:10pt}.print-q{page-break-inside:avoid;break-inside:avoid;margin-bottom:7mm}.print-q-title{font-size:11.5pt;font-weight:700;display:flex;gap:5mm;margin:0 0 2mm}.print-q .diagram{max-width:125mm;margin-left:0;min-height:0}.print-q .diagram svg{max-height:52mm}.print-choices{font-size:10.5pt;display:grid;gap:1.5mm;padding-left:6mm}.print-answer-space{border-bottom:1px solid #bbb;min-height:9mm;margin-left:6mm;width:60mm}.print-sol{border-top:1px solid #ddd;margin-bottom:4mm;padding-top:3mm;page-break-inside:avoid;break-inside:avoid;font-size:9.5pt}.print-sol strong{color:#111}.print-sol ol{margin:1mm 0 1mm 0}.answer-start{break-before:page;page-break-before:always}.answer-start h2{color:#111;border-bottom:2px solid #333;padding-bottom:4mm;font-size:19pt}.print-footer{margin-top:10mm;padding-top:4mm;border-top:1px solid #aaa;font-size:9pt;color:#555}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);background:#282442;color:white;border-radius:10px;padding:10px 17px;z-index:120;display:none;max-width:90vw;text-align:center;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1440px){.page{padding-left:50px;padding-right:50px}.top-inner{padding-left:50px;padding-right:50px}.chapter-wrap{grid-template-columns:295px minmax(0,1fr);gap:52px}}
@media(max-width:920px){.chapter-wrap{grid-template-columns:215px minmax(0,1fr);gap:22px}.sidebar{padding-right:8px}.page{padding-left:23px;padding-right:23px}.top-inner{padding-left:23px;padding-right:23px}.builder{grid-template-columns:1fr}}
@media(max-width:690px){body{font-size:15px}.page{padding:0 17px 75px}.top-inner{padding:9px 17px;min-height:60px}.brand{font-size:18px}.top-caption{display:none}.toplinks{gap:4px}.toplinks .btn{font-size:12px;min-height:39px;padding:8px 10px}.intro-wrap{margin:35px auto}.intro-heading h1{font-size:34px}.intro-heading p{font-size:16px}.select-grid{grid-template-columns:1fr;gap:25px;margin-top:29px}.grade-button{min-height:70px;font-size:21px}.start-row{align-items:stretch}.start-row .btn{width:100%}.content-head{padding:22px 0 14px}.content-head h1{font-size:28px}.chapter-wrap{display:block;margin-top:19px}.sidebar{position:static;max-height:none;border:0;padding:0;margin-bottom:22px}.side-label{display:none}.side-units{flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px;gap:8px}.side-unit{min-width:150px;max-width:205px;min-height:49px;flex:none;background:#fafafe;border:1px solid var(--line)}.side-unit.on{border-color:#bdb3ff}.side-footer{display:none}.chapter-heading h2{font-size:30px}.chapter-heading p{font-size:15px}.concept{font-size:16px}.concept .lead{font-size:16px}.concept h3{font-size:20px}.worked{padding-left:13px}.tabs{margin:20px 0}.question-text{font-size:20px}.preview-doc{margin-left:auto;margin-right:auto}.dialog-toolbar{padding:9px 11px}.dialog-toolbar .btn{padding:7px 10px;font-size:12px;min-height:35px}.dialog-scroll{padding:10px 7px 35px}.feedback{padding:17px 15px}.sol-row strong{min-width:67px}}
@media(max-width:380px){.toplinks .btn{font-size:11px;padding:7px 8px}.brand{font-size:17px}.grades{gap:7px}.grade-button{padding:12px 9px}.keypad .btn{min-width:42px}}
@media print{@page{size:A4 portrait;margin:13mm 15mm}html,body{margin:0!important;background:#fff!important;width:auto!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body>*:not(#printSurface){display:none!important}#printSurface{display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important}#printSurface .print-paper{display:block!important}#printSurface .print-q .diagram svg{max-height:45mm}#printSurface .print-q{break-inside:avoid;page-break-inside:avoid}#printSurface mjx-container{max-width:100%}}
/* 과목 공통 UI 체계. 수학 강조색은 인디고 계열. */
:root{--navy:#1d1d1f;--ink:#1d1d1f;--sub:#6e6e73;--line:#e0e0e0;--soft:#f5f5f7;--shadow:none}
body{font-size:17px;line-height:1.55;letter-spacing:-.02em}
.top-black{height:44px;background:#050505;color:#dadada;display:flex;align-items:center;justify-content:center;padding:0 22px;font-size:12px}
.global-inner{max-width:1500px;width:100%;display:flex;align-items:center;justify-content:space-between}
.tiny-symbol{font-size:14px;font-weight:650;letter-spacing:-.02em;color:white}.global-right{color:#d8d8da}
.topbar{background:rgba(245,245,247,.93);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.top-inner{min-height:64px}.brand{font-size:20px;font-weight:650;letter-spacing:-.04em}.brand-sub{font-size:12px;color:#6e6e73;font-weight:500;letter-spacing:0;padding-left:6px}
.toplinks .btn{border-radius:999px}.btn{border-radius:999px;font-weight:650;transition:background .15s,transform .12s}.btn:active:not(:disabled){transform:scale(.98)}
.intro-wrap{max-width:1180px;margin:0 auto 65px}.intro-hero{padding:65px 0 48px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.65fr);gap:22px;align-items:stretch;border-bottom:1px solid var(--line)}
.intro-heading{border:0;padding:0;align-self:center}.intro-heading h1{font-size:clamp(34px,4.3vw,52px);font-weight:640;letter-spacing:-.047em;line-height:1.18;margin:16px 0 20px}.intro-heading p{font-size:18px;max-width:640px;color:#58585e;line-height:1.65}
.eyebrow{font-size:13px;color:var(--primary);font-weight:700;letter-spacing:.02em}.intro-side{background:#272729;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:space-between;min-height:250px;gap:18px}
.intro-small{font-size:13px;color:#c5c5ca}.intro-side strong{font-size:48px;letter-spacing:-.04em;line-height:1.1;font-weight:620;color:#fff}.intro-side div{font-size:14px;line-height:1.65;color:#ededf1}.intro-side b{color:white}
.select-grid{gap:32px;margin-top:31px}.select-grid h2{font-size:19px;font-weight:650}.grades{gap:9px}.grade-button,.sem-button{border-radius:12px;transition:background .12s;border-color:#dedee2}.grade-button.selected,.sem-button.active{background:#f4f1ff}.start-row{margin-top:25px}
.content-head h1{font-weight:650}.sidebar{background:var(--soft);padding:22px;border:0;border-radius:18px;top:90px;max-height:calc(100vh - 100px)}.side-label{font-size:13px}.side-unit{border-radius:11px}.side-unit.on{background:white;border:1px solid #e7e3f2}.side-unit:not(.on){border:1px solid transparent}.side-unit.on .unit-num{border-radius:8px}
.chapter-wrap{grid-template-columns:285px minmax(0,1fr);gap:26px}.study{border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:none;min-width:0;background:white}.chapter-heading{padding:30px 34px 18px;margin:0}.chapter-heading h2{font-weight:650;font-size:clamp(26px,3vw,36px)}.chapter-heading p{font-size:16px}.chapter-rule{width:45px;height:3px}.tabs{padding:10px 30px 14px;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tab{border-radius:999px;font-weight:640}.tab.active{background:var(--soft)}
.study>.concept,.study>.lab-root{padding:27px 34px 35px}.study>.practice-meta,.study>.end-unit{margin-left:34px;margin-right:34px}.study>.practice-meta{margin-top:31px}.study>.question-header,.study>.question-text,.study>.response-area,.study>.feedback,.study>.action-foot{margin-left:34px;margin-right:34px}.study>.diagram{margin-left:34px}.study>.feedback{margin-bottom:10px}.panel{border-radius:18px}.visual-panel{border-radius:12px}
/* Interactive, vector-first geometry lab */
.lab-root{min-width:0}.lab-kicker{color:var(--primary);font-size:13px;font-weight:700;letter-spacing:.035em}.lab-root h3{font-size:clamp(23px,3vw,30px);font-weight:650;margin:9px 0}.lab-lead{font-size:16px;color:var(--sub);line-height:1.7;margin:0 0 20px}.lab-modes{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 21px}.lab-mode{min-height:43px;padding:9px 13px;border:1px solid #dcdce3;border-radius:999px;background:white;color:#444551;font-size:13px;font-weight:650}.lab-mode.current{background:#f3f0ff;border-color:#8f83e6;color:var(--primary)}.lab-mode:focus-visible{outline:3px solid #a99afc}.lab-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(210px,.9fr);gap:22px;align-items:start}.lab-canvas{border:1px solid #e5e5e9;background:#fcfcfe;border-radius:13px;padding:9px;min-width:0}.lab-canvas svg{display:block;width:100%;height:auto;max-height:430px;touch-action:none;user-select:none}.lab-canvas .lab-handle,.lab-grabbable{cursor:grab;touch-action:none}.lab-canvas .lab-handle:active,.lab-grabbable:active{cursor:grabbing}.lab-controls{padding:8px 0;display:flex;flex-direction:column;gap:27px}.lab-range{display:grid;gap:12px}.lab-range span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:650}.lab-range strong{font-size:17px;color:var(--primary)}.lab-range input{width:100%;accent-color:var(--primary);cursor:pointer;min-height:28px;touch-action:pan-y}.lab-sidenote{border-left:3px solid var(--primary);padding:10px 12px;background:var(--soft);font-size:13px;color:#555665;line-height:1.7}.lab-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#71717b;margin:7px 10px}.lab-legend span{display:inline-flex;align-items:center;gap:5px}.lab-legend-dot{width:12px;height:12px;border:2px solid var(--primary);background:#a89ce9;display:inline-block}.lab-legend-dash{width:16px;height:0;border-bottom:2px dashed #9da0ad;display:inline-block}.lab-discovery{padding:17px 19px;margin:19px 0;background:#f7f5ff;border-radius:11px;color:#33364f;font-size:15px;line-height:1.75}.lab-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}.lab-footer span{font-size:12px;color:var(--sub)}
@media(min-width:1440px){.chapter-wrap{grid-template-columns:285px minmax(0,1fr);gap:26px}}
@media(max-width:920px){.chapter-wrap{grid-template-columns:230px minmax(0,1fr);gap:16px}.sidebar{padding:16px}.lab-layout{grid-template-columns:1fr}.lab-controls{gap:12px}.intro-hero{padding-top:35px}}
@media(max-width:690px){.top-black{height:34px}.global-right{display:none}.top-inner{min-height:56px}.brand-sub{display:none}.intro-hero{grid-template-columns:1fr;padding:37px 0 26px;gap:17px}.intro-heading h1{font-size:35px}.intro-heading p{font-size:16px}.intro-side{min-height:105px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.intro-side strong{font-size:35px}.intro-side div{grid-column:2;grid-row:1/3;font-size:12px;align-self:center}.sidebar{background:transparent;padding:0;border-radius:0;max-height:none}.side-unit{background:var(--soft);border:1px solid #e0e0e3!important}.side-unit.on{background:#f4f1ff;border-color:#9e90e6!important}.study{border-radius:16px}.chapter-heading{padding:22px 20px 15px}.tabs{padding:9px 13px 12px;gap:5px}.tab{font-size:12px;padding:8px 10px}.study>.concept,.study>.lab-root{padding:22px 19px 27px}.study>.practice-meta,.study>.end-unit{margin-left:19px;margin-right:19px}.study>.question-header,.study>.question-text,.study>.response-area,.study>.feedback,.study>.action-foot{margin-left:19px;margin-right:19px}.lab-layout{gap:12px}.lab-modes{gap:6px}.lab-mode{font-size:12px;padding:8px 10px}.lab-legend{gap:7px}}
@media print{.top-black{display:none!important}}





/* 단원에 매핑된 탐구 기능만 표시 */
.lab-root .lab-modes{margin:0 0 18px}.lab-root .lab-discovery{border-left:3px solid var(--primary)}


/* 국어 교재의 시각적 체계를 참고한 수학 전용 교재 테마. 인쇄 CSS와 원래 기능은 그대로 유지. */
:root{--primary:#5b48d8;--navy:#101b4a;--teal:#0b817e;--ink:#17233f;--sub:#58687e;--soft:#f2f0ff;--line:#dde2ed;--shadow:0 10px 32px rgba(27,37,100,.07)}
body{font-size:17px;line-height:1.58;letter-spacing:-.025em;color:var(--ink)}
.math-upperbar{height:32px;background:#fff;border-bottom:1px solid #e6e9f1;color:#4533c1;font-size:12px}
.upperbar-inner{height:100%;display:flex;align-items:center;gap:6px;max-width:1500px;margin:auto;padding:0 34px}
.book-mark{background:var(--primary);color:#fff;width:18px;height:17px;border-radius:4px;display:inline-grid;place-items:center;font-size:12px;line-height:1}
.upperbar-inner strong{font-size:12px;letter-spacing:-.02em}.upperbar-inner small{color:#64728d;font-weight:500}
.upper-right{margin-left:auto;color:#68788a}
.topbar{position:sticky;top:0;z-index:30;background:rgba(250,250,255,.94);border-bottom:1px solid #e5e9f3;backdrop-filter:blur(18px)}
.top-inner{min-height:65px;padding:10px 40px;max-width:1500px}
.brand{color:var(--navy);font-size:21px;font-weight:760;gap:15px}
.school-term{font-size:13px;font-weight:700;color:var(--primary);padding:9px 12px;background:#f3f0ff;border:1px solid #ddd6ff;border-radius:8px}
.toplinks .btn{border-radius:9px}
.btn{border-radius:11px}.btn.primary{background:var(--primary);border-color:var(--primary)}
.btn.primary:hover:not(:disabled){background:#4632b7}
.math-start-page{min-height:calc(100vh - 97px);background:linear-gradient(115deg,#f0eaff 0%,#e8edff 48%,#e8fcfc 100%);position:relative;overflow:hidden}
.math-start-stage{position:relative;isolation:isolate;padding:93px 34px 120px;min-height:790px}
.math-start-stage:after{content:'MATH  ·  WONDER';position:absolute;left:-40px;right:0;top:265px;z-index:-1;color:#8881ed11;font-size:clamp(100px,16vw,255px);font-weight:900;letter-spacing:-.08em;white-space:nowrap;overflow:hidden;pointer-events:none}
.math-start-inner{max-width:1130px;margin:0 auto;position:relative}
.math-intro{max-width:720px;position:relative;z-index:1;margin-bottom:36px}
.math-intro-kicker{color:#4e39cd;font-weight:760;font-size:15px}
.math-intro h1{color:#101b4a;font-size:clamp(40px,5.25vw,69px);letter-spacing:-.07em;font-weight:810;line-height:1.13;margin:27px 0 25px;word-break:keep-all}
.math-intro h1 span{color:#654de7}
.math-intro p{color:#5f6b86;font-size:15px;margin-bottom:0}
.math-floaters{position:absolute;right:0;top:-12px;width:310px;height:250px;pointer-events:none}
.math-orbit{position:absolute;display:grid;place-items:center;background:#fff;border:5px solid currentColor;border-radius:50%;box-shadow:0 13px 28px #3c55a11a}
.math-orbit svg{width:74%;height:74%}.orbit-one{height:130px;width:130px;top:50px;left:0;color:#6752dc;transform:rotate(-7deg)}
.orbit-two{height:96px;width:96px;top:3px;right:0;color:#00b6bc;transform:rotate(11deg)}
.orbit-three{height:101px;width:101px;top:135px;right:4px;color:#a560d9;transform:rotate(10deg)}
.math-steps{background:rgba(255,255,255,.94);border:1px solid #d9e2f5;box-shadow:0 12px 42px #294fc312;border-radius:21px;padding:30px 32px;display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:start}
.math-step h2{display:flex;gap:10px;align-items:center;color:var(--navy);font-size:16px;margin:0 0 12px;font-weight:760}
.step-number{display:inline-grid;place-items:center;border-radius:50%;background:var(--primary);color:white;width:25px;height:25px;font-size:13px}
.math-grade-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.math-grade-buttons .grade-button{border:2px solid #dbe0f4;border-radius:11px;padding:12px 8px;min-height:53px;background:white;text-align:center;font-size:16px;font-weight:700;color:#455773;white-space:nowrap}
.math-grade-buttons .grade-button:hover{border-color:#bbb0ff;background:#f9f7ff}
.math-grade-buttons .grade-button.selected{background:var(--primary);color:white;border-color:var(--primary);box-shadow:0 6px 14px #5846cc29}
.math-sem-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.math-sem-buttons .sem-button{border:2px solid #dbe0f4;border-radius:10px;padding:12px 8px;min-height:53px;background:white;text-align:center;font-size:16px;font-weight:700;color:#455773;margin:0}
.math-sem-buttons .sem-button:hover{border-color:#bbb0ff;background:#f9f7ff}
.math-sem-buttons .sem-button.active{background:var(--primary);color:#fff;border-color:var(--primary);padding:12px 8px}
.math-start-cta{background:var(--navy);border-radius:18px;color:#fff;padding:26px 29px;display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:17px}
.math-selected{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
.math-selected span{font-size:13px;color:#d5d8ef}.math-selected strong{font-size:23px;color:#fff;white-space:nowrap}.math-selected small{font-size:13px;color:#bfc4dc}
.math-launch{background:#00c1db!important;border-color:#00c1db!important;color:#071d4b!important;min-width:220px;min-height:55px;font-size:18px;letter-spacing:-.03em;gap:20px;border-radius:13px!important;font-weight:800}
.math-launch:hover:not(:disabled){background:#06adc5!important}
/* 학습 화면 : 국어와 같은 진한 학년 헤더, 옅은 단원 패널, 넓은 교재 본문 */
.page{max-width:1500px;padding:0 42px 110px}
.content-head{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:20px max(42px,calc((100vw - 1420px)/2)) 24px;min-height:118px;background:var(--navy);color:white;border:0;display:flex;justify-content:space-between;align-items:center;gap:20px;box-sizing:border-box}
.content-head .content-kicker{font-size:12px;color:#a2dfe8;font-weight:720}
.content-head h1{color:white!important;font-size:34px;margin:4px 0 0;font-weight:760;line-height:1.2;letter-spacing:-.055em}
.content-head h1 small{font-size:17px;font-weight:450;color:#c6cde8}
.learning-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;color:#c6cde8}
.learning-progress strong{font-size:17px;color:#08c6d1}
.content-head > .btn{color:white;background:transparent;border-color:#65719c}
.chapter-wrap{grid-template-columns:270px minmax(0,1fr);gap:33px;margin-top:29px;align-items:start}
.sidebar{background:#f1f7ff;border:1px solid #d9eafd;border-radius:16px;position:sticky;top:86px;padding:21px 22px;overflow-y:auto;max-height:calc(100vh - 110px)}
.side-label{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:2px solid var(--navy);color:var(--primary);font-weight:780;margin-bottom:13px}
.side-unit{border-bottom:1px solid #dfebf5;border-radius:7px;background:transparent;min-height:50px;margin-bottom:4px;padding:10px 6px;color:#20365a}
.side-unit.on{background:#fff;border:1px solid #b4afff;color:var(--primary);font-weight:760}
.side-unit.on .unit-num{background:var(--primary);color:white}
.unit-num{border:none;background:#dfeeff;color:#2772af;border-radius:3px;width:28px;height:28px;font-weight:700}
.side-footer{color:#738098}
.study{border:0;border-radius:0;background:transparent;box-shadow:none;max-width:none;min-width:0;padding:0}
.chapter-heading{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:25px;margin:10px 0 31px;padding:10px 4px 30px;border-bottom:1px solid #dbe1ed}
.chapter-number{font-size:59px;font-weight:800;line-height:1;color:#6850dd;letter-spacing:-.08em}
.chapter-heading-copy h2{font-size:clamp(27px,3vw,39px);color:var(--navy);margin:9px 0 12px}
.chapter-heading-copy p{font-size:16px;line-height:1.65;color:#586a82}
.chapter-heading .pill{color:#5b48d8;font-size:13px}
.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;padding:0;margin:0 0 24px;border-bottom:1px solid #d8dfe9;overflow-x:auto}
.tab{border-radius:0;background:transparent;white-space:normal;min-width:0;padding:13px 8px;font-size:14px;color:#79808e;font-weight:700;border-bottom:3px solid transparent;line-height:1.5}
.tab.active{background:transparent;color:var(--primary);border-bottom:3px solid var(--primary)}
.concept{border-top:2px solid #7562ec;padding:29px 0 25px}
.concept h3{color:var(--navy);font-size:29px;letter-spacing:-.04em}
.topic-label{color:var(--primary);letter-spacing:.01em}
.concept .lead{font-size:18px;line-height:1.85;color:#344c69}
.concept-block,.example-section{border-top:1px solid #e1e6ef;padding-top:24px;margin:34px 0}
.visual-panel{background:#f7f9ff;border:1px solid #e4e8f7;border-radius:10px;padding:24px;max-width:860px}
.worked{border-left:4px solid var(--primary);padding-left:18px}
.question-text{color:var(--navy)}
/* 화면 요소만 적용, 인쇄 원본의 크기·색상은 변경하지 않음 */
@media(max-width:1120px){.math-start-stage{padding:70px 24px 100px}.math-floaters{transform:scale(.8);transform-origin:top right}.math-intro{max-width:600px}.math-steps{gap:25px}.math-grade-buttons{grid-template-columns:repeat(3,1fr)}.chapter-wrap{grid-template-columns:235px minmax(0,1fr);gap:22px}.chapter-heading{grid-template-columns:70px 1fr;gap:14px}.chapter-number{font-size:52px}}
@media(max-width:760px){.math-upperbar{height:29px}.upperbar-inner{padding:0 17px}.top-inner{padding:10px 18px;min-height:56px}.brand{font-size:19px}.school-term{font-size:12px;padding:6px 9px}.toplinks .btn{padding:8px;font-size:12px}.math-start-page{min-height:calc(100vh - 85px)}.math-start-stage{padding:38px 18px 75px;min-height:0}.math-start-stage:after{top:230px;font-size:135px}.math-intro{max-width:none;margin-bottom:30px}.math-intro h1{font-size:clamp(36px,7vw,49px);margin:20px 0 17px;line-height:1.18}.math-intro p{font-size:14px}.math-floaters{position:relative;transform:none;top:auto;right:auto;width:215px;height:105px;margin-left:auto;margin-top:-3px;margin-bottom:12px}.orbit-one{width:92px;height:92px;left:5px;top:8px;border-width:3px}.orbit-two{width:68px;height:68px;right:12px;top:0;border-width:3px}.orbit-three{width:70px;height:70px;right:45px;top:36px;border-width:3px}.math-steps{grid-template-columns:1fr;gap:22px;border-radius:16px;padding:22px 18px}.math-grade-buttons{grid-template-columns:repeat(3,1fr)}.math-grade-buttons .grade-button{min-height:52px}.math-start-cta{flex-wrap:wrap;padding:20px;gap:17px;border-radius:14px}.math-selected strong{font-size:20px}.math-launch{width:100%;min-width:0}.page{padding:0 16px 80px}.content-head{margin-inline:calc(50% - 50vw);padding:23px 18px;min-height:104px}.content-head h1{font-size:27px}.learning-progress{font-size:11px}.learning-progress strong{font-size:13px}.chapter-wrap{display:block;margin-top:17px}.sidebar{position:static;padding:0;background:transparent;border:0;max-height:none;margin-bottom:14px}.side-label,.side-footer{display:none}.side-units{display:flex;gap:8px;overflow-x:auto;padding-bottom:9px;scrollbar-width:thin}.side-unit{min-width:150px;max-width:220px;flex:none;background:#f1f6ff;border:1px solid #dce5f3;padding:9px}.chapter-heading{grid-template-columns:52px minmax(0,1fr);margin:4px 0 21px;padding-bottom:18px;gap:11px}.chapter-number{font-size:41px}.chapter-heading-copy h2{font-size:26px;margin:7px 0}.chapter-heading-copy p{font-size:14px}.tab{min-width:96px;font-size:12px;padding:10px 8px}.concept{padding:23px 1px}.concept h3{font-size:22px}.visual-panel{padding:13px}.study>.concept,.study>.lab-root{padding:23px 2px}.study>.practice-meta,.study>.end-unit,.study>.question-header,.study>.question-text,.study>.response-area,.study>.feedback,.study>.action-foot{margin-left:0;margin-right:0}}
@media print{.math-upperbar,.math-start-page,.math-floaters{display:none!important}.content-head{display:none!important}}


/* ===============================================================
   Kids textbook shared layout: full-bleed course title and gutters
   Korean reference: .app-content / .hero.edition-header
   Keep mathematics colors and existing components.
   =============================================================== */
@media screen {
  :root { --course-gutter: clamp(18px, 3vw, 60px); }
  /* Do not constrain the learning page to a centered 1500px island. */
  .page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 var(--course-gutter) 90px;
  }
  /* This band bleeds into the page gutter exactly like Korean. */
  .content-head {
    width: auto;
    max-width: none;
    box-sizing: border-box;
    margin: 0 calc(-1 * var(--course-gutter)) 30px;
    padding: 25px var(--course-gutter);
    min-height: 120px;
    background: #101b4a;
    border: 0;
    border-radius: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .content-head h1 { color: #fff; }
  .content-head .content-kicker { color: #c5c9ff; }
  .content-head .learning-progress { color: #dadbfa; }
  .content-head .learning-progress strong { color: #69e2ec; }
  /* Top navigation shares the same full viewport alignment as course title. */
  .top-inner, .upperbar-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: var(--course-gutter);
  }
  /* Match the Korean textbook's full-width learning area. */
  .chapter-wrap {
    grid-template-columns: minmax(225px, 270px) minmax(0, 1fr);
    gap: 32px;
  }
  /* Landing page uses the same width system, without stretching body text. */
  .math-start-stage { padding-inline: 0; }
  .math-start-inner {
    width: 100%;
    max-width: 1480px;
    padding-inline: clamp(20px, 4.5vw, 74px);
  }
  .math-intro { max-width: 760px; }
}
@media screen and (max-width: 920px) {
  .chapter-wrap { grid-template-columns: 230px minmax(0, 1fr); gap: 16px; }
}
@media screen and (max-width: 760px) {
  .page { padding: 0 var(--course-gutter) 80px; }
  .content-head {
    margin-inline: calc(-1 * var(--course-gutter));
    min-height: 104px;
    padding: 23px var(--course-gutter);
    flex-wrap: wrap;
  }
  .chapter-wrap { display: block; margin-top: 17px; }
  .math-start-stage { padding-block: 38px 75px; }
  .math-start-inner { padding-inline: var(--course-gutter); }
  .math-intro { max-width: none; }
}

/* --- Official Korean UI shared stylesheet --- */
/* Self-contained Apple-inspired learning interface, reference: DESIGN-apple.md */
:root{--blue:#5145cd;--blue-focus:#5145cd;--ink:#1d1d1f;--sub:#6e6e73;--hair:#e0e0e0;--canvas:#fff;--parchment:#f5f5f7;--pearl:#fafafc;--dark:#272729;--radius:18px;--space:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;font-size:17px;line-height:1.55;letter-spacing:-.02em}button,input,textarea,select{font:inherit}button{cursor:pointer}button:active{transform:scale(.98)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue-focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}a{color:var(--blue)}.sr-only{position:absolute;left:-9999px}.top-black{height:44px;background:#000;color:#ddd;display:flex;align-items:center;justify-content:center;padding:0 20px;font-size:12px}.global-inner{max-width:1180px;display:flex;justify-content:space-between;align-items:center;width:100%}.tiny-symbol{font-weight:600;color:#fff;letter-spacing:-.05em;font-size:17px}.global-right{display:flex;gap:22px;color:#dedee0}.subnav{position:sticky;top:0;z-index:20;background:rgba(245,245,247,.90);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.07)}.subnav-inner{max-width:1180px;margin:auto;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:11px 24px;min-height:64px}.brand{font-weight:600;font-size:20px;letter-spacing:-.04em;white-space:nowrap}.nav-actions{display:flex;align-items:center;gap:10px}.nav-link{border:0;background:transparent;padding:10px 13px;border-radius:999px;font-size:14px;color:#333}.nav-link.active{color:var(--blue);font-weight:600}.pill{padding:11px 22px;border-radius:9999px;border:1px solid transparent;line-height:1.25;transition:background .15s,transform .15s;font-size:15px;font-weight:600;white-space:nowrap}.pill.primary{background:var(--blue);color:#fff}.pill.outline{border-color:var(--blue);background:transparent;color:var(--blue)}.pill.soft{border:1px solid var(--hair);background:#fff;color:var(--ink)}.pill.small{padding:9px 15px;font-size:14px}.pill:hover:not(:disabled).primary{background:#0055ab}.app-content{max-width:1180px;margin:auto;padding:0 24px 72px}.hero{padding:64px 0 47px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.65fr);gap:24px;align-items:stretch}.eyebrow{font-size:13px;color:var(--blue);font-weight:600;letter-spacing:.03em}.hero h1{font-size:clamp(33px,4.3vw,52px);letter-spacing:-.045em;line-height:1.17;margin:17px 0 20px;font-weight:600;word-break:keep-all}.hero p{font-size:18px;color:#55555a;line-height:1.65;max-width:590px;margin:0 0 25px;word-break:keep-all}.hero-side{border-radius:0;background:var(--dark);color:white;padding:29px;display:flex;flex-direction:column;justify-content:space-between;gap:38px}.hero-side small{color:#c7c7cc;font-size:13px}.hero-number{font-size:46px;letter-spacing:-.05em;font-weight:600;line-height:1.1}.hero-bottom{font-size:14px;color:#ebebef}.hero-bottom strong{color:#fff}.hero-cta{display:flex;gap:8px;flex-wrap:wrap}.section-label{font-size:13px;font-weight:600;color:#737379;margin-bottom:10px}.semester-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--hair);padding:26px 0 22px;flex-wrap:wrap}.semester-tabs{display:flex;gap:8px;background:var(--parchment);padding:5px;border-radius:999px}.semester-tab{border:0;background:none;border-radius:999px;padding:10px 24px;font-weight:600;font-size:16px;color:#636368}.semester-tab.active{background:var(--ink);color:#fff}.secondary-info{font-size:14px;color:var(--sub)}.split{display:grid;grid-template-columns:285px minmax(0,1fr);gap:26px;align-items:start}.sidebar{position:sticky;top:93px;background:var(--parchment);padding:21px;border-radius:var(--radius)}.side-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:14px;font-weight:600}.unit-list{display:flex;flex-direction:column;gap:7px}.unit-item{display:flex;text-align:left;gap:10px;align-items:center;border:1px solid transparent;background:transparent;width:100%;border-radius:12px;padding:11px 10px;color:var(--ink);font-size:14px;line-height:1.45}.unit-item.active{background:white;border-color:#e2e2e6}.unit-index{height:27px;width:27px;border-radius:9px;background:#e8e8eb;display:grid;place-items:center;font-size:12px;flex:none;color:#626268}.unit-item.active .unit-index{background:var(--blue);color:#fff}.unit-name{flex:1}.unit-check{color:var(--blue);font-weight:600}.lesson-card{border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden}.lesson-top{padding:34px 35px 24px;background:#fff}.lesson-meta{font-size:13px;font-weight:600;color:var(--blue)}.lesson-title{font-size:clamp(26px,3vw,36px);line-height:1.25;letter-spacing:-.04em;font-weight:600;margin:11px 0}.lesson-standards{font-size:12px;color:#777;margin-top:9px}.lesson-desc{font-size:17px;color:#434349;line-height:1.65;margin:16px 0 0}.concept{background:var(--parchment);border-radius:13px;padding:19px 21px;margin-top:22px}.concept strong{font-size:13px}.concept-lines{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.concept-lines span{background:white;border-radius:8px;padding:8px 11px;font-size:14px}.lesson-bottom{border-top:1px solid var(--hair);padding:28px 35px 34px;background:#fff}.question-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.progressbar{width:130px;background:#ececf0;height:6px;overflow:hidden;border-radius:8px}.progressbar>div{height:100%;background:var(--blue);transition:width .2s}.question-tag{font-size:13px;color:var(--sub);font-weight:600}.passage{background:var(--parchment);border-left:3px solid #ceced4;border-radius:0 10px 10px 0;padding:17px 20px;white-space:pre-wrap;margin:14px 0 19px;font-size:18px;line-height:1.7;word-break:keep-all}.qprompt{font-size:21px;line-height:1.58;letter-spacing:-.035em;font-weight:600;margin:10px 0 23px;word-break:keep-all}.choices{display:grid;gap:10px}.choice{width:100%;text-align:left;border:1px solid var(--hair);background:#fff;padding:17px 19px;border-radius:12px;display:flex;align-items:center;gap:14px;min-height:60px;font-size:17px;word-break:keep-all}.choice.selected{border:2px solid var(--blue);background:#f4f9ff;padding:16px 18px}.choice .number{width:28px;height:28px;border-radius:50%;border:1px solid #c6c6cc;display:grid;place-items:center;color:#5f5f64;font-size:14px;flex:none}.choice.selected .number{border:0;background:var(--blue);color:white}.short-input,.writing-input,.simple-input{width:100%;border:1px solid #cfcfd2;border-radius:12px;background:#fff;color:var(--ink);padding:15px 17px;outline:none}.short-input{font-size:20px}.writing-input{min-height:115px;resize:vertical;font-size:17px;line-height:1.7}.feedback{border:1px solid #d9e3ed;background:#f7faff;padding:18px 20px;border-radius:13px;margin-top:20px}.feedback strong{font-size:16px}.feedback p{margin:6px 0 0;color:#4c4c51;font-size:15px;line-height:1.65}.lesson-controls{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:25px;flex-wrap:wrap}.controls-right{display:flex;gap:8px}.tiny-note{font-size:12px;color:#75757a}.unit-summary{border:1px solid var(--hair);border-radius:18px;padding:32px;background:var(--parchment)}.summary-number{font-size:45px;font-weight:600;letter-spacing:-.04em}.summary-hint{font-size:14px;color:var(--sub)}.build-intro{padding:31px 34px;background:var(--parchment);border-radius:var(--radius);margin-bottom:21px}.build-intro h2{font-weight:600;margin:4px 0 12px;font-size:30px}.build-intro p{font-size:16px;color:#57575d;margin:0}.build-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.panel{border:1px solid var(--hair);padding:25px;border-radius:var(--radius)}.panel h3{margin:0 0 18px;font-size:19px}.build-unit-list{display:grid;grid-template-columns:1fr;gap:4px}.check-unit{display:flex;gap:10px;align-items:center;padding:10px 9px;border-radius:10px;font-size:15px;cursor:pointer}.check-unit:hover{background:var(--parchment)}.check-unit input{width:19px;height:19px;accent-color:var(--blue)}.form-field{margin:0 0 18px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-field select,.form-field input[type=text],.form-field input[type=number]{height:49px;padding:10px 13px;border:1px solid #ceced2;border-radius:11px;width:100%;background:#fff}.check-option{display:flex;gap:10px;align-items:center;margin:15px 0;font-size:15px}.check-option input{height:18px;width:18px;accent-color:var(--blue)}.builder-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:25px}.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#1d1d1f;color:white;border-radius:14px;padding:13px 20px;font-size:14px;z-index:50;max-width:90vw}.empty-message{padding:34px;text-align:center;color:#707076}.danger-link{background:none;border:0;color:var(--sub);font-size:13px;text-decoration:underline;padding:6px}.preview-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;overflow:auto;padding:20px}.preview-overlay.open{display:block}.preview-frame{max-width:850px;margin:0 auto}.preview-tools{display:flex;gap:15px;justify-content:space-between;align-items:center;border-radius:15px 15px 0 0;background:#f5f5f7;padding:14px 20px;position:sticky;top:0;z-index:2;flex-wrap:wrap}.preview-tools-title{font-size:16px;font-weight:600}.preview-actions{display:flex;gap:8px}.print-sheet{background:white;color:black;padding:24mm 18mm;min-height:297mm;max-width:210mm;margin:auto;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:12pt;line-height:1.55}.print-title{font-size:24pt;font-weight:700;letter-spacing:-.04em;margin-bottom:2mm}.print-subtitle{font-size:10pt;color:#666;border-bottom:1px solid #999;padding-bottom:5mm;margin-bottom:6mm}.print-name{display:flex;gap:15mm;font-size:10pt;margin:3mm 0 8mm}.print-question{page-break-inside:avoid;break-inside:avoid;margin:0 0 8mm}.print-qtitle{font-size:12pt;font-weight:700;line-height:1.5;margin:0 0 3mm}.print-qmeta{font-size:9pt;color:#6a6a6a}.print-passage{border:1px solid #bbb;padding:4mm;margin-bottom:3mm;white-space:pre-wrap;font-size:11pt}.print-options{display:grid;gap:1mm;padding-left:3mm;font-size:11pt}.print-answerline{border-bottom:1px solid #aaa;width:88%;min-height:9mm}.print-writingline{border-bottom:1px solid #aaa;width:95%;height:11mm}.answer-section{break-before:page;page-break-before:always;padding-top:3mm}.answer-title{font-size:20pt;font-weight:700;padding-bottom:4mm;border-bottom:1px solid #aaa}.answer-row{break-inside:avoid;page-break-inside:avoid;margin:5mm 0;font-size:11pt}.answer-explanation{font-size:10pt;color:#555;margin-top:1mm}.print-footer{padding:6mm 0 0;border-top:1px solid #bbb;font-size:9pt;color:#888;margin-top:10mm}.preview-only-note{font-size:11px;color:#777;text-align:center;padding:15px}.mobile-unit-select{display:none}.noscript{background:#fff3e0;padding:20px;border-radius:10px}
@media(max-width:900px){.split{grid-template-columns:235px 1fr;gap:16px}.sidebar{padding:12px}.hero{padding-top:44px}.hero-side{padding:24px}.lesson-top,.lesson-bottom{padding-left:25px;padding-right:25px}.build-grid{grid-template-columns:1fr}}
@media(max-width:740px){.app-content{padding:0 15px 45px}.top-black{height:34px}.global-right{display:none}.subnav-inner{padding:8px 15px;min-height:56px}.nav-link{display:none}.brand{font-size:18px}.nav-actions{gap:5px}.pill.small{padding:9px 12px;font-size:12px}.hero{grid-template-columns:1fr;gap:18px;padding:38px 0 27px}.hero h1{font-size:36px}.hero p{font-size:16px;margin-bottom:19px}.hero-side{gap:16px;flex-direction:row;align-items:center;padding:22px;min-height:110px}.hero-number{font-size:36px}.hero-bottom{font-size:12px}.semester-bar{padding:19px 0;gap:10px}.semester-tab{padding:9px 20px}.secondary-info{font-size:12px}.split{display:block}.sidebar{position:static;padding:0;background:transparent;border-radius:0;margin-bottom:15px}.sidebar .side-heading{margin-bottom:8px}.unit-list{display:flex;flex-direction:row;overflow-x:auto;gap:8px;padding:0 1px 5px;scrollbar-width:thin}.unit-item{flex:0 0 auto;width:auto;max-width:190px;background:var(--parchment);padding:10px 11px;min-height:50px}.unit-item.active{border-color:var(--blue)}.unit-index{display:none}.unit-check{display:none}.unit-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lesson-top{padding:25px 21px 20px}.lesson-bottom{padding:23px 21px 27px}.lesson-title{font-size:29px}.question-top{margin-bottom:12px}.qprompt{font-size:19px}.concept-lines{flex-direction:column}.concept-lines span{font-size:14px}.choice{font-size:16px;padding:16px 13px}.choice.selected{padding:15px 12px}.lesson-controls{align-items:stretch}.controls-right{width:100%}.controls-right .pill{flex:1}.build-intro{padding:24px}.build-intro h2{font-size:25px}.panel{padding:19px}.preview-overlay{padding:0}.preview-tools{border-radius:0}.preview-frame{max-width:none}.print-sheet{width:210mm;max-width:none;transform-origin:top left;zoom:.6;margin:0 auto}.preview-actions .pill{font-size:12px;padding:9px 13px}}
@media(max-width:400px){.hero h1{font-size:31px}.hero-side{flex-direction:column;align-items:start}.preview-tools-title{font-size:14px}.print-sheet{zoom:.43}.qprompt{font-size:18px}}
@media print{@page{size:A4 portrait;margin:14mm}html,body{width:auto!important;background:#fff!important;margin:0!important;padding:0!important}#app,.toast{display:none!important}.preview-overlay{display:block!important;position:static!important;inset:auto!important;overflow:visible!important;background:white!important;padding:0!important;margin:0!important}.preview-frame{max-width:none!important;margin:0!important}.preview-tools,.preview-only-note{display:none!important}.print-sheet{margin:0!important;padding:0!important;width:auto!important;max-width:none!important;min-height:0!important;zoom:1!important;transform:none!important;font-size:11pt!important}.print-question{break-inside:avoid-page;page-break-inside:avoid}.print-footer{display:none}.answer-section{break-before:page;page-break-before:always}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* PC full-width workspace: fill the available horizontal viewport without fixed 1180px gutters. */
@media (min-width: 901px) {
  .global-inner, .subnav-inner {
    max-width: none;
    width: 100%;
    padding-left: clamp(22px, 2.1vw, 52px);
    padding-right: clamp(22px, 2.1vw, 52px);
  }
  .app-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: clamp(22px, 2.1vw, 52px);
    padding-right: clamp(22px, 2.1vw, 52px);
  }
  .hero {
    grid-template-columns: minmax(0, 1.7fr) minmax(310px, .55fr);
  }
  .split {
    grid-template-columns: clamp(270px, 19vw, 370px) minmax(0, 1fr);
    gap: clamp(20px, 1.8vw, 40px);
  }
  .lesson-card, .build-grid, .panel { min-width: 0; }
  .build-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(340px, .8fr);
  }
}
/* Wide desktops use a parallel concept / question reading layout. */
@media (min-width: 1500px) {
  .lesson-card {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.42fr);
    align-items: start;
    min-height: 600px;
  }
  .lesson-top {
    padding: clamp(34px, 2.6vw, 56px);
    border-right: 1px solid var(--hair);
    min-height: 100%;
  }
  .lesson-bottom {
    padding: clamp(34px, 2.6vw, 56px);
    border-top: 0;
  }
  .choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice { min-width: 0; }
  .build-unit-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}


.qprompt{white-space:pre-line}.unit-item{min-height:46px}.choice:focus-visible{outline:3px solid var(--blue-focus)}
@media print{.print-question{margin-bottom:5mm}.print-writingline{height:9mm}.print-name{margin-bottom:5mm}.print-passage{padding:3mm}.print-options{gap:0}}

/* v2: Dedicated concept → 기본/응용/심화 learning path. Apple-inspired quiet UI. */
.lesson-card {background:#fff;}
.lesson-top{padding-bottom:24px}
.lesson-desc{max-width:820px}
.step-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:25px;border-top:1px solid var(--hair);padding-top:21px}
.step-tab{background:var(--parchment);border:1px solid transparent;border-radius:12px;min-height:56px;font-size:14px;color:#55555a;padding:12px 9px;font-weight:600;line-height:1.35;white-space:normal}
.step-tab span{font-size:11px;color:#85858a;display:block;margin-bottom:3px}
.step-tab.current{color:var(--blue);border-color:var(--blue);background:#f8fbff}
.step-tab.current span{color:var(--blue)}
.concept-stage{padding:clamp(23px,3vw,42px);border-top:1px solid var(--hair)}
.stage-kicker{color:var(--blue);font-size:13px;font-weight:600;letter-spacing:.02em}
.concept-heading{font-size:clamp(25px,2.5vw,35px);line-height:1.34;font-weight:600;letter-spacing:-.045em;margin:12px 0 13px}
.concept-intro{font-size:18px;color:#55555b;margin:0 0 26px;max-width:870px;line-height:1.7;word-break:keep-all}
.concept-columns{display:grid;grid-template-columns:minmax(300px,1fr) minmax(290px,1fr);gap:24px;align-items:stretch}
.visual-card{margin:0;display:flex;flex-direction:column;padding:clamp(20px,2.3vw,32px);min-height:320px;background:#f5f5f7;border-radius:18px;overflow:hidden}
.visual-arthead{display:flex;align-items:center;gap:16px;color:#333}
.visual-arthead>svg{color:var(--blue);flex:none}
.visual-overline{font-size:12px;color:#73737a;font-weight:600;margin-bottom:4px}
.visual-arthead strong{font-size:19px;font-weight:600}
.visual-card figcaption{font-size:14px;color:#56565c;line-height:1.55;margin-top:auto;padding-top:17px;word-break:keep-all}
.diagram-path{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:auto 0;padding:29px 0}
.diagram-step{flex:1;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;border:1px solid #d6d6dc;background:#fff;border-radius:13px;min-height:120px;min-width:0;padding:12px}
.diagram-step-no{color:var(--blue);font-size:12px;font-weight:600}
.diagram-step strong{font-size:clamp(13px,1.04vw,17px);word-break:keep-all;line-height:1.45;font-weight:600}
.diagram-sign{color:var(--blue);font-size:clamp(17px,2vw,28px);font-weight:400;flex:none}
.letter-art{display:flex;align-items:center;justify-content:center;gap:12px;margin:auto 0;padding:28px 0}
.letter-tile{font-size:clamp(30px,3.7vw,57px);font-weight:600;display:flex;align-items:center;justify-content:center;width:clamp(68px,6vw,104px);height:clamp(85px,8vw,132px);background:#fff;border:1px solid #d6d6dc;border-radius:16px}
.letter-feature{color:var(--blue);background:#f8fbff;border-color:#89bafa}
.teaching-panel{border:1px solid var(--hair);border-radius:18px;padding:clamp(19px,2.2vw,30px);min-width:0}
.teaching-panel .section-label{font-size:15px;color:var(--ink);margin:0 0 16px}
.teach-step{display:flex;gap:14px;align-items:flex-start;margin:0 0 20px}
.teach-step>span{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:var(--parchment);font-size:13px;color:var(--blue);font-weight:600;flex:none}
.teach-step p{margin:2px 0 0;font-size:16px;line-height:1.65;word-break:keep-all}
.concept-example{border-top:1px solid var(--hair);padding-top:16px}
.concept-example strong{font-size:14px}
.concept-example p{font-size:14px;margin:7px 0;color:#55555b;line-height:1.5}
.concept-finish{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 0;margin-top:22px;border-top:1px solid var(--hair);flex-wrap:wrap}
.concept-finish p{margin:4px 0 0;color:var(--sub);font-size:14px}
.concept-finish strong{font-size:17px}
.question-stage{min-height:360px}
.passage-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;background:var(--parchment);border-radius:14px;padding:19px 21px;margin:14px 0 23px}
.passage-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--blue);border-right:1px solid #d4d4da;padding-right:15px}
.passage-mark svg{width:42px;height:44px}
.passage-mark span{font-size:12px;color:var(--sub);white-space:nowrap}
.passage-card .passage{background:transparent;border:0;border-radius:0;padding:0;margin:0;font-size:18px;line-height:1.8}
.summary-title{font-size:25px;margin:9px 0 0;font-weight:600}
.print-concepts{margin:0 0 7mm}
.print-concept-entry{break-inside:avoid-page;page-break-inside:avoid;margin:6mm 0}
.print-concept-entry h3{font-size:14pt;margin:0 0 3mm}
.print-concept-entry .visual-card{min-height:0;padding:5mm;border-radius:3mm;background:#f5f5f7}
.print-concept-entry .diagram-path,.print-concept-entry .letter-art{padding:3mm 0}
.print-concept-entry .diagram-step{min-height:22mm;padding:3mm;border-radius:2mm}
.print-concept-entry .diagram-step strong{font-size:10pt}
.print-concept-entry .visual-card figcaption{display:none}
.print-concept-entry .letter-tile{width:17mm;height:19mm;font-size:24pt}
.print-concept-tip{font-size:10pt;margin:2mm 0 3mm}
@media(min-width:1500px){
  .lesson-card{display:block;min-height:unset}
  .lesson-top{padding:clamp(29px,2.3vw,44px);min-height:unset;border-right:0}
  .lesson-bottom{padding:clamp(29px,2.3vw,44px);border-top:1px solid var(--hair)}
  .choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .concept-columns{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .concept-stage{padding:clamp(29px,2.3vw,44px)}
}
@media(min-width:901px) and (max-width:1250px){.concept-columns{grid-template-columns:1fr}.visual-card{min-height:270px}}
@media(max-width:900px){.concept-columns{grid-template-columns:1fr}.concept-stage{padding:25px}.visual-card{min-height:240px}}
@media(max-width:740px){
  .step-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:18px}
  .step-tab{font-size:13px;min-height:50px;padding:8px 5px}
  .step-tab span{display:inline;margin-right:4px}
  .concept-heading{font-size:28px}.concept-intro{font-size:17px}
  .visual-card{padding:19px;min-height:245px}
  .visual-card figcaption{font-size:13px}
  .diagram-step{padding:9px 6px;min-height:92px;gap:8px}
  .diagram-step strong{font-size:12px;letter-spacing:-.03em}
  .diagram-sign{font-size:16px}
  .letter-tile{font-size:34px;width:66px;height:79px}
  .letter-art{gap:7px}
  .passage-card{grid-template-columns:1fr;gap:9px;padding:17px}
  .passage-mark{flex-direction:row;border-right:0;border-bottom:1px solid #d4d4da;padding:0 0 8px;justify-content:flex-start;gap:7px}
  .passage-mark svg{width:27px;height:27px}
  .passage-card .passage{font-size:17px}
  .concept-finish button{width:100%;white-space:normal}
}
@media(max-width:400px){.concept-stage{padding:19px}.visual-card{padding:13px}.diagram-step strong{font-size:11px}.letter-tile{width:55px;height:66px;font-size:29px}.visual-arthead strong{font-size:16px}}
@media print{
  .print-concept-entry{margin:5mm 0}
  .print-concept-entry .visual-card{display:block;min-height:0;box-shadow:none}
  .print-concept-entry .visual-arthead{gap:3mm}
  .print-concept-entry .visual-arthead>svg{width:7mm;height:7mm}
  .print-concept-entry .visual-arthead strong{font-size:12pt}
  .print-concept-entry .visual-overline{font-size:8pt}
  .print-concept-entry .diagram-step-no{font-size:8pt}
  .print-concept-entry .diagram-step strong{font-size:10pt}
  .print-concept-entry .diagram-step{height:auto}
}

/* Unified grade navigation, retains original Apple-inspired styling. */
.grade-bar { background:#fff; border-bottom:1px solid var(--hair); }
.grade-bar-inner { width:100%; display:flex; align-items:center; gap:22px; padding:13px clamp(22px,2.1vw,52px); }
.grade-label { font-size:14px; color:var(--sub); font-weight:600; white-space:nowrap; }
.grade-tabs { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.grade-tab { background:#f5f5f7; color:#333; min-height:44px; min-width:64px; border:1px solid transparent; border-radius:999px; font-size:15px; font-weight:600; padding:9px 17px; }
.grade-tab.active { background:var(--blue); color:#fff; }
.grade-tab:focus-visible { outline:2px solid var(--blue-focus); outline-offset:3px; }
.grade-note { color:#777; margin-left:auto; font-size:13px; white-space:nowrap; }
@media(max-width:740px){
 .grade-bar-inner{padding:11px 15px;gap:9px;align-items:start;}
 .grade-label{font-size:12px;padding-top:12px;}
 .grade-note{display:none;}
 .grade-tabs{gap:5px;flex:1;justify-content:space-between;}
 .grade-tab{font-size:14px;min-width:0;min-height:44px;flex:1;padding:8px 6px;}
}
@media(max-width:400px){.grade-label{display:none;}.grade-bar-inner{padding:9px 12px;}}
@media print{.grade-bar{display:none!important}}

/* v3: Deep instruction, guided worked examples and revisit cards */
.deep-lesson{max-width:100%;}
.deep-subhead{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:36px 0 17px;line-height:1.35;}
.learning-objective{border:1px solid var(--hair);border-radius:18px;padding:24px 28px;background:#fafafc;margin:24px 0 30px;}
.learning-objective .eyebrow{display:block;color:var(--blue);font-size:12px;margin-bottom:8px;}
.learning-objective strong{font-weight:600;font-size:22px;display:block;line-height:1.5;}
.learning-objective p{margin:8px 0 0;color:#59595e;font-size:16px;}
.model-visual{padding:17px 20px;background:#f5f5f7;border-radius:12px;font-weight:600;color:#1d1d1f;font-size:21px;line-height:1.65;word-break:keep-all;}
.guided-card{border:1px solid var(--hair);padding:clamp(19px,2.4vw,30px);border-radius:18px;display:grid;gap:14px;}
.guided-card.alternate{background:#f5f5f7;border-color:transparent;}
.guided-reading{white-space:pre-wrap;border-left:3px solid #5145cd;background:#f5f5f7;padding:20px;border-radius:0 12px 12px 0;font-size:18px;line-height:1.8;}
.guided-reading .eyebrow{font-size:12px;margin-bottom:9px;color:#666;}
.guide-question{font-weight:600;font-size:19px;white-space:pre-wrap;word-break:keep-all;}
.model-answer{padding:17px 20px;border:1px solid #dfe6ed;border-radius:13px;background:white;display:grid;gap:6px;}
.model-answer span{font-size:13px;color:#5145cd;font-weight:600;}
.model-answer strong{font-weight:600;font-size:18px;line-height:1.7;white-space:pre-wrap;}
.model-why{padding:0 3px;}
.model-why strong{font-size:14px;}
.model-why p,.guided-help{margin:7px 0;color:#5c5c63;font-size:16px;line-height:1.72;}
.mistake-card{display:flex;gap:17px;border:1px solid #e0e0e0;padding:22px;border-radius:16px;}
.mistake-marker{width:32px;height:32px;border-radius:50%;background:#1d1d1f;color:#fff;display:grid;place-items:center;font-weight:600;flex:none;}
.mistake-card strong{display:block;font-size:15px;}
.mistake-card p{margin:4px 0 16px;font-size:16px;color:#54545a;}
.mistake-card p:last-child{margin-bottom:0;}
.selfcheck-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.selfcheck-list>div{padding:15px;border:1px solid #e0e0e0;border-radius:13px;font-size:15px;display:flex;gap:10px;align-items:flex-start;line-height:1.6;}
.selfcheck-list svg{color:#5145cd;margin-top:4px;}
.review-hint{font-size:15px;color:#1d1d1f;}
@media(max-width:900px){.selfcheck-list{grid-template-columns:1fr}.deep-subhead{margin-top:29px}.learning-objective{padding:19px}.model-visual{font-size:19px}.guided-reading{font-size:16px}}
@media(max-width:480px){.deep-subhead{font-size:19px}.learning-objective strong{font-size:18px}.guided-card{padding:16px}.guide-question{font-size:17px}.model-answer strong{font-size:16px}}
@media print{.deep-lesson{display:none!important}.print-concept-tip{font-size:10pt;line-height:1.6}}

/* ===============================================================
   v4 — 국어 익힘책: paper-first editorial design.
   Less card chrome, more page hierarchy, coloured educational ink.
   Functional Apple blue remains the one interactive/action colour.
   =============================================================== */
:root{--paper:#fff;--paper-rule:#dededb;--ink-blue:#005db4;--ink-green:#186a51;--ink-rust:#a64e35;--ink-purple:#694fa3;--ink-soft:#fbfaf6}
body{background:#fff;line-height:1.67;letter-spacing:-.023em}
/* Editorial emphasis is purpose-bound: blue concept, green reasoning,
   vermilion warning, violet worked answer. */
.ink-em{font-weight:700;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-skip-ink:auto;display:inline;word-break:keep-all}
.ink-key,.ink-question{color:var(--ink-blue);text-decoration-color:#a4c9ef}
.ink-reason{color:var(--ink-green);text-decoration-color:#bedbcd}
.ink-answer{color:var(--ink-purple);text-decoration-color:#c8bce9}
.ink-warning{color:var(--ink-rust);text-decoration-color:#efc4b6}
/* Thin navigation, book margin rules instead of floating cards */
.top-black{height:38px}
.subnav{background:rgba(255,255,255,.93)}
.grade-bar{border-bottom:1px solid #ecebea}
.grade-tabs{gap:4px}
.grade-tab{background:transparent;border-radius:0;min-width:72px;border-bottom:2px solid transparent;color:#5b5b5b}
.grade-tab.active{background:transparent;color:var(--blue);border-color:var(--blue)}
.grade-tab:hover:not(.active){background:#f8f8f8}
.hero{padding:44px 0 38px;gap:4vw;grid-template-columns:minmax(0,1.6fr) minmax(200px,.48fr)}
.hero h1{font-size:clamp(35px,3.65vw,48px);line-height:1.24;margin:13px 0 15px}
.hero p{font-size:17px;max-width:760px;color:#525252}
.hero-side{background:transparent;color:#282828;border:0;border-left:1px solid var(--paper-rule);padding:8px 10px 7px 34px;gap:3px;justify-content:center;min-height:170px}
.folio-kicker{font-size:13px;letter-spacing:.05em;font-weight:600;color:#757575}
.hero-number{font-size:clamp(42px,3.4vw,61px);font-weight:600;line-height:1.24;color:var(--ink)}
.folio-total{font-size:20px;font-weight:400;color:#959595}
.hero-bottom{color:#626262;font-size:13px;margin-top:5px}
.hero-bottom strong{color:var(--ink)}
.folio-line{margin-top:16px;width:38px;border-top:3px solid var(--blue)}
.semester-bar{padding:22px 0 20px;border-top:1px solid #ddd}
.semester-tabs{background:transparent;padding:0;gap:24px;border-radius:0}
.semester-tab{background:transparent!important;border-radius:0;border-bottom:3px solid transparent;color:#6c6c6c;padding:9px 8px 7px}
.semester-tab.active{color:var(--blue);border-color:var(--blue)}
.split{gap:clamp(25px,2.8vw,58px)}
.sidebar{background:transparent;border-radius:0;padding:18px 15px 15px 0;border-right:1px solid #e6e4df;top:95px}
.side-heading{color:#272727;padding-bottom:13px;border-bottom:2px solid var(--ink);font-size:14px}
.unit-list{gap:0}
.unit-item{border:0;border-bottom:1px solid #ededeb;border-radius:0;padding:13px 3px 13px 0;font-size:15px;transition:color .12s,background .12s}
.unit-item.active{background:transparent;border-color:#c8d9ed;color:var(--blue);font-weight:600}
.unit-item:hover{background:#fafaf8}
.unit-index{border:0;border-radius:0;background:transparent;color:#a0a0a0;width:31px;font-size:13px;font-variant-numeric:tabular-nums}
.unit-item.active .unit-index{background:transparent;color:var(--blue)}
.unit-check{white-space:nowrap}
.lesson-card{border:0;border-radius:0;overflow:visible;background:white;min-width:0}
.lesson-top{padding:14px 0 29px!important;border:0;background:#fff}
.lesson-meta{color:#6f6f6f;font-weight:600;text-transform:none;font-size:13px;letter-spacing:.02em}
.meta-dot{padding:0 6px;color:#b4b4b4}
.chapter-line{display:flex;align-items:flex-start;gap:clamp(13px,1.9vw,28px);border-bottom:1px solid #d7d6d3;padding:15px 0 28px}
.chapter-number{font-size:clamp(47px,4.0vw,74px);line-height:1;letter-spacing:-.06em;font-weight:300;color:#5145cd;min-width:1.4em}
.lesson-title{font-size:clamp(30px,3vw,43px);font-weight:700;margin:0 0 7px;line-height:1.23}
.lesson-desc{font-size:17px;color:#494949;margin:7px 0 0;max-width:990px}
.step-navigation{border:0;margin-top:21px;padding:0;gap:0;display:flex;justify-content:space-between;border-bottom:1px solid #dededa}
.step-tab{background:transparent!important;border:0;border-bottom:3px solid transparent;border-radius:0;min-height:60px;color:#747474;padding:10px 12px;line-height:1.3;font-size:15px;flex:1;text-align:center}
.step-tab.current{background:transparent!important;border-color:var(--blue);color:var(--blue)}
.step-tab span{display:inline;font-size:11px;margin:0 6px 0 0;color:#888}
.step-tab.current span{color:var(--blue)}
.concept-stage{padding:28px 0 38px!important;border:0}
.stage-kicker{font-size:13px;color:var(--blue);letter-spacing:.025em}
.stage-separator{color:#a4a4a4;padding:0 7px}
.concept-heading{font-size:clamp(26px,2.9vw,39px);margin:10px 0 12px;letter-spacing:-.045em}
.concept-intro{font-size:17px;color:#565656;margin-bottom:19px}
/* Subject-matter callout is not a card; it is a textbook margin note */
.learning-objective{background:transparent;border:0;border-radius:0;border-left:4px solid var(--blue);padding:7px 0 10px 22px;margin:22px 0 35px}
.learning-objective .eyebrow{color:var(--blue);font-size:13px}
.learning-objective strong{font-size:23px;font-weight:600;color:var(--ink);line-height:1.55}
.learning-objective p{font-size:16px;color:#565656;margin:5px 0 0;line-height:1.7}
.deep-subhead{border-top:1px solid #dededb;padding-top:25px;font-size:clamp(21px,2.15vw,27px);font-weight:700;margin:38px 0 19px}
.section-num{font-size:13px;letter-spacing:.06em;font-weight:700;margin-right:13px;color:var(--blue);vertical-align:middle}
.concept-columns{gap:clamp(24px,2.3vw,48px);align-items:start}
.visual-card{background:var(--ink-soft);border-radius:0;border:0;border-top:2px solid #d2d7df;padding:clamp(18px,2vw,31px);min-height:0;gap:18px}
.visual-overline{font-size:12px;color:#6e7074}
.visual-arthead strong{font-size:21px}
.visual-card figcaption{font-size:15px;color:#545454;line-height:1.75;border-top:1px solid #e2e0dc;padding-top:14px}
.diagram-path{gap:10px;padding:24px 0;justify-content:center}
.diagram-step{background:transparent;border:0;border-radius:0;min-height:90px;gap:7px;padding:5px 6px;border-bottom:2px solid #c4cbd4}
.diagram-step-no{font-size:12px}
.diagram-step strong{font-size:clamp(13px,1.3vw,19px);line-height:1.45}
.diagram-sign{font-size:22px;color:#5145cd}
.letter-art{padding:14px 0 22px}
.letter-tile{border:1px solid #c7cbd0;border-radius:2px;background:white}
.letter-feature{background:#f2f8ff;border:2px solid #5145cd}
.teaching-panel{padding:2px 0;border:0;border-radius:0}
.teaching-panel .section-label{font-size:14px;font-weight:700;color:#525252;margin-bottom:14px}
.model-visual{background:transparent;border-left:4px solid #c6b4e8;border-radius:0;padding:10px 15px;font-size:clamp(19px,1.8vw,25px);color:#453c62;margin:0 0 25px}
.teach-step{gap:13px;margin-bottom:19px}
.teach-step>span{border:0;border-radius:0;background:transparent;color:var(--blue);font-weight:700;font-size:19px;width:25px;height:auto}
.teach-step p{font-size:17px;line-height:1.75;margin:0}
.guided-card{border:0;border-radius:0;padding:7px 0 16px;gap:14px;max-width:1100px}
.guided-card.alternate{border:0;border-left:3px solid #c0a8ea;background:#fcfbfe;padding:22px 26px}
.guided-reading{background:#fbfaf6;border-left:3px solid #9ab0c7;border-radius:0;padding:20px 24px;font-size:18px;line-height:1.85}
.guide-question{font-size:20px;line-height:1.6}
.model-answer{background:transparent;border:0;border-radius:0;padding:10px 0 10px 20px;border-left:4px solid #8066ac}
.model-answer span{font-size:14px;font-weight:700;color:#694fa3}
.model-answer strong{font-size:21px;line-height:1.65}
.model-why{padding:12px 0 8px;border-top:1px dashed #d7d7d4;margin-top:10px}
.reason-heading{font-size:16px;color:var(--ink-green)}
.model-why p,.guided-help{font-size:17px;line-height:1.85}
.mistake-card{border:0;border-left:4px solid #c36b51;border-radius:0;display:flex;background:#fdf8f5;padding:20px 22px;gap:15px}
.mistake-marker{background:transparent;border:1px solid #c36b51;color:var(--ink-rust);border-radius:0}
.mistake-card strong{font-size:16px;color:var(--ink-rust)}
.mistake-card p{font-size:17px;line-height:1.7;margin-bottom:13px}
.selfcheck-list{grid-template-columns:1fr;gap:0;max-width:980px}
.selfcheck-list>div{border:0;border-bottom:1px solid #e5e5e2;border-radius:0;padding:12px 0;font-size:16px;line-height:1.6}
.selfcheck-list svg{color:var(--ink-green)}
.concept-finish{border-top:2px solid var(--ink);padding-top:21px}
/* Question workbook: numbered exercises with open ruled answer areas */
.lesson-bottom{border:0;padding:8px 0 30px!important}
.question-stage{min-height:360px}
.question-top{padding-top:7px;margin-bottom:21px}
.question-tag{font-size:14px;color:#666}
.qprompt{font-size:clamp(20px,2vw,26px);font-weight:600;margin:25px 0;line-height:1.62}
.qmark{color:var(--blue);font-weight:700;margin-right:6px}
.passage-card{background:#faf9f6;border-radius:0;padding:24px 28px;border-left:4px solid #bdc7d3;grid-template-columns:65px minmax(0,1fr)}
.passage-mark{color:#526c89;border-right:1px solid #ddd9d1}
.passage-card .passage{font-size:19px;line-height:1.9;color:#333}
.choices{gap:0;grid-template-columns:1fr!important;max-width:1080px}
.choice{border:0;border-bottom:1px solid #e5e3de;border-radius:0;background:transparent;padding:15px 11px;gap:18px;font-size:18px;min-height:63px}
.choice:hover{background:#fafbfc}
.choice.selected{background:#f4f8ff;padding:15px 11px;border:0;border-bottom:2px solid var(--blue)}
.choice .number{border:0;border-radius:0;background:none;font-size:21px;width:35px;height:auto;color:#777}
.choice.selected .number{border:0;border-radius:0;background:transparent;color:var(--blue);font-weight:700}
.short-input,.writing-input{border:0;border-radius:0;border-bottom:2px solid #b7b9bc;background:transparent;padding:15px 5px}
.writing-input{min-height:150px;border:1px solid #dedbd5;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,#dedbd5 43px,#dedbd5 44px);line-height:44px;padding:8px 12px}
.feedback{margin-top:26px;padding:15px 22px;border:0;border-left:4px solid #5145cd;border-radius:0;background:#f8fbff}
.feedback.is-correct{background:#f8fcfa;border-color:#27805d}
.feedback.is-review{background:#fdf9f4;border-color:#b87844}
.feedback.is-writing{background:#faf9fe;border-color:#775ab8}
.feedback-label{font-size:12px;letter-spacing:.04em;font-weight:700;color:#686868;margin-bottom:6px}
.feedback h4{margin:2px 0 13px;font-size:20px}
.feedback.is-correct h4{color:var(--ink-green)}
.feedback.is-review h4{color:var(--ink-rust)}
.feedback.is-writing h4{color:var(--ink-purple)}
.feedback-answer{padding:7px 0 10px;border-bottom:1px solid #d9ded9;margin-bottom:10px}
.feedback-answer .answer-label{color:#694fa3;font-weight:700;font-size:14px}
.feedback-answer p{font-size:18px;margin:3px 0}
.feedback-explanation>strong{font-size:15px;color:var(--ink-green)}
.feedback-explanation>p{font-size:17px;color:#3e4440;line-height:1.82;margin:6px 0 8px}
.lesson-controls{padding-top:18px;border-top:1px solid #e1e1df}
.unit-summary{background:transparent;border:0;border-top:2px solid var(--ink);border-radius:0;padding:25px 0}
.summary-number{color:var(--blue)}
/* Print studio styled as an editor's tool, never as big cards */
.build-intro{background:transparent;border-radius:0;border-bottom:2px solid #292929;padding:15px 0 25px;margin-bottom:23px}
.build-intro h2{font-size:clamp(28px,2.6vw,39px)}
.panel{border:0;border-radius:0;border-right:1px solid #ededeb;padding:8px 24px 20px 0}
.panel:last-child{border:0;padding-left:15px}
.panel h3{padding-bottom:14px;border-bottom:1px solid #e1e0dd}
.check-unit{border-bottom:1px solid #f0eeea;border-radius:0}
/* A4 print layout borrows textbook print hierarchy, not screen cards */
.print-title{font-weight:800;color:#1d1d1f}
.print-subtitle{border-bottom:2px solid #404040}
.print-qmeta{color:#6d6d6d}
.print-qtitle{color:#1d1d1f}
.print-qtitle .ink-em{font-weight:700}
.print-passage{border:0;border-left:2.5px solid #71839b;background:#fbfaf6;padding:3mm 5mm;line-height:1.75}
.print-answerline,.print-writingline{border-color:#949ea7}
.answer-title{color:#2d2d2d;border-bottom:2px solid #404040}
.answer-row>strong{color:#694fa3}
.answer-explanation{color:#444;line-height:1.7}
.print-concept-entry{padding-top:3mm;border-top:1px solid #a8a8a8}
.print-concept-entry h3{color:var(--ink-blue)}
.print-concept-tip{line-height:1.7}
.print-concept-tip strong{color:#333}
.print-concept-entry .visual-card{background:#fff;border:0;border-left:2px solid #87aaca;border-radius:0}
.print-concept-entry .diagram-step{border:0;border-bottom:1px solid #aaa}
.print-concept-entry .letter-tile{background:white}
@media(min-width:1500px){
 .lesson-top{padding:12px 0 26px!important;border:0!important}
 .lesson-bottom{padding:12px 0 32px!important;border:0!important}
 .concept-stage{padding:30px 0 45px!important}
 .concept-columns{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
}
@media(max-width:900px){
 .sidebar{padding-right:11px}
 .concept-columns{gap:16px}
 .hero{padding-top:27px}
}
@media(max-width:740px){
 .hero{gap:12px;padding:25px 0 25px}
 .hero h1{font-size:33px}
 .hero-side{min-height:0;border:0;border-top:1px solid #e1e0dc;padding:13px 0 5px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}
 .folio-kicker{grid-column:1;grid-row:1}
 .hero-number{grid-column:2;grid-row:1 / span 2;font-size:37px}
 .hero-bottom{grid-column:1;grid-row:2;margin:0}
 .folio-line{display:none}
 .semester-tabs{gap:12px}
 .semester-bar{padding:18px 0}
 .sidebar{border:0;border-bottom:1px solid #e5e5e1;padding:0 0 12px;margin-bottom:19px}
 .sidebar .side-heading{border:0;margin-bottom:7px;padding-bottom:0}
 .unit-list{gap:5px}
 .unit-item{border:1px solid #dedede;border-radius:0;padding:9px 12px;background:#fff;min-height:48px}
 .unit-item.active{border-color:#5145cd;background:#f7fbff}
 .lesson-top{padding:12px 0 19px!important}
 .lesson-bottom{padding:15px 0 27px!important}
 .chapter-line{gap:12px;padding:11px 0 19px}
 .chapter-number{font-size:46px}
 .lesson-title{font-size:28px}
 .lesson-desc{font-size:15px}
 .step-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .step-tab{min-height:48px;font-size:14px;padding:9px 4px}
 .concept-stage{padding:12px 0 31px!important}
 .concept-heading{font-size:26px}
 .learning-objective{padding-left:14px;margin:18px 0 23px}
 .learning-objective strong{font-size:20px}
 .visual-card{padding:17px}
 .concept-columns{grid-template-columns:1fr}
 .deep-subhead{margin-top:26px;padding-top:21px;font-size:21px}
 .guided-card.alternate{padding:18px 15px}
 .selfcheck-list{gap:0}
 .passage-card{grid-template-columns:1fr;padding:15px;gap:9px}
 .passage-mark{border-right:0;border-bottom:1px solid #dfdcd7;flex-direction:row;padding-bottom:7px;justify-content:flex-start}
 .passage-card .passage{font-size:17px}
 .choices{grid-template-columns:1fr}
 .choice{font-size:16px;padding:14px 5px;gap:12px}
 .choice.selected{padding:14px 5px}
 .feedback{padding:12px 14px}
 .feedback-explanation>p{font-size:16px}
 .build-intro{padding:14px 0 21px}
 .panel{border:0;border-bottom:1px solid #e5e5e2;padding:8px 0 23px}
 .panel:last-child{padding:20px 0;border:0}
}
@media(max-width:400px){
 .hero h1{font-size:30px}
 .hero-side{display:flex;flex-direction:column;align-items:flex-start}
 .hero-number{font-size:38px}
 .chapter-number{font-size:40px}
 .lesson-title{font-size:25px}
 .diagram-step strong{font-size:12px}
 .letter-tile{width:53px;height:65px}
}
@media print{
  .ink-em{color:#0b518c!important;text-decoration:underline;text-decoration-color:#8cadd0}
  .ink-reason{color:#286e56!important}
  .ink-warning{color:#9b4a30!important}
  .ink-answer{color:#694fa3!important}
  .print-sheet{background:#fff;color:#111}
  .print-question,.print-concept-entry,.answer-row{break-inside:avoid-page}
  .print-concept-entry .visual-card{padding:4mm 5mm;border-radius:0;background:#fff}
  .print-concept-entry .diagram-path{padding:2mm 0}
  .print-concept-entry .diagram-step{min-height:18mm}
  .print-concept-entry .visual-arthead strong{font-size:11pt}
  .print-passage{background:#fbfaf6}
  .print-qtitle{font-size:12pt}
}
/* v4 editorial compact book masthead — puts learning above the fold */
.edition-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0 19px;border-bottom:1px solid #dededb}
.edition-title{min-width:0}
.edition-header .eyebrow{font-size:12px;letter-spacing:.08em}
.edition-header h1{font-size:clamp(28px,2.25vw,35px);line-height:1.35;margin:4px 0 2px;letter-spacing:-.055em}
.grade-head{color:var(--ink)}
.edition-subtitle{font-size:.53em;letter-spacing:-.025em;font-weight:400;color:#777;vertical-align:middle}
.edition-header p{font-size:14px;color:#727272;margin:0;max-width:none;line-height:1.5}
.edition-separator{margin:0 5px;color:#ccc}
.edition-stats{display:grid;grid-template-columns:auto auto;column-gap:12px;row-gap:0;align-items:baseline;justify-content:end;text-align:right;white-space:nowrap;color:#777;font-size:13px}
.edition-stats strong{color:var(--blue);font-size:23px;font-weight:600;letter-spacing:-.06em}
.edition-stats small{color:#979797;font-weight:400;font-size:13px;letter-spacing:0}
.edition-progress-label{grid-column:1;grid-row:1}
.edition-stats strong{grid-column:2;grid-row:1}
.edition-overall{grid-column:1 / -1;grid-row:2;color:#777;font-size:12px}
/* Strong nesting from educational emphasis must stay inline in paragraphs. */
.learning-objective > strong{display:block}
.learning-objective .ink-em{display:inline!important;font-size:inherit!important;line-height:inherit!important}
.mistake-card .ink-em{display:inline!important;font-size:inherit!important;line-height:inherit!important}
.model-answer .ink-em,.model-why .ink-em{display:inline!important;font-size:inherit!important;line-height:inherit!important}
.feedback .ink-em{display:inline!important;font-size:inherit!important;line-height:inherit!important}
@media(max-width:900px){
 .edition-header{padding:20px 0 16px}
 /* 학기별·학년별 학습 문항 수는 작은 화면에서도 계속 표시합니다. */
}
@media(max-width:740px){
 .edition-header{display:flex;gap:8px;padding:19px 0 13px;align-items:center}
 .edition-header h1{font-size:27px;margin:5px 0 0}
 .edition-header p{font-size:12px;margin:0}
 .edition-header .eyebrow{font-size:10px}
 .edition-caption,.edition-header .edition-separator{display:none}
 .edition-stats{display:flex;flex-direction:column;align-items:end;gap:0;font-size:11px}
 .edition-stats strong{font-size:18px}
 .semester-bar{border:0;padding:16px 0}
 .grade-bar-inner{padding:9px 10px;gap:0}
 .grade-label{display:none}
 .grade-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;width:100%}
 .grade-tab{min-width:0!important;width:100%;min-height:44px;padding:7px 0;font-size:13px}
}
@media(max-width:400px){
 .edition-header h1{font-size:24px}
 .edition-header p{font-size:11px}
 .edition-stats strong{font-size:17px}
}

/* v4.2 — 교재를 선택하는 시작 영역: 학년 → 학기 → 학습 시작.
   박스식 대시보드 대신 교재 첫 장의 선명한 편집 구조를 사용합니다. */
.course-picker{background:#f5f5f7;border-bottom:1px solid #dedee2;scroll-margin-top:80px}
.picker-inner{width:100%;padding:27px clamp(22px,2.4vw,46px) 24px;margin:0 auto}
.picker-kicker{font-size:12px;letter-spacing:.035em;color:#5145cd;font-weight:600;margin-bottom:5px}
.picker-title h2{margin:0;font-size:clamp(22px,2.15vw,30px);font-weight:600;letter-spacing:-.042em;line-height:1.3;word-break:keep-all}
.picker-title p{margin:6px 0 17px;font-size:14px;color:#626269;line-height:1.5;word-break:keep-all}
.picker-selectors{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:clamp(24px,4vw,74px);align-items:end}
.picker-field{min-width:0}
.picker-field-label{display:flex;align-items:center;gap:9px;margin-bottom:10px;line-height:1.3}
.picker-step{display:inline-grid;place-items:center;width:25px;height:25px;background:#1d1d1f;color:white;border-radius:50%;font-size:13px;font-weight:600;flex:none}
.picker-field-label strong{font-size:17px;font-weight:600;color:#1d1d1f}
.picker-field-label small{font-size:12px;color:#7a7a80;margin-left:3px}
.course-picker .grade-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%}
.course-picker .grade-tab{display:flex;align-items:center;justify-content:center;min-width:0;min-height:53px;padding:9px 3px;border:1px solid #d4d4d8;border-radius:7px;background:white;color:#4a4a50;font-size:16px;font-weight:600;transition:background .15s,border-color .15s,color .15s}
.course-picker .grade-tab.active{color:#5145cd;border:2px solid #5145cd;background:#fff;padding:8px 2px}
.course-picker .grade-tab:hover:not(.active){background:#eaeef6;border-color:#8d929d}
.course-picker .semester-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0;background:transparent;border-radius:0}
.course-picker .semester-tab{display:flex;align-items:center;justify-content:center;min-height:53px;margin:0;padding:9px 12px;border:1px solid #d4d4d8;border-radius:7px;background:white!important;color:#4a4a50;font-size:16px;font-weight:600}
.course-picker .semester-tab.active{color:#5145cd;background:#fff!important;border:2px solid #5145cd;padding:8px 11px}
.course-picker .semester-tab:hover:not(.active){background:#eaeef6!important}
.picker-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:14px;border-top:1px solid #dfdfe3;flex-wrap:wrap}
.picker-selection{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;min-width:0}
.picker-selection>span{font-size:13px;color:#66666c;font-weight:600}
.picker-selection strong{font-size:23px;color:#5145cd;letter-spacing:-.04em;line-height:1.3;white-space:nowrap}
.picker-selection .selection-mid{color:#a3a3a9;padding:0 3px}
.picker-selection small{color:#66666c;font-size:13px}
.picker-start{font-size:15px;min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.nav-course-shortcut{border:1px solid #d7d7db;background:white;color:#5145cd;padding:6px 10px;border-radius:7px;font-size:14px;font-weight:600;vertical-align:middle;letter-spacing:-.01em;margin-left:8px;min-height:35px}
.nav-course-shortcut span{font-size:16px;margin-left:4px}
.nav-course-shortcut:hover{background:#eef5ff}
#workspace,#study-start{scroll-margin-top:85px}
/* 기존 인쇄물은 학습용 콘텐츠만 출력합니다. */
@media print{.course-picker,.nav-course-shortcut{display:none!important}}
@media(max-width:820px){
 .picker-inner{padding:22px 18px 21px}
 .picker-selectors{grid-template-columns:1fr;gap:18px}
 .course-picker .grade-tab,.course-picker .semester-tab{min-height:50px}
}
@media(max-width:480px){
 .picker-inner{padding:18px 15px 18px}
 .picker-title h2{font-size:23px}
 .picker-title p{font-size:13px;margin-bottom:16px}
 .picker-field-label strong{font-size:16px}
 .picker-field-label small{font-size:11px}
 .course-picker .grade-tabs{gap:3px}
 .course-picker .grade-tab{font-size:13px;min-height:48px;border-radius:5px}
 .course-picker .semester-tab{min-height:48px}
 .picker-bottom{align-items:stretch;gap:12px}
 .picker-selection{width:100%;gap:6px 10px}
 .picker-selection strong{font-size:21px}
 .picker-selection small{flex-basis:100%;font-size:12px}
 .picker-start{width:100%}
 .brand{display:flex;align-items:center;gap:3px;font-size:16px}
 .nav-course-shortcut{margin-left:3px;font-size:12px;padding:6px 7px;min-height:32px}
}


/* v4.3: Before starting, show only the course selection. No workbook preview. */
.course-picker{min-height:calc(100dvh - 110px);display:flex;align-items:center;background:#f5f5f7}
.course-picker .picker-inner{max-width:1300px;padding-top:clamp(30px,6vh,80px);padding-bottom:clamp(35px,7vh,90px)}
@media(max-width:640px){
 .course-picker{min-height:calc(100dvh - 91px)}
 .course-picker .picker-inner{padding-top:32px;padding-bottom:42px}
}
@media print{.preview-overlay:not(.open){display:none!important}}
/* 학습 이후 모바일에서도 '문제지 만들기'를 이용할 수 있게 유지합니다. */
@media(max-width:740px){
 .subnav-inner{flex-wrap:wrap;row-gap:0}
 .nav-actions{width:100%;justify-content:flex-start;gap:22px;margin-top:5px;border-top:1px solid #e8e8ea;padding:5px 0 0}
 .nav-actions .nav-link{display:inline-flex!important;align-items:center;min-height:38px;padding:7px 2px;font-size:13px;white-space:nowrap}
 .brand{width:100%;min-height:36px}
}

/* v4.5 — compact, paper-first editorial refinements */
.top-black{height:32px}
.tiny-symbol{font-size:14px;letter-spacing:-.025em}
.subnav-inner{min-height:58px}
.course-picker .picker-inner{max-width:1260px}
.picker-title h2{margin-bottom:27px}
.picker-bottom{margin-top:24px;padding-top:18px}
.picker-selection small{color:#76767b}
.edition-header{padding-top:23px!important;padding-bottom:19px!important}
.edition-header .eyebrow{color:#777779!important;font-size:11px!important;letter-spacing:.02em!important}
.edition-header h1{margin-top:3px!important;margin-bottom:0!important}
.app-content{padding-bottom:60px}
@media(max-width:740px){
 .top-black{height:31px}
 .subnav-inner{min-height:54px}
 .picker-title h2{margin-bottom:20px}
 .picker-bottom{margin-top:19px;padding-top:16px}
 .edition-header{padding-top:21px!important;padding-bottom:15px!important}
 .app-content{padding-bottom:36px}
}

/* v4.5 responsive reading + precise A4 print preview (mobile/tablet only) */
.unit-picker-mobile{display:none}
@media screen and (max-width:1023px){
  .split{display:block;min-width:0}
  .sidebar{position:static;top:auto;background:transparent;border:0;border-bottom:1px solid #dedede;border-radius:0;margin:0 0 20px;padding:0 0 17px;min-width:0}
  .sidebar .side-heading,.sidebar .unit-list{display:none!important}
  .unit-picker-mobile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
  .unit-picker-mobile label{font-size:15px;font-weight:600;white-space:nowrap;color:#333}
  .unit-picker-select{position:relative;min-width:0}
  .unit-picker-select select{appearance:none;-webkit-appearance:none;display:block;width:100%;height:51px;max-width:100%;border:1px solid #babcc4;border-radius:9px;background:#fff;padding:10px 38px 10px 14px;font-size:16px;font-weight:600;color:#1d1d1f;text-overflow:ellipsis}
  .unit-picker-select span{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#5145cd;font-size:18px}
  .unit-picker-progress{font-size:13px;color:#68686c;white-space:nowrap}
  .lesson-card{width:100%;min-width:0}
  .lesson-card .lesson-top,.lesson-card .lesson-bottom{min-width:0}
}
@media screen and (min-width:741px) and (max-width:1023px){
  .app-content{padding-left:24px;padding-right:24px}
  .lesson-top,.lesson-bottom{padding-left:12px!important;padding-right:12px!important}
  .concept-stage{padding-left:12px!important;padding-right:12px!important}
  .concept-columns{grid-template-columns:1fr;gap:20px}
  .visual-card{min-height:260px}
  .teaching-panel{min-height:0}
  .unit-picker-mobile{grid-template-columns:auto minmax(0,1fr) auto}
  .step-tab,.pill.small,.nav-link{min-height:44px}
}
@media screen and (max-width:740px){
  .unit-picker-mobile{grid-template-columns:1fr auto;gap:6px 12px;align-items:center}
  .unit-picker-mobile label{grid-column:1;font-size:14px}
  .unit-picker-progress{grid-column:2;grid-row:1;font-size:12px}
  .unit-picker-select{grid-column:1 / -1;grid-row:2}
  .unit-picker-select select{height:52px;font-size:16px}
  .sidebar{padding-bottom:14px;margin-bottom:14px}
  .subnav .nav-actions .nav-link{min-height:44px;padding:10px 4px;font-size:14px}
  .pill,.pill.small{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
  .step-tab{min-height:52px}
  .controls-right .pill{min-height:48px}
  .check-unit{min-height:48px}
  .build-grid{min-width:0}
  .builder-action .pill{min-height:49px}
  .concept-intro,.passage-card .passage,.qprompt{overflow-wrap:anywhere}
}
/* All actionable controls on touch-width screens meet a comfortable 44px target. */
@media screen and (max-width:1100px){
 .nav-course-shortcut{min-height:44px}
 .lesson-controls .pill{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
 .nav-actions .nav-link{min-height:44px}
}
/* Preview is a scaled *view* of A4; print uses unscaled A4. */
.preview-paper-area{display:block;overflow-x:auto;overflow-y:visible;padding:16px 10px 28px;background:#e9e9ed;overscroll-behavior-x:contain}
.preview-paper-area .print-sheet{box-sizing:border-box;width:210mm;max-width:none;margin:0 auto;zoom:1}
.preview-tools{gap:10px}
.preview-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.preview-zoom-controls{display:flex;align-items:center;gap:2px;margin-right:4px}
.preview-zoom-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #d2d2d7;border-radius:8px;background:white;color:#1d1d1f;font-size:23px;line-height:1;padding:0}
.preview-fit-button{border:0;background:transparent;color:#5145cd;font-size:13px;padding:8px 10px;min-height:44px;white-space:nowrap}
.preview-zoom-controls output{font-size:13px;color:#333;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
.preview-tools .pill.small{min-height:44px;font-size:13px;padding:10px 14px}
@media screen and (max-width:740px){
  .preview-overlay{padding:0}
  .preview-frame{max-width:none;margin:0}
  .preview-tools{padding:10px 12px;background:#fafafc;gap:8px}
  .preview-tools-title{font-size:14px;width:100%}
  .preview-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}
  .preview-zoom-controls{margin:0;gap:0;min-width:0}
  .preview-zoom-button{min-width:38px;min-height:44px;font-size:21px;border-radius:6px}
  .preview-fit-button{font-size:12px;min-height:44px;padding:6px;white-space:normal;line-height:1.2}
  .preview-zoom-controls output{font-size:12px;min-width:40px}
  .preview-actions .pill.small{font-size:12px;padding:8px 10px;white-space:normal;line-height:1.3}
  .preview-paper-area{padding:10px 5px 25px}
}
@media screen and (max-width:370px){
  .preview-actions{grid-template-columns:1fr 1fr;}
  .preview-zoom-controls{grid-column:1 / -1;justify-content:center;}
  .preview-actions .pill.small{min-height:44px;width:100%}
  .preview-zoom-button{min-width:44px}
}
@media print{
  .preview-paper-area{display:block!important;overflow:visible!important;background:#fff!important;padding:0!important;margin:0!important}
  .preview-paper-area .print-sheet{width:auto!important;max-width:none!important;zoom:1!important;margin:0!important}
}

/* v4.6 NVIDIA AI test: textbook-style minimal UI, responsive */

/* v4.9 - textbook-oriented combined worksheet composer */

/* v5.0 · vivid editorial schoolbook: blue/cyan/green + midnight navy, tailored to supplied layout reference */
@media screen {
:root{--blue:#0075ff;--blue-focus:#0066d8;--ink:#071d3d;--sub:#52627d;--hair:#dfebf3;--parchment:#f4faff;--navy:#071448;--sky:#e5f8ff;--cyan:#00bdf4;--mint:#05dc9d}
html{scroll-padding-top:94px}
body{color:#14233a;background:#fff}
.top-black{height:32px;background:#fff;color:#52637b;border-bottom:1px solid #edf2f7;font-size:12px}
.global-inner{max-width:none;padding:0 2.5vw}
.tiny-symbol{color:#0873da;font-size:13px;font-weight:800;letter-spacing:-.05em}
.brand-book{display:inline-grid;place-items:center;vertical-align:middle;background:#0b92f4;color:#fff;width:19px;height:19px;border-radius:5px;margin-right:4px}
.brand-suffix,.global-micro{color:#66778e;font-size:11px;font-weight:500}
.subnav{background:rgba(255,255,255,.96);border-bottom:1px solid #eaf0f6;box-shadow:none}
.subnav-inner{max-width:none;padding:12px clamp(16px,2.8vw,52px);min-height:64px}
.brand{color:#071e45;font-size:20px;font-weight:800}
.nav-course-shortcut{border-color:#d5e7f5!important;background:#f2fbff!important;color:#0066d8!important}
.nav-link{color:#4b5e78;font-weight:700}.nav-link.active{color:#087dff}
.pill.primary{background:#006dff;border-color:#006dff;box-shadow:0 5px 0 #0050ba19}
.pill.primary:hover:not(:disabled){background:#005add}
.pill.outline{border-color:#00a8eb;color:#007ade}.pill.soft{border-color:#d9e6ed;background:white;color:#223655}
.pill{border-radius:13px;min-height:46px;font-weight:800;letter-spacing:-.03em}
.pill.small{min-height:40px;border-radius:11px}
.course-picker{background:linear-gradient(165deg,#e8faff 0%,#dcf5ff 55%,#f4fcff 100%);border:0;position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 104px)}
.course-picker:before{content:'READ · WRITE · THINK';position:absolute;font-weight:900;letter-spacing:-.04em;font-size:clamp(74px,13vw,240px);color:rgba(0,144,240,.035);left:-2vw;top:22%;white-space:nowrap;pointer-events:none}
.picker-inner{position:relative;z-index:1;max-width:1480px;margin:0 auto;padding:clamp(40px,6vw,90px) clamp(20px,4.5vw,74px) clamp(38px,5vw,72px)}
.picker-title{position:relative;max-width:100%;padding-right:min(31vw,350px);margin-bottom:36px}
.picker-kicker{color:#0874e7;font-weight:800;letter-spacing:.025em;font-size:15px;margin-bottom:18px}
.picker-title h2{font-size:clamp(36px,4.4vw,70px)!important;line-height:1.16!important;letter-spacing:-.065em!important;color:#0a2247;font-weight:900!important;margin:0 0 16px!important;word-break:keep-all}
.hero-highlight{color:#008eff}
.picker-lead{font-size:clamp(17px,1.55vw,24px);color:#425d7d;line-height:1.6;margin:0}
.hero-art{position:absolute;right:0;top:-30px;width:min(30vw,350px);height:240px;pointer-events:none}
.hero-art-item{position:absolute;display:grid;place-items:center;box-shadow:0 18px 34px rgba(0,109,200,.12);border-radius:50%;background:white;border:5px solid #b1efff}
.art-book{width:122px;height:122px;font-size:63px;right:29%;top:29px;transform:rotate(-12deg);border-color:#00c7ed}
.art-talk{width:84px;height:84px;font-size:37px;right:3%;top:0;border-color:#00e6af;transform:rotate(15deg)}
.art-pencil{width:90px;height:90px;font-size:43px;right:0;bottom:-2px;border-color:#087eff;transform:rotate(18deg)}
.hero-spark{position:absolute;color:#02bcf3;font-size:34px}.spark-one{right:46%;top:0}.spark-two{right:45%;bottom:5px;color:#00c99b}
.picker-selectors{background:rgba(255,255,255,.88);border:1px solid rgba(136,203,234,.35);border-radius:22px;padding:30px 32px;max-width:1080px;backdrop-filter:blur(4px)}
.picker-field-label strong{color:#0b2140;font-size:17px;font-weight:800}
.picker-step{background:#087eff!important;color:white!important;font-weight:900}
.grade-tabs,.semester-tabs{background:transparent!important;gap:9px!important}
.grade-tab,.semester-tab{border:2px solid #d9eafa!important;background:white!important;color:#47627f!important;border-radius:12px!important;min-height:53px;font-size:16px!important;font-weight:800!important}
.grade-tab.active,.semester-tab.active{background:#007dff!important;color:white!important;border-color:#007dff!important;box-shadow:0 5px 14px rgba(0,112,255,.17)}
.picker-bottom{background:#061844;color:white;border-radius:18px;padding:22px 28px;max-width:1080px;align-items:center;margin-top:15px}
.picker-selection span,.picker-selection small{color:#bfddf8!important}
.picker-selection strong{color:#fff!important;font-weight:900}.picker-selection .selection-mid{color:#57d8f8!important}
.picker-start{background:#00baed!important;border-color:#00baed!important;color:#062044!important;min-width:220px;min-height:54px;font-size:18px}
.app-content{max-width:none;padding:0 clamp(18px,3vw,60px) 80px}
.hero.edition-header{margin:0 calc(-1 * clamp(18px,3vw,60px)) 30px!important;padding:32px clamp(18px,3vw,60px)!important;background:#061344!important;color:white;position:relative;min-height:139px;overflow:hidden;isolation:isolate;border:0}
.hero.edition-header:after{content:'✦';position:absolute;font-size:150px;color:#08b9f9;opacity:.10;right:12%;top:-83px;pointer-events:none}
.edition-header .eyebrow,.edition-header .edition-progress-label,.edition-header .edition-overall{color:#bce8ff!important}
.edition-header h1,.edition-header .grade-head{color:#fff!important}
.edition-header .edition-subtitle{color:#68eaff!important}
.edition-header .edition-stats strong{color:#53e9ff!important}
.edition-header .edition-stats strong small{color:#dcf5ff!important}
.split{grid-template-columns:minmax(225px,270px) minmax(0,1fr);gap:32px}
.sidebar{background:#f1faff;border-radius:15px;border:1px solid #e0f2fb;padding:22px}
.side-heading{color:#007bdf;font-weight:900}.unit-item{border-radius:10px}.unit-item.active{border:1px solid #a2dcff;background:#fff;color:#005bcc;font-weight:800}
.unit-index{background:#d6f1ff;color:#0a77ba}.unit-item.active .unit-index{background:#0087ff}
.lesson-card{border:0;border-radius:0;overflow:visible}
.lesson-top{padding:24px 8px 22px!important;border-bottom:2px solid #0b74ff!important}
.lesson-meta{color:#0088d5!important;font-weight:800}
.lesson-title{color:#0a2044;letter-spacing:-.045em;font-weight:900!important}
.chapter-number{color:#00a9e9!important;font-weight:900!important}
.lesson-desc{color:#36475e}
.lesson-bottom{border:0!important;padding:28px 8px 38px!important}
.lesson-standards{color:#7293b2!important}
.stage-tabs,.stage-nav{border-bottom-color:#bfe5fa!important}
.passage{background:#f0faff!important;border-left:4px solid #00b5f3!important}
.qprompt{color:#071e42}
.choice{border-color:#d8eaf5!important;border-radius:10px!important;min-height:63px}
.choice.selected{border-color:#0487ff!important;background:#e9f8ff!important}
.choice .number{background:#e9f8ff;border-color:#c2e9fe;color:#0078c9}
.choice.selected .number{background:#007dff;color:white}
.feedback{background:#eafbf4!important;border:1px solid #bbeedb!important;border-radius:11px!important}
.build-intro{background:#087cff!important;border-radius:0!important;color:#fff!important;padding:39px clamp(22px,3vw,52px)!important;position:relative;overflow:hidden;margin-bottom:29px!important}
.build-intro:before{content:'WORKSHEET';position:absolute;right:-2%;bottom:-38px;color:#fff;opacity:.075;font-size:clamp(80px,13vw,235px);font-weight:900;letter-spacing:-.05em;pointer-events:none}
.build-intro .eyebrow{color:#c8f4ff!important;font-weight:800}
.build-intro h2{color:#fff!important;font-size:clamp(26px,2.5vw,44px)!important;font-weight:900!important;position:relative}
.build-intro p{color:#e9fbff!important;position:relative}
.builder-art{position:absolute;right:4%;top:10%;font-size:53px;opacity:.9;letter-spacing:15px;pointer-events:none}
.builder-art span{color:#70fbb3}
.build-grid{grid-template-columns:minmax(0,1.25fr) minmax(335px,.85fr);gap:35px}
.panel{padding:28px 18px!important;border:none!important;border-radius:0!important;border-top:3px solid #08215c!important}
.panel h3{color:#063379;font-weight:900!important;border-bottom-color:#d4eaf9!important}
.check-unit{border-bottom:1px solid #e6f1f8!important;border-radius:0!important}
.check-unit input,.check-option input{accent-color:#0088ff}
.check-unit:hover{background:#f0faff}
.preview-tools{background:#061744;color:#fff;border-radius:10px 10px 0 0}
.preview-tools-title{color:#fff}
.preview-tools .pill.soft{color:#122c50}
}
@media screen{.course-picker .semester-tab.active,.course-picker .grade-tab.active{background:#007dff!important;color:#fff!important;border-color:#007dff!important;box-shadow:0 5px 14px rgba(0,112,255,.18)!important}.course-picker .semester-tab:not(.active){background:#fff!important;color:#47627f!important}}
@media screen and (max-width:960px){
.picker-title{padding-right:160px}.hero-art{width:170px;transform:scale(.68);transform-origin:top right}
.split{grid-template-columns:1fr}
.builder-art{opacity:.38}
.build-grid{grid-template-columns:1fr;gap:12px}
}
@media screen and (max-width:640px){
.global-micro{display:none}.global-inner{padding:0 16px}
.brand{font-size:17px}.subnav-inner{padding:9px 16px;min-height:60px}
.nav-link{font-size:13px;padding:10px 9px}
.picker-inner{padding:35px 18px 35px}
.picker-title{padding-right:0;margin-bottom:24px}
.picker-title h2{font-size:clamp(31px,9.2vw,43px)!important;line-height:1.21!important;letter-spacing:-.055em!important;max-width:96%}
.picker-kicker{font-size:13px;margin-bottom:12px}
.picker-lead{font-size:15px}
.hero-art{display:none}
.picker-selectors{padding:22px 14px;border-radius:15px}
.grade-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.grade-tab,.semester-tab{min-height:49px!important}
.picker-bottom{padding:20px 15px;display:flex;flex-direction:column;align-items:stretch;gap:15px}
.picker-start{width:100%;min-height:54px}
.hero.edition-header{padding:27px 18px!important;min-height:127px}
.edition-header h1{font-size:30px!important}
.sidebar{padding:14px}.lesson-top,.lesson-bottom{padding-left:0!important;padding-right:0!important}
.build-intro{padding:28px 19px!important;margin:0 -18px 23px!important}
.build-intro h2{font-size:26px!important;padding-right:0}.builder-art{display:none}
.panel{padding:20px 0!important;border-top-width:2px!important}
}
@media print{
 .top-black,.subnav,.course-picker,.hero-art,.builder-art{display:none!important}
}

/* v5.5 · Calm textbook surfaces and accessible teaching hierarchy */
:root{--study-navy:#102855;--study-blue:#0879dd;--study-mint:#138d74;--study-line:#e3ebf0}
@media screen{
 .edition-header{background:#0e2d63!important;border:0!important;padding:25px 31px!important;min-height:120px!important}
 .edition-header h1,.edition-header .eyebrow,.edition-header .edition-subtitle{color:#fff!important}
 .edition-stats{color:#e8f7ff!important}
 .lesson-card{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff}
 .lesson-top{border-bottom:1px solid #dbe8f3;padding-bottom:20px!important}
 .lesson-title{color:#0e2856!important;letter-spacing:-.045em}
 .lesson-desc{max-width:92ch;line-height:1.85;color:#42566b}
 .stage-kicker{color:#0075cf!important;font-weight:700}
 .concept-heading{letter-spacing:-.04em}
 .deep-subhead{border-top:1px solid #e1eaf1;padding-top:22px;color:#102f5d}
 .deep-subhead .section-num{color:#0986de!important}
 .passage-card{background:#f5faff;border-left:3px solid #4a9de2!important}
 .choice{background:#fff!important;border:1px solid #dce7f0!important;border-radius:8px!important;min-height:54px}
 .choice.selected{background:#eff8ff!important;border-color:#0879dd!important}
 .feedback{background:#fff!important;border:0!important;border-top:3px solid #0d84ca!important;border-radius:0!important;padding:19px 0 6px!important;margin-top:26px!important}
 .feedback.is-correct{border-top-color:#138d74!important}
 .feedback.is-review{border-top-color:#c06a27!important}
 .feedback h4{font-size:20px;letter-spacing:-.03em}
 .feedback-answer{padding:10px 0 14px;border-bottom:1px solid #edf0f3}
 .feedback-answer .answer-label{color:#5c4fa2}
 .feedback-explanation{margin-top:18px}
 .solution-steps{display:grid;gap:0;margin:13px 0 4px}
 .solution-step{display:grid;grid-template-columns:106px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid #e8edf1;align-items:start}
 .solution-step-label{color:#0877c1;font-size:14px;font-weight:800;letter-spacing:-.015em}
 .solution-reason .solution-step-label{color:#087d68}
 .solution-check .solution-step-label{color:#915f19}
 .solution-step-text{color:#263b4f;font-size:16px;line-height:1.8;overflow-wrap:anywhere;word-break:keep-all}
 .solution-step-text .ink-em{font-weight:800}
 .solution-rubric{background:#f3f8fc;border-left:3px solid #74b6e3;margin-top:13px;padding:12px 13px;font-size:14px;line-height:1.7;color:#41556a}
 .solution-rubric strong{color:#17436b}.solution-rubric span{display:block;color:#677c8b;margin-top:4px}
 .print-sheet .answer-row{border-bottom:1px solid #e1e7eb;padding-bottom:12px}
 .print-sheet .answer-correct{margin:8px 0;color:#193766}
 .print-sheet .answer-correct>span{font-size:13px;font-weight:800;color:#076ec5;margin-right:12px}
 .print-sheet .answer-row-heading{display:flex;align-items:center;gap:9px}
 .print-sheet .answer-q-no{font-weight:900;color:#fff;background:#0a77c9;border-radius:4px;padding:2px 8px}
 .print-sheet .answer-q-unit{font-size:12px;color:#6a7480}
 .print-sheet .print-solution-steps{margin:9px 0 0}
 .print-sheet .solution-step{padding:7px 0;gap:12px;grid-template-columns:92px minmax(0,1fr)}
 .print-sheet .solution-step-label{font-size:13px}
 .print-sheet .solution-step-text{font-size:14px;line-height:1.65}
 .build-intro{padding:29px 34px!important;background:#0979d7!important}
 .build-intro:before{opacity:.04!important}
 .panel{border-top:2px solid #123b70!important}
 .panel h3{font-weight:700!important}
 .preview-tools{background:#132d53}
}
@media screen and (max-width:640px){
 .edition-header{padding:24px 19px!important;min-height:112px!important}
 .solution-step{grid-template-columns:1fr;gap:5px;padding:13px 0}
 .solution-step-label{font-size:13px}.solution-step-text{font-size:16px}
 .lesson-top{padding:18px 0 23px!important}
 .build-intro{padding:25px 19px!important}
}
@media print{
 .answer-section{break-before:page;page-break-before:always}
 .answer-title{font-size:18pt;font-weight:800;border-bottom:2px solid #176aaf;padding-bottom:2.5mm}
 .print-solution-intro{font-size:9pt;color:#515d68;margin:3mm 0 6mm;line-height:1.5}
 .answer-row{break-inside:avoid;page-break-inside:avoid;margin:4.5mm 0;padding:0 0 3.5mm;border-bottom:.3mm solid #d7dfe5;font-size:10pt}
 .answer-row-heading{display:flex;align-items:center;gap:3mm;margin-bottom:2mm}
 .answer-q-no{display:inline-block;border:1px solid #3c709d;border-radius:1mm;color:#114c80;font-size:9pt;font-weight:800;padding:.4mm 2mm}
 .answer-q-unit{color:#6b747d;font-size:8.5pt}
 .answer-correct{display:flex;gap:3mm;align-items:baseline;line-height:1.5}
 .answer-correct>span{color:#114f86;font-weight:800;font-size:9pt;white-space:nowrap}
 .answer-correct strong{font-size:10.5pt;color:#181d24;font-weight:700;overflow-wrap:anywhere}
 .answer-explanation{margin-top:2mm;font-size:9.2pt;color:#26333b}
 .print-solution-steps{margin:0}
 .solution-step{display:grid;grid-template-columns:24mm minmax(0,1fr);gap:2mm;border-top:.2mm solid #e9eced;padding:1.7mm 0;line-height:1.53}
 .solution-step-label{font-weight:800;font-size:8.6pt;color:#126fa9}
 .solution-reason .solution-step-label{color:#16765a}
 .solution-check .solution-step-label{color:#946112}
 .solution-step-text{font-size:9.2pt;color:#30343a;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
 .solution-rubric{margin-top:2mm;color:#394757;font-size:8.7pt;line-height:1.65}
 .solution-rubric strong{color:#15557f}
 .solution-rubric span{color:#657281}
 .answer-section .ink-em{font-weight:800;text-decoration:none}
}


/* Mathematic content within the exactly-matched Korean site shell */
/* Same DOM and geometry as Korean, only the English-free subject palette changes */
.course-picker{background:#f0edff!important}
.course-picker:before{content:'NUMBER · SHAPE · THINK'!important;color:rgba(81,69,205,.045)!important}
.course-picker .picker-kicker,.course-picker .hero-highlight,.course-picker .picker-selection strong{color:#5145cd!important}
.course-picker .picker-step,.brand-book{background:#5145cd!important;color:white!important}
.course-picker .grade-tab.active,.course-picker .semester-tab.active{background:#5145cd!important;color:#fff!important;border-color:#5145cd!important;box-shadow:0 5px 14px rgba(81,69,205,.15)!important}
.course-picker .picker-start{background:#7565e4!important;border-color:#7565e4!important;color:#fff!important}
.course-picker .hero-art-item{box-shadow:0 16px 32px rgba(81,69,205,.10)!important}
.course-picker .art-book{border-color:#8478e5!important}.course-picker .art-talk{border-color:#b6a2f2!important}.course-picker .art-pencil{border-color:#6e5be3!important}
.hero.edition-header{background:#162551!important}
.edition-stats strong{color:#ad9fff!important}
.lesson-meta,.chapter-number,.unit-item.active .unit-index,.step-tab.current,.lesson-card .topic-label{color:#5145cd!important}
.unit-item.active .unit-index{background:#5145cd!important;color:#fff!important}
.step-tab.current{border-color:#5145cd!important}
.lesson-card .worked{border-left-color:#5145cd}
.lesson-card .math-stage .btn.primary{background:#5145cd!important;border-color:#5145cd!important}
.nav-course-shortcut,.nav-link.active{color:#5145cd!important}
.course-picker .hero-art-item{color:#5145cd}

:root{--blue:#5145cd;--blue-focus:#5145cd;--primary:#5145cd;--navy:#1d2450;--teal:#087f74;--orange:#a44b20;--soft:#f5f4fc;--line:#e4e4ed}
body{background:#fff;color:var(--ink)}
.app-content{max-width:none;padding:0 clamp(18px,3vw,60px) 80px}
/* The same brand, picker, hero and unit-sidebar geometry as Korean */
.course-picker .hero-art-item{color:#5145cd}
.course-picker .art-book,.course-picker .art-talk,.course-picker .art-pencil{font-weight:700}
.lesson-card .math-stage{padding:clamp(23px,3vw,42px)}
.lesson-card .math-concept{font-size:17px;line-height:1.75}
.lesson-card .math-concept h3{font-size:clamp(21px,2vw,26px)}
.lesson-card .math-concept .lead{font-size:17px;line-height:1.8}
.lesson-card .math-concept .visual-panel{max-width:850px}
.lesson-card .math-stage .btn{border-radius:999px;min-height:42px}
.lesson-card .math-stage .btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.lesson-card .math-stage .pill{display:inline-flex;padding:7px 13px;background:var(--parchment);font-size:12px;color:var(--blue);border:0;border-radius:20px}
.lesson-card .math-stage .math-inline mjx-container{vertical-align:middle!important}
.lesson-card .step-navigation.with-explore{grid-template-columns:repeat(5,minmax(0,1fr))}
.lesson-card .step-tab{cursor:pointer}
.lesson-card .step-tab.current{background:#f5f4fc}
.lesson-card .question-text{color:#202334}
.lesson-card .diagram svg{width:100%;max-height:none}
.lesson-card .choice-item{background:#fff}
.lesson-card .feedback{background:#f5f4fc}
.lesson-card .feedback.wrong{background:#fff8f1}
.lesson-card .keypad .btn{min-height:46px}
.unit-count{color:#85858a}
.unit-picker-mobile{display:none}
/* Builder uses the Korean workbook sheet DOM + styling */
.build-intro{background:#5145cd!important}
.build-intro .eyebrow{color:#dfd8ff!important}
.build-intro h2,.build-intro p{color:#fff!important}
.build-grid .panel{border-top-color:#1d2450!important}
.build-grid .panel h3{color:#1d2450!important}
.build-grid .check-unit input,.build-grid .check-option input{accent-color:#5145cd}
.build-grid .builder-action .pill.primary{background:#5145cd!important;border-color:#5145cd!important;color:#fff!important}
/* Same builder page wrapper as Korean, retaining math-specific controls */
.app-content .builder{margin-top:26px}
.app-content .content-head{border-bottom:0}
@media(max-width:740px){
 .app-content{padding:0 15px 45px}
 .lesson-card .step-navigation.with-explore{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lesson-card .math-stage{padding:20px 18px}
 .unit-picker-mobile{display:block}
 .lesson-card .math-concept .diagram svg{height:auto}
}
@media print{.top-black,.subnav,.app-content{display:none!important}}

/* Protect the responsive viewport against rounded full-bleed header overflow */
html,body{overflow-x:clip}
