@media screen {
 .learning-hub { padding-block:0 24px; }
 body:not([data-interactive=true]) .journey-backup-buttons { visibility:hidden; pointer-events:none; }
 body:not([data-interactive=true]) .academy-local-records { display:none; }
 body:not([data-interactive=true]) .reading-notes-shelf,body:not([data-interactive=true]) .lesson-platform .segmented { display:none; }
 .learning-goals { display:flex; gap:26px; border-bottom:1px solid var(--line); margin-bottom:20px; }
 .learning-goals button { display:flex; align-items:center; justify-content:center; gap:9px; background:none; color:var(--muted); border:0; border-bottom:2px solid transparent; border-radius:0; min-height:52px; padding:10px 0; font-size:15px; font-weight:600; }
 .learning-goals button[aria-pressed=true] { color:var(--green); border-bottom-color:var(--green); }
 .learning-resume { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-bottom:20px; }
 .learning-resume p { font-size:12px; color:var(--muted); }
 .learning-resume .text-link { font-size:14px; }
 .journey-backup-buttons { display:flex; gap:4px; }
 .reading-notes-shelf { margin-top:40px; border-top:1px solid var(--line); padding-top:28px; scroll-margin-top:100px; }
 .learning-hub .catalog-controls { margin-bottom:0; }
 .learning-hub .catalog-controls .search-field { width:100%; }
 .hub-software-catalog { padding-top:8px; }
 .hub-route { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; padding:0; list-style:none; margin:0 0 20px; }
 .hub-route li { border-bottom:1px solid var(--line); margin:0; }
 .hub-route a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:62px; padding:12px 0; font-size:15px; }
 .lesson-platform { margin:18px 0 24px; border-block:1px solid var(--line); padding-block:14px; }
 .lesson-platform .segmented { width:max-content; max-width:100%; }
 .lesson-platform summary { font-size:13px; min-height:30px; }
 .lesson-platform [data-platform-guidance] { font-size:13px; color:var(--muted); line-height:1.9; margin-top:12px; }
 .lesson-platform .storage-note { font-size:11px; margin-top:9px; }
 .lesson-task-pack { border-block:1px solid var(--line); margin-top:32px; padding-block:26px; }
 .lesson-task-pack h2 { font-size:24px; }
 .lesson-task-pack ol { list-style:none; padding:0; margin:20px 0; }
 .lesson-task-pack li { display:flex; gap:20px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; }
 .lesson-task-pack li>span { flex:0 0 70px; font-size:12px; color:var(--muted); }
 .lesson-task-pack li>a { overflow-wrap:anywhere; }
 .lesson-task-pack>.text-link { margin-right:24px; margin-block:6px; font-size:13px; }
 .hands-on { border-block:1px solid var(--line); padding-block:30px; margin-bottom:36px; scroll-margin-top:100px; }
 .hands-on h2 { font-size:26px; }
 .hands-on .section-heading label { display:flex; align-items:center; gap:12px; font-size:13px; }
 .hands-on select { min-height:44px; min-width:0; max-width:100%; padding:6px 10px; border:1px solid var(--line); border-radius:3px; background:var(--reading-panel,#fff); color:var(--ink); font-size:13px; }
 .hands-on-line { border-bottom:1px solid var(--line); padding:22px 0; }
 .hands-on-line>div { display:flex; gap:20px; flex-wrap:wrap; margin-top:14px; }
 .hands-on-line label { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:12px; }
 .practice-preview { font:16px/1.9 'Courier Prime','SimSun',serif; white-space:pre-wrap; overflow-wrap:anywhere; }
 .practice-preview.scene { font-weight:700; }
 .practice-preview.character { margin-left:35%; }
 .practice-preview.dialogue { margin-inline:20%; }
 .practice-preview.parenthetical { margin-inline:27% 18%; }
 .hands-on-feedback { color:#93434a; font-size:13px; margin-top:12px; }
 .hands-on-feedback.correct { color:var(--green); }
 .hands-on-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:20px 0 12px; }
 .hands-on-actions>[role=status] { width:100%; font-size:13px; }
 .local-recovery { margin-block:18px; border-top:1px solid var(--line); padding-top:14px; }
 .local-recovery summary { font-size:14px; min-height:44px; padding-block:10px; }
 .local-recovery ul { list-style:none; padding:0; margin:0; }
 .local-recovery li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-block:14px; border-top:1px solid var(--line); }
 .local-recovery li>p { flex:1 1 220px; min-width:0; overflow-wrap:anywhere; font-size:13px; }
 .local-recovery li>div { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
 .local-recovery .button { min-height:44px; font-size:13px; }
 .local-recovery .icon-button { width:44px; height:44px; }
 .reader-header { padding-block:20px; margin-bottom:20px; }
 .reader-header .reader-review { margin:12px 0 0; padding:0; border:0; }
 .reader-header .reader-review details { padding-block:8px; border:0; }
 .reader-header .reader-review summary { justify-content:flex-start; font-size:11px; gap:4px; }
 .reader-review summary strong { font-weight:500; }
 .reader-review details[open] { border-top:1px solid var(--line); padding-top:12px; }
 .reader-tools { margin-bottom:10px; }
 .reader-tools .reader-more { padding:0; border:0; position:relative; }
 .reader-more>summary { list-style:none; width:44px; height:44px; }
 .reader-more-panel { position:absolute; top:50px; right:0; width:230px; max-height:calc(100dvh - 160px); overflow:auto; overscroll-behavior:contain; padding:6px; background:var(--reading-panel,#fff); border:1px solid var(--line); border-radius:4px; box-shadow:0 8px 24px #00000012; z-index:35; }
 .reader-more-panel>button,.reader-more-panel>a { display:flex; align-items:center; gap:12px; width:100%; text-align:left; min-height:44px; border:0; border-radius:0; background:none; color:var(--ink); padding:9px 12px; font-size:13px; margin:0; }
 .reader-more-panel>button:hover,.reader-more-panel>a:hover { background:var(--wash); }
 .reader-more:not([open])>.reader-more-panel { display:none; }
 .reader-outline-aside nav a[aria-current] { color:var(--green); font-weight:650; border-left:2px solid var(--green); padding-left:10px; margin-left:-16px; }
 .reader-dialog { width:min(900px,calc(100% - 24px)); max-height:90dvh; padding:0; overflow:hidden; }
 .reader-dialog[open] { display:flex; flex-direction:column; }
 .reader-dialog>header { display:flex; gap:18px; align-items:center; justify-content:space-between; flex:none; border-bottom:1px solid var(--line); padding:12px 20px; background:var(--reading-panel,#fff); }
 .reader-dialog>header h2 { font-size:21px; }
 .reader-dialog>header .icon-button { width:44px; height:44px; }
 .reader-dialog-content { min-height:0; overflow:auto; overscroll-behavior:contain; padding:22px; background:var(--reading-panel,#fff); }
 .reader-dialog-toc { display:grid; }
 .reader-dialog-toc a { display:block; padding:12px 0; min-height:44px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; font-size:14px; }
 .reader-dialog-toc a[aria-current] { color:var(--green); font-weight:650; }
 .reader-dialog .search-field { margin-bottom:20px; }
 .reader-terms { margin:0; }
 .reader-terms dt { font-size:18px; font-weight:650; margin-top:22px; }
 .reader-terms dd { margin:9px 0 24px; border-bottom:1px solid var(--line); padding-bottom:20px; font-size:14px; line-height:1.9; }
 .reader-terms dd>a { display:inline-block; color:var(--green); margin:12px 24px 0 0; text-decoration:underline; text-underline-offset:4px; min-height:32px; }
 .reader-zoomable { cursor:zoom-in; }
 .reader-body img { content-visibility:visible; }
 .reader-body img.reader-zoomable:focus-visible { outline:3px solid #a06b27; outline-offset:4px; }
 .reader-table { position:relative; padding-top:44px; }
 .reader-table-open { position:sticky; left:0; margin-top:-44px; display:flex; }
 .reader-table-expanded { overflow:auto; max-height:65dvh; }
 .reader-table-expanded table { border-collapse:collapse; font-size:16px; line-height:1.9; }
 .reader-table-expanded td,.reader-table-expanded th { padding:12px; border:1px solid var(--line); min-width:140px; vertical-align:top; }
 .reader-footnote { font-size:14px; line-height:1.95; overflow-wrap:anywhere; margin-bottom:20px; }
 .quote-action { position:fixed; right:20px; bottom:20px; z-index:75; min-height:44px; font-size:13px; box-shadow:0 2px 12px #00000020; }
 .quote-action[hidden] { display:none; }
 .reader-note-form { display:grid; gap:16px; margin-top:20px; }
 .reader-note-form label { display:grid; gap:8px; font-size:13px; }
 .reader-note-form textarea { min-width:0; width:100%; padding:12px; font:inherit; font-size:14px; line-height:1.9; resize:vertical; color:var(--ink); background:var(--reading-panel,#fff); border:1px solid var(--line); border-radius:3px; }
 .reader-note-form textarea[readonly] { color:var(--muted); }
 .note-actions { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
 .note-actions .text-link { border:0; background:none; min-height:44px; padding:0; font-size:13px; }
 .note-actions .button { font-size:13px; }
 .reader-note-item { border-top:1px solid var(--line); padding-block:22px; }
 .reader-note-item>p:first-child { font-size:11px; color:var(--muted); }
 .reader-note-item blockquote { border-left:2px solid var(--line); padding-left:16px; margin:16px 0; line-height:1.9; font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; }
 .note-prose { white-space:pre-wrap; font-size:14px; line-height:1.9; margin-block:12px; }
 .reader-note-item>div { display:flex; flex-wrap:wrap; gap:20px; }
 .reader-note-item button { background:none; border:0; padding:5px 0; font-size:13px; min-height:44px; }
 .notes-backup summary { font-size:14px; }
 .notes-backup .note-actions { margin-top:18px; }
 .note-actions[hidden],.notes-drafts[hidden] { display:none; }
 .notes-drafts { margin-top:20px; }
 .notes-drafts summary { font-size:14px; }
 .notes-drafts .note-prose { font-size:14px; color:var(--ink); overflow-wrap:anywhere; max-height:160px; overflow:auto; }
 .excerpt-target { outline:2px solid #a06b27; outline-offset:6px; }
 body[data-page=reader] { --reading-header-offset:var(--site-header-height); }
 body[data-page=reader] .reader-workspace { top:var(--reading-header-offset); }
 body[data-page=reader] .reader-body [id] { scroll-margin-top:calc(var(--reading-header-offset) + 115px); }
 body.reader-nav-hidden { --reading-header-offset:0px; }
 body.reader-nav-hidden #site-header { transform:translateY(-100%); pointer-events:none; }
 body.reader-focus .reader-breadcrumb,body.reader-focus .reader-outline-aside { display:none; }
 body.reader-focus .reader-layout { grid-template-columns:minmax(0,790px); }
 body[data-reading-theme=dark] .reader-dialog { background:#242b27; }
 body[data-reading-theme=dark] .reader-more-panel>button:hover,body[data-reading-theme=dark] .reader-more-panel>a:hover { background:#344039; }
 body[data-reading-theme=dark] .footer-inner p,body[data-reading-theme=dark] .footer-bottom { color:var(--muted); }
}
@media screen and (max-width:900px) {
 .reader-outline-aside { display:none; }
 .reader-more-panel { right:-20px; }
}
@media screen and (max-width:560px) {
 .learning-goals { gap:0; justify-content:space-between; }
 .learning-goals button { font-size:12px; gap:5px; }
 .learning-goals .icon svg { width:16px; height:16px; }
 .learning-resume { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .learning-resume p { margin-top:0; font-size:11px; grid-column:1/-1; order:3; }
 .journey-backup-buttons { grid-column:2; grid-row:1; }
 .hub-route { grid-template-columns:minmax(0,1fr); }
 .learning-hub .filter-tabs { gap:5px 12px; }
 .lesson-task-pack h2,.hands-on h2 { font-size:22px; }
 .lesson-task-pack li { gap:10px; font-size:13px; }
 .hands-on .section-heading { display:block; }
 .hands-on .section-heading label { margin-top:18px; }
 .hands-on-line>div { gap:12px; }
 .reader-header { padding-top:14px; }
 .reader-header h1 { font-size:27px; margin-block:12px 16px; }
 .reader-header .reader-meta { gap:7px 12px; font-size:11px; }
 .reader-header .reader-review summary { flex-wrap:wrap; gap:3px; font-size:10px; }
 .reader-more-panel { right:-24px; width:210px; }
 .reader-dialog>header { padding:8px 14px; }
 .reader-dialog>header h2 { font-size:19px; }
 .reader-dialog-content { padding:16px; }
 .reader-note-form .note-actions { gap:6px 12px; }
 .reader-note-form textarea,.reader-dialog input,.reader-dialog select,.hands-on select { font-size:16px; }
 .note-actions .button { font-size:12px; padding-inline:12px; }
}
@media print { .learning-hub,.lesson-platform,.lesson-task-pack,.hands-on,.reader-more,.reader-dialog,.quote-action,.reader-table-open { display:none!important; } .reader-outline-aside { display:none; } }
