/* Self-contained Apple-inspired learning interface, reference: DESIGN-apple.md */
:root{--blue:#0066cc;--blue-focus:#0071e3;--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 #0066cc;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:#0066cc;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:#0066cc;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:#0066cc;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:#0066cc}
.letter-art{padding:14px 0 22px}
.letter-tile{border:1px solid #c7cbd0;border-radius:2px;background:white}
.letter-feature{background:#f2f8ff;border:2px solid #0066cc}
.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 #0066cc;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:#0066cc;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:#0066cc;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:#0066cc;border:2px solid #0066cc;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:#0066cc;background:#fff!important;border:2px solid #0066cc;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:#0066cc;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:#0066cc;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:#0066cc;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:#0066cc;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}
}
