/* Containment comes from one active lesson, not a fixed height or smaller text. */
.component-intro p{font-size:14px;line-height:1.6;max-width:400px;text-align:right}
.topic-context{margin:0;padding:12px 28px;border-bottom:1px solid var(--line);background:#f5f7fc;font-size:14px;line-height:1.65;color:#465c79;scroll-margin-top:16px}
.topic-context strong{color:#203b61;font-weight:600}
.lesson{height:auto;min-height:0;padding:0 28px}
.scene-heading{min-height:0;align-items:flex-start;padding:18px 0 12px;gap:18px;scroll-margin-top:16px}
.scene-heading>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:34px;align-items:start;flex:1}
.scene-heading h3{font-size:27px;line-height:1.18;letter-spacing:-.035em;margin:0;max-width:350px}
.scene-heading p{font-size:14px;line-height:1.7;margin:0;color:#435a79}
.scene-heading p strong{color:#203a62;font-weight:650}
.scene-heading>.reset{margin-top:-4px;padding:7px 0;font-size:12px}
.chapters{height:auto;gap:18px;margin:0 0 4px;flex-wrap:wrap}
.chapters button{font-size:13px;min-height:40px}
.experiment-prompt{display:flex;gap:12px;align-items:baseline;margin:0;padding:7px 0 11px;font-size:13px;line-height:1.6;color:#365680}
.experiment-prompt strong{color:#2947c7;font-size:12px;white-space:nowrap;letter-spacing:.015em}
.visual-stage{flex:1 0 auto;min-height:245px;padding:18px 24px}
.scene{height:auto;min-height:210px}
.discovery-map{min-height:220px}
.index-scene,.permission-scene{min-height:220px}
.index-source p{font-size:13px}
.index-boundary>p{font-size:13px;line-height:1.5}
.paper-link,.map-path small,.paper-top>span,.new-flag,.mini-label{font-size:11px}
.outcome{font-size:14px;line-height:1.65;min-height:62px;padding:12px 0;align-items:flex-start;color:#345276}
.outcome:before{line-height:1.2;padding-top:3px}
.result-part-label{display:block;font-size:11px;line-height:1.4;color:#536d94;margin-top:15px}
.search-preview{padding:18px 24px}
.search-preview h4{margin:5px 0 10px;font-size:24px}
.search-preview p{font-size:13px;margin:5px 0 0;line-height:1.6}
.search-domain small{font-size:11px}
.booking-stage{min-height:350px}
.booking-workspace{height:auto;min-height:304px;gap:36px}
.booking-rules label{font-size:12px}
.booking-rules select{font-size:13px;min-height:39px}
.rule-hint{font-size:11px;line-height:1.5;margin-top:9px}
.calendar-grid{height:152px;background-size:auto;margin-top:18px;background-image:repeating-linear-gradient(to bottom,#c4d1e8 0 1px,transparent 1px 19px)}
.time-label,.calendar-key,.calendar-block{font-size:11px}
.calendar-block{padding:1px 5px;line-height:1.4}
.booking-slots button{font-size:13px;min-height:40px}
.slot-reason{font-size:13px;line-height:1.6;min-height:65px}
.model-note{font-size:11px;line-height:1.5}
.backend-stage{min-height:355px}
.backend-workspace{grid-template-columns:1fr 22px 1.13fr 22px 1fr;gap:9px}
.enquiry-paper dd,.tool-receipt p,.record-row{font-size:12px}
.boundary-note{font-size:12px;line-height:1.6}
.server-check{font-size:12px}
.server-check strong{font-size:14px}
.saved-record{min-height:120px}
.tool-receipt{min-height:112px}
.transfer-model>small{font-size:12px;line-height:1.65}
.transfer-controls>span,.transfer-row strong small,.transfer-scale{font-size:12px}
.speed-scene{padding:3px 0}
.permission-scene{gap:24px}
.identity-control label,.identity-badge{font-size:13px}
.access-gate small{font-size:11px}
.access-gate strong{font-size:14px}
.protected-record p,.access-refusal>p{font-size:13px}
.recovery-timeline strong,.recovery-timeline small,.restored-row,.restore-store p{font-size:13px;line-height:1.5}
.restored-row.missing{font-size:12px}
.lesson-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 28px;padding:0 0 9px;font-size:12px;color:#64748c}
.lesson-navigation button{border:0;background:none;padding:5px 0;color:#2e4db8;font-size:13px;line-height:1.5;text-align:right;min-height:35px}
.lesson-navigation button span{display:inline-block;margin-left:12px;font-size:18px;transition:transform .2s}
.lesson-navigation button:hover span{transform:translateX(4px)}
.service-connection{border-top:1px solid #cbd7ed;background:linear-gradient(110deg,#edf2ff,#f7f9ff);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.service-connection>div{max-width:710px}
.service-connection .mini-label{color:#405c9b;font-size:10px;letter-spacing:.1em}
.service-connection p{font-size:14px;line-height:1.65;margin:6px 0 0;color:#243f68}
.service-connection a{display:flex;align-items:center;gap:18px;flex-shrink:0;max-width:240px;font-size:13px;line-height:1.5;text-decoration:none;padding:10px 0;border-bottom:1px solid #aebfeb;color:#2745bc}
.service-connection a span{font-size:20px}
.component-foot{height:auto;min-height:44px}
.component-foot button{font-size:12px}
@media(min-width:701px) and (max-width:1000px){
 .scene-heading>div{grid-template-columns:.8fr 1.5fr;gap:22px}
 .scene-heading h3{font-size:24px}
 .scene-heading p{font-size:14px}
 .visual-stage{padding:20px 18px}
 .backend-workspace{grid-template-columns:1fr 15px 1.1fr 15px 1fr;gap:6px}
 .backend-stage{min-height:390px}
 .booking-workspace{gap:23px}
 .service-connection{gap:24px}
 .service-connection a{max-width:170px}
 .lesson{min-height:0}
}
@media(max-width:700px){
 .component-intro p{text-align:left;font-size:13px}
 .topic-context{padding:16px 18px;font-size:14px;line-height:1.65}
 .lesson{min-height:0;padding:0 18px}
 .scene-heading{padding:22px 0 12px;gap:12px;position:relative;display:block}
 .scene-heading>div{display:block}
 .scene-heading h3{font-size:25px;line-height:1.2;max-width:none}
 .scene-heading:has(>.reset) h3{padding-right:36px}
 .scene-heading p{font-size:14px;line-height:1.7;margin-top:13px}
 .scene-heading>.reset{min-width:30px;margin-top:0;font-size:20px;position:absolute;top:19px;right:0}
 .chapters{gap:8px 13px;align-items:center}
 .chapters button{font-size:12px;min-height:42px}
 .chapters>span{font-size:11px}
 .experiment-prompt{font-size:13px;line-height:1.6;gap:9px;padding:9px 0 15px}
 .visual-stage{min-height:0;padding:18px 14px;flex:none}
 .scene{min-height:0;height:auto}
 .discovery-map{min-height:300px}
 .discovery-map .paper-link{font-size:11px}
 .discovery-map .services-page>.switch{position:static;border-top:1px solid #d7dfef;margin-top:10px;padding-top:8px;font-size:12px}
 .discovery-map .web-page{padding:13px 14px}
 .discovery-map .web-page>strong{font-size:19px}
 .map-path small,.paper-top>span,.new-flag,.mini-label{font-size:11px}
 .index-source p{display:block;font-size:13px}
 .index-boundary{padding:16px}
 .index-boundary>small{font-size:12px;line-height:1.5}
 .intent-scene{height:auto}
 .intent-page>p,.relevance-label{font-size:12px}
 .query-control select{font-size:12px}
 .result-control{margin-bottom:10px}
 .result-control .switch{font-size:13px}
 .search-preview{padding:18px 14px}
 .search-preview p{font-size:13px}
 .search-preview h4{font-size:23px}
 .booking-workspace{min-height:0;gap:24px}
 .booking-rules select{font-size:13px;min-height:42px}
 .rule-hint,.model-note,.calendar-key{font-size:11px}
 .calendar-grid{height:160px;background-image:repeating-linear-gradient(to bottom,#c4d1e8 0 1px,transparent 1px 20px)}
 .calendar-block,.time-label{font-size:11px}
 .calendar-block{padding-inline:3px}
 .slot-reason{min-height:0;font-size:13px;line-height:1.6}
 .booking-slots button{font-size:13px;min-height:42px}
 .backend-workspace{grid-template-columns:1fr;gap:10px}
 .enquiry-paper dd{font-size:13px}
 .enquiry-paper dt{font-size:11px}
 .enquiry-paper>.switch{font-size:12px;grid-column:1/-1}
 .enquiry-paper>.action{font-size:12px;grid-column:1/-1;margin-top:8px;min-height:42px}
 .server-check strong{font-size:13px}
 .boundary-note,.record-row,.tool-receipt p{font-size:12px}
 .connected-tool>.switch{font-size:11px}
 .connected-tool h4{font-size:18px}
 .transfer-model>small{font-size:12px}
 .transfer-row strong small{font-size:12px}
 .transfer-controls>span{font-size:12px}
 .permission-scene{gap:17px}
 .identity-control select{font-size:14px;min-height:42px}
 .identity-badge{font-size:12px}
 .access-gate{gap:10px}
 .access-gate small{font-size:10px}
 .access-gate strong{font-size:13px}
 .access-refusal>strong{font-size:19px}
 .recovery-timeline{gap:8px}
 .recovery-timeline strong,.recovery-timeline small{font-size:12px}
 .recovery-timeline strong{min-height:36px}
 .backup-copy{display:block}
 .backup-copy>strong{font-size:18px;margin-block:7px 13px}
 .backup-copy .action{font-size:13px;min-height:42px}
 .restore-store p,.restored-row,.restored-row.missing{font-size:13px}
 .outcome{min-height:0;font-size:13px;line-height:1.7;padding:17px 0}
 .lesson-navigation{margin:0 18px;display:block;padding-bottom:17px}
 .lesson-navigation>span{font-size:11px;display:block}
 .lesson-navigation button{text-align:left;font-size:13px;padding:8px 0 0;min-height:42px}
 .service-connection{display:block;padding:18px}
 .service-connection p{font-size:14px;line-height:1.65}
 .service-connection a{font-size:13px;max-width:none;display:inline-flex;margin-top:10px}
 .component-foot{padding:7px 18px;flex-wrap:wrap;gap:0 15px}
 .component-foot>span{font-size:11px;max-width:none}
 .component-foot button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.lesson-navigation button span{transition:none}}
