:root{--surface-app: oklch(97.5% .006 95);--surface-base: oklch(98.8% .005 95);--surface-raised: oklch(100% 0 0);--surface-sunken: oklch(95.5% .008 95);--surface-inset: oklch(93.5% .01 95);--ink-strong: oklch(26% .02 255);--ink-body: oklch(40% .016 255);--ink-muted: oklch(56% .012 255);--ink-faint: oklch(68% .01 255);--ink-on-accent: oklch(99% .01 195);--accent: oklch(60% .105 195);--accent-strong: oklch(50% .115 197);--accent-soft: oklch(94% .03 195);--accent-softer: oklch(96.5% .02 195);--accent-ring: oklch(60% .105 195 / .4);--status-complete: oklch(64% .14 152);--status-complete-soft: oklch(93% .05 152);--status-progress: oklch(74% .13 78);--status-progress-soft: oklch(94% .06 80);--status-idle: oklch(82% .006 255);--danger: oklch(58% .18 25);--fmt-rise: oklch(58% .1 285);--fmt-rise-soft: oklch(95% .03 285);--fmt-presenter: oklch(58% .1 215);--fmt-presenter-soft: oklch(95% .028 215);--fmt-storyline: oklch(58% .11 330);--fmt-storyline-soft: oklch(95% .03 330);--fmt-unknown: oklch(60% .01 255);--fmt-unknown-soft: oklch(94% .005 255);--line: oklch(90% .008 95);--line-strong: oklch(85% .01 95);--line-faint: oklch(93% .006 95);--shadow-xs: 0 1px 2px oklch(40% .02 255 / .05);--shadow-card: 0 1px 2px oklch(40% .02 255 / .04), 0 4px 14px oklch(40% .02 255 / .06);--shadow-pop: 0 4px 10px oklch(40% .02 255 / .08), 0 18px 44px oklch(40% .02 255 / .14);--font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", "Georgia", serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, "Menlo", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.5rem, 1.1rem + 1.6vw, 2rem);--text-3xl: clamp(1.9rem, 1.3rem + 2.6vw, 2.85rem);--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--dur-fast: .13s;--dur-normal: .22s;--dur-slow: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--sidebar-w: 300px;--header-h: 60px;--content-max: 1180px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink-body);background:var(--surface-app);min-height:100vh}h1,h2,h3,h4{color:var(--ink-strong);line-height:var(--leading-tight);font-weight:600;text-wrap:balance}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none;padding:0}img,svg,iframe{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft);color:var(--ink-strong)}.view-pad{padding:var(--space-6) var(--space-6);max-width:var(--content-max);margin:0 auto}.muted{color:var(--ink-muted)}.section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--ink-strong);margin-bottom:var(--space-4)}.section-title svg{color:var(--accent)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-md);color:var(--ink-muted);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--surface-sunken);color:var(--ink-strong)}.progress-bar{position:relative;flex:1;height:6px;border-radius:var(--r-pill);background:var(--surface-inset);overflow:hidden}.progress-bar--lg{height:9px}.progress-bar__fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width var(--dur-slow) var(--ease-out)}.progress-dot{flex:none;width:var(--dot-size, 10px);height:var(--dot-size, 10px);border-radius:50%;background:var(--status-idle);box-shadow:inset 0 0 0 1px #0000000a}.progress-dot[data-status=opened]{background:var(--status-progress);opacity:.55}.progress-dot[data-status=in-progress]{background:var(--status-progress)}.progress-dot[data-status=completed]{background:var(--status-complete)}.format-badge{flex:none;font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;padding:3px 9px;border-radius:var(--r-pill);color:var(--fmt-unknown);background:var(--fmt-unknown-soft);white-space:nowrap}.format-badge[data-format=rise]{color:var(--fmt-rise);background:var(--fmt-rise-soft)}.format-badge[data-format=presenter]{color:var(--fmt-presenter);background:var(--fmt-presenter-soft)}.format-badge[data-format=storyline]{color:var(--fmt-storyline);background:var(--fmt-storyline-soft)}.star-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-md);color:var(--ink-faint);transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.star-btn:hover{color:var(--status-progress);background:var(--surface-sunken)}.star-btn[data-on=true]{color:var(--status-progress)}.star-btn:active{transform:scale(.88)}kbd{font-family:var(--font-mono);font-size:.7rem;padding:2px 6px;border-radius:var(--r-sm);background:var(--surface-inset);color:var(--ink-muted);border:1px solid var(--line)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--ink-muted)}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--surface-sunken);color:var(--accent);margin-bottom:var(--space-2)}.empty-state__title{font-size:var(--text-lg);font-weight:600;color:var(--ink-strong)}.empty-state__hint{font-size:var(--text-sm);max-width:40ch}[data-theme=dark]{--surface-app: oklch(20% .012 260);--surface-base: oklch(22.5% .013 260);--surface-raised: oklch(25.5% .014 260);--surface-sunken: oklch(28% .014 260);--surface-inset: oklch(31% .015 260);--ink-strong: oklch(95% .008 95);--ink-body: oklch(86% .01 95);--ink-muted: oklch(70% .012 260);--ink-faint: oklch(58% .012 260);--ink-on-accent: oklch(18% .02 260);--accent: oklch(74% .11 195);--accent-strong: oklch(82% .1 195);--accent-soft: oklch(34% .05 220);--accent-softer: oklch(30% .035 220);--accent-ring: oklch(74% .11 195 / .45);--status-complete: oklch(74% .13 152);--status-complete-soft: oklch(34% .06 152);--status-progress: oklch(80% .12 80);--status-progress-soft: oklch(36% .06 80);--status-idle: oklch(40% .01 260);--danger: oklch(70% .15 25);--fmt-rise: oklch(78% .09 285);--fmt-rise-soft: oklch(33% .05 285);--fmt-presenter: oklch(78% .09 215);--fmt-presenter-soft: oklch(33% .05 215);--fmt-storyline: oklch(80% .09 330);--fmt-storyline-soft: oklch(33% .05 330);--fmt-unknown: oklch(72% .01 260);--fmt-unknown-soft: oklch(32% .008 260);--line: oklch(32% .012 260);--line-strong: oklch(40% .014 260);--line-faint: oklch(28% .01 260);--shadow-xs: 0 1px 2px oklch(0% 0 0 / .3);--shadow-card: 0 1px 2px oklch(0% 0 0 / .3), 0 6px 18px oklch(0% 0 0 / .32);--shadow-pop: 0 6px 16px oklch(0% 0 0 / .4), 0 22px 50px oklch(0% 0 0 / .5);color-scheme:dark}[data-theme=dark] .app-header{background:#181c22d1}[data-theme=dark] .lesson-frame{background:#0b0d12}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home>*{animation:fade-up var(--dur-normal) var(--ease-out) both}.home>*:nth-child(2){animation-delay:40ms}.home>*:nth-child(3){animation-delay:80ms}.home>*:nth-child(4){animation-delay:.12s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:#fcfbf7d1;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.app-header__left{display:flex;align-items:center;gap:var(--space-2);min-width:var(--sidebar-w)}.app-header__menu{display:none}.app-header__right{margin-left:auto}.brand{display:inline-flex;align-items:center;gap:var(--space-2)}.brand__mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;font-weight:700;font-size:.85rem;letter-spacing:-.02em;color:var(--ink-on-accent);background:linear-gradient(150deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-xs)}.brand__word{font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;color:var(--ink-strong)}.brand__plus{color:var(--accent)}.search-trigger{flex:1;max-width:420px;display:flex;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-base);color:var(--ink-muted);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.search-trigger:hover{border-color:var(--line-strong);background:var(--surface-raised)}.search-trigger kbd{margin-left:auto}.app-body{flex:1;display:flex;align-items:flex-start;min-height:0}.app-sidebar{position:sticky;top:var(--header-h);flex:none;width:var(--sidebar-w);height:calc(100vh - var(--header-h));overflow-y:auto;border-right:1px solid var(--line);padding:var(--space-4) var(--space-3);background:var(--surface-base)}.app-main{flex:1;min-width:0}.app-scrim{display:none}.sidebar__primary{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-4)}.sidebar__link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);color:var(--ink-body);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.sidebar__link:hover{background:var(--surface-sunken)}.sidebar__link.active{background:var(--accent-soft);color:var(--accent-strong)}.sidebar__link svg{flex:none;color:currentColor;opacity:.85}.sidebar__group{margin-top:var(--space-4)}.sidebar__group-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);padding:0 var(--space-3);margin-bottom:var(--space-2)}.sidebar__link--course{justify-content:space-between;gap:var(--space-2)}.sidebar__course-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__course-count{flex:none;font-size:var(--text-xs);font-weight:600;color:var(--ink-faint);background:var(--surface-inset);padding:1px 7px;border-radius:var(--r-pill)}.sidebar__link--course.active .sidebar__course-count{background:#ffffff80}.home{max-width:var(--content-max);margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-7)}.hero{padding:var(--space-4) 0 var(--space-2)}.hero__eyebrow{font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:var(--space-2)}.hero__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;max-width:18ch}.hero__title em{font-style:italic;color:var(--accent-strong)}.hero__sub{margin-top:var(--space-3);color:var(--ink-muted);font-size:var(--text-md)}.continue__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x proximity}.continue-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-card);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.continue-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}.continue-card__top{display:flex;align-items:center;gap:var(--space-2)}.continue-card__course{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-card__title{font-weight:600;color:var(--ink-strong);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.continue-card__resume{display:inline-flex;align-items:center;gap:5px;margin-top:auto;font-size:var(--text-sm);font-weight:600;color:var(--accent-strong)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.course-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-card);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out),border-color var(--dur-normal) var(--ease-out)}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-pop);border-color:var(--accent-soft)}.course-card__eyebrow{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong)}.course-card__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;line-height:var(--leading-snug)}.course-card__meta{display:flex;gap:6px;font-size:var(--text-sm);color:var(--ink-muted)}.course-card__progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.course-card__pct{flex:none;font-size:var(--text-sm);font-weight:700;color:var(--ink-muted);font-variant-numeric:tabular-nums}.lesson-list{display:flex;flex-direction:column;gap:3px}.lesson-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--r-md);border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.lesson-row:hover{background:var(--surface-raised);border-color:var(--line)}.lesson-row__index{flex:none;font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-faint);width:1.7em}.lesson-row__title{flex:1;min-width:0;color:var(--ink-body);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-row[data-status=completed] .lesson-row__title{color:var(--ink-muted)}.lesson-row__actions{display:flex;align-items:center;gap:var(--space-1)}.lesson-row__play{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-md);color:var(--ink-faint);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.lesson-row:hover .lesson-row__play{opacity:1;color:var(--accent)}.lesson-list--flat .lesson-row{background:var(--surface-base);border-color:var(--line)}.node-section{margin-top:var(--space-2)}.node-section[data-depth="1"]{margin-top:var(--space-5)}.node-section__head{display:flex;align-items:baseline;gap:var(--space-2);padding:0 var(--space-3) var(--space-2);border-bottom:1px solid var(--line-faint);margin-bottom:var(--space-2)}.node-section[data-kind=chapter] .node-section__head{border-bottom:none;padding-bottom:0}.node-section__title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.node-section[data-kind=chapter] .node-section__title{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.node-section__count{font-size:var(--text-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums}.course-view{max-width:920px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8)}.course-head{margin-bottom:var(--space-6)}.course-head__eyebrow{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong);margin-bottom:var(--space-2)}.course-head__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em}.course-head__progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.course-head__stats{flex:none;font-size:var(--text-sm);color:var(--ink-muted);font-variant-numeric:tabular-nums}.favorites-view{max-width:820px}@media (max-width: 860px){.app-header__left{min-width:0}.app-header__menu{display:inline-flex}.brand__word{display:none}.app-sidebar{position:fixed;top:var(--header-h);left:0;z-index:35;transform:translate(-100%);transition:transform var(--dur-normal) var(--ease-out);box-shadow:var(--shadow-pop)}.app-shell[data-drawer=true] .app-sidebar{transform:translate(0)}.app-shell[data-drawer=true] .app-scrim{display:block;position:fixed;inset:var(--header-h) 0 0;z-index:30;background:#11161f66}.search-trigger span,.search-trigger kbd{display:none}}.player{display:flex;flex-direction:column;height:calc(100vh - var(--header-h))}.player-header{flex:none;padding:var(--space-4) var(--space-6) var(--space-3);border-bottom:1px solid var(--line);background:var(--surface-base)}.player-header__crumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-2)}.player-header__crumbs a:hover{color:var(--accent-strong)}.player-header__crumbs span{color:var(--ink-faint)}.player-header__main{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.player-header__title{flex:1;min-width:240px;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em}.player-header__actions{display:flex;align-items:center;gap:var(--space-3)}.mark-complete{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 var(--space-4);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:600;color:var(--ink-body);background:var(--surface-sunken);border:1px solid var(--line);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.mark-complete:hover{background:var(--surface-inset)}.mark-complete[data-prominent=true]{color:var(--ink-on-accent);background:var(--accent);border-color:var(--accent)}.mark-complete[data-prominent=true]:hover{background:var(--accent-strong)}.mark-complete[data-done=true]{color:var(--status-complete);background:var(--status-complete-soft);border-color:transparent}.player__body{flex:1;display:grid;grid-template-columns:1fr 320px;min-height:0}.player__stage{display:flex;flex-direction:column;min-width:0;background:var(--surface-app)}.lesson-frame{flex:1;min-height:0;background:#181b1f}.lesson-frame__iframe{width:100%;height:100%;border:0}.prevnext{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--line);background:var(--surface-base)}.prevnext__btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);color:var(--ink-body);border:1px solid var(--line);background:var(--surface-raised);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);min-width:0}.prevnext__btn:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.prevnext__btn--next{justify-content:flex-end;text-align:right}.prevnext__text{display:flex;flex-direction:column;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prevnext__text small{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.player__aside{border-left:1px solid var(--line);background:var(--surface-base);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-3)}.lesson-index__course{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:0 var(--space-2);margin-bottom:var(--space-2)}.lesson-index__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--r-md);font-size:var(--text-sm);transition:background var(--dur-fast) var(--ease-out)}.lesson-index__item:hover{background:var(--surface-sunken)}.lesson-index__item[data-current=true]{background:var(--accent-soft);color:var(--accent-strong)}.lesson-index__num{flex:none;font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-faint);width:1.6em}.lesson-index__item[data-current=true] .lesson-index__num{color:var(--accent-strong)}.lesson-index__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resources-panel{border-top:1px solid var(--line-faint);padding-top:var(--space-3)}.resources-panel__title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:0 var(--space-2);margin-bottom:var(--space-2)}.resource-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--ink-body);transition:background var(--dur-fast) var(--ease-out)}.resource-link:hover{background:var(--surface-sunken);color:var(--accent-strong)}.resource-link svg{flex:none;color:var(--danger)}.resource-link__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-link__ext{flex:none;font-size:.65rem;font-weight:700;color:var(--ink-faint)}@media (max-width: 1024px){.player{height:auto;min-height:calc(100vh - var(--header-h))}.player__body{grid-template-columns:1fr}.lesson-frame{aspect-ratio:16 / 9;min-height:320px}.player__aside{border-left:none;border-top:1px solid var(--line)}}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:clamp(40px,12vh,140px) var(--space-4) var(--space-4);background:#11161f66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlay-in var(--dur-fast) var(--ease-out)}.search-dialog{width:min(640px,100%);max-height:70vh;display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-pop);overflow:hidden;animation:dialog-in var(--dur-normal) var(--ease-out)}.search-dialog__field{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--line);color:var(--ink-muted)}.search-dialog__input{flex:1;min-width:0;border:none;background:none;font-size:var(--text-lg);color:var(--ink-strong)}.search-dialog__input::placeholder{color:var(--ink-faint)}.search-dialog__input:focus{outline:none}.search-dialog__esc{flex:none}.search-dialog__results{overflow-y:auto;padding:var(--space-2)}.search-dialog__empty,.search-dialog__hint{padding:var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--ink-muted)}.search-result{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-md);text-align:left;transition:background var(--dur-fast) var(--ease-out)}.search-result[data-active=true]{background:var(--accent-soft)}.search-result__text{flex:1;min-width:0;display:flex;flex-direction:column}.search-result__title{font-weight:500;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result__context{font-size:var(--text-xs);color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
