:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f7f7f4;--surface:#fff;--surface-soft:#f3f3ef;--surface-muted:#ecece7;--text:#202123;--text-secondary:#666761;--text-tertiary:#8b8c86;--line:#e1e1dc;--line-strong:#d2d3cc;--accent:#0d8a6a;--accent-strong:#08745a;--accent-soft:#e8f5f0;--danger:#b42318;--shadow-page:0 18px 45px #1a1b1817, 0 2px 8px #1a1b1812;--shadow-float:0 16px 42px #191b1824;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK SC,Noto Sans CJK JP,Hiragino Sans,Yu Gothic UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--bg);min-width:320px;color:var(--text);overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--text);color:var(--surface);padding:9px 12px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .14s;position:fixed;top:8px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}button,select,textarea,input{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #0d8a6a38}.app-shell{background:var(--bg);grid-template-rows:64px minmax(0,1fr) 82px;grid-template-columns:252px minmax(0,1fr) 320px;width:100%;height:100dvh;display:grid;overflow:hidden}.app-shell.inspector-hidden{grid-template-columns:252px minmax(0,1fr) 0}.course-sidebar{z-index:40;border-right:1px solid var(--line);background:#f2f2ee;flex-direction:column;grid-area:1/1/4;min-width:0;display:flex;position:relative}.brand-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:64px;padding:0 18px;display:flex}.brand-mark{background:var(--text);color:#fff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-family:inherit;font-size:16px;font-weight:700;display:grid}.brand-name{letter-spacing:.14em;font-size:13px;font-weight:720;line-height:1.1}.brand-caption{color:var(--text-tertiary);margin-top:3px;font-size:11px;line-height:1}.sidebar-close{margin-left:auto}.course-nav{flex:1;min-height:0;padding:18px 14px 22px;overflow:auto}.nav-label{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:0 6px 10px;font-size:11px;font-weight:700}.level-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.level-pill{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;min-height:58px;padding:9px 11px;transition:background .15s,border-color .15s;display:flex}.level-pill:hover{background:#ffffffb8}.level-pill:disabled{cursor:not-allowed;opacity:.46}.level-pill:disabled:hover{background:0 0}.level-pill.is-active{border-color:var(--line-strong);background:var(--surface);box-shadow:0 1px 2px #191a180a}.level-pill span{font-size:13px;font-weight:680}.level-pill small{width:100%;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.nav-section-heading{color:var(--text-secondary);justify-content:space-between;align-items:center;margin:24px 6px 8px;font-size:12px;font-weight:650;display:flex}.nav-section-heading span:last-child{color:var(--text-tertiary);font-weight:500}.lesson-list{flex-direction:column;gap:4px;display:flex}.lesson-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:31px minmax(0,1fr) 22px;align-items:center;gap:9px;min-width:0;padding:10px 9px;transition:background .15s,border-color .15s;display:grid}.lesson-item:hover:not(:disabled){background:#ffffffb8}.lesson-item.is-active{background:var(--accent-soft);border-color:#d9eae4}.lesson-item.is-disabled{cursor:default;opacity:.45}.lesson-number{width:29px;height:29px;color:var(--text-secondary);font-variant-numeric:tabular-nums;background:#ffffffb8;border-radius:9px;place-items:center;font-size:11px;font-weight:720;display:grid}.lesson-item.is-active .lesson-number{background:var(--surface);color:var(--accent-strong)}.lesson-copy{min-width:0}.lesson-copy strong,.lesson-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lesson-copy strong{font-size:12px;font-weight:650}.lesson-copy small{color:var(--text-tertiary);margin-top:3px;font-size:10px}.lesson-check{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:20px;height:20px;display:grid}.lesson-check svg{width:13px;height:13px}.sidebar-progress-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffa3;margin:0 14px 14px;padding:14px}.progress-card-topline{justify-content:space-between;align-items:center;font-size:12px;display:flex}.progress-card-topline span{color:var(--text-secondary);align-items:center;gap:7px;font-weight:620;display:inline-flex}.progress-card-topline svg{width:16px;height:16px}.progress-card-topline strong{font-variant-numeric:tabular-nums;font-size:13px}.progress-track{background:#dfe1db;border-radius:999px;height:5px;margin-top:11px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .24s;display:block}.sidebar-progress-card p{color:var(--text-tertiary);margin:9px 0 0;font-size:10px;line-height:1.45}.sidebar-progress-card.has-warning{background:#fff9ed;border-color:#e6c98e}.sidebar-progress-card.has-warning p{color:#77551d}.sidebar-footer{border-top:1px solid var(--line);min-height:39px;color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;display:flex}.sidebar-backdrop{display:none}.app-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafaf8eb;grid-area:1/2/auto/4;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:0 20px;display:flex;position:relative}.header-leading,.header-actions,.breadcrumbs{align-items:center;min-width:0;display:flex}.header-leading{gap:12px}.breadcrumbs{color:var(--text-tertiary);white-space:nowrap;gap:7px;font-size:12px}.breadcrumbs strong{color:var(--text-secondary);font-weight:620}.breadcrumb-separator{color:#b2b3ad}.header-title{border-left:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;padding-left:12px;font-size:13px;font-weight:660;overflow:hidden}.mobile-lesson-title{display:none}.header-actions{flex:none;gap:5px}.page-status{border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:999px;margin-right:5px;padding:6px 9px;font-size:11px}.icon-button,.toolbar-button,.dock-icon-button{cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-button{width:36px;height:36px;color:var(--text-secondary);border-radius:9px;transition:background .15s,color .15s}.icon-button:hover{background:var(--surface-muted);color:var(--text)}.icon-button svg{width:18px;height:18px}.viewer-column{background:var(--surface-muted);flex-direction:column;grid-area:2/2;min-width:0;min-height:0;display:flex;overflow:hidden}.viewer-toolbar{z-index:12;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f8f5f0;flex:none;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex;position:relative}.toolbar-group{align-items:center;gap:3px;display:flex}.toolbar-button{width:32px;height:32px;color:var(--text-secondary);border-radius:8px}.toolbar-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.toolbar-button:disabled,.dock-icon-button:disabled,.play-button:disabled,.audio-options select:disabled{cursor:default;opacity:.35}.toolbar-button svg{width:18px;height:18px}.page-counter{font-variant-numeric:tabular-nums;justify-content:center;gap:3px;min-width:49px;font-size:12px;display:flex}.page-counter strong{font-weight:720}.page-counter span{color:var(--text-tertiary)}.toolbar-divider{background:var(--line);width:1px;height:22px}.zoom-value{width:42px;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center;font-size:11px}.toolbar-spacer{flex:1}.toolbar-toggle{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text-secondary);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:620;display:inline-flex}.toolbar-toggle:hover,.toolbar-toggle.is-active{background:var(--accent-soft);color:var(--accent-strong);border-color:#c8ddd6}.toolbar-toggle svg{width:16px;height:16px}.viewer-scroll{scrollbar-gutter:stable;flex:1;min-width:0;min-height:0;padding-block:28px 56px;padding-inline:max(24px,50% - 430px);overflow:auto}.page-stage{width:100%;margin-inline:auto;transition:width .18s;position:relative}.textbook-page{width:100%;box-shadow:var(--shadow-page);background:#fff;border-radius:3px;position:relative;overflow:visible}.textbook-page>img{-webkit-user-select:none;user-select:none;border-radius:3px;width:100%;height:100%;display:block}.page-image-error{border:1px dashed var(--line-strong);background:var(--surface-soft);width:100%;height:100%;color:var(--text-secondary);text-align:center;align-content:center;place-items:center;gap:8px;padding:28px;display:grid}.page-image-error strong{color:var(--text);font-size:14px}.page-image-error p{margin:0;font-size:12px}.page-image-error button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;margin-top:8px;padding:8px 12px;font-size:12px;font-weight:650}.audio-hotspot{z-index:3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;min-width:34px;min-height:34px;padding:0;transition:background .14s,border-color .14s,box-shadow .14s;position:absolute}.audio-hotspot.is-visible{background:#0d8a6a12;border-color:#0d8a6a59}.audio-hotspot:hover,.audio-hotspot:focus-visible,.audio-hotspot.is-active{background:#0d8a6a21;border-color:#0d8a6ab8;box-shadow:0 0 0 3px #0d8a6a1a}.audio-hotspot.is-active{border-width:2px}.hotspot-status{background:var(--surface);width:26px;height:26px;color:var(--accent-strong);opacity:0;border:1px solid #0d8a6a38;border-radius:999px;place-items:center;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:50%;left:-12px;transform:translateY(-50%);box-shadow:0 3px 10px #191b181f}.audio-hotspot.is-visible .hotspot-status,.audio-hotspot:hover .hotspot-status,.audio-hotspot:focus-visible .hotspot-status,.audio-hotspot.is-active .hotspot-status,.audio-hotspot.is-visited .hotspot-status{opacity:1}.audio-hotspot:hover .hotspot-status,.audio-hotspot:focus-visible .hotspot-status{transform:translate(-2px,-50%)}.hotspot-status svg{width:14px;height:14px}.audio-hotspot.is-visited:not(.is-active) .hotspot-status{border-color:var(--accent);background:var(--accent);color:#fff}.hotspot-tooltip{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#252624;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;font-weight:650;transition:opacity .13s,transform .13s;display:inline-flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 6px 18px #1415132e}.hotspot-tooltip svg{width:13px;height:13px}.audio-hotspot:hover .hotspot-tooltip,.audio-hotspot:focus-visible .hotspot-tooltip{opacity:1;transform:translate(-50%)}.inspector-backdrop{display:none}.inspector-panel{z-index:25;border-left:1px solid var(--line);background:#fafaf8;grid-area:2/3;min-width:0;min-height:0;transition:opacity .16s,transform .18s;overflow:auto}.inspector-mobile-header,.app-shell.inspector-hidden .inspector-panel{display:none}.inspector-section{border-bottom:1px solid var(--line);padding:18px}.can-do-card{background:linear-gradient(#f2f7f4 0%,#fafaf8 100%)}.section-eyebrow,.section-heading,.section-heading>span,.section-heading>label,.transcript-label{align-items:center;display:flex}.section-eyebrow{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;gap:7px;font-size:10px;font-weight:760}.section-eyebrow svg{width:15px;height:15px}.can-do-card p{margin:10px 0 0;font-size:13px;font-weight:620;line-height:1.65}.section-heading{justify-content:space-between;gap:12px;margin-bottom:13px}.section-heading>span,.section-heading>label{gap:8px;font-size:12px;font-weight:700}.section-heading svg{width:16px;height:16px;color:var(--text-secondary)}.section-heading>label{cursor:text}.section-heading small{background:var(--surface-muted);color:var(--text-tertiary);border-radius:999px;padding:3px 7px;font-size:9px}.current-audio-title{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:baseline;gap:9px;padding:12px;display:flex}.current-audio-title span{color:var(--accent-strong);font-size:12px;font-weight:780}.current-audio-title strong{font-size:12px;font-weight:620}.transcript-block{margin-top:14px}.transcript-reveal{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text-secondary);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.transcript-reveal:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:#c8ddd6}.transcript-reveal svg{width:15px;height:15px}.transcript-content{margin-top:12px}.transcript-hint,.transcript-unavailable{color:var(--text-tertiary);margin:10px 0 0;font-size:10px;line-height:1.6}.transcript-label{color:var(--text-tertiary);gap:7px;margin-bottom:9px;font-size:10px;font-weight:650}.transcript-label svg{width:14px;height:14px}.transcript-line{border-bottom:1px solid var(--line);padding:10px 0}.transcript-line:last-child{border-bottom:0}.transcript-line p{margin:0;font-size:14px;font-weight:590;line-height:1.5}.transcript-line small{color:var(--text-tertiary);margin-top:4px;font-size:11px;display:block}.transcript-source{color:var(--text-tertiary);margin:8px 0 0;font-size:10px;line-height:1.6}.empty-state{border:1px dashed var(--line-strong);min-height:144px;color:var(--text-tertiary);text-align:center;border-radius:11px;align-content:center;place-items:center;gap:10px;padding:20px;display:grid}.empty-state svg{width:25px;height:25px}.empty-state p{max-width:210px;margin:0;font-size:11px;line-height:1.6}.page-audio-list{flex-direction:column;gap:4px;display:flex}.page-audio-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px;display:grid}.page-audio-item:hover{background:var(--surface-muted)}.mini-play{border:1px solid var(--line);background:var(--surface);width:29px;height:29px;color:var(--text-secondary);border-radius:9px;place-items:center;display:grid}.mini-play.is-visited{border-color:var(--accent);background:var(--accent);color:#fff}.mini-play svg{width:14px;height:14px}.page-audio-item strong,.page-audio-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.page-audio-item strong{font-size:11px;font-weight:700}.page-audio-item small{color:var(--text-tertiary);margin-top:3px;font-size:10px}.notes-section textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:110px;color:var(--text);border-radius:10px;padding:11px 12px;font-size:11px;line-height:1.6}.notes-section textarea::placeholder{color:#a2a39d}.content-source{background:var(--surface-soft)}.content-source strong,.content-source>a:first-child{color:var(--text);font-size:10px;font-weight:700;text-decoration:none;display:block}.content-source>a:first-child:hover{color:var(--accent-strong)}.content-source p{color:var(--text-tertiary);margin:6px 0 0;font-size:10px;line-height:1.6}.content-source .source-terms{color:var(--accent-strong);text-underline-offset:2px;margin-top:7px;font-size:10px;font-weight:650;display:inline-block}.audio-dock{z-index:35;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfbf9f5;grid-area:3/2/auto/4;grid-template-columns:minmax(210px,270px) 214px minmax(180px,1fr) 142px;align-items:center;gap:16px;min-width:0;padding:11px 18px;display:grid;position:relative;box-shadow:0 -10px 26px #1e1f1c0a}.now-playing{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.now-playing-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);border-radius:11px;place-items:center;display:grid}.now-playing-icon svg{width:19px;height:19px}.now-playing strong,.now-playing small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.now-playing.has-error .now-playing-icon{color:var(--danger);background:#fcebe8}.now-playing.has-error small{color:var(--danger)}.now-playing strong{font-size:12px;font-weight:720}.now-playing small{color:var(--text-tertiary);margin-top:4px;font-size:10px}.transport-controls{justify-content:center;align-items:center;gap:3px;display:flex}.dock-icon-button{width:32px;height:32px;color:var(--text-secondary);border-radius:9px}.dock-icon-button:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.dock-icon-button svg{width:17px;height:17px}.play-button{background:var(--text);color:#fff;cursor:pointer;border:0;border-radius:999px;place-items:center;width:42px;height:42px;margin:0 4px;transition:transform .13s,background .13s;display:grid}.play-button:hover:not(:disabled){background:#050505;transform:scale(1.04)}.play-button svg{width:19px;height:19px}.timeline-group{min-width:0;color:var(--text-tertiary);font-variant-numeric:tabular-nums;text-align:center;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;font-size:9px;display:grid}.timeline-group input[type=range]{appearance:none;background:linear-gradient(to right, var(--accent) 0, var(--accent) var(--range-progress), #dadbd5 var(--range-progress), #dadbd5 100%);cursor:pointer;border-radius:999px;width:100%;height:4px;margin:0}.timeline-group input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--surface);background:var(--accent);border-radius:999px;width:13px;height:13px;box-shadow:0 1px 4px #1e201d3d}.timeline-group input[type=range]::-moz-range-thumb{border:2px solid var(--surface);background:var(--accent);border-radius:999px;width:11px;height:11px;box-shadow:0 1px 4px #1e201d3d}.audio-options{justify-content:flex-end;align-items:center;gap:6px;display:flex}.volume-icon{width:16px;height:16px;color:var(--text-tertiary)}.audio-options select{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:0 6px;font-size:10px}.loop-button.is-active{background:var(--accent-soft);color:var(--accent-strong)}.mobile-only{display:none}@media (width<=1180px){.app-shell,.app-shell.inspector-hidden{grid-template-columns:240px minmax(0,1fr)}.app-header,.audio-dock{grid-column:2}.inspector-panel,.app-shell.inspector-hidden .inspector-panel{border-left:1px solid var(--line);width:min(340px,100vw - 40px);box-shadow:var(--shadow-float);display:block;position:fixed;top:64px;bottom:82px;right:0;transform:translate(102%)}.inspector-backdrop{z-index:24;opacity:0;pointer-events:none;background:#14151347;border:0;transition:opacity .18s;display:block;position:fixed;inset:64px 0 82px 240px}.inspector-backdrop.is-open{opacity:1;pointer-events:auto}.inspector-mobile-header{z-index:2;border-bottom:1px solid var(--line);background:#fafaf8;justify-content:space-between;align-items:center;min-height:52px;padding:0 12px 0 18px;display:flex;position:sticky;top:0}.inspector-mobile-header strong{font-size:12px}.inspector-panel.is-visible{transform:translate(0)}.audio-dock{grid-template-columns:minmax(190px,230px) 200px minmax(150px,1fr) 104px;gap:10px;padding-inline:12px}.volume-icon{display:none}}@media (width<=920px){.audio-dock{grid-template-columns:minmax(150px,190px) 132px minmax(100px,1fr);gap:8px;padding-inline:10px}.audio-options,.compact-control{display:none}.header-title{max-width:260px}}@media (width<=760px){.app-shell,.app-shell.inspector-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0, 1fr) calc(116px + env(safe-area-inset-bottom))}.course-sidebar{width:min(300px,100vw - 46px);box-shadow:var(--shadow-float);transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.course-sidebar.is-open{transform:translate(0)}.sidebar-backdrop{z-index:39;opacity:0;pointer-events:none;background:#14151357;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.app-header{grid-area:1/1;min-height:56px;padding:0 10px}.viewer-column{grid-area:2/1}.audio-dock{grid-area:3/1}.mobile-only{display:inline-grid}.desktop-only,.breadcrumbs,.header-title{display:none}.header-leading{gap:4px}.mobile-lesson-title{text-overflow:ellipsis;white-space:nowrap;max-width:205px;font-size:12px;font-weight:650;display:block;overflow:hidden}.page-status{display:none}.viewer-toolbar{min-height:48px;padding-inline:8px}.toolbar-divider,.zoom-value{display:none}.toolbar-toggle{justify-content:center;width:32px;padding:0}.toolbar-toggle span{display:none}.viewer-scroll{padding-block:16px 42px;padding-inline:16px}.page-stage{min-width:0}.audio-hotspot{min-width:42px;min-height:42px}.hotspot-status{width:24px;height:24px;left:-8px}.inspector-panel,.app-shell.inspector-hidden .inspector-panel{top:56px;bottom:calc(116px + env(safe-area-inset-bottom));width:100%}.inspector-backdrop{inset:56px 0 calc(116px + env(safe-area-inset-bottom)) 0}.audio-dock{padding:8px 11px max(10px, env(safe-area-inset-bottom));grid-template-rows:48px 42px;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.now-playing{grid-area:1/1}.now-playing-icon{width:34px;height:34px}.transport-controls{grid-area:1/2}.secondary-control,.compact-control{display:none}.play-button{width:40px;height:40px;margin:0}.timeline-group{grid-area:2/1/auto/3}.audio-options{display:none}}@media (width<=430px){.mobile-lesson-title{max-width:175px}.inspector-toggle{display:inline-grid}.zoom-group{display:none}.viewer-toolbar{gap:5px}.now-playing small{max-width:220px}}@media (pointer:coarse){.audio-hotspot{min-width:44px;min-height:44px}.toolbar-button,.icon-button,.dock-icon-button,.page-audio-item,.transcript-reveal{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg:#f7f7f5;--surface:#fdfdfc;--surface-soft:#f2f2ef;--surface-muted:#eaeae6;--text:#202123;--text-secondary:#5f605b;--text-tertiary:#6d6e68;--line:#e2e2de;--line-strong:#cecec8;--accent:#0d8a6a;--accent-strong:#08745a;--accent-soft:#e7f4ef;--ink-blue:var(--text);--learning-green:var(--accent);--learning-green-soft:var(--accent-soft);--danger:#b42318;--shadow-page:0 1px 2px #2021230d, 0 10px 30px #2021230f;--shadow-float:0 16px 42px #2021231f;--radius-control:10px;--radius-card:16px;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK SC,Noto Sans CJK JP,Hiragino Sans,Yu Gothic UI,sans-serif}body{background:var(--bg)}button,summary,a,select,textarea,input{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #0d8a6a38}.learning-app{background:var(--bg);grid-template-rows:60px minmax(0,1fr) 76px;grid-template-columns:240px minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.learning-app .course-sidebar{border-right-color:var(--line);background:#f2f2ef;grid-area:1/1/4}.learning-app .brand-row{min-height:60px;padding-inline:16px}.learning-app .brand-mark{border-radius:var(--radius-control);background:var(--text);width:32px;height:32px;box-shadow:none;font-family:inherit}.learning-app .brand-name{color:var(--text);letter-spacing:.14em}.learning-app .brand-caption{color:var(--text-tertiary);letter-spacing:.04em}.learning-app .level-pill,.learning-app .lesson-item,.learning-app .lesson-number{border-radius:var(--radius-control)}.learning-app .course-nav{padding:14px 12px 18px}.learning-app .nav-label{margin-bottom:8px}.learning-app .level-switcher{grid-template-columns:minmax(0,1fr)}.learning-app .level-pill{min-height:50px;padding:8px 10px}.learning-app .level-pill.is-active{border-color:var(--line-strong);background:var(--surface);box-shadow:0 1px 2px #2021230a}.learning-app .lesson-item.is-active{background:var(--accent-soft);box-shadow:none;border-color:#d5e9e2}.learning-app .lesson-item.is-active .lesson-number{color:var(--accent-strong)}.level-availability{min-width:0;color:var(--text-tertiary);align-items:center;gap:7px;margin:7px 4px 0;font-size:9px;line-height:1.4;display:flex}.level-availability span{color:var(--text-secondary);flex:none;font-weight:700}.learning-app .nav-section-heading{margin-top:18px}.learning-app .lesson-list{gap:2px}.learning-app .lesson-item{padding-block:8px}.learning-app .sidebar-progress-card{border-radius:var(--radius-card);background:var(--surface);margin:0 12px 10px;padding:12px;box-shadow:0 1px 2px #2021230a}.learning-app .sidebar-footer{min-height:34px;padding-inline:16px}.learning-app .progress-track,.activity-progress-track{border-radius:999px}.learning-app .progress-track span{border-radius:inherit;background:var(--accent)}.learning-app .app-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fdfdfceb;grid-area:1/2;min-height:60px;padding-inline:clamp(18px,3vw,36px)}.learning-app .header-title{font-family:inherit;font-size:14px;font-weight:650}.learning-app .header-actions{color:var(--text-secondary);gap:9px}.learning-app .header-actions>svg{width:17px;height:17px;color:var(--text-tertiary)}.activity-status{font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.learning-main{scrollbar-gutter:stable;grid-area:2/2;min-width:0;min-height:0;padding:clamp(12px,1.6vw,22px) clamp(18px,3.4vw,48px) 52px;overflow:auto}.activity-progress-row,.activity-layout{width:min(1180px,100%);margin-inline:auto}.activity-progress-row{grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:14px;padding-block:5px 10px;display:grid}.activity-progress-row>div:first-child{font-variant-numeric:tabular-nums;align-items:baseline;gap:7px;display:flex}.activity-progress-row>div:first-child span{color:var(--text-tertiary);letter-spacing:.06em;font-size:9px;font-weight:760}.activity-progress-row>div:first-child strong{color:var(--accent);font-family:inherit;font-size:23px}.activity-progress-row>div:first-child small,.activity-source-locator{color:var(--text-tertiary);font-size:10px}.activity-progress-track{background:var(--line);height:5px;overflow:hidden}.activity-progress-track span{transform-origin:0;background:var(--accent);width:100%;height:100%;transition:transform .28s var(--ease-out-quint);display:block}.activity-source-locator{font-variant-numeric:tabular-nums;letter-spacing:.04em}.activity-layout{grid-template-columns:minmax(0,760px) minmax(280px,320px);justify-content:space-between;align-items:start;gap:clamp(18px,2.2vw,30px);display:grid}.activity-content{min-width:0}.activity-heading{margin-bottom:14px}.activity-kind{color:var(--accent-strong);letter-spacing:.08em;align-items:center;gap:7px;margin-bottom:6px;font-size:11px;font-weight:760;display:inline-flex}.activity-kind svg{width:16px;height:16px}.activity-kind-speak{color:var(--accent-strong)}.activity-heading h2{color:var(--text);letter-spacing:-.025em;margin:0;font-family:inherit;font-size:clamp(25px,2.5vw,34px);font-weight:650;line-height:1.3}.activity-heading>p{max-width:58ch;color:var(--text-secondary);margin:6px 0 0;font-size:15px;line-height:1.6}.source-excerpt{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-page);margin:0;overflow:hidden}.source-excerpt>figcaption{min-height:42px;color:var(--text-tertiary);border:0;justify-content:space-between;align-items:center;gap:16px;padding-inline:14px;font-size:10px;display:flex}.source-excerpt>figcaption span:first-child{color:var(--ink-blue);align-items:center;gap:7px;font-size:11px;font-weight:720;display:inline-flex}.source-excerpt>figcaption svg{width:15px;height:15px}.source-crop{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);width:100%;box-shadow:none;position:relative;overflow:hidden}.source-crop>img{-webkit-user-select:none;user-select:none;max-width:none;height:auto;display:block;position:absolute}.source-image-error{background:var(--surface-soft);height:100%;color:var(--text-secondary);align-content:center;place-items:center;gap:12px;display:grid}.source-image-error button{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;min-height:44px;padding:0 14px}.excerpt-hotspot{z-index:3;border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:0;position:absolute}.excerpt-hotspot>span{border:1px solid var(--line-strong);background:var(--surface);min-height:28px;color:var(--accent-strong);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-size:9px;font-weight:760;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #2021231f}.excerpt-hotspot svg{width:12px;height:12px}.excerpt-hotspot:hover,.excerpt-hotspot.is-active{z-index:4;background:0 0}.excerpt-hotspot:focus-visible{z-index:4;outline:none}.excerpt-hotspot:hover>span,.excerpt-hotspot:focus-visible>span{border-color:var(--accent);background:var(--accent-soft)}.excerpt-hotspot:focus-visible>span{outline:2px solid var(--accent);outline-offset:2px}.excerpt-hotspot.is-visited>span{border-color:var(--learning-green);color:var(--learning-green)}.excerpt-hotspot.is-active>span{border-color:var(--accent);background:var(--accent);color:var(--surface)}.full-source-details{border:0}.full-source-details summary{min-height:44px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:0 16px;font-size:12px;font-weight:650;list-style:none;display:inline-flex}.full-source-details summary::-webkit-details-marker{display:none}.full-source-details summary svg{width:17px;height:17px;color:var(--accent)}.full-source-details[open] summary{color:var(--accent-strong)}.full-source-page{border-top:1px solid var(--line);background:var(--surface-soft);max-height:78vh;padding:18px;overflow:auto}.full-source-page img{border-radius:var(--radius-control);width:min(100%,760px);height:auto;box-shadow:var(--shadow-page);margin-inline:auto;display:block}.activity-footer-nav{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:grid}.activity-footer-nav button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:720;transition:background .14s,border-color .14s,color .14s,transform .12s;display:inline-flex}.activity-footer-nav button:last-child{justify-self:end}.activity-footer-nav button:disabled{cursor:default;opacity:.3}.activity-footer-nav button svg{width:17px;height:17px}.activity-footer-nav>span{color:var(--text-tertiary);text-align:center;font-size:9px}.study-rail{flex-direction:column;gap:10px;min-width:0;display:flex;position:sticky;top:0}.study-workflow,.study-support{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden;box-shadow:0 1px 2px #2021230a}.study-workflow-section{padding:14px}.study-workflow-section+.study-workflow-section{border-top:1px solid var(--line)}.study-block-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.study-block-heading>span,.study-block-heading>label{color:var(--ink-blue);align-items:center;gap:8px;font-size:12px;font-weight:740;display:inline-flex}.study-block-heading svg{width:16px;height:16px;color:var(--accent)}.study-block-heading small{color:var(--text-tertiary);font-size:9px}.study-disclosure{margin:0}.study-disclosure+.study-disclosure{border-top:1px solid var(--line)}.study-disclosure>summary{min-height:48px;color:var(--ink-blue);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:11px;font-weight:720;list-style:none;transition:background .14s,color .14s;display:flex}.study-disclosure>summary::-webkit-details-marker{display:none}.study-disclosure>summary:after{width:7px;height:7px;color:var(--text-tertiary);content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex:none;transition:transform .14s;transform:rotate(45deg)}.study-disclosure[open]>summary:after{transform:rotate(225deg)}.study-disclosure>summary>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.study-disclosure>summary svg{width:16px;height:16px;color:var(--accent)}.study-disclosure>summary small{color:var(--text-tertiary);margin-left:auto;font-size:9px;font-weight:500}.study-disclosure-body{padding:0 14px 14px}.activity-audio-list{flex-direction:column;gap:5px;display:flex}.activity-audio-item{border-radius:var(--radius-control);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;width:100%;min-height:50px;padding:5px;transition:background .14s,transform .12s;display:grid}.activity-audio-item:hover,.activity-audio-item.is-selected{background:var(--accent-soft)}.activity-audio-state{border:1px solid var(--line-strong);background:var(--surface);width:34px;height:34px;color:var(--accent);border-radius:999px;place-items:center;display:grid}.activity-audio-item.is-selected .activity-audio-state{border-color:var(--accent);background:var(--accent);color:var(--surface)}.activity-audio-state svg{width:15px;height:15px}.activity-audio-item strong,.activity-audio-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.activity-audio-item strong{color:var(--ink-blue);font-variant-numeric:tabular-nums;font-size:12px}.activity-audio-item small{color:var(--text-tertiary);margin-top:3px;font-size:10px}.study-empty,.activity-transcript-unavailable{color:var(--text-tertiary);margin:12px 0 0;font-size:11px;line-height:1.65}.activity-transcript{margin-top:15px}.activity-transcript-toggle{border-radius:var(--radius-control);min-height:44px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;font-size:11px;font-weight:720;transition:background .14s,color .14s,transform .12s;display:inline-flex}.activity-transcript-toggle svg{width:15px;height:15px}.activity-transcript-copy{border-left:2px solid var(--accent);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--surface-soft);padding:14px}.activity-transcript-copy p{color:var(--text);margin:0 0 11px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.65}.activity-transcript-copy small{color:var(--text-tertiary);margin-top:14px;font-size:9px;line-height:1.5;display:block}.study-sequence ol{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.study-sequence li{color:var(--text-tertiary);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.study-sequence li>span{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;place-items:center;width:26px;height:26px;font-size:10px;font-weight:760;display:grid}.study-sequence li.is-done>span{border-color:var(--learning-green);background:var(--learning-green);color:var(--surface)}.study-sequence li strong,.study-sequence li small{display:block}.study-sequence li strong{color:var(--ink-blue);font-size:11px}.study-sequence li small{margin-top:3px;font-size:9px;line-height:1.5}.practice-check-button{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:44px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:11px;font-weight:720;transition:background .14s,border-color .14s,color .14s,transform .12s;display:inline-flex}.practice-check-button.is-done{border-color:var(--learning-green);background:var(--learning-green-soft);color:var(--learning-green)}.practice-check-button svg{width:15px;height:15px}.activity-notes textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-soft);width:100%;min-height:96px;color:var(--text);padding:12px;font-size:13px;line-height:1.7}.activity-notes textarea::placeholder{color:var(--text-tertiary)}.study-source-note{background:var(--surface)}.study-source-note strong{color:var(--ink-blue);font-size:9px;line-height:1.55;display:block}.study-source-note p{color:var(--text-tertiary);margin:7px 0 0;font-size:9px;line-height:1.6}.study-source-note div{gap:14px;margin-top:9px;display:flex}.study-source-note .study-disclosure-body{margin-top:0;display:block}.study-source-note a{color:var(--accent-strong);text-underline-offset:3px;font-size:9px;font-weight:700}.learning-app .audio-dock{border-top-color:var(--line);background:#fdfdfcf5;grid-area:3/2;box-shadow:0 -8px 30px #2021230a}.learning-app .now-playing-icon{border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent)}.learning-app .play-button{background:var(--text)}.learning-app .play-button:hover:not(:disabled){background:var(--accent)}.learning-app .timeline-group input[type=range]{background:linear-gradient(to right, var(--accent) 0, var(--accent) var(--range-progress), var(--line-strong) var(--range-progress), var(--line-strong) 100%)}.learning-app .timeline-group input[type=range]::-webkit-slider-thumb{background:var(--accent)}.learning-app .timeline-group input[type=range]::-moz-range-thumb{background:var(--accent)}@media (width<=1340px){.activity-layout{grid-template-columns:minmax(0,1fr) 292px;gap:28px}}@media (width<=1120px){.learning-main{padding-inline:28px}.activity-layout{grid-template-columns:minmax(0,1fr)}.study-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid;position:static}}@media (width<=920px){.activity-progress-row{gap:14px}.source-excerpt>figcaption span:last-child{text-align:right;max-width:230px}}@media (width<=760px){.learning-app{grid-template-columns:minmax(0,1fr);grid-template-rows:58px minmax(0, 1fr) calc(116px + env(safe-area-inset-bottom))}.learning-app .course-sidebar{grid-area:1/1/4}.learning-app .app-header{grid-area:1/1;min-height:58px;padding-inline:10px 14px}.learning-app .header-actions>svg{display:none}.activity-status{font-size:10px}.learning-main{grid-area:2/1;padding:18px 14px 56px}.activity-progress-row{grid-template-columns:auto minmax(60px,1fr);padding-block:10px 12px}.activity-source-locator{display:none}.activity-heading{margin-bottom:16px}.activity-heading h2{font-size:30px}.activity-heading>p{font-size:14px;line-height:1.6}.source-excerpt>figcaption{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-height:50px}.source-excerpt>figcaption span:last-child{text-align:left;max-width:none;padding-left:22px}.excerpt-hotspot>span{min-height:26px;padding-inline:6px;font-size:8px}.activity-footer-nav{grid-template-columns:1fr 1fr}.activity-footer-nav>span{display:none}.study-rail{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}.learning-app .audio-dock{grid-area:3/1}}@media (hover:hover){.activity-footer-nav button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong);border-color:#c3ddd4}.full-source-details summary:hover,.activity-transcript-toggle:hover,.study-disclosure>summary:hover{background:var(--accent-soft);color:var(--accent)}}.activity-footer-nav button:active:not(:disabled),.activity-audio-item:active:not(:disabled),.activity-transcript-toggle:active:not(:disabled),.practice-check-button:active:not(:disabled){transform:scale(.98)}@media (pointer:coarse){.activity-audio-item,.activity-transcript-toggle,.full-source-details summary,.activity-footer-nav button,.practice-check-button{min-height:44px}}
