.studio { --lab-paper:#f2edff; --lab-line:#a79aba; --lab-ink:#332555; --lab-violet:#6243bc; --lab-teal:#207e71; --lab-gold:#e8ac57; --lab-window:#fffcf6; }
[data-theme="dark"] .studio { --lab-paper:#302747; --lab-line:#82729c; --lab-ink:#f1e5fc; --lab-violet:#baa5ff; --lab-teal:#7ed9c7; --lab-gold:#efbb73; --lab-window:#433854; }
.studio h1 { font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.04em; margin:0; }
.studio:lang(ta) h1 { letter-spacing:0; }
.studio h2 { font-size:clamp(1.12rem,2vw,1.4rem); margin-block:0 .55rem; }
.studio h3 { font-size:1.05rem; margin-block:.9rem .4rem; }
.studio-kicker { color:var(--accent); font-size:.8rem; font-weight:800; }
.studio-kicker span { margin-inline:3px; }
.studio-banner { display:grid; align-items:center; gap:20px; padding:clamp(19px,4.5vw,49px); border-radius:24px; border:1px solid var(--line); background:var(--accent-soft); }
.studio-intro { display:grid; justify-items:start; gap:12px; }
.studio-intro h1 { font-size:clamp(2.35rem,5.9vw,5.25rem); line-height:1.08; }
.studio-intro p { max-width:46ch; }
.studio-banner-art { min-width:0; }
.studio-banner-art .lab-figure { border:1px solid var(--line); box-shadow:0 8px 0 color-mix(in srgb,var(--accent) 13%,transparent); }
.studio-actions,.studio-topline,.studio-next,.teacher-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.studio-actions { margin-top:6px; }
.studio-topline { justify-content:space-between; margin-bottom:12px; }
.studio-back { font-weight:800; color:var(--accent); }
.studio-overview-grid,.studio-layout { display:grid; gap:13px; align-items:start; }
.studio-overview-grid { margin-top:17px; }
.studio-opening { display:grid; align-items:center; gap:15px; margin-top:16px; }
.studio-opening .narration-panel { margin:0; }
.studio-exercises { margin-top:16px; }
.studio-exercise-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:10px; margin-top:13px; }
.studio-exercise-grid .study-mode-card { margin:0; }
.narration-panel {
  display:grid; gap:7px; margin:10px 0 14px; padding:11px; border:1px solid var(--line);
  background:var(--accent-soft); color:var(--ink); border-radius:14px; min-width:0;
}
.narration-panel audio { display:block; width:100%; max-width:100%; min-width:0; }
.narration-panel .studio-transcript { margin:2px 0 0; }
.narration-links { display:flex; flex-wrap:wrap; gap:2px 15px; font-size:.91rem; }
.narration-links a { display:inline-flex; align-items:center; min-height:36px; }
.narration-error { color:var(--ink); font-size:.9rem; }
.motion-story { margin:15px 0; padding:clamp(9px,2vw,19px); border:1px solid var(--line); border-radius:17px; background:var(--bg); }
.motion-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); gap:7px; margin:10px 0; }
.motion-steps .button { padding:7px 9px; justify-content:flex-start; text-align:start; }
.motion-steps .button span { display:grid; place-items:center; border-radius:50%; background:var(--accent); color:var(--on-accent); width:23px; height:23px; flex:none; }
.motion-frame > p { margin:7px 0; }
.motion-legend { display:flex; flex-wrap:wrap; gap:8px 17px; font-size:.87rem; }
.motion-key { display:inline-flex; gap:7px; align-items:center; }
.motion-key::before { content:""; width:17px; border-top:3px solid var(--lab-violet); }
.motion-key.bag::before { border-color:var(--lab-teal); }
.brake-sky { fill:#deece8; }
.brake-road { fill:#394461; }
.brake-road-line { stroke:#fff; }
.brake-body { fill:var(--lab-gold); }
.brake-inside { fill:#fff9e8; }
.brake-seat { fill:#30324b; }
.brake-bag,.brake-teal { fill:#116457; color:#116457; }
.brake-handle { fill:none; stroke:#116457; stroke-width:3; }
.brake-violet { fill:#5534a8; color:#5534a8; }
.site-update { background:var(--accent-soft); color:var(--ink); }
.site-update button { min-height:44px; }
.chapter-textbook { margin:14px 0; border-top:1px solid var(--line); padding-top:10px; }
.chapter-textbook h3 { margin:0 0 4px; }
.chapter-textbook ul { list-style:none; padding:0; margin:9px 0; }
.chapter-textbook li { display:grid; gap:2px; padding:8px 0; border-bottom:1px solid var(--line); }
.chapter-textbook li > span { color:var(--muted); font-size:.88rem; font-weight:750; }
.chapter-textbook .pdf-origin { font-size:.9rem; }
.curriculum-section,.curriculum-books { margin-top:21px; }
.curriculum-section > h2,.curriculum-books > h2 { margin-bottom:9px; }
.source-groups { display:grid; gap:8px; margin-top:12px; }
.source-search { display:grid; gap:4px; max-width:410px; margin-top:12px; font-weight:700; }
.source-search input { min-height:44px; width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
.source-search-status { margin-top:7px; color:var(--muted); }
.source-book { overflow:clip; background:var(--glass-surface); box-shadow:var(--glass-depth); }
.source-book > summary { cursor:pointer; padding:13px 15px; background:linear-gradient(145deg,var(--glass-rim),transparent 76%),var(--accent-soft); color:var(--ink); font-weight:800; }
.source-book > summary small,.source-book > summary span { margin-inline-start:8px; font-weight:650; color:var(--muted); }
.source-book > ol { padding:0 10px; margin:0; list-style:none; }
.source-chapter { padding:3px 0; }
.source-chapter + .source-chapter { border-top:1px solid var(--line); }
.source-unit-link { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 12px; align-items:center; padding:8px; min-height:48px; border-radius:12px; transition:background-color .28s ease; overflow-wrap:anywhere; }
a.source-unit-link:hover,.source-unit-link:focus-visible { background:color-mix(in srgb,var(--accent-soft) 64%,transparent); }
.source-unit-link:focus-visible { outline-offset:-3px; }
.source-unit-copy { min-width:0; }
.source-unit-action { grid-column:2; color:var(--accent); font-weight:740; font-size:.88rem; }
a.source-unit-link:hover .source-unit-action,.source-unit-link:focus-visible .source-unit-action { text-decoration:underline; text-underline-offset:3px; }
div.source-unit-link .source-unit-action { color:var(--muted); }
.source-chapter small { display:block; color:var(--muted); font-size:.89rem; }
.source-number { min-width:30px; padding:3px; border-radius:8px; background:var(--accent-soft); color:var(--accent); text-align:center; }
.coverage-table table { width:100%; border-collapse:collapse; margin:12px 0; text-align:start; table-layout:fixed; }
.coverage-table th,.coverage-table td { padding:8px 5px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; text-align:start; }
.coverage-table thead { background:var(--accent-soft); }
.coverage-review { margin-top:14px; color:var(--muted); }
.chapter-card-copy .chapter-edition,.chapter-card-copy .chapter-motion-label { color:var(--accent); font-weight:750; }
.coverage-panel .page-actions { margin-block:12px; }
.lesson-status { color:var(--muted); font-size:.88rem; font-weight:650; }
.lesson-motion {
  --lm-bg:#efeafa; --lm-violet:#6547b0; --lm-teal:#247a6c; --lm-grid:#9e95b2; --lm-ink:#292043; --lm-gold:#f6c472;
  border:1px solid var(--line); border-radius:22px; padding:clamp(12px,3vw,22px); background:var(--glass-surface); box-shadow:var(--glass-depth);
}
[data-theme="dark"] .lesson-motion { --lm-bg:#322749; --lm-violet:#c2adfd; --lm-teal:#89dfcd; --lm-grid:#817294; --lm-ink:#f6effd; --lm-gold:#f5c777; }
.lm-heading h2 { margin-bottom:7px; }
.lm-stage { position:relative; isolation:isolate; background:radial-gradient(ellipse at 5% 0%,var(--glass-rim),transparent 75%),var(--lm-bg); border-radius:16px; overflow:hidden; box-shadow:inset 0 1px 0 var(--glass-rim); }
.lm-chart { width:100%; height:auto; display:block; max-height:330px; }
.lm-chart.lm-outgoing { position:absolute; inset:0; pointer-events:none; }
.lm-frame { fill:none; stroke:var(--lm-grid); stroke-dasharray:3 5; }
.lm-medium { fill:var(--lm-teal); fill-opacity:.18; stroke:var(--lm-teal); stroke-width:1.5; }
.lm-fill { fill:var(--lm-violet); }.lm-gold { fill:var(--lm-gold); }.lm-ghost { fill:none; stroke:var(--lm-grid); stroke-width:1.5; }
.lm-light { fill:var(--lm-gold); opacity:.55; }
.lm-shadow { fill:var(--lm-ink); }
html[lang="ta"] .lm-lang-en,html[lang="en"] .lm-lang-ta { display:none; }
.lm-axis,.lm-accent,.lm-second,.lm-grid,.lm-diagonal { fill:none; stroke-linecap:round; }
.lm-axis { stroke:var(--lm-ink); stroke-width:2; }.lm-accent { stroke:var(--lm-violet); stroke-width:4; }.lm-second { stroke:var(--lm-teal); stroke-width:4; }
.lm-grid { stroke:var(--lm-grid); stroke-width:1; stroke-dasharray:3 5; }.lm-diagonal { stroke:var(--lm-ink); stroke-width:2; stroke-dasharray:5 5; }
.lm-label,.lm-tick,.lm-on-fill { fill:var(--lm-ink); font-weight:800; font-size:20px; }
.lm-on-fill { fill:var(--on-accent); }.lm-tick { font-size:15px; }
.lm-caption { min-height:3em; margin:9px 0; }
.lm-controls { display:flex; flex-wrap:wrap; align-items:end; gap:7px; }
.lm-controls .button:disabled { opacity:.6; cursor:default; }
.lm-controls [data-motion-step] { min-width:44px; padding-inline:8px; }
.lm-controls [data-motion-play] { flex:none; }
.lesson-panel > .lesson-motion { margin-top:18px; }
.hero-motion-shell {
  min-width:0; display:grid; gap:8px; padding:10px; border:1px solid var(--line);
  border-radius:24px; background:var(--glass-surface); box-shadow:var(--glass-depth);
}
.hero-motion-shell .hero-figure { border-radius:15px; box-shadow:none; }
.hero-motion-shell .hero-figure img { aspect-ratio:3.1; object-position:50% 42%; }
.hero-motion-shell .lesson-motion { border:0; padding:5px 7px 7px; }
.hero-motion-shell .lm-caption { min-height:2.6em; }
.lm-scrubber { flex:1 1 100px; display:grid; justify-items:start; min-width:0; font-weight:700; font-size:.85rem; }
.lm-scrubber input { width:100%; margin:0; min-height:32px; accent-color:var(--accent); }
.lm-pan { transform:translateY(var(--pan-shift)); }
.lm-beam { transform:rotate(var(--beam-tilt)); transform-origin:240px 91px; }
.lm-take-away { opacity:0; }
@media (min-width:560px) {
  .source-unit-link { grid-template-columns:auto minmax(0,1fr) auto; }
  .source-unit-action { grid-column:3; }
}
@media (prefers-reduced-motion:no-preference) {
  .lm-activated .lm-pop { animation:lm-mark .48s var(--glide) both; transform-box:fill-box; transform-origin:center; }
  .lm-activated .lm-trace { animation:lm-trace-in .55s var(--glide) both; }
  .lm-activated .lm-join { animation:lm-join .8s var(--glide) both; }
  .lm-activated .lm-take-away { animation:lm-take-away .76s cubic-bezier(.42,0,.26,1) both; }
  .lm-activated .lm-pan,.lm-activated .lm-beam { animation:lm-weigh .8s var(--glide) both; }
  .lm-revealed { animation:lm-reveal .6s var(--glide) var(--lm-delay,0ms) both; }
  @keyframes lm-join { from { transform:translate(var(--from-x),var(--from-y)); } }
  @keyframes lm-take-away { from { opacity:1; } to { opacity:0; transform:translateY(-32px); } }
  @keyframes lm-weigh { from { transform:none; } }
  @keyframes lm-mark { from { scale:.9; opacity:.62; } }
  @keyframes lm-trace-in { from { opacity:.25; } }
  @keyframes lm-reveal { from { opacity:.76; translate:0 8px; } }
}
.studio-panel,.studio-scene { padding:clamp(15px,3vw,29px); min-width:0; }
.studio-progress { display:grid; gap:6px; margin:8px 0 15px; font-size:.88rem; font-weight:700; color:var(--muted); }
.studio-progress progress,.studio-results progress { height:10px; }
.studio-outline { padding:9px 13px; }
.studio-outline summary,.studio-transcript summary,.studio-hint summary { cursor:pointer; font-weight:750; padding:7px 0; color:var(--accent); }
.studio-path { list-style:none; padding:0; margin:5px 0; }
.studio-path li { margin:3px 0; }
.studio-path a { display:flex; gap:8px; padding:8px 5px; align-items:center; border-radius:10px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.studio-path a:hover,.studio-path a[aria-current] { color:var(--accent); background:var(--accent-soft); }
.studio-node { flex:0 0 auto; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--section); border:1px solid var(--line); font-size:.78rem; }
.studio-path small { display:block; font-weight:600; color:var(--muted); }
.studio-scene-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin:9px 0 14px; }
.studio-scene-head h1 { flex:1 1 200px; }
.studio-steps { display:flex; flex-wrap:wrap; gap:5px; margin:7px 0; }
.studio-steps a { display:inline-flex; align-items:center; border-radius:99px; min-height:44px; padding:5px 10px; color:var(--muted); font-weight:750; font-size:.87rem; border:1px solid var(--line); }
.studio-steps a[aria-current],.studio-steps a:hover,.studio [aria-pressed="true"] { color:var(--accent); background:var(--accent-soft); border-color:var(--accent); }
.studio-figure,.studio-simulation { margin:11px 0; }
.studio-figure figcaption { padding:6px 0 1px; font-size:.88rem; }
.lab-figure { display:block; width:100%; height:auto; background:var(--lab-paper); border-radius:15px; }
.studio-image { object-fit:contain; max-height:400px; }
.lab-board { fill:none; stroke:var(--lab-line); stroke-width:1; stroke-dasharray:3 5; }
.lab-ink { fill:var(--lab-ink); color:var(--lab-ink); }
.lab-violet { fill:var(--lab-violet); color:var(--lab-violet); }
.lab-teal { fill:var(--lab-teal); color:var(--lab-teal); }
.lab-gold { fill:var(--lab-gold); color:var(--lab-gold); }
.lab-window { fill:var(--lab-window); stroke:var(--lab-line); stroke-width:1.5; }
.lab-label { fill:var(--lab-ink); font-weight:800; font-size:17px; }
.lab-axis,.lab-line,.lab-dashed { stroke:var(--lab-line); stroke-width:2; stroke-linecap:round; }
.lab-dashed { stroke-dasharray:5 5; }
.lab-arrow { fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; }
.lab-arrowhead { stroke:none; }
.lab-moving { animation:lab-slide .85s ease-in-out both; }
.lab-lever.lab-moving { transform-origin:120px 131px; animation:lab-turn .65s ease-out both; }
.lab-bar { transform-origin:82px 181px; animation:lab-reveal .28s ease-out; }
.lab-appear { animation:lab-reveal .65s ease-out both; }
.lab-lift { animation:lab-lift .75s ease-in both; }
@keyframes lab-slide { to { transform:translateX(var(--travel,0)); } }
@keyframes lab-turn { to { transform:rotate(var(--tilt,0deg)); } }
@keyframes lab-reveal { from { opacity:.55; } }
@keyframes lab-lift { to { transform:translateY(var(--travel-y)); } }
.studio-lead { font-size:1.07rem; color:var(--ink); line-height:1.58; }
.studio-hook { color:var(--ink); font-weight:750; }
.studio-replay { margin-bottom:9px; }
.studio-depth,.studio-choices { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
.studio-depth .button { font-size:.88rem; }
.studio-formula,.studio-trap,.studio-feedback,.studio-memory,.studio-teach { border:1px solid var(--line); border-radius:13px; padding:clamp(12px,2.4vw,19px); margin:12px 0; }
.studio-formula { background:var(--accent-soft); }
.studio-formula div { color:var(--accent); font-family:ui-monospace,monospace; font-size:clamp(.96rem,2vw,1.22rem); font-weight:800; margin-top:7px; overflow-wrap:anywhere; }
.studio-trap { border-inline-start:4px solid var(--lab-gold); }
.studio-trap p,.studio-feedback p { margin-top:3px; }
.studio-terms { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:8px; }
.studio-terms div,.studio-metrics div { border:1px solid var(--line); border-radius:10px; padding:8px 11px; background:var(--bg); min-width:0; }
.studio-terms p { font-size:.93rem; }
.studio-controls { display:grid; gap:4px; margin:9px 0 14px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; min-width:0; }
.studio-controls legend { font-weight:800; }
.studio-controls label { display:flex; align-items:baseline; justify-content:space-between; gap:8px; font-weight:680; }
.studio-controls output { color:var(--accent); white-space:nowrap; font-weight:750; }
.studio-controls input { width:100%; height:34px; accent-color:var(--accent); }
.studio-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); gap:7px; margin:9px 0; }
.studio-metrics dt { font-size:.87rem; color:var(--muted); }
.studio-metrics dd { color:var(--accent); font-weight:800; font-size:1.12rem; overflow-wrap:anywhere; }
.studio-feedback { background:var(--accent-soft); }
.studio-feedback.is-correct { border-inline-start:4px solid var(--lab-teal); }
.studio-feedback.is-wrong { border-inline-start:4px solid var(--lab-gold); }
.studio-fieldset { border:0; margin:0; padding:0; min-width:0; }
.studio-question { display:grid; gap:10px; justify-items:start; margin:12px 0; }
.studio-question > fieldset,.studio-question > .studio-feedback,.studio-question .options { width:100%; }
.studio-question input[type="text"],.studio-match select,.studio-teach textarea { width:100%; padding:8px 10px; min-height:44px; border:1px solid var(--line); border-radius:10px; background:var(--bg); font:inherit; color:var(--ink); }
.studio-question fieldset[disabled] { opacity:.88; }
.studio-hint { font-size:.92rem; }
.studio-match { display:grid; gap:5px; }
.studio-match label,.studio-teach label { font-weight:750; }
.studio-match select { margin-bottom:7px; }
.studio-order { margin:8px 0; padding-inline-start:24px; }
.studio-order li { padding:7px 9px; margin:5px 0; border:1px solid var(--line); border-radius:10px; }
.studio-order li > span { display:inline-block; padding:3px 4px; }
.order-controls { display:inline-flex; gap:4px; flex-wrap:wrap; }
.order-controls button:disabled { opacity:.42; }
.studio-memory { background:var(--accent-soft); }
.studio-memory .button { margin:8px 5px 5px 0; }
.studio-lyrics { margin:7px 0 12px; padding-inline-start:23px; }
.studio-lyrics li { padding:5px 7px; border-radius:6px; }
.studio-lyrics li[aria-current] { background:var(--accent); color:var(--on-accent); font-weight:800; }
.studio-quiz-meta { display:flex; justify-content:space-between; gap:6px; color:var(--muted); font-size:.88rem; font-weight:700; margin-bottom:6px; }
.studio-results { border:1px solid var(--line); padding:15px; border-radius:13px; }
.studio-result-value { display:flex; align-items:center; flex-wrap:wrap; gap:5px 14px; }
.studio-result-value strong { font-size:clamp(2.2rem,6vw,3.5rem); color:var(--accent); }
.studio-results .button { margin:5px 4px 5px 0; }
.studio-latest { margin-top:7px; }
.studio-badges { display:flex; flex-wrap:wrap; gap:6px; margin:9px 0; }
.studio-badges span { display:inline-block; background:var(--accent-soft); color:var(--accent); border:1px solid var(--line); border-radius:99px; padding:3px 8px; font-size:.86rem; font-weight:800; }
.studio-flashcards { margin-top:15px; }
.studio-flashcards > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:7px; }
.studio-flashcards details { border:1px solid var(--line); border-radius:10px; padding:8px 10px; background:var(--bg); }
.studio-flashcards summary { cursor:pointer; font-weight:750; }
.study-mode-card { min-width:0; border:1px solid var(--line); border-radius:14px; padding:13px; background:var(--bg); }
.study-mode-card h3 { margin:0 0 4px; }
.study-mode-card .button { margin-top:10px; }
.study-mode-card + .study-mode-card { margin-top:9px; }
.diagnostic-note { margin:0 0 14px; padding:10px 13px; background:var(--accent-soft); border-radius:10px; }
.diagnostic-review { padding:12px 14px; border:1px solid var(--line); border-radius:13px; margin:15px 0; }
.diagnostic-review summary { cursor:pointer; color:var(--accent); font-weight:750; }
.diagnostic-review li + li { margin-top:12px; }
.diagnostic-review ol { padding-inline-start:24px; }
.practice-hint,.worked-example { padding:9px 13px; margin:10px 0; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.practice-hint summary,.worked-example summary { color:var(--accent); font-weight:750; cursor:pointer; }
.practice-hint p,.worked-example p { margin:5px 0; }
.worked-example ol { padding-inline-start:22px; margin-bottom:5px; }
.worked-example li { padding-block:5px; }
.worked-example b { color:var(--accent); overflow-wrap:anywhere; }
.memory-board {
  --memory-rail:color-mix(in srgb,var(--accent) 35%,var(--line));
  margin:12px 0 19px; padding:clamp(10px,2.5vw,24px); border:1px solid var(--line); border-radius:19px;
  background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 0) 0 0/15px 15px var(--bg);
}
.memory-hub {
  display:flex; width:fit-content; max-width:100%; align-items:center; justify-content:center; gap:9px;
  margin:0 auto; padding:8px 13px; border-radius:14px; color:var(--on-accent); background:var(--accent);
  font-size:clamp(1rem,2.5vw,1.28rem); line-height:1.45; text-align:center;
}
.memory-hub > span { font-size:1.35em; }
.memory-instruction { max-width:50ch; margin:9px auto 14px; text-align:center; color:var(--ink); font-size:.94rem; }
.memory-branches { position:relative; display:grid; gap:12px; padding-inline-start:11px; }
.memory-branches::before { content:""; position:absolute; inset:0 auto 12px 0; border-inline-start:2px solid var(--memory-rail); }
.memory-branch {
  --branch-paper:color-mix(in srgb,var(--tint) 40%,var(--paper));
  --picture-bg:var(--tint); --picture-dark:var(--tint-ink); --picture-fill:var(--tab); --picture-pop:#fbca72;
  position:relative; min-width:0; border:1px solid var(--memory-rail); border-radius:14px;
  padding:clamp(8px,1.5vw,13px); background:var(--branch-paper);
}
.memory-branch::before { content:""; position:absolute; top:20px; inset-inline-end:100%; width:12px; border-top:2px solid var(--memory-rail); }
[data-theme="dark"] .memory-branch { --branch-paper:color-mix(in srgb,var(--tint) 9%,var(--paper)); }
.memory-branch h3,.studio .memory-branch h3 { margin:0 0 8px; color:var(--ink); font-size:1rem; }
.memory-branch ul {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  align-items:start; gap:8px; list-style:none; padding:0; margin:0;
}
.memory-branch li { min-width:0; }
.memory-node { border-radius:11px; border:1px solid var(--line); background:var(--paper); overflow:clip; }
.memory-node summary {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 5px; align-items:center;
  cursor:pointer; list-style:none; padding:6px; font-size:.94rem; line-height:1.45; font-weight:750;
  color:var(--ink); overflow-wrap:anywhere;
}
.memory-node summary::-webkit-details-marker { display:none; }
.memory-node summary:focus-visible { outline-offset:-3px; }
.memory-node summary:hover { background:var(--accent-soft); }
.memory-indicator { width:8px; height:8px; margin:0 4px; border:solid var(--accent); border-width:0 2px 2px 0; transform:rotate(45deg); }
.memory-node[open] .memory-indicator { transform:rotate(225deg); }
.memory-picture { width:100%; max-height:125px; grid-column:1/-1; border-radius:8px; background:var(--picture-bg); }
.picture-object,.picture-signal,.picture-wheel,.picture-line,.picture-arrow,.picture-outline,.picture-dash {
  fill:none; stroke:var(--picture-dark); stroke-width:3.2px; stroke-linecap:round; stroke-linejoin:round;
}
.picture-object { fill:var(--picture-fill); }
.picture-signal { fill:var(--picture-pop); }
.picture-wheel,.picture-label { fill:var(--picture-dark); }
.picture-dash { stroke-dasharray:5 7; }
.picture-cutout { fill:var(--picture-bg); }
.picture-label { font-size:17px; font-weight:800; }
.recap-figure { display:block; grid-column:1/-1; min-width:0; margin:0; }
.memory-picture.precise-recap { display:block; width:100%; max-height:none; aspect-ratio:16/9; }
.recap-label { fill:var(--picture-dark); font:600 15px "Noto Sans Tamil","Nirmala UI","Segoe UI",sans-serif; }
.recap-figure .recap-caption { display:block; padding:10px 3px 4px; color:var(--ink); font-size:.85rem; font-weight:500; line-height:1.65; }
.precise-recap .picture-line,.precise-recap .picture-outline,.precise-recap .picture-object,.precise-recap .picture-signal { stroke-linejoin:miter; stroke-width:2; }
.precise-recap .picture-dash { stroke-width:1.5; }
.memory-cue { border-top:1px solid var(--line); padding:8px; font-size:.92rem; }
.memory-cue p { margin:0; }
.memory-cue a { display:inline-flex; align-items:center; gap:5px; min-height:44px; }
.studio-teach textarea { resize:vertical; margin:6px 0; }
.studio-teach form { margin-top:9px; }
.studio-transcript { margin-top:13px; border-top:1px solid var(--line); }
.studio-transcript video { width:100%; border-radius:12px; }
.studio-next { justify-content:space-between; margin-top:16px; padding-top:13px; border-top:1px solid var(--line); }
.studio-audio-status { color:var(--muted); font-size:.9rem; margin-bottom:7px; }
.teacher-panel { max-width:820px; }
.teacher-actions { justify-content:space-between; margin-bottom:12px; }
.teacher-sheet { padding:clamp(16px,4vw,34px); }
.teacher-sheet h2,.teacher-line { margin:7px 0; }
.teacher-questions { padding-inline-start:23px; }
.teacher-questions > li { margin-bottom:16px; }
.teacher-questions ul { padding-inline-start:18px; }
.teacher-blank { height:18px; border-bottom:1px solid var(--line); }
.resume-card { padding:16px; margin-top:15px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; }
.resume-card strong { display:block; }
.home-resume { margin-bottom:16px; }
@media (min-width:820px) {
 .studio-banner { grid-template-columns:1.05fr 1fr; }
 .studio-opening { grid-template-columns:1fr 1.2fr; }
 .studio-overview-grid { grid-template-columns:1.45fr 1fr; }
 .studio-layout { grid-template-columns:minmax(210px,25%) minmax(0,1fr); }
 .studio-outline { position:sticky; top:calc(var(--nav-height) + 12px); max-height:calc(100vh - var(--nav-height) - 26px); overflow:auto; }
}
@media print {
 @page { size:A4; margin:15mm; }
 body:has(.teacher-sheet) { display:block; background:#fff; color:#111; font-size:10.5pt; }
 body:has(.teacher-sheet) > :not(main),.teacher-actions { display:none !important; }
 .teacher-panel { padding:0; margin:0; max-width:none; width:auto; }
 .teacher-sheet { padding:0; border:0; border-radius:0; box-shadow:none; background:#fff; color:#111; }
 .teacher-sheet p,.teacher-sheet .studio-kicker { color:#111; }
 .teacher-sheet h1 { font-size:23pt; }
 .teacher-questions > li { break-inside:avoid; margin-bottom:11pt; }
 .teacher-blank { border-color:#777; }
}
