﻿/* Practice surfaces: one base rule per component, then responsive overrides.
   Purple theme tokens come from styles.css; auth and membership stay there. */
.practice-library {
  width:min(1120px,100%); margin:0 auto;
  padding:1.5rem 1.5rem calc(3rem + env(safe-area-inset-bottom)); color:var(--ink);
}
.practice-library [hidden],.training-overview[hidden] { display:none!important; }
.practice-library :is(button,input,select) { min-height:44px; }
.practice-library button { cursor:pointer; }
.practice-library button:disabled { cursor:default; opacity:.5; }
:is(.practice-library,.home-view,.direction-view,.practice-view) :focus-visible {
  outline:3px solid var(--green-dark); outline-offset:4px;
}
.practice-library h3 { font-size:1rem; margin:1.5rem 0 .75rem; }
.library-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.library-heading h2 { font-size:clamp(1.6rem,3vw,2.15rem); line-height:1.4; margin:.35rem 0; letter-spacing:-.035em; }
.library-heading p,.library-ai-heading p { color:var(--muted); margin:.5rem 0; line-height:1.8; font-size:.9rem; }
.library-count { background:var(--green-soft); color:var(--green-dark); padding:.65rem .9rem; border-radius:999px; white-space:nowrap; font-size:.8rem; }
.library-count:empty { display:none; }
.library-tabs { display:flex; gap:.5rem; padding:.4rem; border:1px solid var(--line); background:var(--surface); border-radius:1rem; margin-bottom:1.5rem; }
.library-tabs button { flex:1; border:0; background:transparent; color:var(--muted); border-radius:.7rem; padding:.65rem; font:inherit; font-size:.9rem; }
.library-tabs button[aria-pressed=true] { background:var(--green-dark); color:white; font-weight:650; }
.library-mode-note { color:var(--muted); font-size:.85rem; line-height:1.8; margin:1.25rem 0; }
.library-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.library-category { display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; text-align:left; border:1px solid var(--line); border-radius:.9rem; padding:1rem; background:var(--surface); color:var(--ink); font:inherit; }
.library-category strong { font-size:.95rem; }
.library-category span { color:var(--muted); font-size:.78rem; }
.library-category[aria-pressed=true] { border-color:var(--green); background:var(--green-soft); box-shadow:inset 3px 0 0 var(--green); }
.library-category[aria-pressed=true] strong { color:var(--green-dark); }
.library-category-note { margin:.8rem 0 1.5rem; color:var(--muted); font-size:.85rem; line-height:1.8; padding-left:.8rem; border-left:2px solid var(--green); }
.library-scenes { display:flex; flex-wrap:wrap; gap:.5rem; }
.library-scenes button { display:inline-flex; align-items:center; gap:.6rem; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:999px; padding:.5rem .9rem; font:inherit; font-size:.85rem; }
.library-scenes small { color:var(--muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.library-scenes button[aria-pressed=true] { background:var(--green-dark); color:white; border-color:var(--green-dark); }
.library-scenes button[aria-pressed=true] small { color:inherit; }
.library-list-tools { display:flex; align-items:flex-end; gap:.75rem; flex-wrap:wrap; margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.library-search { display:block; flex:1 1 19rem; font-size:.85rem; }
.library-search input { display:block; width:100%; margin-top:.5rem; padding:.75rem 1rem; border:1px solid var(--line); border-radius:.75rem; background:var(--surface); color:var(--ink); font:inherit; }
.library-order { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.library-order>span { font-size:.8rem; color:var(--muted); margin-right:.25rem; }
.library-order button { border:1px solid var(--line); border-radius:.6rem; padding:.5rem .8rem; background:var(--surface); color:var(--muted); font:inherit; font-size:.85rem; }
.library-order button[aria-pressed=true] { background:var(--green-soft); border-color:var(--green); color:var(--green-dark); font-weight:650; }
.library-muted { color:var(--muted); font-size:.82rem; line-height:1.8; }
#library-path { margin:1rem 0 1.5rem; overflow-wrap:anywhere; }
.library-workspace { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:1.5rem; align-items:start; }
.library-workspace>section { min-width:0; }
.library-workspace.is-empty { grid-template-columns:1fr; }
.library-case-panel>h3 { font-size:.85rem; color:var(--muted); margin:.25rem 0 1rem; }
.library-list { display:grid; gap:.6rem; }
.library-item { display:block; width:100%; text-align:left; padding:1rem; border:1px solid var(--line); background:var(--surface); border-radius:.8rem; color:var(--ink); font:inherit; }
.library-item strong,.library-item small { display:block; }
.library-item strong { font-size:.95rem; line-height:1.65; }
.library-item small { font-size:.75rem; margin-top:.4rem; color:var(--muted); line-height:1.6; }
.library-item-objective { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.8rem; color:var(--muted); line-height:1.75; margin-top:.6rem; }
.library-item[aria-pressed=true] { border-color:var(--green); background:var(--green-soft); box-shadow:inset 3px 0 0 var(--green); }
.library-item[aria-pressed=true] strong { color:var(--green-dark); }
.library-empty { padding:2rem 1.25rem; border:1px dashed var(--line); border-radius:1rem; background:var(--surface); text-align:center; }
.library-empty strong { font-size:1rem; }
.library-empty p { color:var(--muted); font-size:.85rem; line-height:1.8; margin:.75rem 0 1rem; }
.library-detail { padding:1.75rem; border:1px solid var(--line); border-radius:1.2rem; background:var(--surface); min-width:0; scroll-margin-top:1.5rem; }
.library-detail h3 { font-size:1.5rem; letter-spacing:-.025em; line-height:1.55; margin:.5rem 0; overflow-wrap:anywhere; }
.library-reading-meta { font-size:.78rem; color:var(--muted); line-height:1.8; margin:.5rem 0 1.25rem; }
.library-learning { font-size:.9rem; line-height:1.8; margin-bottom:1rem; }
.library-objective { margin:.75rem 0; padding:1rem; background:var(--green-soft); border-left:3px solid var(--green); border-radius:0 .65rem .65rem 0; }
.library-guide { padding:.6rem .9rem; border:1px solid var(--line); border-radius:.7rem; }
.library-guide summary { cursor:pointer; min-height:44px; line-height:1.7; padding:.55rem 0; }
.library-source-links { font-size:.8rem; }
.library-source-links a { display:block; padding:.45rem 0; overflow-wrap:anywhere; color:var(--green-dark); text-decoration:underline; text-underline-offset:.2em; }
.library-detail .library-script { white-space:pre-wrap; overflow-wrap:anywhere; max-width:38em; font-size:1.125rem; line-height:2.15; padding:1.25rem 0; margin:.5rem auto 1rem; }
.library-player-controls { display:flex; flex-wrap:wrap; gap:.5rem; border-top:1px solid var(--line); padding-top:1.25rem; }
.library-player-controls button { border:1px solid var(--line); border-radius:.7rem; padding:.65rem .85rem; background:var(--surface); color:var(--ink); font:inherit; font-size:.85rem; }
.library-player-controls button:first-child { background:var(--green-dark); color:#fff; border-color:var(--green-dark); }
.library-player-status { font-size:.85rem; color:var(--green-dark); line-height:1.8; min-height:1.8em; }
.library-current-sentence { padding:.85rem 1rem; border-left:3px solid var(--green); background:var(--green-soft); font-size:1.05rem; line-height:1.9; overflow-wrap:anywhere; }
.library-tip { padding:1rem; background:var(--surface-soft); border-radius:.75rem; font-size:.85rem; line-height:1.9; }
.library-detail ol { padding-left:1.3rem; font-size:.85rem; line-height:1.9; color:var(--muted); }
.library-detail li+li { margin-top:.4rem; }
.library-back { display:none; }
.library-reader-link { display:flex; width:100%; margin-top:1.25rem; padding:.8rem; border:1px solid var(--green); border-radius:.75rem; background:var(--green-soft); font-weight:650; }
.reading-tracker { padding:1rem; margin:1rem 0; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); }
.reading-tracker h4 { margin:0 0 .5rem; font-size:.95rem; }
.reading-char { opacity:.85; transition:opacity .12s ease,background-color .12s ease; }
.reading-char.is-read { opacity:1; color:var(--green-dark); background:var(--green-soft); box-shadow:inset 0 -2px 0 var(--green); }
.reading-char.is-tentative { opacity:1; text-decoration:underline dotted; text-underline-offset:.25em; }
.reading-progress { display:block; font-size:.85rem; color:var(--green-dark); line-height:1.8; }
.reading-controls { display:flex; flex-wrap:wrap; gap:.5rem; margin:.75rem 0; }
.reading-controls button { padding:.65rem .8rem; border:1px solid var(--line); border-radius:.65rem; background:var(--surface); color:var(--ink); font:inherit; font-size:.85rem; min-height:44px; }
.reading-controls button:first-child { background:var(--green-dark); color:#fff; }
.reading-consent { display:flex; align-items:flex-start; gap:.5rem; font-size:.82rem; line-height:1.8; padding:.5rem 0; min-height:44px; }
.practice-library .reading-consent input { width:1.1rem; height:1.1rem; min-height:1.1rem; margin-top:.3rem; flex-shrink:0; }
.reading-status { font-size:.84rem; line-height:1.8; color:var(--green-dark); }
.reading-tracker .library-muted { overflow-wrap:anywhere; }
#reference-draft-text { white-space:pre-wrap; }
.reference-draft .reading-char { font-size:inherit; }
.library-voice-settings { margin-top:2rem; padding:1.25rem; border:1px solid var(--line); border-radius:1rem; display:flex; flex-wrap:wrap; gap:1rem; background:var(--surface); }
.library-voice-settings label { font-size:.85rem; display:flex; align-items:center; gap:.5rem; min-width:0; }
.library-voice-settings select { padding:.5rem; border:1px solid var(--line); border-radius:.6rem; max-width:100%; background:var(--surface); color:var(--ink); }
.library-voice-settings p { flex-basis:100%; font-size:.8rem; line-height:1.8; color:var(--muted); margin:0; }
.library-ai-heading { margin:1.5rem 0 1rem; }
.library-ai-heading h3 { font-size:1.4rem; margin:.5rem 0; }
.library-notice { font-size:.85rem; line-height:1.8; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface); }
.library-generate-form { max-width:750px; padding:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:1rem; }
.library-generate-form label { display:block; font-size:.9rem; font-weight:600; margin-top:1.25rem; }
.library-generate-form label:first-child { margin-top:0; }
.library-generate-form input,.library-generate-form textarea { display:block; width:100%; font:inherit; font-weight:400; line-height:1.8; margin-top:.5rem; border:1px solid var(--line); border-radius:.75rem; padding:.75rem; background:var(--surface); color:var(--ink); }
.library-generate-form textarea { resize:vertical; }
.library-form-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin-top:1.25rem; }
.library-generate-form .btn-main { font-size:.9rem; padding:.75rem 1.4rem; }
.library-generate-form [role=status] { font-size:.85rem; line-height:1.8; color:var(--green-dark); }
#library-more { margin-top:.75rem; width:100%; }
#library-generated { margin-top:1.5rem; max-width:850px; }
#library-load-status { color:var(--muted); font-size:.9rem; line-height:1.8; }
#library-load-status:empty { display:none; }
.library-skeleton { padding:1rem; border:1px solid var(--line); border-radius:.9rem; background:var(--surface); min-height:6.5rem; }
.library-skeleton span { display:block; height:.8rem; margin:.4rem 0 .85rem; border-radius:.3rem; background:var(--surface-soft); animation:practice-pulse 1.4s ease-in-out infinite alternate; }
.library-skeleton span:last-child { width:65%; }
@keyframes practice-pulse { to { opacity:.35; } }

/* Home: consistent card rhythm and honest record states. */
.home-view .coach-banner { margin:1.5rem 0; padding:1.35rem; gap:1rem; background:var(--green-dark); box-shadow:none; }
.home-view .coach-banner h3 { font-size:1.05rem; line-height:1.65; }
.home-view .coach-banner :is(.eyebrow,p) { color:#fff; }
.home-view .coach-banner p { line-height:1.8; font-size:.85rem; }
.home-view .home-intro { color:var(--muted); }
.training-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem 0; margin:1.5rem 0 2.5rem; padding:1.5rem 1rem 1rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.training-overview>div { display:flex; flex-direction:column; align-items:center; gap:.5rem; text-align:center; padding:0 .4rem; }
.training-overview>div+div { border-left:1px solid var(--line); }
.training-overview strong { color:var(--green-dark); font-size:clamp(1.2rem,2.5vw,1.8rem); line-height:1.3; font-variant-numeric:tabular-nums; }
.training-overview span { color:var(--muted); font-size:.78rem; }
.training-overview p { grid-column:1/-1; margin:0; padding-top:1rem; border-top:1px solid var(--line); font-size:.78rem; line-height:1.7; color:var(--muted); text-align:center; }
.practice-methods { margin:0 0 2.5rem; }
.practice-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.practice-entry { display:flex; align-items:flex-start; gap:1rem; min-height:8rem; padding:1.4rem; text-align:left; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); }
.practice-entry>svg:first-child { width:2.6rem; height:2.6rem; padding:.6rem; background:var(--surface-soft); border-radius:.8rem; color:var(--green-dark); }
.practice-entry>svg:last-child { width:1rem; height:1rem; margin:.25rem 0 0 auto; color:var(--muted); }
.practice-entry>span { flex:1; min-width:0; }
.practice-entry strong,.practice-entry small { display:block; }
.practice-entry strong { font-size:1.1rem; margin-bottom:.4rem; }
.practice-entry small { color:var(--muted); font-size:.85rem; line-height:1.8; }
.practice-entry.entry-primary { background:var(--green-soft); border-color:var(--green); }
.practice-history-entry { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; min-height:4rem; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); color:var(--ink); text-align:left; font-size:.9rem; }
.practice-history-entry span { display:flex; align-items:center; gap:.5rem; }
.practice-history-entry span:last-child { color:var(--muted); font-size:.8rem; }
.practice-history-entry svg { width:1rem; height:1rem; }
.home-view .section-heading { margin-bottom:1rem; align-items:center; flex-wrap:wrap; }
.home-view .module-card { min-height:7.5rem; box-shadow:none; background:var(--surface); border-color:var(--line); }
.home-view .module-card:hover { transform:none; }
.home-view .module-card.is-selected { background:var(--green-soft); border-color:var(--green); }
.home-view .card-description { font-size:.82rem; line-height:1.8; }
.home-view .quick-start { padding:1.25rem; margin-top:1rem; background:var(--surface); border-color:var(--line); }
.practice-path-note { margin-top:1.5rem; padding:1.5rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.practice-path-note h3 { margin:0 0 1.25rem; font-size:1rem; }
.practice-path-note ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; margin:0; list-style:none; }
.practice-path-note li { display:flex; flex-direction:column; gap:.5rem; }
.practice-path-note strong { font-size:.9rem; color:var(--green-dark); }
.practice-path-note span,.practice-path-note p { font-size:.82rem; color:var(--muted); line-height:1.8; }
.practice-path-note p { margin:1.25rem 0 0; }
#training-directions-title { scroll-margin-top:2rem; }

/* Scene selection and recorder overrides are scoped to their own surfaces. */
.direction-view .direction-back { gap:.4rem; margin:0 0 1rem; }
.direction-view .direction-panel { box-shadow:none; }
.direction-view .direction-header { padding:1.75rem 1.75rem 1.25rem; }
.direction-view .direction-content { padding:0 1.75rem 1.75rem; }
.direction-view .scene-choice-grid { gap:1rem; }
.direction-view .scene-choice { padding:1.25rem; min-height:6rem; background:var(--surface); }
.direction-view .scene-choice.is-selected { background:var(--green-soft); }
.direction-view .direction-actions { position:static; padding:1.25rem 1.75rem; gap:.5rem; }
.direction-selection { margin:0 0 .5rem; font-size:.85rem; line-height:1.8; color:var(--muted); text-align:center; }
.direction-view .direction-tools { padding:1rem 1.75rem 1.5rem; }
.practice-view .practice-toolbar { gap:1rem; padding:.25rem 0 1.5rem; }
.practice-view .practice-toolbar strong { font-size:1.1rem; line-height:1.6; }
.practice-view .practice-toolbar span { font-size:.82rem; line-height:1.8; }
.practice-view .back-button { flex-shrink:0; }
.practice-view .content-training { padding:1.25rem; margin-bottom:1.25rem; box-shadow:none; }
.practice-view .content-training :is(input,select,textarea) { background:var(--surface); border-color:var(--line); }
.practice-view .content-training :is(p,li) { line-height:1.8; }
.practice-view .layout { gap:1.25rem; }
.practice-view :is(.main-area,.panel-right,.panel-left) { background:var(--surface); box-shadow:none; border-color:var(--line); }
.practice-view .record-heading { padding:1.5rem 1.25rem 1.25rem; }
.practice-view .timer { background:transparent; color:var(--green-dark); font-size:3rem; line-height:1.3; }
.practice-view .record-state-dot.is-live { box-shadow:0 0 0 .3rem var(--green-soft); }
.practice-view .subtitle-topbar { padding:1rem 1.25rem; gap:.75rem; flex-wrap:wrap; }
.practice-view .subtitle-topbar>div { flex:1 1 10rem; }
.practice-view .subtitle-topbar>div>span { font-size:.8rem; line-height:1.8; }
.practice-view .subtitle-scroll { margin:0 1.25rem 1.25rem; background:var(--surface-soft); border-color:var(--line); min-height:14rem; }
.practice-view .subtitle-line.hint { padding:3rem 0; line-height:1.9; }
.practice-view .mic-panel { padding:.5rem 1.25rem 1rem; }
.practice-view .mic-panel>summary { color:var(--ink); }
.practice-view .mic-controls { grid-template-columns:auto minmax(0,1fr); gap:.75rem; }
.practice-view .mic-controls meter { grid-column:2; width:100%; }
.practice-view :is(.sui-field input,.sui-field select,.sui-field textarea) { font-size:1rem; }
.practice-view .reference-draft { margin:.5rem 1.25rem 1.25rem; padding:1rem; background:var(--surface-soft); }
.practice-view .reference-draft p { font-size:1.05rem; line-height:2; max-height:35dvh; }
.practice-view .panel-right { padding:1.25rem; }
.practice-view .panel-title { font-size:1rem; line-height:1.7; }
.practice-view .live-detection { padding:1rem; background:var(--surface-soft); }
.practice-view .live-detection-label { color:var(--green-dark); font-size:.8rem; }
.practice-view .live-detection p { color:var(--muted); font-size:.85rem; line-height:1.8; }
.practice-view .action-bar { background:var(--surface); padding:.8rem; gap:.75rem; border-color:var(--line); }
.practice-view .btn-stop { min-width:0; flex:1; max-width:24rem; }
.practice-view .btn-pause { background:var(--surface-soft); border-color:var(--line); color:var(--green-dark); }

@media(hover:hover) {
  :is(.library-category,.library-item,.practice-entry):hover { border-color:var(--green); }
  .library-scenes button:not([aria-pressed=true]):hover { background:var(--green-soft); }
}
@media(min-width:761px) {
  .library-case-panel { position:sticky; top:1.5rem; max-height:calc(100dvh - 7rem); overflow-y:auto; padding:2px 6px 6px 2px; scrollbar-gutter:stable; }
}
@media(max-width:760px) {
  .practice-library { padding:1.25rem 1rem calc(2rem + env(safe-area-inset-bottom)); }
  .library-heading { flex-direction:column; gap:.5rem; margin-bottom:1.25rem; }
  .library-count { font-size:.78rem; padding:.5rem .75rem; }
  .library-tabs { gap:.5rem; }
  .library-tabs button { padding:.65rem .25rem; font-size:.85rem; }
  .library-categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .library-category { padding:.9rem; }
  .library-category strong { font-size:.9rem; }
  .library-list-tools { gap:.75rem; }
  .library-search { flex-basis:100%; }
  .library-order button { min-width:3.5rem; }
  .library-workspace { grid-template-columns:minmax(0,1fr); }
  .library-detail { padding:1.25rem; scroll-margin-top:1rem; }
  .library-detail h3 { font-size:1.4rem; }
  .library-detail .library-script { font-size:1.125rem; line-height:2.15; }
  .library-back { display:inline-flex; margin:0 0 1rem; min-height:44px; }
  .library-player-controls button { flex:1 1 auto; }
  .library-reader-link { font-size:.9rem; }
  .library-voice-settings { display:grid; grid-template-columns:minmax(0,1fr); padding:1rem; }
  .library-voice-settings label { justify-content:space-between; }
  .library-voice-settings select { max-width:65%; }
  .library-generate-form { padding:1.25rem; }
  .library-generate-form input,.library-generate-form textarea,.library-search input { font-size:16px; }
  .practice-library:not([data-show-detail=true]) #library-detail { display:none; }
  .practice-library[data-show-detail=true]>.library-heading,
  .practice-library[data-show-detail=true]>.library-tabs,
  .practice-library[data-show-detail=true]>#library-browse>:is(.library-mode-note,h3,#library-categories,#library-category-note,#library-scenes,.library-list-tools,#library-path),
  .practice-library[data-show-detail=true] .library-case-panel { display:none; }
  .home-view .coach-banner { padding:1rem 1.25rem; margin:1rem 0; }
  .home-view .coach-banner h3 { font-size:1rem; }
  .home-view .coach-banner p { font-size:.8rem; }
  .home-view .coach-mark { display:none; }
  .training-overview { padding:1.1rem .6rem .8rem; margin:1rem 0 1.75rem; gap:1rem 0; }
  .training-overview span,.training-overview p { font-size:.75rem; }
  .practice-entry-grid { gap:.75rem; }
  .practice-entry { padding:1rem; min-height:8.5rem; gap:.5rem; flex-direction:column; }
  .practice-entry>svg:first-child { width:2.2rem; height:2.2rem; padding:.45rem; }
  .practice-entry>svg:last-child { display:none; }
  .practice-entry>span { flex:1; }
  .practice-entry strong { font-size:1rem; }
  .practice-entry small { font-size:.82rem; }
  .practice-history-entry { gap:.5rem; flex-wrap:wrap; }
  .practice-history-entry span:last-child { font-size:.75rem; }
  .home-view .module-card { min-height:7rem; padding:1rem; grid-template-columns:1fr; gap:.6rem; }
  .home-view .module-card.is-selected::after { grid-column:1; }
  .home-view .module-copy strong { font-size:1rem; }
  .home-view .streak-badge { background:var(--green-soft); color:var(--green-dark); }
  .practice-path-note { padding:1.25rem; }
  .practice-path-note ol { grid-template-columns:1fr; gap:.9rem; }
  .practice-path-note li { flex-direction:row; gap:1rem; }
  .practice-path-note strong { flex-shrink:0; }
  .direction-view .direction-header { padding:1.25rem; }
  .direction-view .direction-content { padding:0 1.25rem 1.25rem; }
  .direction-view .scene-choice-grid { gap:.75rem; }
  .direction-view .scene-choice { padding:1rem .75rem; gap:.5rem; min-height:6rem; flex-wrap:wrap; }
  .direction-view .scene-choice strong { flex:1 1 65%; }
  .direction-view .direction-actions { padding:1.25rem; }
  .practice-view .practice-toolbar { gap:.75rem; }
  .practice-view .content-training { padding:1rem; }
  .practice-view .action-bar .btn-main { white-space:normal; font-size:.9rem; padding:.7rem 1rem; }
  .practice-view .panel-right { padding:1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.practice-library,.home-view,.direction-view,.practice-view) * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .reading-char { transition:none; }
}
