.reading-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:20px 0;margin:0 0 28px;border-block:1px solid var(--border)}
.reading-nav>span{font-size:12px;color:var(--muted);font-weight:700;margin-right:8px}.reading-nav button{border:1px solid var(--border);background:var(--white);color:var(--text);font-size:13px;padding:8px 12px;min-height:44px;border-radius:var(--r1)}.reading-nav button:hover{border-color:var(--amber-dark);background:#fff8ee}.lesson-section,.teaching-chapter{scroll-margin-top:24px}.lesson-content{overflow-wrap:break-word;min-width:0}
.laboratory{border-color:var(--dark-line);background:var(--ink);overflow:hidden}.laboratory .motion-top{color:var(--secondary);border-color:var(--dark-line)}.model-viewport{height:430px;position:relative;background:#101c2e;isolation:isolate}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.model-viewport canvas:active{cursor:grabbing}.model-status{position:absolute;z-index:2;inset:30% 8% auto;padding:20px;color:var(--secondary);text-align:center;font-size:14px;background:var(--ink);border:1px solid var(--dark-line);border-radius:var(--r1)}.model-badge{position:absolute;left:20px;top:16px;font-size:10px;letter-spacing:.5px;color:var(--secondary);pointer-events:none}.model-gesture{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:var(--secondary);font-size:11px;pointer-events:none}.model-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--dark-line)}.model-toolbar button,.part-tabs button{background:var(--panel);border:1px solid var(--dark-line);border-radius:var(--r1);color:var(--light);font-size:12px;min-height:40px;padding:7px 11px}.model-toolbar button:hover{border-color:var(--teal)}.model-options{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:6px 20px 18px;color:var(--secondary);font-size:12px}.model-options label{display:flex;align-items:center;gap:8px;min-height:44px}.model-options input[type=checkbox]{accent-color:var(--teal);width:18px;height:18px}.explode-control{flex:1;min-width:240px}.explode-control input{flex:1;min-width:60px;max-width:190px;accent-color:var(--teal)}.explode-control output{width:36px;font-family:ui-monospace,monospace}.model-parts{border-top:1px solid var(--dark-line);padding:16px 20px}.part-tabs{display:flex;gap:6px;flex-wrap:wrap}.part-tabs button{display:flex;gap:7px;align-items:center;color:var(--secondary);background:transparent}.part-tabs button[aria-pressed=true]{border-color:var(--secondary);color:var(--white)}.part-tabs i{display:inline-block;width:9px;height:9px;flex-shrink:0;border-radius:50%}.part-detail{font-size:13px!important;line-height:1.8!important;color:var(--secondary)!important;margin:12px 0 0!important;min-height:47px}.laboratory .motion-caption{background:var(--panel);color:var(--light);border-color:var(--dark-line);padding:24px}.laboratory .motion-caption p{color:var(--secondary)}.laboratory .motion-controls{border-top:1px solid var(--dark-line);background:var(--ink);padding:16px;gap:8px;flex-wrap:wrap}.laboratory .motion-controls>.button{background:var(--panel);color:var(--light);border-color:var(--dark-line);font-size:12px;padding:8px 12px}.laboratory .step-dots{flex-wrap:wrap;justify-content:center}.laboratory .step-dots button{background:var(--panel);border-color:var(--dark-line);color:var(--secondary);min-width:32px}.laboratory .step-dots button.active{background:var(--amber);color:var(--ink);border-color:var(--amber)}.model-disclaimer{font-size:11px!important;line-height:1.8!important;color:var(--secondary)!important;padding:0 20px 20px!important;margin:0!important}
.chapter-stack{display:grid;gap:40px}.teaching-chapter{padding-top:8px}.chapter-label{display:block;font:10px ui-monospace,monospace;letter-spacing:1.5px;color:var(--amber-dark);margin-bottom:10px}.teaching-chapter h3{font-size:24px;letter-spacing:-.7px;margin:0 0 22px}.teaching-chapter p{font-size:16px;line-height:1.95;margin:0 0 20px;max-width:72ch}.teaching-chapter+.teaching-chapter{border-top:1px solid var(--border);padding-top:32px}.chapter-takeaway{background:#edf5f3;border-left:3px solid var(--success);padding:20px 24px;margin-top:24px!important;font-size:14px!important;line-height:1.9!important}.chapter-takeaway strong{display:block;margin-bottom:8px;color:var(--success);font-size:12px}.process-detail-list{display:grid;gap:20px}.process-detail{border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;background:var(--white)}.process-detail-head{display:flex;align-items:center;gap:14px;padding:20px 24px;background:var(--light);border-bottom:1px solid var(--border)}.process-detail-head>span{font:18px ui-monospace,monospace;color:var(--amber-dark)}.process-detail dl{margin:0;padding:12px 24px}.process-detail dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;padding:14px 0}.process-detail dl>div+div{border-top:1px solid var(--border)}.process-detail dt{font-size:12px;font-weight:700;color:var(--muted)}.process-detail dd{margin:0;font-size:14px;line-height:1.9;word-break:keep-all}
.table-scroll{overflow-x:auto;margin:20px 0 32px;border:1px solid var(--border);border-radius:var(--r1);max-width:100%}.learning-table{border-collapse:collapse;min-width:530px;width:100%;font-size:14px;line-height:1.85;background:var(--white)}.learning-table th,.learning-table td{text-align:left;vertical-align:top;padding:16px;border-bottom:1px solid var(--border);word-break:keep-all}.learning-table thead{background:var(--ink);color:var(--light);font-size:12px}.learning-table tbody th{min-width:115px;background:var(--light);font-weight:600}.learning-table tr:last-child>*{border-bottom:0}.worked-example{padding:28px;background:var(--white);border:1px solid var(--border);border-radius:var(--r2);margin-top:28px}.worked-example h3{font-size:21px;margin-bottom:18px}.assumptions{background:var(--light);border-left:3px solid var(--amber);padding:20px;margin:22px 0}.assumptions strong{font-size:12px;color:var(--amber-dark)}.assumptions p,.assumptions ul{font-size:14px;line-height:1.9;margin:10px 0 0}.assumptions ul{padding-left:20px}.worked-steps{padding-left:24px;display:grid;gap:24px;margin:24px 0 32px}.worked-steps li::marker{color:var(--amber-dark);font-weight:700}.worked-steps h4{margin-bottom:8px}.worked-steps p{font-size:14px;line-height:1.9}.formula-line{padding:14px 16px;border:1px solid var(--border);background:var(--light);font-family:ui-monospace,monospace;font-size:13px;line-height:1.9;overflow-wrap:anywhere;margin:14px 0}.calculation-result{font-weight:700;color:var(--success)}.misconceptions{display:grid;gap:12px;margin-top:16px}.misconceptions article{padding:20px 24px;border-left:2px solid var(--border);background:var(--white)}.misconceptions h4{font-size:15px;margin-bottom:10px}.misconceptions p,.self-checks p{font-size:14px;line-height:1.9}.spaced-heading{margin:36px 0 16px!important}.self-checks{display:grid;gap:12px;margin-top:18px}.self-checks details,.model-answer{background:var(--white);border:1px solid var(--border);border-radius:var(--r1);padding:18px 20px}.self-checks summary,.model-answer summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.8;word-break:keep-all}.self-checks details[open] summary,.model-answer[open] summary{margin-bottom:16px;color:var(--amber-dark)}
.study-contract{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--border);margin:28px 0 32px}.study-contract>div{padding:24px 20px 24px 0}.study-contract>div+div{padding-left:24px;border-left:1px solid var(--border)}.study-contract h3{font-size:13px;color:var(--amber-dark);margin-bottom:12px}.study-contract ul{padding-left:18px;margin:0;display:grid;gap:8px;font-size:14px;line-height:1.8}.module-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--muted);margin:20px 0}.module-card .module-meta{font-size:11px;margin:16px 0}.module-card h2{margin-bottom:12px}.advanced-reading-note{margin-top:24px;color:var(--muted);font-size:14px}.report-source{border-left:3px solid var(--amber);background:var(--white);padding:24px}.report-source h3{font-size:22px;margin:12px 0}.report-source a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.report-source p{font-size:13px;line-height:1.9;margin-top:16px}.report-observations{display:grid;gap:24px;margin-top:28px}.report-observations article{padding-bottom:20px;border-bottom:1px solid var(--border)}.report-observations h3{font-size:14px;color:var(--amber-dark)}.report-observations dt{font-size:12px;color:var(--muted);font-weight:700;margin:18px 0 7px}.report-observations dd{margin:0;font-size:15px;line-height:1.95}.sensitivity-grid{display:grid;gap:14px}.sensitivity-grid article{padding:20px;border:1px solid var(--border);border-radius:var(--r1)}.sensitivity-grid h4{font-size:15px}.sensitivity-grid p{font-size:14px;line-height:1.9;margin-top:12px}.sensitivity-grid strong{display:block;font-size:17px;color:var(--success);margin-top:14px}.assignment>ol{padding-left:22px;display:grid;gap:12px;margin:24px 0;font-size:15px;line-height:1.9}.assignment>label{display:block;font-size:14px;font-weight:700;margin:24px 0 12px}.assignment textarea{display:block;resize:vertical;width:100%;padding:20px;font-size:15px;line-height:1.9;font-family:inherit;border:1px solid var(--border);border-radius:var(--r1);color:var(--text);background:var(--white);min-height:220px}.assignment textarea:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.assignment-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 28px}.assignment-actions span{font-size:12px;color:var(--muted);flex-basis:100%}.model-answer p{font-size:15px;line-height:1.95;margin-top:16px}.rubric{display:grid;gap:12px}.rubric article{background:var(--white);padding:20px 24px;border:1px solid var(--border);border-radius:var(--r1)}.rubric strong{display:flex;justify-content:space-between;gap:20px;font-size:14px}.rubric span{color:var(--amber-dark);white-space:nowrap}.rubric p{font-size:14px;line-height:1.9;margin-top:10px}
.quant-lab{padding:28px;margin:28px 0;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--amber);border-radius:var(--r1)}.quant-lab>h3{font-size:23px;margin-bottom:14px}.quant-lab>p{font-size:14px;line-height:1.9}.quant-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.quant-layout>div{min-width:0}.quant-layout .range-row{margin-bottom:20px}.quant-layout .range-row label{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.quant-layout output{margin-left:auto;white-space:nowrap}.quant-layout input{width:100%;accent-color:var(--amber-dark)}.quant-result{background:var(--ink);color:var(--light);padding:24px;border-radius:var(--r2)}.quant-result>span{font-size:12px;color:var(--secondary)}.quant-result>strong{display:block;font:42px ui-monospace,monospace;color:var(--amber);margin:16px 0 24px;overflow-wrap:anywhere}.quant-result p{font-size:12px;line-height:1.9;margin:14px 0;color:var(--secondary)}.advanced-next{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:36px}.module-progress-note{font-size:12px;margin-top:12px;color:var(--muted)}
@media(max-width:1150px){.quant-layout{grid-template-columns:1fr}.model-toolbar button{min-height:44px}.model-options{gap:4px 20px}.laboratory .motion-controls .step-dots{order:3;flex-basis:100%}.process-detail dl>div{grid-template-columns:1fr;gap:6px}}
@media(max-width:767px){.model-viewport{height:340px}.model-badge{left:14px;top:12px}.model-toolbar{padding:12px}.model-toolbar button{font-size:11px;padding:7px 9px}.model-options{padding:2px 14px 12px}.model-options label{font-size:11px}.model-parts{padding:14px}.part-tabs button{min-height:44px;font-size:11px}.part-detail{font-size:12px!important}.laboratory .motion-caption{padding:20px 16px}.model-disclaimer{padding:0 16px 18px!important}.teaching-chapter h3{font-size:21px}.teaching-chapter p{font-size:15px;line-height:1.95}.teaching-chapter+.teaching-chapter{padding-top:26px}.chapter-takeaway{padding:18px}.process-detail-head{padding:16px}.process-detail dl{padding:8px 16px}.process-detail dd{font-size:13px}.worked-example,.quant-lab{padding:20px 16px}.worked-example h3,.quant-lab>h3{font-size:20px}.assumptions{padding:16px}.worked-steps{padding-left:20px}.misconceptions article{padding:18px}.study-contract{grid-template-columns:1fr}.study-contract>div+div{border-left:0;border-top:1px solid var(--border);padding-left:0}.study-contract>div{padding:20px 0}.report-source{padding:20px}.report-source h3{font-size:20px}.report-observations dd{font-size:14px}.assignment textarea{padding:16px;font-size:15px}.assignment-actions .button{flex:1;font-size:12px;padding:10px 12px}.model-answer{padding:18px 16px}.rubric article{padding:18px}.reading-nav{gap:7px}.reading-nav>span{flex-basis:100%;margin-bottom:4px}.reading-nav button{font-size:12px}.quant-result{padding:22px}.lesson-content .source-links a{overflow-wrap:anywhere}.part-tabs{gap:5px}.learning-table{font-size:13px}}
@media(prefers-reduced-motion:reduce){.laboratory *{transition:none!important;animation:none!important}}

.laboratory .step-dots button{min-width:44px;min-height:44px;height:auto}.laboratory .motion-controls>.button{min-height:44px}
/* 3D LAB 조작부 재구성: 모델 바로 아래 단계 타임라인 */
.laboratory .lab-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:stretch;gap:8px;padding:12px 16px;border-top:1px solid var(--dark-line);background:var(--deep)}
.laboratory .lab-steps{display:flex;gap:6px;flex-wrap:nowrap;justify-content:stretch;min-width:0}
.laboratory .lab-steps button{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;min-height:48px;width:auto;border:1px solid var(--dark-line);border-radius:var(--r1);background:var(--panel);color:var(--secondary);font:12px/1.35 inherit;overflow:hidden;cursor:pointer}
.laboratory .lab-steps button:hover{border-color:var(--secondary);color:var(--light)}
.laboratory .lab-step-num{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;font:600 11px ui-monospace,monospace}
.laboratory .lab-step-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.laboratory .lab-step-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--amber);transform:scaleX(var(--p,0));transform-origin:left;opacity:.9}
.laboratory .lab-steps button.done{color:var(--light)}
.laboratory .lab-steps button.done .lab-step-num{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.laboratory .lab-steps button.active{background:#efb76c22;border-color:var(--amber);color:var(--light)}
.laboratory .lab-steps button.active .lab-step-num{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.laboratory .lab-nav{border:1px solid var(--dark-line);background:var(--panel);color:var(--light);border-radius:var(--r1);font-size:16px;cursor:pointer;min-height:48px}
.laboratory .lab-nav:disabled{opacity:.35;cursor:default}
.laboratory .lab-play{border:1px solid var(--amber);background:var(--amber);color:var(--ink);font-weight:700;font-size:13px;border-radius:var(--r1);padding:0 16px;min-height:48px;white-space:nowrap;cursor:pointer}
.laboratory.is-playing .lab-play{background:transparent;color:var(--amber)}
.laboratory .lab-hint{font-size:11px!important;color:var(--subtle)!important;padding:10px 20px 0!important;margin:0!important;background:var(--panel)}
.laboratory .motion-caption{min-height:112px}
.laboratory .lab-tools{border-top:1px solid var(--dark-line)}
.laboratory .lab-tools summary{cursor:pointer;padding:14px 20px;color:var(--light);font-size:13px;font-weight:600;list-style-position:inside}
.laboratory .lab-tools summary small{font-weight:400;color:var(--subtle);margin-left:8px;font-size:11px}
.laboratory .lab-tools .model-toolbar{border-top:0;padding-top:0}
.laboratory .lab-tools[open] summary{color:var(--amber)}
.laboratory :is(button,summary):focus-visible{outline:2px solid var(--amber);outline-offset:2px}
@media(max-width:767px){
 .laboratory .lab-stepper{grid-template-columns:44px minmax(0,1fr) 44px;padding:10px}
 .laboratory .lab-steps{grid-column:1/-1;order:-1;overflow-x:auto;scroll-snap-type:x mandatory}
 .laboratory .lab-steps button{flex:0 0 auto;max-width:150px;scroll-snap-align:start}
 .laboratory .lab-play{grid-column:2}
 .laboratory .lab-hint{padding:8px 16px 0!important}
}
.laboratory .lab-stepper .lab-steps{order:0;flex-basis:auto}
@media(max-width:767px){.laboratory .lab-stepper .lab-steps{order:-1}}
.laboratory .lab-steps button,.laboratory .lab-step-label{text-align:left!important;word-break:keep-all;letter-spacing:0}
@media(max-width:767px){
 .laboratory .lab-stepper>[data-action="prev"]{grid-column:1;grid-row:2}
 .laboratory .lab-stepper>.lab-play{grid-column:2;grid-row:2}
 .laboratory .lab-stepper>[data-action="next"]{grid-column:3;grid-row:2}
 .laboratory .lab-stepper .lab-steps{grid-row:1}
}
@media(hover:none){.laboratory .lab-hint{display:none}}
