/* Interactive learning keeps the existing Gaggle palette and real app media. */
[hidden] { display:none!important; }
.practice-launcher { padding-block:42px 22px; }
.practice-link { display:flex;align-items:center;gap:24px;padding:24px 0;border-block:1px solid #d9e6ed;min-width:0; }
.practice-link>div:last-child { min-width:0; }
.practice-link .eyebrow { color:#548ca4;font-size:.65rem; }
.practice-link h2 { font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;margin:8px 0 12px;color:var(--navy); }
.practice-icon { flex:0 0 76px;height:86px;display:grid;place-items:center;background:#f2f0fa;border-radius:17px;color:#8372b1; }
.practice-icon svg { width:48px;height:48px;transition:transform .3s ease; }
.practice-link:hover .practice-icon svg { transform:translateY(-3px); }
.practice-open { display:flex;gap:16px;font-size:.76rem;line-height:1.5;color:#447c9d; }
.hero-resume { display:block;margin-top:14px;font-size:.85rem;font-weight:650;color:var(--navy);text-decoration:underline;text-underline-offset:4px; }
.reader-toolbar { display:none; }
.is-reading .hero,.is-reading .practice-launcher,.is-reading .discovery,.is-reading .journey,
.is-reading .topic-directory,.is-reading .session-section,.is-reading .resources-section,
.is-reading .closing,.is-reading .site-footer,.is-reading #learning>.section-wrap>.section-heading { display:none; }
.is-reading .site-header { position:sticky;top:0;height:76px;z-index:15;border-bottom:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(10px); }
.is-reading .site-header .brand img { width:40px;height:40px; }
.is-reading .learning-section { padding-block:30px 70px;min-height:calc(100dvh - 76px);border:0; }
.is-reading .guide-sidebar { top:102px;max-height:calc(100dvh - 122px);overflow:auto;scrollbar-width:thin;padding-inline-end:8px; }
.reader-toolbar { align-items:center;gap:14px;margin-bottom:30px;color:#617e90;font-size:.75rem;line-height:1.5; }
.is-reading .reader-toolbar { display:flex; }
.reader-toolbar>a { color:var(--navy);font-weight:650;flex-shrink:0;min-height:44px;display:flex;align-items:center;gap:8px; }
.reader-toolbar>span { border-inline-start:1px solid #cbdce6;padding-inline-start:14px; }
.is-reading #lesson { scroll-margin-top:96px; }
.reader-lesson .lesson-heading { margin:0; }
.reader-dock { position:relative;display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:34px;padding-top:20px; }
.reader-dock>button { min-height:44px;flex-shrink:0; }
.reader-dock #previous-lesson { width:44px;font-size:1.3rem;border:1px solid var(--line);border-radius:8px;background:white; }
.reader-dock-copy { min-width:0;flex:1; }
.reader-position { display:block;font-size:.69rem;color:var(--muted);line-height:1.5; }
.reader-up-next { display:block;color:var(--navy);font-size:.85rem;font-weight:600;line-height:1.6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden; }
.reader-dock #next-lesson { max-width:30%;white-space:normal;gap:10px;line-height:1.4; }
.reader-topics-button { display:none;min-width:0;background:white;border:1px solid #d4e2ea;padding:8px 12px;border-radius:8px;color:var(--navy);font-size:.8rem;line-height:1.3;overflow-wrap:anywhere;hyphens:auto; }
.reader-position-track { display:none;position:absolute;inset-inline:0;top:0;height:3px;background:#dce7ee; }
.reader-position-track>span { display:block;height:100%;width:var(--reader-position,0%);background:#4b9bc5;transition:width .3s; }
.complete-button[aria-pressed=true] { background:#e5f3eb!important;border-color:#bdd9c8;color:#286947; }
.lesson-reference { margin-top:28px;border-block:1px solid var(--line);padding-block:18px; }
.lesson-reference>summary { cursor:pointer;font-size:.9rem;font-weight:650;color:var(--navy);padding-block:8px;line-height:1.5; }
.lesson-reference[open]>summary { margin-bottom:22px; }
.lesson-reference .lesson-media { margin-top:26px;max-width:560px; }
.lesson-reference .media-audio { max-width:none; }
.lesson-reference .audio-samples { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px; }
.lesson-reference .audio-sample { padding:18px;background:white;border:1px solid var(--line);border-radius:10px; }
.lesson-reference .audio-poster { max-width:400px; }
.reader-lab-tools { max-width:720px;margin-top:26px; }
.lesson-lab { min-width:0;border:1px solid #cfe1e9;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 32px #153e5606; }
.lab-topline { display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e1ecf1;padding:17px 25px;background:#f9fcfd; }
.lab-badge { display:flex;align-items:center;gap:8px;color:#286682;font-size:.7rem;line-height:1.4;font-weight:700; }
.lab-badge>span { color:#77abc7;font-size:1rem; }
.lab-kind { font-size:.66rem;color:#5a7180;line-height:1.4;text-align:end; }
.lesson-lab h4 { color:var(--navy);font-size:1.65rem;line-height:1.2;letter-spacing:-.035em;margin:12px 0 15px;font-weight:650; }
.lab-description { font-size:.94rem;line-height:1.75;color:#526e7f; }
.lab-button { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:44px;padding:11px 16px;background:#fff;border:1px solid #d5e2e9;border-radius:8px;font-size:.8rem;font-weight:600;line-height:1.4;color:var(--navy);overflow-wrap:anywhere;transition:background .2s,border-color .2s; }
.lab-button:hover { background:#edf5fa;border-color:#aacddd; }
.lab-button-primary { background:var(--navy);border-color:var(--navy);color:white; }
.lab-button-primary:hover { background:#245b7b;border-color:#245b7b; }
.lab-notice { font-size:.72rem;line-height:1.7;color:#597385; }
.vario-instructions { padding:24px 30px; }
.vario-instructions h4 { margin-top:0;font-size:1.5rem; }
.vario-display { --rate-fill:75;position:relative;margin-inline:24px;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 0%,#205a73,#12354c 75%);color:#b2e4ef;padding:22px 24px 18px; }
.vario-instrument { position:relative;max-width:350px;margin:auto;direction:ltr; }
.vario-dial { display:block;width:100%;height:auto;overflow:visible; }
.vario-dial-track,.vario-dial-fill { fill:none;stroke:#477689;stroke-width:9;stroke-linecap:round; }
.vario-dial-fill { stroke:#a4d7e6;stroke-dasharray:var(--rate-fill) 100;transition:stroke-dasharray .25s; }
.vario-dial text { font-size:12px;fill:#9abecd; }
.vario-dial [data-vario-needle] { transition:transform .25s; }
.vario-reading { position:absolute;inset:30% 15% 5%;display:flex;flex-direction:column;align-items:center;justify-content:center; }
.vario-reading output { font-size:clamp(2.6rem,5vw,4.3rem);font-weight:500;letter-spacing:-.06em;line-height:1;color:#fff; }
.vario-reading>span { font-size:.8rem;color:#9bc1d1;line-height:1.6;margin-top:10px; }
.vario-reading>strong { font-size:.85rem;font-weight:500;line-height:1.4;margin-top:14px; }
.vario-soundline { display:flex;align-items:center;justify-content:center;gap:5px;height:43px;margin:7px auto;color:#78bfd4;direction:ltr; }
.vario-soundline>i { width:3px;height:var(--bar);border-radius:2px;background:currentColor;opacity:.45;transform:scaleY(.18);transition:transform .3s; }
.is-playing .vario-soundline>i { opacity:.85;animation:vario-sound 1.2s ease-in-out infinite alternate;animation-delay:var(--delay); }
.vario-playing-label { font-size:.72rem;line-height:1.5;color:#b4d1df;text-align:center;min-height:1.5em; }
.vario-display[data-direction=sink] { color:#f1bc9e; }
.vario-display[data-direction=sink] .vario-dial-fill { stroke:#efb696; }
.vario-display[data-direction=sink] .vario-soundline { color:#efb696; }
.vario-display[data-direction=level] { color:#d4e3e9; }
.vario-controls { padding:25px 30px 0; }
.vario-controls>label { display:flex;gap:15px;justify-content:space-between;font-size:.84rem;font-weight:600;color:var(--navy);line-height:1.5; }
.vario-controls>label>output { font-variant-numeric:tabular-nums;direction:ltr; }
.vario-controls input[type=range] { width:100%;min-height:44px;margin:13px 0 0;accent-color:#287fa7;cursor:pointer;direction:ltr; }
.vario-range-labels { display:flex;justify-content:space-between;gap:10px;font-size:.72rem;color:#7691a1;line-height:1.5;direction:ltr; }
.vario-play { width:100%;margin-top:22px; }
.lab-vario>.lab-notice { margin:20px 30px 26px; }
#chapter-picker { width:min(580px,calc(100% - 32px));max-height:85dvh;padding:0;border:1px solid #d3e3ed;border-radius:18px;box-shadow:0 24px 80px #12354c40;color:var(--navy);background:#fbfdfe; }
#chapter-picker::backdrop { background:#12354c80;backdrop-filter:blur(4px); }
.chapter-picker-header { position:sticky;top:0;padding:22px 24px 16px;z-index:1;background:#fbfdfe;border-bottom:1px solid var(--line); }
.chapter-picker-header>div:first-child { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.chapter-picker-header h2 { font-size:1.65rem;line-height:1.3; }
.chapter-picker-header button { width:44px;height:44px;border:0;background:transparent;color:var(--navy);font-size:1.2rem; }
.chapter-picker-header label { display:block;font-size:.75rem;line-height:1.4;margin-bottom:7px; }
.chapter-picker-header input { width:100%;padding:12px;border:1px solid #cddfe9;border-radius:8px;background:#fff;min-height:44px;font-size:1rem;color:var(--navy); }
.chapter-picker-list { padding:6px 24px 25px; }
.chapter-picker-list details { border-bottom:1px solid var(--line); }
.chapter-picker-list summary { padding:18px 0;font-size:.88rem;line-height:1.5;font-weight:650;cursor:pointer; }
.chapter-picker-list a { display:block;padding:13px 12px;font-size:.86rem;line-height:1.55;border-radius:7px;margin-bottom:3px;color:#5b798b; }
.chapter-picker-list a[aria-current=page] { background:#dfedf5;color:var(--navy);font-weight:600; }
.chapter-picker-list a:hover { background:#edf5fa; }
.chapter-picker-list .empty-search { padding-block:20px; }
body:has(#chapter-picker[open]) { overflow:hidden; }
@keyframes vario-sound { from { transform:scaleY(.3); } to { transform:scaleY(1); } }
@media(max-width:1100px) {
 .lesson-lab h4 { font-size:1.5rem; }
}
@media(max-width:1000px) {
 .is-reading .guide-sidebar { display:none; }
 .is-reading .guide-layout { display:block; }
 .reader-topics-button { display:inline-flex;align-items:center;justify-content:center; }
}
@media(max-width:700px) {
 .practice-launcher { padding-block:30px 12px; }
 .practice-link { padding-block:20px;gap:18px; }
 .practice-icon { flex-basis:60px;height:72px; }
 .is-reading .site-header { height:68px;padding-block:12px; }.is-reading .site-header .brand img { width:36px;height:36px; }
 .is-reading .learning-section { padding-top:12px;padding-bottom:125px; }
 .is-reading .reader-toolbar { margin-bottom:20px;font-size:.72rem; }.reader-toolbar>span { font-size:.69rem; }
 .is-reading #lesson { scroll-margin-top:85px; }
 .is-reading .reader-dock { position:fixed;inset-inline:0;bottom:0;z-index:20;margin:0;padding:13px 16px max(13px,env(safe-area-inset-bottom));gap:10px;background:#f9fcfef5;border-top:1px solid #cfdee7;box-shadow:0 -7px 25px #163d5608;backdrop-filter:blur(12px); }
 .reader-position-track { display:block; }.reader-dock-copy { display:block; }.reader-up-next { font-size:.72rem; }.reader-position { font-size:.63rem;line-height:1.5; }
 .reader-topics-button { max-width:24%;font-size:.72rem;padding-inline:10px; }
 .reader-dock #next-lesson { min-height:44px;font-size:.76rem;padding:10px 13px;max-width:26%; }
 .reader-dock #previous-lesson { width:44px; }
 .lab-topline { padding:15px 20px;gap:12px; }.lab-kind { font-size:.62rem;max-width:46%; }
 .vario-instructions { padding:22px; }.vario-instructions h4 { font-size:1.45rem; }.lab-vario>.lab-notice { margin:18px 22px 23px; }
 .vario-display { margin-inline:14px;padding:22px 18px 18px; }.vario-controls { padding:23px 22px 0; }.vario-reading output { font-size:3.2rem; }
 .vario-reading>strong { margin-top:10px;font-size:.8rem; }.vario-reading>span { margin-top:6px; }.vario-soundline { gap:4px; }
 .lesson-reference .audio-samples { grid-template-columns:1fr; }.reader-lab-tools .try-box { margin-top:20px; }
 #chapter-picker { width:100%;max-height:90dvh;margin:auto auto 0;border-radius:20px 20px 0 0;border-bottom:0; }
}
@media(max-width:370px) {
 .reader-dock-copy .reader-up-next { display:none; }.reader-position { font-size:.65rem; }
 .is-reading .reader-dock { gap:8px;padding-inline:12px; }.reader-dock #next-lesson { padding-inline:10px; }
 .vario-reading output { font-size:2.8rem; }.vario-reading>strong { margin-top:7px; }
 .vario-soundline { gap:3px; }
}
@media(prefers-reduced-motion:reduce) {
 .is-playing .vario-soundline>i { transform:scaleY(.7); }
}
@media print {
 .is-reading .site-header { display:none; }.is-reading .learning-section { padding:0;min-height:0; }
 .lesson-reference { border:0; }.lesson-reference>summary { display:none; }.lesson-reference>* { display:block!important; }
}
