/* Approved worlds share semantic content, accessibility, and learning state. */
/* One card per reading task; passages remain a continuous editorial document. */
.player-card,.recording-card,.transcript{background:var(--surface);border:1px solid var(--line);border-radius:16px}
.player-card video{border-radius:15px 15px 0 0}
.player-card .player-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:4px 10px;gap:8px;border-top:1px solid var(--line)}
.player-options .moment-actions{display:flex;align-items:center;gap:4px;min-width:0}
.player-options .moment-actions button,.player-options .playback-rate select{min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:500 14px/1.2 Figtree,system-ui,sans-serif}
.player-options .moment-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;white-space:nowrap}
.player-options .moment-actions svg{width:19px;height:19px;stroke-width:1.6}
.player-options .playback-rate{position:relative;display:flex;align-items:center;margin:0;padding-left:12px;flex:none}
.player-options .playback-rate:before{content:"";position:absolute;left:0;height:20px;width:1px;background:var(--line)}
.player-options .playback-rate select{appearance:none;-webkit-appearance:none;min-width:76px;padding:0 26px 0 8px;text-align:center;font-variant-numeric:tabular-nums}
.player-options .playback-rate>svg{position:absolute;right:5px;width:16px;height:16px;pointer-events:none;color:var(--muted)}
.player-options .playback-rate option{background:var(--surface);color:var(--ink)}
.player-options .moment-actions button:focus-visible,.player-options .playback-rate select:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}
@media(hover:hover){.player-options .moment-actions button:hover,.player-options .playback-rate select:hover{background:color-mix(in srgb,var(--ink) 9%,var(--surface))}}
.player-options .moment-actions button:active{background:color-mix(in srgb,var(--ink) 15%,var(--surface))}
.player-card #media-error{padding:0 16px 16px}
.watch-media .recording-card,.mobile-session-details .recording-card{padding:24px;margin:20px 0 0}
.recording-card p{font-size:17px;line-height:1.65;color:var(--ink)}
.recording-card .recording-meta{font-size:14px;color:var(--muted)}
.recording-card p:last-child{margin-bottom:0}
.watch-layout .transcript{padding:28px 30px 40px;scrollbar-gutter:stable;scrollbar-color:var(--field) var(--surface)}
.transcript>header{padding-bottom:20px;border-bottom:1px solid var(--line)}
.transcript>header h2{font-size:28px;margin:0 0 8px}
.transcript>header p{margin:0;max-width:55ch}
.transcript .passage{padding:30px 0 10px}
.transcript .passage+.passage{border-top:1px solid var(--line);margin-top:22px}
.transcript .passage-heading{display:block;margin-bottom:20px}
.transcript .timestamp{min-height:44px;margin-bottom:4px;font-size:14px;letter-spacing:.02em}
.transcript .passage h3{font-family:var(--display);font-size:32px;line-height:1.12;font-weight:550;letter-spacing:-.025em;max-width:28ch}
.transcript .passage p{line-height:1.72;max-width:65ch;margin-bottom:22px}
.transcript .passage .speaker{font-family:Figtree,system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:18px}
.transcript-opening::first-letter{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:3.7em;line-height:.82;float:left;padding-top:.1em;margin:0 .12em 0 0;color:var(--violet)}
.transcript .passage:target h3{color:var(--violet)}
.transcript-tools{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.transcript-tools #follow-transcript{flex:none;min-height:44px;padding:8px 12px;color:var(--violet);background:transparent;border:1px solid var(--line);border-radius:12px;font-size:14px}
.transcript-tools #follow-transcript:hover{border-color:var(--violet)}
.transcript-sentence.is-current-sentence{color:var(--violet);background:color-mix(in srgb,var(--violet) 12%,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(max-width:680px){.transcript-tools{align-items:center;gap:8px}.transcript-tools #follow-transcript{max-width:135px}}
@media(max-width:1000px){.watch-layout .transcript{padding:24px}.transcript .passage h3{font-size:28px}}
@media(max-width:680px){
  .watch-layout .transcript{padding:22px 18px 30px;width:100%;scrollbar-gutter:auto}
  .transcript .passage h3{font-size:27px}
  .transcript .passage p{font-size:20px;line-height:1.65}
  .transcript .passage .speaker{font-size:14px}
  .transcript .passage{padding-top:24px}
  .transcript-opening::first-letter{font-size:3.4em}
  .watch-layout .player-options{padding:4px 6px;gap:4px}
  .watch-media .player-card{border-radius:12px}
  .player-card video{border-radius:11px 11px 0 0}
  .mobile-session-details{width:100%}
}
.all-ideas{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--violet);margin:16px 0}
.idea-index-group{margin-top:56px}
.idea-trail{max-width:1100px}
.idea-trail h1{max-width:22ch}
.idea-trail .lead,.idea-trail .trail-stops,.trail-reflection{max-width:72ch}
.trail-stops li{border-bottom:1px solid var(--line);padding-bottom:32px}
.trail-stops li::marker{color:var(--muted);font-variant-numeric:tabular-nums}
.trail-stops blockquote{margin:24px 0;max-width:65ch}
.trail-stops blockquote p{font-family:var(--reading);font-size:22px;line-height:1.55;color:var(--ink)}
.trail-stops cite{font-style:normal;font-size:14px;color:var(--muted)}
.trail-play{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px;color:var(--violet)}
.trail-play span{color:var(--muted);font-size:14px}
.trail-source{font-size:14px;line-height:1.5}
.trail-source a{text-decoration:underline}
.trail-reflection{margin:40px 0}
.trail-reflection p{font-family:var(--reading);font-size:22px;line-height:1.5}
.trail-provenance{font-size:14px;color:var(--muted);max-width:72ch}
.idea-group-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0}
.idea-group-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--violet);text-decoration:underline}
.idea-index-group{scroll-margin-top:24px}
.trail-context{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.trail-context a{color:var(--violet);display:inline-flex;min-height:44px;align-items:center}
.trail-context .trail-steps{display:flex;gap:8px;flex-shrink:0}
.trail-steps a{width:44px;justify-content:center;font-size:21px}
@media(max-width:680px){.passage{scroll-margin-top:calc(var(--pinned-media-height, 38vh) + 16px)}}
@media(max-width:680px){.trail-stops{padding-left:20px}.trail-stops li{padding-left:4px}.trail-stops blockquote p,.trail-reflection p{font-size:20px}.idea-index-group{margin-top:36px}}
.session-row > div{min-width:0;flex:1}
.session-row p.session-deck{max-width:70ch;margin-top:8px;font-size:16px;line-height:1.5;color:var(--ink)}
.session-abstract{max-width:72ch;margin:12px 0 24px}
.session-abstract summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--violet)}
.session-abstract summary:focus-visible{outline:3px solid var(--violet);outline-offset:4px}
.session-abstract p{font-family:var(--reading);font-size:18px;line-height:1.6;margin:8px 0 12px;color:var(--ink)}
.session-abstract small{color:var(--muted)}
@media(max-width:680px){
  .session-row{display:grid;grid-template-columns:20px 76px minmax(0,1fr) 22px;column-gap:12px;row-gap:4px}
  .session-row > div{display:contents}
  .session-row .session-number{grid-column:1;grid-row:1 / 3}
  .session-row > img{grid-column:2;grid-row:1 / 3}
  .session-row h3{grid-column:3;grid-row:1}
  .session-row p:not(.session-deck){grid-column:3;grid-row:2}
  .session-row > svg{grid-column:4;grid-row:1 / 3}
  .session-row p.session-deck{grid-column:1 / -1;font-size:15px;margin-top:8px}
  .session-abstract p{font-size:17px}
}
@font-face{font-family:Figtree;src:url('/fonts/figtree.ttf') format('truetype');font-weight:300 900;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('/fonts/eb-garamond.ttf') format('truetype');font-weight:400 800;font-display:swap}
:root{
  --bg:#08131b;--surface:#112633;--ink:#f4f2eb;--muted:#b5c8d1;
  --violet:#a5cbe0;--action:#20475f;--action-ink:#fff;--hover:#285c77;
  --line:#344b5a;--field:#738e9e;--display:Figtree,system-ui,sans-serif;
  --reading:Figtree,system-ui,sans-serif;--selection:#20475f;
  --scene:url('/themes/light-and-form.webp');--rail:0px;
  font-family:Figtree,system-ui,sans-serif;scrollbar-color:var(--field) var(--bg)
}
:root[data-theme=observatory]{
  --bg:#07090b;--surface:#101214;--ink:#f5f0e7;--muted:#c2c0ba;
  --violet:#dedbd3;--action:#191c1f;--action-ink:#f5f0e7;--hover:#292d31;
  --line:#363a3e;--field:#83888c;--display:'EB Garamond',Georgia,serif;
  --reading:Georgia,serif;--selection:#383c40;--scene:url('/themes/observatory.webp')
}
:root[data-theme=library]{
  --bg:#ece5d6;--surface:#f1eadc;--ink:#282724;--muted:#655e52;
  --violet:#6a4e34;--action:#443a2e;--action-ink:#fffaf0;--hover:#574532;
  --line:#c6baaa;--field:#887b68;--display:'EB Garamond',Georgia,serif;
  --reading:Georgia,serif;--selection:#d4c1a1;--scene:url('/themes/matter-paper-v2.webp')
}
body{background:var(--bg);color:var(--ink);isolation:isolate;min-height:100svh}
/* A single, stationary scene follows the chosen theme across every route.
   Use the stable large viewport, not an inset-constrained height: Safari's
   collapsing toolbar must not resize the cover image while scrolling. */
body::before{
  content:"";position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;z-index:-1;pointer-events:none;
  background-image:linear-gradient(90deg,color-mix(in srgb,var(--bg) 70%,transparent),color-mix(in srgb,var(--bg) 35%,transparent)),var(--scene);
  background-position:center,right center;background-size:cover;background-repeat:no-repeat
}
/* Session pages are a black screening room in every visitor-selected theme. */
body[data-page=watch]{
  --bg:#000;--surface:#000;--muted:#bdbdbd;--line:#333;--field:#777;
  scrollbar-color:var(--field) var(--bg)
}
::selection{background:var(--selection);color:var(--ink)}
h1,h2,h3{font-family:var(--display)}
.primary{background:var(--action);color:var(--action-ink)}
a.primary:hover{background:var(--hover);color:var(--action-ink)}
button,select,.search-field,.saved-item textarea,.account-form input{background:var(--surface);color:var(--ink);border-color:var(--field)}
button:hover{background:var(--line)}
.site-header nav a,.lead,.course-intro p,.watch-heading>p,.result p,.trail-stops p,.archive-details,.passage .speaker{color:var(--muted)}
.site-header a:hover{color:var(--violet)}
.next-session strong,footer .brand,.search-field input,.saved-item textarea{color:var(--ink)}
.archive-details,.session-row,.saved-item,.result,footer,.account-notice,.my-course,.table-scroll th,.table-scroll td,.trail-list a{border-color:var(--line)}
.account-form input,.search-field,.saved-item textarea{border-color:var(--field)}
.art-fallback{background:var(--surface);color:var(--ink)}
.timestamp{background:transparent;color:var(--violet)}
.toast{background:var(--surface);border-color:var(--field);color:var(--ink)}
.passage p{font-family:var(--reading)}
.site-header{gap:36px;z-index:10}
.appearance{position:relative;flex-shrink:0}
.site-header .preview-sound{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;color:var(--muted);font:400 14px Figtree,system-ui,sans-serif;flex-shrink:0}
.site-header .preview-sound[hidden]{display:none}
.preview-sound svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.preview-sound[aria-pressed=false] .sound-on,.preview-sound[aria-pressed=true] .sound-off{display:none}
.site-header .preview-sound[aria-pressed=true],.site-header .preview-sound:hover{color:var(--violet)}
.preview-sound:focus-visible{outline:3px solid var(--violet);outline-offset:4px;border-radius:4px}
@media(max-width:1100px){.preview-sound span{display:none}}
.appearance summary{list-style:none;display:flex;align-items:center;gap:8px;min-width:44px;min-height:44px;cursor:pointer;color:var(--muted);font-size:14px}
.appearance summary::-webkit-details-marker{display:none}
.appearance summary:hover{color:var(--ink)}
.appearance summary:focus-visible{outline:3px solid var(--violet);outline-offset:4px;border-radius:4px}
.appearance fieldset{position:absolute;right:0;top:48px;width:256px;margin:0;padding:16px;border:1px solid var(--field);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 28px #0005}
.appearance legend{float:left;width:100%;font-size:16px;font-weight:600;margin-bottom:10px;padding:0}
.appearance label{display:flex;gap:10px;align-items:center;min-height:48px;cursor:pointer;font-size:16px;clear:both}
.appearance input{width:18px;height:18px;accent-color:var(--violet);flex-shrink:0}
.appearance label:has(input:checked){color:var(--violet)}
.theme-dot{width:12px;height:12px;border-radius:50%;border:1px solid currentColor}
.dot-light{background:#20475f}.dot-observatory{background:#191c1f}.dot-library{background:#d4c1a1}
#theme-storage{font-size:13px;line-height:1.5;margin:12px 0 0}
.home-stage{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate;position:relative}
.home-intro{padding:40px 0 24px;position:relative}
.home-intro h1{font-size:clamp(38px,4.8vw,74px);margin:0 0 14px;max-width:100%;font-weight:650;line-height:1.08;letter-spacing:-.025em;white-space:nowrap;text-wrap:nowrap}
.home-intro .lead{font-size:clamp(20px,1.7vw,26px);line-height:1.4;max-width:560px;margin-bottom:0}
.home-stage .catalog{padding:20px 0 0;scroll-margin-top:24px;min-width:0}
.home-stage .section-heading{margin-bottom:22px;align-items:center}
.home-stage .section-heading h2,.home-stage .section-heading p{margin:0}
.home-stage .section-heading h2{font-size:38px}
.home-stage .section-heading p{font-size:15px}
.home-stage .course-grid{gap:32px 26px}
.home-stage .course-card img,.home-stage .course-card .art-fallback{border-radius:3px;aspect-ratio:4/3;object-fit:contain}
.home-stage .course-card h3{font-size:clamp(21px,1.85vw,28px);line-height:1.15;margin-top:14px;margin-bottom:9px;font-weight:650}
.home-stage .course-card p{font-size:15px;margin-bottom:0}
.brand-space{display:none}
.course-visual{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;isolation:isolate}
.course-visual img{display:block;width:100%;height:100%;object-fit:contain}
.course-preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;background:#000}
.is-previewing .course-preview-video{opacity:1}
@media(max-width:680px){.home-stage .course-card .course-visual{grid-column:1;grid-row:1/4;width:100px;align-self:center}}
.more-courses{padding-top:38px}
.home-stage .trails{padding-top:54px}
.home-stage #resume{padding:0 0 8px}
/* Observatory: small screening window beside an editorial introduction. */
[data-theme=observatory] .home-stage{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:38px}
[data-theme=observatory] .home-intro{grid-column:1;grid-row:1;padding-top:64px;min-height:280px}
[data-theme=observatory] .home-intro h1{font-weight:500;font-size:clamp(42px,5vw,76px);position:relative;z-index:1}
[data-theme=observatory] .home-intro .lead{font-family:var(--display);font-size:30px;line-height:1.25}
[data-theme=observatory] .home-stage>.catalog,[data-theme=observatory] .home-stage>#resume,[data-theme=observatory] .more-courses,[data-theme=observatory] .home-stage>.trails{grid-column:1/-1}
[data-theme=observatory] .home-stage .course-card h3{font-weight:500;font-size:29px}
@media(max-width:1100px){
  .site-header{gap:24px;padding-inline:24px}.site-header nav{gap:22px}
  .appearance summary span{display:none}
  [data-theme=observatory] .home-intro h1{font-size:clamp(36px,4.6vw,50px)}
  [data-theme=observatory] .home-intro .lead{font-size:26px}
  [data-theme=observatory] .home-intro{padding-top:40px;min-height:260px}
  .home-stage .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .site-header{height:auto;min-height:68px;padding:8px 16px;gap:12px;flex-wrap:wrap}.site-header nav{gap:12px;font-size:14px}.account-link{font-size:13px}.appearance summary{width:44px;justify-content:center}.appearance fieldset{position:fixed;top:64px;right:16px;left:auto;max-width:calc(100vw - 32px)}
  .home-stage,[data-theme=observatory] .home-stage,[data-theme=library] .home-stage{display:flex;flex-direction:column}
  .home-intro,[data-theme=observatory] .home-intro,[data-theme=library] .home-intro{padding:36px 0 24px;min-height:0}
  body::before{background-position:center,65% center}
  .home-intro h1,[data-theme=observatory] .home-intro h1,[data-theme=library] .home-intro h1{font-size:clamp(27px,7.9vw,46px);white-space:normal;text-wrap:balance}
  .home-intro .lead,[data-theme=observatory] .home-intro .lead{font-family:Figtree,system-ui,sans-serif;font-size:18px;max-width:30ch;margin-bottom:0}
  .home-stage .catalog,[data-theme=library] .catalog{padding-top:20px}
  .home-stage .section-heading{display:flex;gap:12px;margin-bottom:20px}
  .home-stage .section-heading h2{font-size:30px}
  .home-stage .section-heading p{font-size:12px}
  .home-stage .course-grid{gap:24px 16px}
  .home-stage .course-card h3,[data-theme=observatory] .home-stage .course-card h3{font-size:22px}
  .home-stage .course-card p{font-size:13px}
  .more-courses{padding-top:28px}
  footer{padding-inline:20px}
}
@media(max-width:370px){.site-header{gap:6px;padding-inline:12px}.site-header nav{gap:8px;font-size:13px}.brand{font-size:30px}.account-link{font-size:12px}}

/* Site-wide cards: one surface per course, reading unit, or account task. */
:root{--card-radius:16px;--card-padding:28px;--card-gap:20px}
:where(.content-card,.course-card,.course-intro,.session-row,.trail-list>a,.trail-stops>li,.trail-reflection,.resume-row,.result,.saved-item,.my-course,.account-section,.account-profile,.admin-totals,.admin-section,.empty-card,.next-session){
  background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);min-width:0
}
:where(.content-card,.course-intro,.session-row,.trail-list>a,.trail-stops>li,.trail-reflection,.resume-row,.result,.saved-item,.my-course,.account-section,.account-profile,.admin-totals,.admin-section,.empty-card,.next-session){padding:var(--card-padding)}
:where(.content-card,.account-section,.account-profile,.admin-section,.empty-card)>:last-child{margin-bottom:0}
:where(.course-card,.session-row,.trail-list>a,.resume-row,.result,.next-session):hover{border-color:var(--field)}
:where(.course-card,.session-row,.trail-list>a,.resume-row,.result,.next-session):focus-visible{outline:3px solid var(--violet);outline-offset:4px}
.home-stage{--course-gap:var(--card-gap)}
.home-stage .course-grid{gap:var(--course-gap)}
.home-stage .trail-list{gap:var(--card-gap)}
.home-stage .course-card{display:flex;flex-direction:column;padding:12px 12px 20px}
.home-stage .course-card img,.home-stage .course-card .art-fallback{border-radius:8px}
.home-stage .course-card h3,.home-stage .course-card p{margin-inline:8px}
.home-stage .course-card h3{font-size:clamp(21px,1.7vw,26px);min-height:2.3em}
.home-stage .course-card p{margin-top:auto}
/* A two-line title measure aligns metadata without a variable progress footer. */
.home-stage .course-card .course-visual .course-progress{position:absolute;inset:auto 0 0;z-index:1;display:block;appearance:none;-webkit-appearance:none;width:100%;height:3px;margin:0;border:0;border-radius:0;background:var(--line);color:var(--violet)}
.home-stage .course-card .course-progress[hidden]{display:none}
.course-progress::-webkit-progress-bar{background:var(--line)}
.course-progress::-webkit-progress-value{background:var(--violet)}
.course-progress::-moz-progress-bar{background:var(--violet)}
.home-stage .trail-list>a,.trail-list>a{padding:var(--card-padding);display:flex;flex-direction:column}
.trail-list>a>span{margin-top:auto}
.course-intro{gap:40px;margin-bottom:28px;padding:var(--card-padding)}
.course-intro>img,.course-intro>.art-fallback{max-height:360px;border-radius:12px}
[data-page=course] .container>details.archive-details{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:16px var(--card-padding);margin-bottom:36px}
.sessions,#results,#saved-list,#my-courses-list{display:grid;gap:16px}
.session-row{padding:20px 24px}
.trail-stops{list-style-position:inside;padding:0;display:grid;gap:24px}
.trail-stops>li{padding:var(--card-padding)}
.trail-stops>li>h2{margin-top:12px}
.trail-stops>li>:last-child,.trail-reflection p,.result p:last-child,.resume-row p{margin-bottom:0}
.trail-stops>li::marker{font-family:Figtree,system-ui,sans-serif;font-size:14px;color:var(--violet)}
/* One connected reading path in every appearance; only real ordered passages. */
.trail-stops{margin-left:12px;padding-left:28px;border-left:1px solid var(--field);gap:28px}
.trail-stops>li{position:relative}
.trail-stops>li::before{content:'';position:absolute;left:-35px;top:32px;width:11px;height:11px;border:2px solid var(--violet);border-radius:50%;background:var(--bg)}
@media(max-width:680px){
 .trail-stops{margin-left:5px;padding-left:20px}
 .trail-stops>li{padding:22px 18px}
 .trail-stops>li::before{left:-27px;top:28px}
}
.trail-reflection{padding:var(--card-padding)}
.home-stage .resume-row{width:calc((100% - var(--course-gap))/2);max-width:none;gap:14px;padding:12px 16px}
.home-stage .resume-row img{width:64px;height:48px;border-radius:8px;flex:none}
.home-stage .resume-row p{font-size:16px;line-height:1.35;margin:2px 0 0}
.home-stage .resume-meta{display:block;font-size:13px;line-height:1.4;color:var(--muted)}
.home-stage .resume-row progress{height:3px;margin:8px 0 0}
@media(max-width:1100px){.home-stage .resume-row{width:100%}}
.resume-row div,.my-course>div{min-width:0;overflow-wrap:anywhere}
.result,.saved-item{padding:var(--card-padding);max-width:85ch}
.saved-item p{max-width:65ch}
[data-page=search] #search-form{max-width:85ch;margin-bottom:20px}
#search-form .search-field{margin-bottom:0}
.account-page #account-content{max-width:740px}
#account-content.empty-card{padding:var(--card-padding)}
.account-form{margin:20px 0}
.account-section,.account-profile{margin-top:24px}
.account-profile{margin-top:0}
.account-profile .lead{overflow-wrap:anywhere}
.account-section .archive-details{margin-bottom:0;padding-bottom:0}
.account-section .archive-details .account-form{margin-bottom:0}
.my-course{padding:24px}
.my-course img{width:min(28%,200px)}
.admin-totals{padding:var(--card-padding);margin:24px 0;max-width:740px}
.admin-section{margin:24px 0}
.admin-page .admin-section h2{margin-top:0}
.admin-section .table-scroll{margin-bottom:0}
.admin-section tr:last-child td{border-bottom:0}
.prose-cards{display:grid;gap:24px;max-width:85ch}
.prose-cards p{max-width:70ch;line-height:1.7}
.prose-cards h2{margin-bottom:20px}
.prose-cards #privacy{scroll-margin-top:24px}
.empty-card .empty{padding:0}
.next-session{margin-top:20px;padding:var(--card-padding)}
.course-description{margin:0 0 36px;padding:var(--card-padding)}
.course-description h2,.session-abstract h2{font-size:26px;margin:0 0 16px}
.watch-media .session-abstract,.mobile-session-details .session-abstract{max-width:none;margin:20px 0 0;padding:24px}
.session-abstract p:last-of-type{margin-bottom:12px}
#player:fullscreen{max-height:none;width:100%;height:100%;object-fit:contain}
@media(min-width:681px){
  .watch-layout .transcript{max-height:none;overflow:visible;scrollbar-gutter:auto}
  .watch-media{height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:visible}
  .watch-media .player-card{position:relative;flex:none;z-index:2}
  .session-card-stack{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--field) var(--bg);scroll-padding-block:20px;padding:0 4px 4px}
  .session-card-stack:focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:12px}
  .watch-media video{max-height:50dvh}
}
@media(max-width:1000px){.course-intro{gap:24px}}
@media(max-width:680px){
  :root{--card-padding:20px;--card-gap:16px}
  .home-stage .course-grid{grid-template-columns:minmax(0,1fr)}
  .home-stage .course-card{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:16px;padding:16px;align-content:center}
  .home-stage .course-card img,.home-stage .course-card .art-fallback{grid-column:1;grid-row:1/4;width:100px;align-self:center}
  .home-stage .course-card h3,.home-stage .course-card p{grid-column:2;margin-inline:0}
  .home-stage .course-card h3,[data-theme=observatory] .home-stage .course-card h3,[data-theme=library] .home-stage .course-card h3{font-size:22px;margin:0 0 8px;min-height:0}
  .home-stage .course-card p{margin-top:0}
  .course-intro{padding:20px;gap:24px}
  .course-intro h1{font-size:34px}
  .course-intro>img{max-height:240px}
  .session-row{padding:16px;grid-template-columns:16px 60px minmax(0,1fr) 18px;column-gap:10px}
  .session-row>img{width:60px;border-radius:8px}
  .session-row h3{overflow-wrap:anywhere}
  .home-stage .resume-row{gap:12px;padding:12px}
  .home-stage .resume-row img{width:48px;height:36px}
  .my-course{padding:20px;flex-wrap:wrap}
  .my-course>div{flex:1 1 160px}
  .my-course img{width:80px}
  .admin-totals{gap:12px}
  .admin-totals dt{min-width:0}
  .admin-section{padding:20px 16px}
  .watch-media .session-abstract{display:none}
  .watch-media .session-card-stack{display:none}
  .watch-media .player-card{background:var(--surface)}
  .mobile-session-details .session-abstract{margin-top:0;padding:20px}
  .mobile-session-details .recording-card{padding:20px}
}
