@charset "UTF-8";
:root{color-scheme:light;--ink:#191f28;--muted:#697583;--line:#e5e9ef;--blue:#2468e8;--soft:#f5f8fc;font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #79a8ff;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:12px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:8px}.site-header{height:78px;max-width:1320px;margin:auto;padding:0 40px;display:flex;gap:26px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:850;letter-spacing:-1px}.brand small{font-size:15px;color:var(--muted);font-weight:500;letter-spacing:-.4px}.brand-mark{background:var(--blue);color:white;border-radius:12px;display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;font-size:22px}.header-link{font-weight:650;font-size:15px;color:#526174}.local-notice{background:#f2f6fd;text-align:center;color:#536786;padding:10px 24px;font-size:13px;border-block:1px solid #e9f0fc}.portal{max-width:1180px;padding:44px 32px 55px;margin:auto}.eyebrow{font-size:14px;color:#4172bb;font-weight:700;margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.32;letter-spacing:-1.5px;margin-bottom:16px}h2{font-size:24px;line-height:1.45;letter-spacing:-.8px}h3{font-size:20px;line-height:1.55}.lead{font-size:18px;color:var(--muted);margin-bottom:35px}.portal-intro{margin-bottom:30px}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.subject-card{border:1px solid var(--line);border-radius:24px;display:flex;align-items:center;gap:24px;padding:25px 24px;min-height:218px;transition:transform .18s,border-color .18s,box-shadow .18s;background:linear-gradient(115deg,#f8faff,#fff 64%)}.subject-card:hover,.mode-card:hover{border-color:#98b8f3;box-shadow:0 8px 24px #315d9920;transform:translateY(-3px)}.job-art{position:relative;flex-shrink:0;display:inline-block}.subject-card h2{font-size:22px;margin:5px 0 8px}.subject-card p{font-size:14px;color:var(--muted);margin:0 0 8px}.subject-card small{font-size:12px;color:#758297}.subject-card strong{display:block;margin-top:18px;color:var(--blue);font-size:14px}.scope{display:inline-block;font-size:12px;font-weight:600;color:#697992}.site-footer{max-width:1100px;margin:15px auto 0;border-top:1px solid var(--line);padding:24px 32px 38px;color:#8993a0;font-size:13px}.breadcrumbs{display:flex;gap:12px;font-size:14px;color:#7d8795;margin:0 0 36px}.breadcrumbs a{color:#55749c}.subject-heading{display:flex;align-items:center;gap:28px;margin-bottom:36px}.subject-heading h1{font-size:34px}.subject-heading .lead{margin:0}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mode-card{border:1px solid var(--line);border-radius:24px;padding:24px;transition:transform .18s,border-color .18s,box-shadow .18s}.mode-card svg{width:160px;height:110px;display:block;margin-bottom:22px;max-width:100%}.mode-card h2{font-size:22px;margin-bottom:12px}.mode-card p{font-size:15px;color:var(--muted);min-height:54px}.mode-card .scope{display:block;margin:18px 0}.mode-card strong{color:var(--blue);font-size:15px}.scope-note{font-size:14px;color:var(--muted);margin-top:26px}.proposal{margin-top:32px;background:#f5f8fc;border-radius:18px;padding:24px}.proposal p{font-size:14px;color:var(--muted);margin:8px 0}.proposal a{font-size:14px;color:var(--blue);font-weight:650}.empty-state{max-width:660px;text-align:center;margin:50px auto 70px}.empty-state svg{width:190px;height:130px}.empty-state h1{font-size:30px;margin:24px 0 18px}.empty-state p{color:var(--muted);margin:16px auto 30px}.primary,.secondary,.text-link{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;min-height:48px;padding:10px 19px;font-size:15px;font-weight:650;border:1px solid var(--line);background:#fff;color:#465469}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.text-link{display:block;width:fit-content;margin:12px auto;border:0;color:var(--muted)}
.reader-header{position:sticky;top:0;z-index:8;background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);max-width:none;justify-content:flex-start;height:70px}.reader-header .brand{font-size:22px}.reader-header .header-link{margin-left:auto}.outline{position:relative}.outline summary{font-size:15px;font-weight:650;cursor:pointer;list-style:none;padding:10px;border:1px solid var(--line);border-radius:10px}.outline nav{position:absolute;right:0;top:100%;width:min(420px,calc(100vw - 28px));max-height:70vh;overflow:auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 32px #182c4a22}.outline nav a{display:block;padding:10px 12px;font-size:14px;border-radius:8px;line-height:1.5}.outline nav a.active{background:#eef4ff;color:var(--blue);font-weight:700}.reader-main{max-width:900px;margin:0 auto;padding:38px 35px 140px}.reader-main h1{font-size:31px;margin-bottom:18px}.reader-main>.intro{font-size:18px;line-height:1.9;color:#556276}.reader-status{color:#778392;font-size:13px;background:var(--soft);border-radius:12px;padding:12px 16px;margin:18px 0 30px}.progress-track{background:#edf1f7;height:4px;border-radius:4px;margin:30px 0}.progress-track span{display:block;height:100%;background:#3b7ae6;border-radius:4px}.lesson-copy{padding:22px 0 25px;scroll-margin-top:94px}.lesson-copy+.lesson-copy{border-top:1px solid #f0f2f5}.section-kicker{font-size:13px;font-weight:700;color:#8b98a9;margin:0 0 9px}.lesson-copy h2{margin-bottom:20px}.lesson-copy p{font-size:17px;line-height:1.95;margin-bottom:20px}.caution,.worked-example,.takeaway{background:#f5f8fc;border-radius:16px;padding:22px 24px;margin:24px 0}.caution p:last-child,.takeaway p:last-child{margin-bottom:0}.caution strong{display:block;margin-bottom:8px}.worked-example h3{font-size:19px}.block-list{padding-left:25px;line-height:1.95;font-size:17px}.block-list li{margin:9px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin:22px 0;max-width:100%}table{width:100%;border-collapse:collapse;min-width:360px;line-height:1.75;font-size:15px}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f5f8fc;font-weight:650}td+td,th+th{border-left:1px solid var(--line)}caption{text-align:left;padding:13px 16px;font-size:14px;color:#596b82;background:#fbfcfe}.visual{margin:24px 0;border:1px solid #e7edf4;border-radius:17px;padding:16px;background:#fff;max-width:100%;overflow:hidden}.visual img,.visual video{display:block;width:100%;height:auto;object-fit:contain}.image-scroll{overflow:auto;max-width:100%;border-radius:10px}.visual figcaption{font-size:14px;line-height:1.85;color:#59697e;margin-top:16px}.visual .credit{font-size:12px;line-height:1.8;color:#8591a2;margin-top:12px}.visual .credit a{color:#5f799e;text-decoration:underline}.figure-original{font-size:13px;color:#3d6fae;text-decoration:underline;display:inline-block;margin:12px 0 4px}.image-states{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 5px}.image-states button{background:#f6f8fc;border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:13px}.image-states button[aria-pressed=true]{background:#eaf1ff;color:var(--blue);border-color:#7da5ec}.figure-step{font-size:15px;background:#f6f8fc;border-radius:10px;padding:12px 14px;margin-top:12px}.figure-note{font-size:14px;color:#5b6e87;margin-top:14px}.figure-note summary{cursor:pointer}.takeaway>strong{display:block;color:#2f68ac;margin-bottom:12px}.source-box{font-size:13px;color:#758196;border-top:1px solid var(--line);padding-top:15px;margin:26px 0}.source-box summary{cursor:pointer}.source-box a{text-decoration:underline}.source-box li{margin:12px 0}.source-box small{display:block}.questions{margin-top:45px;border-top:2px solid #e6edf7;padding-top:35px}.questions>h2{font-size:26px}.subtle{color:var(--muted);font-size:15px}.question{border:1px solid var(--line);border-radius:20px;padding:26px;margin:28px 0;scroll-margin-top:90px}.question-number{font-size:12px;color:#7d899a;font-weight:600}.question-title{font-size:20px;margin:12px 0 24px;line-height:1.75}.question-context{font-size:15px;background:#f5f7fa;padding:15px;border-radius:10px}.question mark{background:#fff0c7}.choices{display:grid;gap:10px;margin-top:20px}.choice{display:flex;gap:13px;text-align:left;padding:16px;border:1px solid #dfe5ec;background:#fff;border-radius:12px;color:var(--ink);font-size:16px;line-height:1.7;opacity:1!important;align-items:flex-start}.choice:hover:not(:disabled){background:#f7faff;border-color:#96b7ef}.choice .n{border-radius:50%;background:#f0f3f7;font-size:13px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.choice.correct{background:#eef8f3;border-color:#7fbf9f}.choice.wrong{background:#fff2f1;border-color:#e7a59d}.choice.chosen{box-shadow:inset 0 0 0 1px #4277d0}.feedback{margin-top:25px;border-top:1px solid var(--line);padding-top:24px}.feedback>strong{font-size:18px}.reason{margin-top:20px;padding-top:18px;border-top:1px solid #edf0f5}.reason>b{font-size:14px;color:#64738b}.reason>p{font-size:16px;margin:8px 0 12px}.concept-return{border:1px solid #dae5f5;border-radius:11px;background:#f7faff;margin:14px 0;padding:12px 14px}.concept-return>summary{font-size:14px;cursor:pointer;color:#3b6cac;font-weight:650}.concept-return .embedded-section{padding:20px 2px 4px}.embedded-section h2{font-size:21px}.embedded-section p{font-size:16px}.concept-return>.secondary{margin-top:12px;font-size:13px;min-height:40px}.lesson-actions{display:flex;justify-content:space-between;gap:12px;margin-top:40px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:7;display:flex;gap:12px;align-items:center;max-width:900px;margin:auto;padding:14px 28px;background:#fffffff7;border:1px solid #e4e9f1;border-radius:20px 20px 0 0;box-shadow:0 -3px 18px #344a6e08}.bottom-bar>span{margin-right:auto;font-size:14px;color:#73829a}.lesson-connection{font-size:14px;color:#7e8b9c}.lesson-connection a{color:#5a78a3}.read-error{background:#fff3f2;border:1px solid #efc5be;padding:24px;border-radius:16px}.read-error pre{white-space:pre-wrap;font-size:13px}
@media(min-width:1500px){body:has(.portal)::before,body:has(.portal)::after{content:"";position:fixed;top:180px;bottom:80px;width:96px;border:1px dashed #edf0f5;border-radius:12px;pointer-events:none}body:has(.portal)::before{left:24px}body:has(.portal)::after{right:24px}}
@media(max-width:900px){.portal{padding:32px 24px}.subject-grid{gap:16px}.subject-card{gap:13px;padding:20px 16px}.subject-card .job-art{transform:scale(.88);margin:-8px;flex-shrink:1}.subject-card h2{font-size:19px}.mode-grid{gap:14px}.mode-card{padding:20px}.mode-card h2{font-size:20px}.reader-main{max-width:850px;padding-inline:28px}}
@media(max-width:650px){html{scroll-padding-top:80px}.site-header{height:65px;padding:0 19px;gap:13px}.brand{font-size:22px}.brand small{font-size:13px}.header-link{font-size:13px}.brand-mark{width:34px;height:34px}.local-notice{font-size:11px;padding:10px 20px;line-height:1.7}.portal{padding:29px 18px 35px}.portal-intro{margin-bottom:24px}h1{font-size:28px;letter-spacing:-1px}.lead{font-size:15px;margin-bottom:24px}.eyebrow{font-size:12px}.subject-grid{grid-template-columns:1fr;gap:14px}.subject-card{min-height:173px;padding:20px 18px;gap:18px;border-radius:20px}.subject-card .job-art{transform:scale(.84);margin:-12px}.subject-card h2{font-size:20px}.subject-card p{font-size:12px;margin-bottom:6px}.subject-card small{font-size:11px}.subject-card strong{font-size:13px;margin-top:12px}.scope{font-size:11px}.subject-heading{gap:20px;margin-bottom:28px}.subject-heading .job-art{transform:scale(.78);margin:-15px}.subject-heading h1{font-size:25px;margin:8px 0}.subject-heading .lead{font-size:16px}.breadcrumbs{font-size:12px;margin-bottom:32px;gap:7px}.mode-grid{grid-template-columns:1fr;gap:15px}.mode-card{display:grid;grid-template-columns:85px 1fr;column-gap:18px;padding:20px;border-radius:19px}.mode-card svg{width:85px;height:90px;grid-row:1/5;margin:0;align-self:center}.mode-card h2{font-size:20px;margin:0 0 8px}.mode-card p{font-size:13px;margin:0;min-height:0}.mode-card .scope{margin:9px 0 10px}.mode-card strong{font-size:13px}.scope-note{font-size:12px}.proposal{padding:19px}.site-footer{padding:22px 20px;font-size:11px}.empty-state{margin-top:35px}.empty-state h1{font-size:25px}.empty-state p{font-size:14px}.reader-header .brand{font-size:20px}.reader-header .header-link{font-size:12px}.outline summary{font-size:12px;padding:8px}.reader-main{padding:28px 20px 124px}.reader-main h1{font-size:26px}.reader-main>.intro{font-size:16px}.reader-status{font-size:12px}.lesson-copy{padding:22px 0}.lesson-copy h2{font-size:22px;margin-bottom:17px}.lesson-copy p,.block-list{font-size:16px;line-height:1.9}.visual{padding:10px;border-radius:12px;margin:22px -4px}.visual figcaption{font-size:13px}.visual .credit{font-size:11px}.caution,.takeaway,.worked-example{padding:19px}.table-wrap{margin-inline:-4px}table{font-size:13px}th,td{padding:11px 12px}.question{padding:20px 16px;margin:24px -4px}.question-title{font-size:18px}.question-number{font-size:10px}.choice{font-size:15px;padding:14px 12px;gap:10px}.questions>h2{font-size:23px}.feedback>strong{font-size:17px}.reason>p{font-size:15px}.concept-return{padding:11px}.concept-return summary{font-size:13px}.embedded-section h2{font-size:20px}.embedded-section p{font-size:15px}.bottom-bar{padding:12px 16px;gap:8px;border-radius:16px 16px 0 0}.bottom-bar>span{font-size:12px}.bottom-bar button{font-size:13px;padding:9px 13px;min-height:43px}.lesson-actions .primary,.lesson-actions .secondary{font-size:13px;padding:10px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:650px){.question .concept-return{margin-inline:-12px;padding:12px 8px}.concept-return .embedded-section{padding-inline:0}.concept-return .visual{margin-inline:-7px;padding:6px}.concept-return .embedded-section .table-wrap{margin-inline:-4px}}
.sequence .svg-wrap{overflow:auto;max-width:100%;border-radius:10px}.sequence .svg-wrap svg{display:block;width:100%;min-width:680px;height:auto}.sequence[data-focus=source] [data-component=source] circle,.sequence[data-focus=r1] [data-component=r1] rect,.sequence[data-focus=r2] [data-component=r2] rect{fill:#ffedba;stroke:#945200;stroke-width:6}.sequence[data-focus=source] [data-component=source] line{stroke:#945200;stroke-width:6}.sequence-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.sequence-controls button{min-height:40px;font-size:13px;padding:8px 13px}.sequence-pan-hint{display:none;font-size:12px!important;color:#7b889b}.sequence .figure-step p{font-size:15px;margin:9px 0}.reader-status p{margin:8px 0 0;font-size:12px;color:#758294}
html{scroll-behavior:auto}
@media(max-width:740px){.sequence-pan-hint{display:block}.sequence .svg-wrap{max-height:440px}}

/* Review learning: explicit answer states and inline reasons; no mock-exam rules. */
html{scroll-padding-bottom:calc(var(--review-bottom-height,92px) + 24px)}
.reader-main{padding-bottom:calc(var(--review-bottom-height,92px) + 60px + env(safe-area-inset-bottom))}
.choice-row{min-width:0}.choice-row>.choice{width:100%}.choice-text{min-width:0}.choice-badge{display:block;width:fit-content;margin-top:7px;padding:3px 9px;border-radius:6px;background:#e8effc;color:#234f95;font-size:13px}
.choice.correct{border:2px solid #24804d;background:#edf8f1}.choice.correct .choice-badge{color:#145d35;background:#d2eedc}.choice.wrong{border:2px solid #b64232;background:#fff2ef}.choice.wrong .choice-badge{color:#8f281c;background:#ffe0d9}
.choice-explanation{margin:0 4px 12px;padding:16px;border:1px solid #dfe6f0;border-top:0;border-radius:0 0 12px 12px;background:#fafcff}.choice-explanation>b{font-size:14px;color:#34485f}.choice-explanation>p{line-height:1.85}.question-confirm{padding-top:20px}.question-confirm .subtle{font-size:13px;margin:9px 0}.answer-status{padding:12px 15px;background:#f0f5ff;color:#244c88;border-radius:10px;font-weight:700;margin:15px 0}
.related-visual-context{border:1px solid #dde6f0;border-radius:12px;padding:12px;margin:16px 0}.related-visual-context>h3{font-size:15px;color:#506780}.related-visual-context .visual{margin-inline:0}
.choice-row,.choice-explanation,.concept-return,.figure-original,.lesson-actions{scroll-margin-bottom:calc(var(--review-bottom-height,92px) + 22px)}
.bottom-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
@media(max-width:650px){.choice-explanation{padding:13px 10px;margin-inline:0}.choice-badge{font-size:12px}.question-confirm .primary{width:100%}.related-visual-context{padding:8px}.reader-main{padding-bottom:calc(var(--review-bottom-height,92px) + 48px + env(safe-area-inset-bottom))}}

/* FB011 selected native diagrams and adjacent photo comparison only. */
[data-course-id="excavator"] figure[data-asset^="fb011:"]{max-width:720px;margin-inline:auto}
.comparison-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-block:20px}
.comparison-pair>.visual{min-width:0;margin:0}.comparison-pair .image-scroll{width:100%}.comparison-pair img{width:100%;height:auto;max-height:300px;object-fit:contain}.comparison-pair figcaption{font-size:15px;line-height:1.75}.comparison-pair .credit{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:650px){.comparison-pair{grid-template-columns:1fr;gap:20px}.comparison-pair img{max-height:270px}.comparison-pair>.visual{padding:12px}}

/* Accepted cohort: retain native diagram label sizes in a keyboard-scrollable figure. */
.image-scroll[style*="--cohort-reading-width"] img{width:var(--cohort-reading-width);min-width:var(--cohort-reading-width);max-width:none!important;margin-inline:auto}.image-scroll[style*="--cohort-reading-width"]{overflow-x:auto}.cohort-pan-hint{font-size:13px!important;line-height:1.7!important;color:#53657b}.formula,.practice,.cohort-prerequisites{padding:18px;background:#f3f7fc;border-radius:14px;margin:22px 0;overflow-wrap:anywhere}.formula-expression{font-size:22px;font-weight:700;overflow-wrap:anywhere}.practice>strong{font-size:14px;color:#476281}.practice summary,.cohort-prerequisites summary{cursor:pointer;padding:12px 0;font-weight:650}.cohort-prerequisites a{display:inline-block;padding:6px 0;color:#215bc0}.practice .concept-return{margin-top:16px}

/* Exact new leaf consumption: full portrait context, native-size cap on wide pages. */
.course-image[data-asset="EL-GP-A001"] .image-scroll,.course-image[data-asset="EL-CG-A001"] .image-scroll,.course-image[data-asset="EL-CG-A002"] .image-scroll,.course-image[data-asset="EL-BE-A001"] .image-scroll,.course-image[data-asset="EL-BE-A002"] .image-scroll,.course-image[data-asset="EL-STQ-A001"] .image-scroll,.course-image[data-asset="EL-STQ-A002"] .image-scroll,.course-image[data-asset="EL-SI-A001"] .image-scroll,.course-image[data-asset="EL-RVC-A001"] .image-scroll,.course-image[data-asset="EL-SF-A001"] .image-scroll,.course-image[data-asset="EL-CM-A001"] .image-scroll,.course-image[data-asset="EL-WI-A001"] .image-scroll,.course-image[data-asset="HD-ASSET-PW01"] .image-scroll,.course-image[data-asset="HD-ASSET-PW02"] .image-scroll,.course-image[data-asset="HD-ASSET-PW03"] .image-scroll,.course-image[data-asset="HD-ASSET-EW01"] .image-scroll,.course-image[data-asset="HD-ASSET-FT01"] .image-scroll,.course-image[data-asset="HD-ASSET-YB01"] .image-scroll{max-width:390px;margin-inline:auto}
.inline-questions{margin:28px 0 36px;padding-top:22px}.inline-questions>h3{font-size:21px}.inline-questions .question:first-of-type{margin-top:18px}

/* Subject portal only: reserve the complete atlas clip before laying out copy. */
.subject-card>.job-art{flex:0 0 132px;min-width:132px;transform:none;margin:0}
.subject-card>div{min-width:0}
@media(max-width:760px){.subject-grid{grid-template-columns:1fr}}
@media(max-width:420px){.subject-card{flex-direction:column;align-items:stretch;gap:12px}.subject-card>.job-art{align-self:center}}
/* Active shared-shell entries keep coarse navigation reachable. */
@media(any-pointer:coarse){body:has(>.qt-site-header) .bottom-bar button,body:has(>.qt-site-header) .outline>summary,body:has(>.qt-site-header) .subject-steps button{min-height:44px}}

/* 정규학습의 실제 4열 이상 표만 넓혀 숫자와 단어 중간 분할을 막는다. */
table.regular-wide-table{table-layout:auto}table.regular-wide-table th,table.regular-wide-table td{overflow-wrap:normal;word-break:keep-all}

/* A1 sources are scoped to changed regular explanations and original figures. */
.copy-source-box{min-width:0;overflow-wrap:anywhere}.copy-source-box ul{padding-left:1.2rem}.copy-source-box small{display:block}.copy-notice{padding:12px;border:1px solid #e4c96e;border-radius:10px;margin:12px 0}.copy-notice button{margin-left:8px;min-height:44px}

/* Short current regular text tables fit the reading column; wide/numeric tables retain their scroll. */
table.regular-simple-table{min-width:0;width:100%;table-layout:auto}table.regular-simple-table th,table.regular-simple-table td{word-break:keep-all;overflow-wrap:normal;min-width:0;padding:12px 8px}@media(max-width:420px){table.regular-simple-table th,table.regular-simple-table td{padding:10px 6px}}
