/* Exact shared Korean UI CSS is preserved unchanged in styles.css. All social changes live here. */
:root{--blue:#A34F62;--blue-focus:#A34F62;--ink:#2C302F;--sub:#65706C;--hair:#E9DFE3;--parchment:#FCF7F9;--pearl:#FCF7F9}
.pill:hover:not(:disabled).primary{background:#7B3446}
.choice.selected,.step-tab.current{background:#FFF2F5}
.ink-em{color:#A34F62}.ink-warning{color:#895A1B}.ink-reason{color:#315B78}.ink-answer{color:#7B3446}
.course-picker{background:linear-gradient(165deg,#FCF7F9 0%,#F5E4EA 55%,#FFFAFC 100%)}
.course-picker:before{content:'THINK · RESPECT · SHARE';color:rgba(40,122,69,.045)}
.picker-kicker,.hero-highlight,.tiny-symbol,.nav-link.active,.stage-kicker,.lesson-meta,.chapter-number,.eyebrow,.section-num,.diagram-step-no,.visual-arthead>svg,.unit-index{color:#A34F62!important}
.brand-book{background:#A34F62!important}.picker-step{background:#A34F62!important;color:white!important}
.grade-tab.active,.course-picker .grade-tab.active,.semester-tab.active,.course-picker .semester-tab.active{background:#A34F62!important;border-color:#A34F62!important;color:white!important;box-shadow:0 5px 14px rgba(40,122,69,.18)!important}
.grade-tab,.semester-tab{border-color:#DBBCC6!important}
.pill.primary,.course-picker .pill.primary{background:#A34F62!important;border-color:#A34F62!important;color:white!important;box-shadow:0 5px 0 #7B344619!important}
.pill.primary:hover:not(:disabled){background:#7B3446!important}.pill.outline{border-color:#A34F62!important;color:#A34F62!important}.picker-start{background:#A34F62!important;color:white!important}
.picker-bottom{background:#302C32!important}
.art-book{border-color:#C37D95!important}.art-talk{border-color:#D7A8B7!important}.art-pencil{border-color:#A34F62!important}.hero-spark{color:#A34F62!important}
.step-tab.current,.unit-item.active{color:#A34F62!important;border-color:#D4A1B2!important}.edition-header{background:#302C32!important}
.progressbar>div{background:#A34F62!important}.nav-course-shortcut{color:#A34F62!important;background:#FAECF0!important;border-color:#DBBCC6!important}
.moral-figure .moral-head{align-items:center;gap:14px}
.moral-figure-icon{width:82px;height:90px;flex:none;display:grid;place-items:center;border-radius:13px;background:#F4E3E9;color:#A34F62}
.moral-figure-icon svg{width:80px;height:85px}
.moral-figure-domain{display:block;font-size:12px;color:#5e7564;margin-top:6px}
.moral-fact-flow{display:grid;gap:11px;margin:16px 0}.moral-fact{padding:13px 15px;border-left:3px solid #7caf8b;background:white;display:grid;gap:4px}
.moral-fact span{color:#597562;font-size:12px;font-weight:650}.moral-fact strong{font-size:14px;font-weight:550;line-height:1.62;color:#20372b;word-break:keep-all}
.moral-figure figcaption b{font-weight:500}
.moral-lab{border-top:1px solid #E9DFE3;margin:25px 0 18px;padding:24px 3px 2px;break-inside:avoid}
.moral-lab-head h4{font-size:21px;letter-spacing:-.03em;margin:5px 0 6px}.moral-lab-head p{font-size:14px;color:#5c7062;line-height:1.65;margin:0 0 16px}
.moral-lab-eyebrow{display:inline-block;font-size:12px;color:#315B78;font-weight:700;letter-spacing:.04em}
.moral-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.moral-option{border:1px solid #DAC6CE;background:white;color:#522F24;border-radius:11px;padding:11px 14px;min-height:44px;min-width:88px;font-size:14px;font-weight:650}.moral-option.on{background:#A34F62;color:white;border-color:#A34F62}
.moral-sim{display:block;width:100%;max-width:100%;height:auto;border-radius:12px;border:1px solid #dde8dc;background:#FFFCF8}
.moral-observation{padding:16px 17px;border-radius:11px;background:#eff7f0;border-left:3px solid #A34F62;margin-top:12px;display:grid;gap:5px;line-height:1.6;color:#233e2f}
.moral-observation b{font-size:12px;color:#315B78}.moral-observation strong{font-size:17px}.moral-observation p{margin:2px 0;font-size:14px}.moral-observation small{font-size:12px;color:#6a6259;line-height:1.55}
.moral-classify{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}.moral-classify>div{border:1px solid #E9DFE3;border-radius:11px;padding:15px 10px;background:#f7faf7;display:grid;gap:8px;text-align:center}.moral-classify b{color:#7B3446}.moral-classify span{font-size:13px;word-break:keep-all}
.moral-two-choices{display:grid;gap:10px}.moral-two-choices label{font-size:13px;font-weight:700;display:block;margin-bottom:8px}
.moral-lab-links{font-size:13px;margin:13px 0 0;color:#69766b;line-height:1.6}
@media(max-width:740px){.moral-figure-icon{width:64px;height:67px}.moral-figure-icon svg{width:59px;height:60px}.moral-classify{grid-template-columns:1fr}.moral-classify>div{text-align:left}.moral-option{flex:1 1 auto}.moral-lab{padding-top:20px}}
@media print{
 .moral-lab{display:none!important}
 .moral-fact{break-inside:avoid}
 .moral-figure-icon,.moral-fact-flow{background:white!important}
 .ink-em,.ink-key,.ink-question,.ink-answer{color:#A34F62!important;text-decoration-color:#A34F62!important}
 .ink-warning{color:#895A1B!important}.ink-reason{color:#315B78!important}
 .print-solution-intro{color:#344b38!important}.answer-title{border-bottom-color:#A34F62!important}
}

/* Subject palette overrides for fixed-color accents in original Korean CSS, geometry unchanged. */
.hero.edition-header{background:#302C32!important}
.hero.edition-header:after{color:#ECC0D0!important}
.edition-header .eyebrow,.edition-header .edition-progress-label,.edition-header .edition-overall{color:#F3E0E7!important}
.edition-header .edition-subtitle,.edition-header .edition-stats strong{color:#F4C9D8!important}
.edition-header .edition-stats strong small{color:#F9EEF3!important}
.sidebar{background:#FCF7F9!important;border-color:#E9DFE3!important}
.unit-item.active{border-color:#D7A8B7!important}
.stage-kicker{border-color:#D4A1B2!important}
.lesson-card .lesson-top{border-bottom-color:#EEE1E5!important}
.step-navigation{border-bottom-color:#EEE1E5!important}
.section-num,.chapter-number{color:#A34F62!important}
@media print {.hero.edition-header{background:#302C32!important}.sidebar{display:none!important}}

@media screen {
 .sidebar .side-heading,.lesson-meta,.stage-kicker,.deep-subhead,.deep-subhead .section-num{color:#A34F62!important}
 .sidebar .unit-index{background:#F8E7EE!important;color:#7B3446!important}
 .sidebar .unit-item.active .unit-index{background:#A34F62!important;color:#fff!important}
 .sidebar .unit-item.active{color:#7B3446!important}
 .lesson-top{border-bottom-color:#EEE1E5!important}
 .lesson-title,.qprompt{color:#2C302F!important}
 .deep-subhead{border-top-color:#EEE1E5!important}
 .lesson-card .choice{border-color:#EEE1E5!important}
 .lesson-card .choice.selected{border-color:#A34F62!important;background:#FCF7F9!important}
 .choice .number{background:#F6E8EC;color:#7B3446;border-color:#D8B3C0}
 .choice.selected .number{background:#A34F62!important;color:#fff!important}
 .build-intro{background:#A34F62!important}.panel{border-top-color:#7B3446!important}
 .panel h3{color:#7B3446!important}
 .check-unit input,.check-option input{accent-color:#A34F62}
 .preview-tools{background:#302C32!important}
 .passage{background:#FCF7F9!important;border-left-color:#B97A92!important}
 .passage-card{background:#FCF7F9!important;border-left-color:#B97A92!important}
 .solution-step-label,.model-answer span{color:#A34F62!important}
 .selfcheck-list svg{color:#A34F62}
 .feedback:not(.is-review){border-top-color:#A34F62!important}
}

.moral-figure .moral-head{align-items:center}.moral-figure-icon{font-size:44px!important;display:grid;place-items:center}.moral-question-figure{max-width:620px;margin:10px 0 14px;break-inside:avoid}.moral-question-figure .moral-sim{max-width:100%}.moral-map-legend{font-size:12px;color:#555;line-height:1.6}.moral-figure .moral-sim{width:100%;max-width:100%;max-height:260px;margin:14px 0 7px}.moral-figure .moral-fact-flow{margin-top:18px}.moral-lab .moral-sim{max-height:330px}.moral-figure figcaption b{font-weight:600}.moral-observation{background:#FCF7F9!important}.moral-lab-links{color:#65706C!important}@media print{.moral-question-figure{break-inside:avoid}.moral-question-figure .moral-sim{max-height:200px;background:#fff!important}.moral-sim text{fill:#000!important}.moral-figure .moral-sim{max-height:180px}.moral-lab{display:none!important}}

/* 도덕 전용 상황 카드·입장 선택 — 국어 공통 레이아웃은 변경하지 않음 */
.moral-figure{min-width:0}.moral-figure-icon{font-size:34px!important}.moral-figure figcaption{line-height:1.65}
.moral-scene{border:1px solid #E9DFE3;border-radius:14px;background:#fff;padding:15px;display:grid;gap:12px;margin-top:14px;min-width:0}
.moral-scene-title{font-size:12px;font-weight:750;letter-spacing:.03em;color:#7B3446}.moral-scene-story{font-size:15px;line-height:1.8;color:#292D31;word-break:keep-all}
.moral-scene-bubbles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.moral-bubble{padding:12px;background:#FCF7F9;border:1px solid #E9DFE3;border-radius:10px;line-height:1.6;font-size:13px;word-break:keep-all}
.moral-bubble strong{display:block;font-size:11px;color:#695481;margin-bottom:6px}.moral-explain{background:#FCF7F9;border-left:3px solid #A34F62;padding:15px;border-radius:9px;line-height:1.7}
.moral-explain strong{display:block;color:#7B3446;margin-bottom:6px}.moral-explain p{margin:0 0 8px}.moral-lab-content{display:grid;gap:14px}
.moral-lab-content .moral-buttons{margin:0}.moral-lab-head{margin-bottom:14px}.moral-lab-head h4{margin:6px 0;font-size:21px}.moral-lab-head p{font-size:14px;color:#67656D;line-height:1.6}
.moral-option{min-height:44px;white-space:normal;text-align:left}.moral-state-icon{font-size:20px;margin-right:7px}
.moral-state-details{border:1px solid #E9DFE3;border-radius:12px;background:#FCF7F9;padding:18px;line-height:1.7;word-break:keep-all}
.moral-state-details h5{font-size:17px;margin:5px 0;color:#302C32}.moral-state-details p{margin:7px 0}.moral-state-details .moral-tag{color:#7B3446;font-size:12px;font-weight:750}.moral-state-details .moral-caution{color:#795A2A;font-size:13px}
.moral-reset{padding:9px 12px;border:1px solid #D4B9C5;border-radius:9px;background:white;color:#7B3446;cursor:pointer;min-height:44px}
.moral-rubric{border-left:3px solid #695481;padding:8px 12px;background:#F7F2FA;font-size:13px;line-height:1.7}
@media(max-width:740px){.moral-scene-bubbles{grid-template-columns:1fr}.moral-scene{padding:11px}.moral-lab-content .moral-buttons{display:grid;grid-template-columns:1fr}.moral-option{text-align:center}}
@media print{.moral-state-details,.moral-reset,.moral-lab{display:none!important}.moral-scene,.moral-bubble{background:white!important;break-inside:avoid}}
