:root { color-scheme: light; --ink:#12251f; --muted:#69736f; --paper:#f4f1e9; --panel:#fffdfa; --green:#28634f; --green2:#dbe9df; --blue:#2368b1; --line:#d7d9d1; --amber:#a55d18; --red:#a13d3d; --shadow:0 18px 45px rgba(30,47,40,.09); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(circle at 20% -10%,#e0eadf 0,transparent 38%),var(--paper); color:var(--ink); min-height:100vh; }
button,input,select { font:inherit; }
button { cursor:pointer; border:0; }
button:disabled { cursor:wait; opacity:.55; }
.topbar { height:64px; display:flex; align-items:center; gap:24px; padding:0 max(20px,calc((100vw - 1100px)/2)); background:rgba(255,253,250,.88); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); position:sticky; top:0; z-index:5; }
.brand { font-weight:760; letter-spacing:-.02em; color:var(--ink); text-decoration:none; margin-right:auto; }
nav,.admin-tabs { display:flex; gap:4px; }
nav button,.admin-tabs button,.quiet { background:transparent; color:var(--muted); padding:9px 12px; border-radius:10px; }
.nav-active { color:var(--ink)!important; background:var(--green2)!important; }
.study-shell { width:min(760px,calc(100% - 28px)); margin:30px auto 80px; display:grid; gap:18px; }
.admin-shell { width:min(1120px,calc(100% - 28px)); margin:30px auto 80px; }
.panel { background:var(--panel); border:1px solid rgba(57,82,71,.14); border-radius:22px; box-shadow:var(--shadow); }
.configuration { padding:18px 20px; }
.h1-map,.queue-now { padding:18px 20px; box-shadow:none; }
.scope-help { margin:7px 0 0; color:var(--muted); font-size:.78rem; line-height:1.4; }
.mastery-head { display:flex; justify-content:space-between; align-items:baseline; margin-top:15px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.mastery-head span { color:var(--muted); font-size:.8rem; }.mastery-head strong { color:var(--green); font-size:1.45rem; }
.summary-counters,.deck-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-top:10px; }
.summary-counters>div,.deck-summary-grid>div { min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:#faf9f5; }
.summary-counters span,.deck-summary-grid span { display:block; color:var(--muted); font-size:.68rem; line-height:1.15; }
.summary-counters strong,.deck-summary-grid strong { display:block; margin-top:4px; font-size:1.18rem; }
.counter-new strong { color:#2368b1; }.counter-learning strong { color:#b43c42; }.counter-review strong,.counter-due strong { color:#287451; }
.domain-progress { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.domain-progress>div { display:flex; gap:7px; padding:7px 10px; border-radius:999px; background:#edf2ed; color:var(--muted); font-size:.75rem; }.domain-progress strong { color:var(--green); }
.phrase-progress { display:flex; justify-content:space-between; align-items:center; margin-top:10px; padding:10px 12px; border-radius:12px; background:#e8f0e9; }.phrase-progress span { color:var(--muted); font-size:.8rem; }.phrase-progress strong { font-size:1.25rem; }
.inline-help { width:22px; height:22px; padding:0; border:1px solid #a9bbb2; border-radius:50%; background:#fff; color:var(--green); font-weight:850; }
.practice-deck-summary { margin-top:12px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#f7f5ef; color:var(--muted); font-size:.86rem; }
.practice-deck-summary strong { color:var(--ink); }
.practice-deck-summary details { margin-top:8px; }
.practice-deck-summary summary { cursor:pointer; color:var(--ink); font-weight:700; }
.practice-deck-summary ul { margin:7px 0 0; padding-left:20px; }
.deck-summary-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }.deck-coverage { margin:10px 0 0; color:var(--ink); }.deck-diagnostics { margin-top:8px; font-size:.75rem; }.deck-diagnostics summary { color:var(--muted); font-weight:600; }.deck-diagnostics p { overflow-wrap:anywhere; }
.queue-now .question-counters { margin-top:12px; text-align:left; grid-template-columns:repeat(3,max-content); }.today-status { margin:9px 0 0; color:var(--muted); font-size:.78rem; }
.rebuild-deck { margin-top:8px; width:min(100%,320px); }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-title h1,.section-title h2 { margin:3px 0 0; }
.eyebrow { color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.13em; margin:0; }
#config-form { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.space-counters { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin-top:14px; }
.space-counters>div { min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:#faf9f5; }
.space-counters span { display:block; min-height:2.2em; color:var(--muted); font-size:.7rem; line-height:1.1; }
.space-counters strong { display:block; margin-top:4px; font-size:1.25rem; }
.compatibility-notice { margin:10px 0 0; padding:8px 10px; border-radius:10px; background:#fff3d8; color:#735214; font-size:.82rem; }.compatibility-notice summary { cursor:pointer; font-weight:760; }.compatibility-notice ul { margin:8px 0 0; padding-left:20px; }
.space-counters .counter-new strong { color:#2368b1; }.space-counters .counter-learning strong { color:#b43c42; }.space-counters .counter-due strong { color:#287451; }
fieldset { border:0; padding:8px 0; margin:0; }
legend { font-weight:700; padding:0 0 8px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chip { position:relative; }
.chip input { position:absolute; opacity:0; }
.chip span { display:block; padding:8px 11px; border:1px solid var(--line); border-radius:999px; color:var(--muted); }
.chip input:checked+span { background:var(--green2); border-color:#94b4a5; color:var(--ink); }
.horizon-controls { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.horizon-choice { position:relative; }.horizon-choice input { position:absolute; opacity:0; }.horizon-choice span { display:block; min-height:72px; padding:11px; border:1px solid var(--line); border-radius:13px; background:#faf9f5; }.horizon-choice b,.horizon-choice small { display:block; }.horizon-choice small { margin-top:4px; color:var(--muted); font-size:.68rem; line-height:1.25; }.horizon-choice input:checked+span { border-color:#527e6c; box-shadow:inset 0 0 0 2px #527e6c; background:var(--green2); }
.quick-filters { margin:8px 0; border:1px solid var(--line); border-radius:13px; padding:10px 12px; }.quick-filters>summary { cursor:pointer; font-weight:720; }.quick-filter-summary { margin:8px 0 0; color:var(--green); font-size:.76rem; font-weight:730; }.quick-filter-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; }
.theme-selector,.universal-tree { display:grid; gap:8px; }
.theme-node { border:1px solid var(--line); border-radius:14px; background:#faf9f5; overflow:hidden; }
.tree-control-row,.hierarchy-leaf-summary { display:grid; grid-template-columns:32px 32px auto minmax(110px,1fr) minmax(100px,1.2fr) auto 32px; align-items:center; gap:9px; min-height:48px; padding:8px 12px; }
.theme-node.selected>.tree-control-row { box-shadow:inset 0 0 0 2px #527e6c; }
.tree-disclosure { width:32px; height:32px; padding:0; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--green); font-weight:850; font-size:1.15rem; }
.tree-disclosure:not(:disabled):hover,.tree-disclosure:not(:disabled):focus-visible { border-color:#94b4a5; background:var(--green2); }
.tree-disclosure:disabled { cursor:default; opacity:0; }
.tree-recursive { width:32px; height:32px; padding:0; border:1px solid #cbd4cf; border-radius:8px; background:#fff; color:var(--green); font-size:1rem; font-weight:850; }
.tree-recursive:disabled { cursor:default; opacity:0; }.tree-recursive:not(:disabled):hover,.tree-recursive:not(:disabled):focus-visible { background:var(--green2); border-color:#94b4a5; }
.tree-policy-controls { display:flex; align-items:center; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:.72rem; }.tree-policy-controls .quiet { padding:6px 8px; border:1px solid var(--line); background:#fff; }
.hierarchy-node .hierarchy-node { border-radius:10px; box-shadow:none; }.hierarchy-leaf { background:#f7f7f3; transition:opacity .14s ease,background .14s ease; }.hierarchy-leaf.selected .hierarchy-leaf-summary { box-shadow:inset 0 0 0 2px #527e6c; }.hierarchy-leaf-summary { cursor:default; }.hierarchy-leaf.quick-filter-excluded { opacity:.48; background:#eceeeb; }.quick-filter-exclusion { grid-column:4/-1; color:#45524d; font-size:.66rem; font-weight:720; }
.hierarchy-leaf-metrics { display:grid; justify-items:end; gap:4px; }
.theme-node input[type=checkbox] { width:17px; height:17px; accent-color:var(--green); }.theme-title { min-width:0; font-weight:720; }.theme-percent { display:block; color:var(--muted); font-size:.69rem; font-weight:550; }
.mastery-bar { display:flex; height:11px; min-width:80px; overflow:hidden; border-radius:999px; background:#d5d9d7; }.mastery-new { background:#b8bfbc; }.mastery-learning { background:#c55458; }.mastery-review { background:#39805e; }
.theme-due { white-space:nowrap; color:var(--green); font-size:.7rem; font-weight:720; }.theme-body { border-top:1px solid var(--line); padding:8px 10px 10px 24px; display:grid; gap:7px; }.theme-body[hidden] { display:none; }
.group-counters { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--muted); font-size:.7rem; }.group-counters .learning { color:var(--red); }.group-counters .review { color:var(--green); }
.lexical-word { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; padding:8px; border-radius:9px; background:#f7f7f3; }.lexical-word-main { min-width:0; }.lexical-word-main b,.lexical-word-main span { display:block; overflow-wrap:anywhere; }.lexical-word-main span { color:var(--muted); font-size:.75rem; }
.word-state { text-align:right; font-size:.67rem; font-weight:760; }.word-state.new { color:var(--blue); }.word-state.learning,.word-state.relearning { color:var(--red); }.word-state.review,.word-state.retained { color:var(--green); }.word-state.due { color:var(--amber); }.word-state small { display:block; color:var(--muted); font-weight:500; }
.lexicon-progress { padding:14px; margin-bottom:12px; box-shadow:none; }.lexicon-progress h2 { font-size:1rem; margin:0; }
.deck-lexicon { margin:6px 0 10px; padding:13px; border:1px solid var(--line); border-radius:16px; background:#f8f7f2; }
.word-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.55fr); gap:8px; margin-bottom:8px; }
.word-toolbar label { display:grid; gap:5px; min-width:0; color:var(--muted); font-size:.72rem; font-weight:700; }
.word-toolbar input,.word-toolbar select { min-width:0; width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
.word-selection-actions { display:flex; flex-wrap:wrap; gap:6px; }.word-selection-actions .quiet { padding:7px 9px; border:1px solid var(--line); background:#fff; }
.word-container-list,.word-browser-list { display:grid; gap:9px; }
.word-container { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.word-container.selected { border-color:#719989; box-shadow:inset 0 0 0 1px #719989; }
.word-container-head { display:flex; align-items:center; gap:10px; min-width:0; padding:11px 12px; }
.word-container-head>input { flex:0 0 auto; width:19px; height:19px; accent-color:var(--green); }
.word-container-title { flex:1 1 150px; min-width:100px; }.word-container-title h3 { margin:0; font-size:1.08rem; line-height:1.1; overflow-wrap:anywhere; }.word-container-title p { margin:3px 0 0; color:var(--muted); font-size:.76rem; line-height:1.25; overflow-wrap:anywhere; }
.word-container-progress { flex:0 0 auto; color:var(--muted); font-size:.7rem; font-weight:700; white-space:nowrap; }
.combination-count { flex:0 0 auto; }.combination-button { padding:6px 8px; border:1px solid #a9bbb2; border-radius:999px; background:#edf4ef; color:var(--green); font-size:.68rem; font-weight:780; white-space:nowrap; }.combination-button:hover,.combination-button:focus-visible { background:var(--green2); }
.word-container-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }.word-container-badges span { padding:4px 6px; border-radius:999px; background:#edf0ed; color:var(--muted); font-size:.64rem; font-weight:750; white-space:nowrap; }.word-container-badges .sentence-ready { background:#dcece1; color:var(--green); }.word-container-badges .atomic-only { background:#f3e6d5; color:#7b511d; }.word-container-badges .coverage-pending { background:#e8ecef; color:#52626b; }
.word-detail-button { flex:0 0 auto; padding:7px 9px; }
.word-facets { border-top:1px solid #e6e8e3; }.word-facets>summary { padding:8px 12px; cursor:pointer; color:var(--green); font-size:.72rem; font-weight:760; }.word-facets[open]>summary { background:#f6f8f5; }
.word-facet-list { display:grid; gap:6px; padding:8px 10px 10px; }.word-facet { display:grid; grid-template-columns:auto minmax(100px,1fr) auto auto; align-items:center; gap:9px; min-width:0; padding:8px 9px; border:1px solid #e5e7e2; border-radius:10px; background:#faf9f5; }.word-facet-readonly { grid-template-columns:minmax(100px,1fr) auto auto; }.word-facet>input { width:17px; height:17px; accent-color:var(--green); }.word-facet-copy { min-width:0; }.word-facet-copy b,.word-facet-copy span { display:block; overflow-wrap:anywhere; }.word-facet-copy b { font-size:.76rem; }.word-facet-copy span { margin-top:2px; color:var(--muted); font-size:.7rem; }
.word-browser-mode { grid-template-columns:minmax(0,1fr); }.word-browser-empty { padding:18px; text-align:center; }
.word-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.word-detail-heading h2 { margin:0; font-family:Georgia,serif; font-size:2rem; }.word-detail-heading p { margin:4px 0 0; color:var(--muted); }.word-presentation-status { padding:9px 11px; border-radius:10px; background:#edf4ef; color:var(--green); font-weight:700; }.word-presentation-status.coverage-pending { background:#e8ecef; color:#52626b; }.word-detail-list { line-height:1.5; }.word-sense-list { display:grid; gap:.75rem; }.word-sense-detail { min-width:0; padding:.8rem; border:1px solid var(--line); border-radius:12px; }.word-sense-detail h4 { margin:0 0 .35rem; }.word-detail-diagnostics { margin-top:18px; color:var(--muted); font-size:.75rem; }.word-detail-diagnostics summary { cursor:pointer; font-weight:700; }.word-detail-diagnostics pre { max-height:300px; overflow:auto; padding:10px; border-radius:9px; background:#eef0ec; white-space:pre-wrap; overflow-wrap:anywhere; }
.switch-line { display:block; margin:12px 0; }
.training-card { min-width:0; min-height:500px; padding:clamp(24px,5vw,48px); }
.direction-switch { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:-10px 0 22px; color:var(--muted); font-size:.72rem; font-weight:760; }.direction-switch span { margin-right:4px; }.direction-switch button { min-height:36px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:#f1f1ec; color:var(--muted); font-weight:760; }.direction-switch button.nav-active { border-color:var(--green); background:var(--green); color:white; }
.empty-practice-state { min-height:400px; display:grid; align-content:center; gap:10px; text-align:center; }.empty-practice-state[hidden] { display:none; }.empty-practice-state h1 { margin:0; font-size:clamp(1.7rem,5vw,2.7rem); }.empty-practice-state p:last-child { margin:0 auto; max-width:520px; color:var(--muted); line-height:1.5; }
.consolidation-target { margin:8px auto 0; max-width:560px; color:var(--ink); font-size:1.05rem; font-weight:760; }.consolidation-timing { margin:0 auto; color:var(--red); font-weight:800; }
.universal-tree { max-width:100%; overflow-x:hidden; }.theme-title { min-width:0; overflow-wrap:anywhere; }
.question-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.question-counters { display:grid; grid-template-columns:repeat(4,auto); gap:5px 10px; color:var(--muted); font-size:.68rem; line-height:1.15; text-align:right; }
.question-counters span { white-space:nowrap; }.question-counters b { color:var(--ink); font-size:.82rem; }
.question-counters .question-counter-new b { color:#2368b1; }.question-counters .question-counter-learning b { color:#b43c42; }.question-counters .question-counter-due b { color:#287451; }
.semantic-badge { display:inline-block; margin:20px 0 2px; padding:7px 11px; border-radius:9px; background:#f0e9d5; color:#67531c; font-size:.82rem; font-weight:720; letter-spacing:.02em; text-transform:none; }
.sentence-instruction { margin:22px 0 -8px; color:var(--muted); font-size:.9rem; font-weight:760; }
.cue-row { min-height:145px; display:flex; align-items:center; gap:20px; }
#cue { font-size:clamp(2rem,7vw,3.7rem); line-height:1.05; letter-spacing:-.04em; margin:24px 0; }
.cue-memory { text-decoration-line:underline; text-decoration-thickness:.105em; text-underline-offset:.16em; text-decoration-skip-ink:none; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.cue-memory-new { text-decoration-color:#337cc4; }.cue-memory-learning { text-decoration-color:#c4484e; }.cue-memory-review { text-decoration-color:#32815b; }.cue-memory-context { text-decoration-color:#aeb5b1; }
.cue-memory-legend { display:flex; flex-wrap:wrap; gap:6px 12px; min-height:1.2em; margin:-15px 0 22px; color:var(--muted); font-size:.7rem; }
.cue-memory-legend span::before { content:''; display:inline-block; width:14px; margin-right:5px; border-bottom:3px solid currentColor; vertical-align:.18em; }
.cue-memory-legend .cue-memory-new { color:#337cc4; }.cue-memory-legend .cue-memory-learning { color:#c4484e; }.cue-memory-legend .cue-memory-review { color:#32815b; }.cue-memory-legend .cue-memory-context { color:#8f9893; }
.atomic-task { min-height:145px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; margin:8px 0 18px; }
.atomic-instruction { margin:0 0 10px; color:var(--muted); font-size:.88rem; font-weight:720; line-height:1.4; }
.atomic-target { margin:0; padding-left:14px; border-left:5px solid #aeb5b1; font-family:Georgia,serif; font-size:clamp(2rem,7vw,3.7rem); line-height:1.08; letter-spacing:-.025em; overflow-wrap:anywhere; }.atomic-target-new { border-color:var(--blue); }.atomic-target-learning { border-color:var(--red); }.atomic-target-review { border-color:var(--green); }.atomic-target-context { border-color:#aeb5b1; }
.atomic-target-secondary { margin:9px 0 0 19px; color:var(--muted); font-size:1rem; line-height:1.4; }
.task-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; margin:0 0 14px; }.task-choice { min-height:50px; padding:11px 13px; border:1.5px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font-weight:760; }.task-choice:hover,.task-choice:focus-visible { border-color:#719989; }.task-choice.selected { border-color:var(--green); box-shadow:inset 0 0 0 2px var(--green); background:var(--green2); }
.offering-guidance { margin:-10px 0 18px; padding:10px 12px; border-left:3px solid #bd9151; background:#f5ecd9; color:#5d4921; border-radius:8px; font-weight:720; }
.answer-label { display:block; color:var(--muted); margin-bottom:8px; }
.answer-input { width:100%; border:1.5px solid #bdc7c1; border-radius:14px; padding:15px 16px; background:white; font-size:1.2rem; outline:none; }
.answer-input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(40,99,79,.12); }
.character-strip { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.character-strip button { min-width:36px; min-height:36px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font-weight:750; }
.actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.primary,.secondary,.reveal { padding:13px 18px; border-radius:12px; font-weight:750; }
.primary { background:var(--green); color:white; }
.secondary { background:var(--green2); color:var(--ink); }
.reveal { background:#efe8d7; color:#543f12; }
.diagnostic { border-radius:12px; padding:12px 14px; background:#edf1ed; line-height:1.45; }
.answer-comparison { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.answer-comparison>div { min-width:0; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.comparison-label { color:var(--muted); font-size:.75rem; font-weight:760; }
.answer-comparison p { margin:7px 0 0; font-family:Georgia,serif; font-size:1.2rem; overflow-wrap:anywhere; }
.diff-match { color:#24714e; background:#e0f1e6; border-radius:4px; padding:1px 2px; }
.diff-polish { color:#8b641b; background:#fff0c7; border-radius:4px; padding:1px 2px; text-decoration:underline 2px #c69a43; }
.diff-mismatch { color:#a13d3d; background:#f6dedd; border-radius:4px; padding:1px 2px; text-decoration:underline 2px; }
.diff-unresolved { color:#7b5a21; background:#f4ead5; border-radius:4px; padding:1px 2px; }
.diff-missing { color:#a13d3d; background:#f6dedd; border:1px dashed #b94c4c; border-radius:4px; padding:1px 2px; }
.diff-extra { color:#a13d3d; background:#f6dedd; border-radius:4px; padding:1px 2px; text-decoration:line-through 1.5px; }
.answer-reveal { padding:22px 0; border-bottom:1px solid var(--line); }
.answer-line { display:flex; align-items:center; gap:14px; min-width:0; }
#canonical { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; font-family:Georgia,serif; font-size:clamp(2.1rem,7vw,4.4rem); margin:8px 0 0; line-height:1.05; }
.audio-status { margin:7px 0 0; overflow-wrap:anywhere; }
.ipa { margin:8px 0 0; color:#596661; font-family:"Segoe UI",Arial,sans-serif; font-size:clamp(.95rem,2.6vw,1.25rem); line-height:1.35; overflow-wrap:anywhere; }
.audio { width:44px; height:44px; flex:0 0 auto; border-radius:50%; background:var(--green2); color:var(--green); }
.real-speech-toggle { margin-top:12px; padding:9px 13px; border:1px solid #94b4a5; border-radius:10px; background:var(--green2); color:var(--green); font-weight:760; }
.real-speech-panel { min-width:0; margin-top:14px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#f7f8f5; overflow:hidden; }
.real-speech-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.real-speech-heading .eyebrow { margin:2px 0 4px; }.real-speech-description { margin:0; color:var(--muted); font-size:.84rem; line-height:1.4; }
.real-speech-heading .quiet { flex:0 0 auto; padding:6px 8px; }
.real-speech-modes { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 10px; }
.real-speech-modes button { padding:8px 10px; border-radius:9px; background:#e6e5df; color:var(--muted); font-weight:720; }
.real-speech-modes button.nav-active { background:var(--green); color:#fff; }
.real-speech-notice { margin:10px 0; padding:10px 12px; border-radius:10px; background:#efe8d7; color:#5d4b22; font-size:.78rem; line-height:1.45; }
.real-speech-status { min-height:1.25em; margin:8px 0; color:var(--muted); font-size:.82rem; }
.real-speech-host,.real-speech-host>div { width:100%; max-width:100%; min-width:0; overflow:hidden; }
.real-speech-host iframe { display:block; width:100%!important; max-width:100%!important; border:0; }
.real-speech-attribution { margin:10px 0 0; color:var(--muted); font-size:.72rem; line-height:1.4; }.real-speech-attribution a { color:var(--green); font-weight:760; }
.component-review { padding-top:28px; }
.component-review-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.compact-switch { display:flex; gap:4px; padding:3px; border:1px solid var(--line); border-radius:11px; background:#f1f1ec; width:max-content; }
.compact-switch button { padding:7px 10px; border-radius:8px; background:transparent; color:var(--muted); font-size:.75rem; font-weight:720; }
.component-kind { color:var(--muted); margin:12px 0 3px; }
.component-list { display:grid; gap:10px; margin-top:12px; }
.component-row { padding:13px; border:1px solid var(--line); border-radius:14px; background:#faf9f5; transition:opacity .15s ease,background .15s ease; }
.component-row.pending { border-color:#9eb8ac; background:#fff; }.component-row.resolved { opacity:.72; }
.component-row-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.component-row-heading h3 { margin:2px 0 0; font-size:1rem; }.component-row-heading .component-kind { margin:0; font-size:.68rem; font-weight:780; letter-spacing:.08em; text-transform:uppercase; }
.component-surface { display:block; margin-bottom:4px; font-family:Georgia,serif; font-size:1.35rem; overflow-wrap:anywhere; }.component-help { flex:0 0 auto; width:30px; height:30px; border:1px solid #94b4a5; border-radius:50%; background:var(--green2); color:var(--green); font-weight:850; }
.component-status { flex:0 0 auto; padding:5px 7px; border-radius:999px; background:#e8ece9; color:var(--muted); font-size:.66rem; font-weight:780; }
.component-local-diagnostic { margin-top:10px; padding:9px 10px; border-left:3px solid #94b4a5; border-radius:8px; background:#f4f6f3; }.component-local-diagnostic p { margin:4px 0 7px; font-family:Georgia,serif; font-size:1rem; }.component-local-diagnostic p:last-child { margin-bottom:0; }
.component-ratings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:11px; }.component-ratings-early { grid-template-columns:1fr 1fr auto; }
.component-ratings button { min-height:54px; padding:8px 5px; border-radius:10px; color:var(--ink); font-weight:760; }.component-ratings button span { display:block; font-size:.68rem; font-weight:500; }.component-ratings .interval { color:#3f524b; font-weight:740; }.component-ratings .due-only { padding-inline:10px; border:1px solid #b9c5bf; background:#fff; color:var(--green); white-space:nowrap; }
.component-policy-toggle { margin-top:8px; padding:6px 8px; border:1px solid var(--line); background:#fff; }
.component-row.due-only-optional { opacity:1; border-style:dashed; background:#f7f7f3; }.due-only-note { margin:9px 0 6px; font-size:.72rem; }.due-only-forgot { padding:6px 9px; border:1px solid #d2b8b5; background:#fff; color:#7d4c49; font-size:.72rem; font-weight:720; }
.review-sentence { font-family:Georgia,serif; font-size:clamp(1.8rem,6vw,3.6rem); margin:34px 0; line-height:1.15; white-space:normal; overflow-wrap:anywhere; }
.component-active { color:var(--ink); font-size:1em; font-weight:800; }
.component-inactive { color:#98a09c; font-size:.68em; font-weight:500; }
.rating-help { color:var(--muted); }
.fsrs-help { margin:-4px 0 14px; border:1px solid var(--line); border-radius:11px; padding:9px 11px; color:var(--muted); font-size:.78rem; }
.fsrs-help summary { cursor:pointer; color:var(--green); font-weight:740; }.fsrs-help dl { display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; margin:10px 0; }
.fsrs-help dl div { min-width:0; }.fsrs-help dt { color:var(--ink); font-weight:720; }.fsrs-help dd { margin:2px 0 0; }.fsrs-help p { margin:10px 0 0; line-height:1.4; }
.ratings { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.ratings button { padding:12px 6px; border-radius:12px; font-weight:800; color:var(--ink); }
.ratings span { display:block; font-weight:500; font-size:.72rem; margin-top:3px; }
.ratings b { display:block; }
.ratings .interval { min-height:1em; color:#3f524b; font-weight:760; }
.ratings-early { grid-template-columns:1fr 1fr; }
.again { background:#f1d7d4; } .hard { background:#f4e1c9; } .good { background:#d8e8da; } .easy { background:#d8e5ee; }
.sync { color:var(--green); font-weight:650; }
.action-error { color:#9b2c2c; margin:10px 0 0; }
.center-shell { min-height:100vh; display:grid; place-items:center; padding:20px; }
.login-panel { width:min(430px,100%); padding:36px; }
.login-panel h1 { margin:8px 0 28px; }
.login-panel label { display:block; margin:14px 0; color:var(--muted); }
.login-panel input { display:block; width:100%; margin-top:6px; padding:13px; border:1px solid var(--line); border-radius:10px; }
.login-panel .primary { width:100%; margin-top:8px; }
.error { color:var(--red); min-height:1.4em; }
.muted { color:var(--muted); }
.count-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:10px; margin:22px 0; }
.count-card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px; }
.count-card strong { display:block; font-size:1.8rem; }
.count-card span { color:var(--muted); font-size:.8rem; }
.admin-tabs { margin:20px 0 10px; }
.content-areas { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.content-areas button { padding:10px 13px; border-radius:10px; background:#e6e5df; color:var(--muted); }
.browser-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:14px; align-items:start; }
.taxonomy-panel { padding:14px 8px; box-shadow:none; position:sticky; top:78px; max-height:calc(100vh - 94px); overflow:auto; }
.taxonomy-panel h2 { font-size:1rem; margin:4px 10px 10px; }
.tree-row { display:flex; align-items:center; min-width:0; }
.tree-expand { flex:0 0 32px; min-height:32px; padding:4px; background:transparent; color:var(--muted); font-size:1rem; }.tree-expand-all { border:1px solid var(--line); border-radius:7px; color:var(--green); }
.tree-expand:disabled { opacity:.25; cursor:default; }
.tree-node { display:block; flex:1; min-width:0; text-align:left; background:transparent; color:var(--muted); padding:6px 7px; border-radius:7px; font-size:.82rem; }
.tree-node:hover { background:var(--green2); color:var(--ink); }
.grammar-help { flex:0 0 30px; width:30px; height:30px; padding:0; border:1px solid #a9bbb2; border-radius:50%; background:#fff; color:var(--green); font-weight:850; }
.grammar-help:hover,.grammar-help:focus-visible { background:var(--green2); }
.browser-main { min-width:0; }
.filter-bar { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; padding:12px; border-radius:14px; box-shadow:none; }
.filter-bar input,.filter-bar select { min-width:0; border:1px solid var(--line); border-radius:9px; padding:9px; background:#fff; }
.pagination { display:flex; justify-content:center; align-items:center; gap:12px; padding:12px; }
.browser-summary-line { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.organization-intro { margin:2px 0 9px; font-size:.75rem; line-height:1.45; }
.organization-list,.verb-container-list { display:grid; gap:9px; min-width:0; max-width:100%; }
.organization-card,.verb-container { min-width:0; max-width:100%; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }
.organization-card.selected,.verb-container.selected { border-color:#719989; box-shadow:inset 0 0 0 1px #719989; }
.organization-card-head,.verb-container-head { display:grid; grid-template-columns:auto minmax(150px,1fr) minmax(180px,auto) auto; align-items:center; gap:9px 12px; min-width:0; padding:11px 12px; }
.organization-card-head>input,.verb-container-head>input,.canonical-detail-head>input { width:19px; height:19px; accent-color:var(--green); }
.organization-card-copy,.verb-container-copy,.canonical-detail-head>div { min-width:0; }
.organization-card-copy h3,.verb-container-copy h3 { margin:0; overflow-wrap:anywhere; }
.organization-card-copy p,.verb-container-copy p { margin:3px 0 0; color:var(--muted); font-size:.74rem; line-height:1.35; overflow-wrap:anywhere; }
.organization-facts { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px 9px; min-width:0; color:var(--muted); font-size:.68rem; }
.organization-facts span { white-space:nowrap; }
.organization-open { justify-self:end; min-width:max-content; padding:7px 9px; border-radius:9px; }
.organization-card-details,.verb-container-details { border-top:1px solid #e8e8e3; background:#faf9f5; }
.organization-card-details>summary,.verb-container-details>summary { cursor:pointer; padding:9px 12px; color:var(--green); font-size:.75rem; font-weight:750; }
.organization-card-body,.verb-container-body,.canonical-detail-body { display:grid; gap:10px; min-width:0; padding:2px 12px 12px; }
.organization-description { margin:0; line-height:1.5; overflow-wrap:anywhere; }
.relationship-group h4,.verb-container-body>h4 { margin:5px 0 6px; font-size:.78rem; }
.relationship-links { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.relationship-button { max-width:100%; padding:6px 9px; border:1px solid #c8d6ce; border-radius:999px; background:#edf4ef; color:var(--green); font-size:.72rem; line-height:1.25; overflow-wrap:anywhere; text-align:left; }
.relationship-list { padding-left:0; list-style:none; }.relationship-list li { margin:6px 0; }
.deck-verb-section { min-width:0; margin:4px 0 10px; }.deck-verb-section h4 { margin:4px 0 8px; }
.verb-container-copy h3 { font-family:Georgia,serif; font-size:1.2rem; }
.verb-form-group { display:grid; gap:5px; min-width:0; }.verb-form-group h5 { margin:7px 0 2px; color:var(--muted); }
.verb-form-row { min-width:0; overflow:hidden; border:1px solid #e1e5df; border-radius:10px; background:#fff; }
.verb-form-row .tree-control-row { grid-template-columns:auto minmax(0,1fr) auto auto; min-height:44px; padding:7px 9px; }
.verb-form-row.selected { box-shadow:inset 0 0 0 1px #719989; }.verb-form-row.quick-filter-excluded { opacity:.48; background:#eceeeb; }
.verb-form-copy { min-width:0; }.verb-form-copy b,.verb-form-copy small { display:block; overflow-wrap:anywhere; }.verb-form-copy small { margin-top:2px; color:var(--muted); font-size:.68rem; }
.verb-form-row .quick-filter-exclusion { grid-column:2/-1; }
.browser-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:5px; min-width:0; margin:0 0 9px; color:var(--muted); font-size:.78rem; }
.breadcrumb-link { max-width:100%; padding:4px 2px; background:transparent; color:var(--green); overflow-wrap:anywhere; text-align:left; }.breadcrumb-current { min-width:0; overflow-wrap:anywhere; }.breadcrumb-separator { color:#97a29d; }
.organization-browser { min-width:0; max-width:100%; padding:16px; box-shadow:none; overflow:hidden; }
.organization-browser>.section-title h2 { margin:0; }.organization-unavailable { margin:0; }
.organization-detail { min-width:0; }.canonical-detail-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:10px; padding-bottom:14px; border-bottom:1px solid var(--line); }.canonical-detail-head h2 { margin:0; overflow-wrap:anywhere; }.canonical-detail-head p { margin:5px 0 0; color:var(--muted); overflow-wrap:anywhere; }.canonical-detail-body { padding:14px 0 0; }
#config-form fieldset { min-inline-size:0; }
.selection-button { padding:7px 9px; border-radius:8px; background:var(--green2); color:var(--ink); white-space:nowrap; }
.detail-panel { margin-top:14px; padding:20px; box-shadow:none; }
.detail-panel h2 { margin-top:0; }
.detail-grid { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:7px 16px; }
.detail-grid dt { color:var(--muted); }.detail-grid dd { margin:0; min-width:0; overflow-wrap:anywhere; }
tr.expandable { cursor:pointer; }tr.expandable:hover { background:#f1f5ef; }
.table-shell { overflow:auto; border:1px solid var(--line); background:var(--panel); border-radius:14px; }
table { width:100%; border-collapse:collapse; font-size:.85rem; }
th,td { text-align:left; padding:11px 12px; border-bottom:1px solid #e7e8e3; vertical-align:top; white-space:nowrap; }
th { color:var(--muted); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
td.wrap { white-space:normal; min-width:260px; }
.learning-frontier { padding:22px; border-color:#9db9aa; background:linear-gradient(135deg,#f6fbf7,#fffdf7); }
.frontier-controls { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto; gap:12px; align-items:end; }
.frontier-controls label { display:grid; gap:5px; color:var(--muted); font-size:.78rem; }
.frontier-controls select { min-width:0; padding:11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
.frontier-controls .primary { min-height:43px; padding-inline:28px; }
.frontier-summary { margin:14px 0 5px; line-height:1.5; }
.settings-shell { width:min(960px,calc(100% - 28px)); margin:30px auto 80px; display:grid; gap:18px; }
.settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.settings-panel { padding:22px; box-shadow:none; }
.settings-panel h2 { margin:0 0 18px; }.settings-panel h3 { margin:14px 0 8px; font-size:.9rem; }
.settings-panel label { display:grid; gap:6px; margin:12px 0; color:var(--muted); font-size:.84rem; }
.settings-panel label small { font-size:.7rem; }.settings-panel input:not([type=checkbox]),.settings-panel select { width:100%; min-width:0; padding:11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
.settings-panel .switch-line { display:flex; align-items:center; gap:8px; }.settings-wide { grid-column:1/-1; }
.settings-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:4px 12px; }
.audio-settings-actions { display:flex; flex-wrap:wrap; gap:8px; }.audio-settings-actions button { min-height:42px; padding:9px 13px; border-radius:10px; }
.session-overrides { margin-top:16px; padding-top:10px; border-top:1px solid var(--line); }.session-overrides label { display:inline-grid; width:calc(50% - 6px); margin-right:6px; }
.grammar-reference-dialog { width:min(680px,calc(100% - 28px)); max-height:85vh; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--panel); color:var(--ink); box-shadow:0 26px 80px rgba(20,35,29,.3); }
.grammar-reference-dialog::backdrop { background:rgba(12,28,22,.48); }.grammar-reference-dialog .dialog-close { float:right; }.grammar-reference-dialog h2 { margin:7px 0 14px; }.grammar-reference-dialog h3 { margin:20px 0 5px; font-size:.95rem; }.grammar-reference-dialog p,.grammar-reference-dialog li { line-height:1.55; }.reference-lock { padding:14px; border-radius:12px; background:#f0e9d5; color:#67531c; font-weight:700; }
.knowledge-dialog { width:min(720px,calc(100% - 28px)); overflow-x:hidden; }
.knowledge-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:38px; gap:10px; }.knowledge-toolbar form { margin-left:auto; }
.knowledge-kind { margin:-8px 0 15px; color:var(--green); font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.knowledge-content { min-width:0; overflow-wrap:anywhere; }.knowledge-summary { margin:0; font-size:1.02rem; }.knowledge-seeing { padding:12px 14px; border-left:3px solid #88a998; border-radius:9px; background:#f2f6f2; }
.knowledge-details { display:grid; gap:8px; margin:8px 0 0; }.knowledge-details div { display:grid; grid-template-columns:minmax(120px,.55fr) minmax(0,1fr); gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }.knowledge-details dt { color:var(--muted); }.knowledge-details dd { margin:0; font-weight:720; }
.knowledge-examples { display:grid; gap:7px; margin:8px 0 0; padding-left:23px; font-family:Georgia,serif; font-size:1.08rem; }.knowledge-related { display:flex; flex-wrap:wrap; gap:8px; }.knowledge-link { max-width:100%; padding:9px 12px; border:1px solid #a9bbb2; border-radius:10px; background:#fff; color:var(--green); text-align:left; white-space:normal; overflow-wrap:anywhere; }
[hidden] { display:none!important; }
@media (max-width:900px) { .browser-layout { grid-template-columns:1fr; }.taxonomy-panel { position:static;max-height:210px; }.filter-bar { grid-template-columns:1fr 1fr; }.word-container-head { flex-wrap:wrap; }.word-container-progress { margin-left:auto; } }
@media (max-width:640px) { .topbar { height:auto; min-height:64px; display:grid; grid-template-columns:1fr auto; padding:6px 8px; gap:3px 6px; }.brand { margin:0; font-size:.8rem; }.topbar nav { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }.topbar nav button,.topbar .quiet { min-width:0; padding:7px 4px;font-size:.7rem; white-space:normal; }.topbar .quiet { justify-self:end; }.study-shell { margin-top:14px; }.training-card { min-height:540px; padding:24px 20px; }.direction-switch { margin-top:-4px; }.direction-switch button { flex:1 1 72px; }.question-heading { display:block; }.question-counters { grid-template-columns:repeat(3,1fr); margin-top:10px; text-align:left; gap:5px; }.question-counters span { white-space:normal; }.cue-row { min-height:120px; }.cue-memory-legend { margin-top:-10px; }.actions { grid-template-columns:1fr; }.ratings { grid-template-columns:1fr 1fr; }.fsrs-help dl { grid-template-columns:1fr; }.admin-tabs { overflow:auto; }.configuration,.h1-map,.queue-now { padding:15px; }.summary-counters { grid-template-columns:repeat(3,minmax(0,1fr)); }.deck-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.phrase-progress { align-items:flex-start; }.phrase-progress strong { font-size:1.05rem; }.space-counters { grid-template-columns:repeat(3,minmax(0,1fr)); }.answer-comparison { grid-template-columns:1fr; }.filter-bar { grid-template-columns:1fr; }.review-sentence { font-size:clamp(1.75rem,10vw,3.1rem); }.component-inactive { font-size:.66em; }.character-strip button { min-width:34px; }.browser-layout { min-width:0; }.horizon-controls,.quick-filter-grid { grid-template-columns:1fr; }.tree-control-row,.hierarchy-leaf-summary { grid-template-columns:36px 36px auto minmax(70px,1fr) 32px; gap:6px; padding:8px 7px; }.tree-disclosure,.tree-recursive { width:36px; height:36px; }.theme-node input[type=checkbox] { width:20px; height:20px; }.hierarchy-leaf-summary .word-state { grid-column:4/5; }.theme-due { grid-column:4/5; }.mastery-bar { grid-column:4/5; }.grammar-help { grid-column:5/6; }.theme-body { padding-left:8px; padding-right:6px; }.theme-body .theme-body { padding-left:6px; }.mastery-bar { min-width:55px; }.component-ratings { grid-template-columns:1fr 1fr; }.component-ratings-early { grid-template-columns:1fr 1fr; }.component-ratings .due-only { grid-column:1/-1; min-height:42px; }.component-review-heading { display:block; }.compact-switch { margin-top:8px; }.real-speech-panel { padding:13px 10px; }.real-speech-heading { display:block; }.real-speech-heading .quiet { margin-top:7px; }.real-speech-modes { display:grid; grid-template-columns:repeat(3,1fr); }.real-speech-modes button { min-width:0; padding:8px 4px; font-size:.74rem; }.settings-grid { grid-template-columns:1fr; }.settings-wide { grid-column:auto; }.settings-shell>.section-title { align-items:flex-start; }.settings-shell>.section-title>.muted { display:none; } }
@media (max-width:640px) { .question-counters { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:640px) { .word-toolbar { grid-template-columns:1fr; }.word-container-head { align-items:flex-start; }.word-container-title { flex-basis:calc(100% - 42px); }.word-container-progress { margin-left:29px; }.word-container-badges { justify-content:flex-start; }.word-facet { grid-template-columns:auto minmax(0,1fr); }.word-facet .word-state,.word-facet .combination-count { grid-column:2; justify-self:start; text-align:left; }.word-facet-readonly { grid-template-columns:minmax(0,1fr); }.word-facet-readonly .word-state,.word-facet-readonly .combination-count { grid-column:1; }.hierarchy-leaf-metrics { grid-column:4/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:5px; }.task-choices { grid-template-columns:1fr 1fr; }.atomic-task { min-height:120px; }.word-detail-heading { display:block; }.word-detail-heading .combination-count { display:inline-block; margin-top:10px; } }
@media (max-width:420px) { .study-shell,.admin-shell,.settings-shell { width:calc(100% - 16px); }.configuration,.h1-map,.queue-now,.lexicon-progress { padding-left:10px; padding-right:10px; }.deck-lexicon { padding:8px; }.word-container-head { display:grid; grid-template-columns:auto minmax(0,1fr); gap:7px 8px; padding:10px 8px; }.word-container-title { grid-column:2; min-width:0; }.word-container-progress,.word-container-head>.combination-count,.word-container-badges,.word-detail-button { grid-column:2; justify-self:start; margin-left:0; min-width:0; max-width:100%; }.word-container-badges { justify-content:flex-start; }.combination-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }.word-facet-list { padding-left:6px; padding-right:6px; }.word-facet { gap:6px; padding-left:6px; padding-right:6px; }.hierarchy-leaf-metrics { min-width:0; }.word-selection-actions button { flex:1 1 125px; }.section-title { min-width:0; gap:8px; }.section-title>div { min-width:0; } }
@media (max-width:390px) { .knowledge-dialog { width:calc(100% - 12px); max-width:calc(100% - 12px); padding:18px 14px; }.knowledge-details div { grid-template-columns:1fr; gap:3px; }.knowledge-related { display:grid; }.knowledge-link { width:100%; }.knowledge-toolbar .quiet { padding-inline:7px; } }
@media (max-width:640px) { .organization-card-head,.verb-container-head { grid-template-columns:auto minmax(0,1fr); align-items:start; padding:10px; }.organization-card-copy,.verb-container-copy { grid-column:2; }.organization-card-head>.organization-facts,.verb-container-head>.organization-facts,.verb-container-head>.combination-count,.organization-open { grid-column:2; justify-self:start; justify-content:flex-start; min-width:0; max-width:100%; }.organization-facts span { white-space:normal; }.verb-form-row .tree-control-row { grid-template-columns:auto minmax(0,1fr); }.verb-form-row .word-state,.verb-form-row .combination-count { grid-column:2; justify-self:start; }.verb-form-row .quick-filter-exclusion { grid-column:2; }.content-areas button { flex:1 1 145px; min-width:0; white-space:normal; }.canonical-detail-head { grid-template-columns:auto minmax(0,1fr); }.canonical-detail-head>.combination-count { grid-column:2; justify-self:start; min-width:0; max-width:100%; } }
@media (max-width:390px) { .study-shell,.admin-shell,.settings-shell { width:calc(100% - 12px); }.configuration,.h1-map,.queue-now,.lexicon-progress,.organization-browser { padding-left:8px; padding-right:8px; }.browser-main,.organization-browser,.organization-list,.verb-container-list,.canonical-detail-body { min-width:0; max-width:100%; overflow-x:clip; }.organization-card-head,.verb-container-head { gap:6px 8px; padding:9px 7px; }.organization-card-details>summary,.verb-container-details>summary { padding-left:9px; padding-right:9px; }.organization-card-body,.verb-container-body { padding-left:8px; padding-right:8px; }.relationship-links { display:grid; grid-template-columns:minmax(0,1fr); }.relationship-button,.organization-open,.combination-button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }.browser-breadcrumbs { align-items:flex-start; }.verb-form-row .tree-control-row { padding-left:6px; padding-right:6px; }.content-areas { gap:5px; }.content-areas button { flex-basis:135px; padding:8px 7px; } }
@media (max-width:640px) { .learning-frontier { padding:15px; }.frontier-controls { grid-template-columns:1fr; }.frontier-controls .primary { width:100%; } }
@media (max-width:390px) { .learning-frontier { padding-left:8px; padding-right:8px; }.frontier-controls select,.frontier-controls button { max-width:100%; } }
.focus-practice-entry { border-color:#9ec5ff; background:linear-gradient(135deg,#f7fbff,#fff); }
.focus-active-banner { position:sticky; top:.5rem; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border:1px solid #76a9fa; border-radius:14px; background:#eaf3ff; box-shadow:0 8px 24px rgba(28,79,145,.14); }
.focus-active-banner h2,.focus-active-banner p { margin:.15rem 0; }.focus-active-banner .eyebrow { color:#205da8; }
.focus-dialog { width:min(720px,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); overflow:auto; border:0; border-radius:16px; padding:1.25rem; box-shadow:0 24px 70px rgba(10,31,68,.28); }
.focus-dialog::backdrop { background:rgba(12,25,48,.5); }.dialog-close-row { display:flex; justify-content:flex-end; }
.focus-picker-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1rem 0; }
.focus-picker-grid label,.focus-start-actions label { display:grid; gap:.35rem; min-width:0; }.focus-picker-grid input,.focus-picker-grid select,.focus-start-actions input { width:100%; min-width:0; }
.focus-preview-result { margin-top:1rem; padding:1rem; border-radius:12px; background:#f5f8fc; }.focus-preview-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.focus-preview-counts span { display:grid; padding:.6rem; border-radius:9px; background:#fff; }.focus-preview-counts b { font-size:1.2rem; }
.focus-start-actions { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; gap:.7rem; align-items:end; }.practice-action { white-space:nowrap; }
.focus-search-field { grid-column:2; }.focus-selected,.focus-search-results { grid-column:1/-1; min-width:0; }.focus-selected { padding:.7rem .8rem; border:1px solid #76a9fa; border-radius:10px; background:#eaf3ff; font-weight:750; overflow-wrap:anywhere; }
.focus-search-results { display:grid; gap:.35rem; max-height:230px; overflow:auto; }.focus-search-result { display:grid; gap:.15rem; width:100%; padding:.65rem .75rem; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); text-align:left; }.focus-search-result:hover,.focus-search-result:focus-visible { border-color:#76a9fa; background:#f3f8ff; }.focus-search-result span { color:var(--muted); font-size:.78rem; }
.why-now { margin:.5rem 0 .9rem; padding:.65rem .8rem; border:1px solid #d5c890; border-radius:10px; background:#fffbea; }.why-now summary { cursor:pointer; font-weight:750; }.why-now p { margin:.55rem 0 0; color:var(--muted); }
.why-sentence-details{display:grid;gap:.45rem;margin:.7rem 0 0}.why-sentence-details>div{display:grid;grid-template-columns:minmax(7.5rem,auto) 1fr;gap:.7rem}.why-sentence-details dt{font-weight:700;color:var(--muted)}.why-sentence-details dd{margin:0}
.content-shell { width:min(1100px,calc(100% - 28px)); margin:30px auto 80px; display:grid; gap:16px; }.content-hero,.content-summary-panel,.content-progress-panel,.content-drills-panel,.content-lexemes-panel,.content-audio-note { padding:22px; box-shadow:none; }.content-hero h1 { margin:.25rem 0 .6rem; }.content-hero>p:last-of-type { max-width:760px; line-height:1.55; color:var(--muted); }
.content-level-tabs,.content-drills { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }.content-level-tabs button,.content-drills button { min-height:42px; padding:9px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }.content-level-tabs button.nav-active,.content-drills button.nav-active { border-color:var(--green); background:var(--green); color:#fff; }.content-level-tabs button:disabled { opacity:.55; cursor:not-allowed; }
.content-overview { display:grid; grid-template-columns:1.35fr .65fr; gap:16px; }.content-summary-panel,.content-lexemes-panel,.content-drills-panel,.content-audio-note { grid-column:1/-1; }.content-count-grid,.content-progress-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:8px; margin:14px 0; }.content-metric { display:grid; align-content:start; gap:4px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:#fbfcfa; }.content-metric span { color:var(--muted); font-size:.76rem; }.content-metric strong { font-size:1.35rem; }.content-metric small { color:var(--muted); font-size:.68rem; line-height:1.35; }
.content-search { display:grid; gap:5px; min-width:min(260px,100%); color:var(--muted); font-size:.78rem; }.content-search input { width:100%; min-width:0; }.content-lexeme-list { display:grid; gap:8px; margin:14px 0; }.content-lexeme { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:11px; }.content-lexeme h3,.content-lexeme p { margin:.1rem 0; }.content-lexeme small { color:var(--muted); }.content-lexeme-actions { display:flex; align-items:center; gap:9px; }.content-lexeme-actions details { max-width:280px; color:var(--muted); }.content-lexeme-actions summary { cursor:pointer; color:var(--green); font-weight:720; }.content-lexeme-actions p { font-size:.76rem; line-height:1.35; }
@media (max-width:520px) { .focus-active-banner { position:static; align-items:stretch; flex-direction:column; }.focus-picker-grid,.focus-preview-counts { grid-template-columns:1fr; }.focus-start-actions { grid-template-columns:1fr; }.focus-dialog { width:calc(100vw - 1rem); max-height:calc(100vh - 1rem); padding:1rem; }.practice-action { width:100%; } }
@media (max-width:720px) { .content-overview { grid-template-columns:1fr; }.content-summary-panel,.content-progress-panel,.content-drills-panel,.content-lexemes-panel,.content-audio-note { grid-column:1; }.content-lexeme { grid-template-columns:1fr; }.content-lexeme-actions { align-items:stretch; flex-direction:column; }.content-lexeme-actions details { max-width:none; }.focus-search-field { grid-column:1; }.focus-selected,.focus-search-results { grid-column:1; } }
@media (max-width:390px) { .content-shell,.content-overview,.content-overview>* { width:100%; min-width:0; max-width:100%; }.content-shell { width:calc(100% - 12px); overflow-x:clip; }.content-hero,.content-summary-panel,.content-progress-panel,.content-drills-panel,.content-lexemes-panel,.content-audio-note { padding:12px 9px; min-width:0; max-width:100%; overflow-x:clip; }.content-count-grid,.content-progress-grid { grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; }.content-level-tabs button { flex:1 1 64px; min-width:0; padding-inline:7px; }.content-drills { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.content-drills button { min-width:0; overflow-wrap:anywhere; }.content-lexemes-panel>.section-title { display:grid; }.content-search { min-width:0; }.content-lexeme { min-width:0; padding:10px 8px; }.content-lexeme h3,.content-lexeme p,.content-lexeme small { overflow-wrap:anywhere; } }
.phonetics-shell { width:min(1040px,calc(100% - 28px)); margin:30px auto 80px; display:grid; gap:16px; }.phonetics-hero,.phonetics-panel { padding:22px; box-shadow:none; }.phonetics-hero h1 { margin:.25rem 0 .6rem; }.phonetics-hero>p:last-of-type { max-width:780px; color:var(--muted); line-height:1.55; }
.phonetics-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }.phonetics-tabs button { min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }.phonetics-tabs button.nav-active { border-color:var(--green); background:var(--green); color:#fff; }
.phonetics-trust { margin-top:14px; padding:14px; border-left:4px solid #c39536; border-radius:10px; background:#fff8e7; }.phonetics-trust p { margin:.35rem 0; }.phonetics-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:9px; margin-top:14px; }.phonetic-card { display:grid; gap:5px; min-width:0; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fbfcfa; color:var(--ink); text-align:left; }.phonetic-card strong { font:700 1.75rem Georgia,serif; }.phonetic-card small,.phonetic-status { color:#7b5c19; }
.articulation-diagram { width:min(100%,520px); height:auto; display:block; margin:16px auto 8px; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fffdf8; }.mouth-outline { fill:#f7e5d5; stroke:#67564e; stroke-width:3; }.tongue-shape { fill:none; stroke:#c85e52; stroke-width:16; stroke-linecap:round; }.lips-shape { fill:#d98278; stroke:#74453e; stroke-width:2; }.articulation-marker { fill:#27735b; stroke:#fff; stroke-width:3; }
.phonetic-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:6px 14px; margin:18px 0; }.phonetic-facts div { padding:9px 0; border-bottom:1px solid var(--line); }.phonetic-facts dt { color:var(--muted); font-size:.75rem; }.phonetic-facts dd { margin:3px 0 0; font-weight:720; }.phonetic-audio-row,.phonetics-recorder-actions,.phonetic-self-rating { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }.phonetic-self-rating { padding-top:10px; border-top:1px solid var(--line); }.phonetic-self-rating span { width:100%; color:var(--muted); font-size:.78rem; }.phonetic-self-rating button { padding:7px 9px; border-radius:8px; background:#edf3ef; color:var(--green); }
.minimal-pair-card { grid-column:1/-1; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fbfcfa; }.minimal-pair-card h3 { margin:.1rem 0 .5rem; font-family:Georgia,serif; }.minimal-pair-card p { margin:.35rem 0; }.phonetics-recorder-actions audio { max-width:100%; }.phonetics-recorder-actions button { min-height:40px; }
@media (max-width:390px) { .phonetics-shell { width:calc(100% - 12px); }.phonetics-hero,.phonetics-panel { min-width:0; padding:12px 9px; }.phonetics-tabs { display:grid; grid-template-columns:1fr 1fr; }.phonetics-tabs button { min-width:0; padding-inline:6px; overflow-wrap:anywhere; }.phonetics-list { grid-template-columns:1fr 1fr; }.minimal-pair-card { min-width:0; padding:10px 8px; }.minimal-pair-card h3,.minimal-pair-card p { overflow-wrap:anywhere; }.phonetic-facts { grid-template-columns:1fr; }.phonetic-audio-row button,.phonetic-self-rating button { flex:1 1 120px; min-width:0; white-space:normal; }.articulation-diagram { padding:3px; } }

.session-composer { display:grid; gap:20px; padding:24px; border-color:#77a58e; background:linear-gradient(145deg,#f4faf6,#fffdf8); }
.composer-level { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(280px,1.35fr); gap:16px; align-items:end; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.composer-label { margin:0 0 7px; color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.level-switch { display:flex; flex-wrap:wrap; gap:6px; }.level-switch button { min-width:48px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:#f8faf8; color:var(--ink); }.level-switch button.nav-active { border-color:var(--green); background:var(--green); color:#fff; }
.composer-metric { display:grid; gap:4px; }.composer-metric strong { font-size:1.08rem; }.composer-metric span { color:var(--muted); font-size:.8rem; line-height:1.45; }
.dimension-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.dimension-card { display:grid; gap:6px; padding:15px; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--ink); text-align:left; }.dimension-card span { font-weight:800; }.dimension-card strong { color:var(--green); }.dimension-card.active { border-color:#77a58e; box-shadow:inset 0 0 0 1px #77a58e; }
.composer-heading h2 { margin:0; }.composer-heading p { margin:.3rem 0 0; }.theme-catalog { display:grid; gap:9px; margin-top:12px; }
.theme-card { min-width:0; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }.theme-card.selected { border-color:#77a58e; background:#fbfffc; }.theme-card-heading,.theme-card-summary,.composer-group>summary,.composer-word>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; }.theme-card-heading>span { color:var(--muted); font-size:.76rem; }.composer-check { display:flex; align-items:flex-start; gap:9px; min-width:0; font-weight:800; }.composer-check input { width:20px; height:20px; flex:0 0 auto; }.composer-check span { min-width:0; overflow-wrap:anywhere; }
.theme-card-summary { flex-wrap:wrap; margin:9px 0; color:var(--muted); font-size:.78rem; }.theme-card-summary strong { color:var(--ink); }.theme-card details>summary { cursor:pointer; color:var(--green); font-weight:750; }
.composer-group,.composer-word { margin-top:8px; padding:10px; border:1px solid #e1e7e2; border-radius:10px; background:#fff; }.composer-group>summary,.composer-word>summary { min-height:32px; }.composer-group>summary span,.composer-word>summary>span:last-child { color:var(--muted); font-size:.75rem; }.composer-word>summary>span:first-child { display:grid; gap:2px; }.composer-word small,.capability-toggle small { color:var(--muted); font-size:.72rem; }.editor-actions { display:flex; flex-wrap:wrap; gap:6px; margin:9px 0; }.editor-actions button { padding:6px 9px; }
.capability-toggle { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 4px; border-top:1px solid #edf0ed; }.capability-toggle small { text-align:right; }
.composer-selection { padding-top:17px; border-top:1px solid var(--line); }.selected-themes { margin:.3rem 0 12px; font-weight:800; color:var(--green); }.session-state-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.session-state { display:grid; gap:3px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); text-align:left; }.session-state strong { font-size:1.45rem; }.session-state small,.session-state span { color:var(--muted); font-size:.72rem; }.session-state.new { border-left:4px solid #7795c7; }.session-state.learning { border-left:4px solid #d1a54b; }.session-state.review { border-left:4px solid #c76f58; }.session-state.stable { border-left:4px solid #4a9973; }
.session-global-editor { margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f8faf8; }.manifest-summary { margin:13px 0 0; font-weight:750; }.composer-start { display:flex; align-items:center; gap:12px; margin-top:14px; }.composer-start p { margin:0; }
.generator-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 14px; padding:12px; border:1px solid var(--line); border-radius:10px; }.generator-filters legend { font-weight:750; }.generator-filters label { display:grid; gap:5px; }.generator-filters select { width:100%; }.generator-filters small,.generator-policy-note { color:var(--muted); }.generator-policy-note { grid-column:1/-1; margin:0; }
@media (max-width:390px) { .generator-filters { grid-template-columns:1fr; padding:10px; }.generator-policy-note { grid-column:1; }.session-global-editor { padding:9px; } }
.realization-size-control { display:grid; grid-template-columns:minmax(130px,.4fr) minmax(210px,.6fr); gap:6px 12px; align-items:center; margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:11px; background:#fff; }.realization-size-control>span { font-weight:800; }.realization-size-control select { min-width:0; }.realization-size-control small { grid-column:1/-1; color:var(--muted); }
.session-preflight { display:grid; gap:8px; margin-top:12px; padding:12px; border-left:4px solid #4a9973; border-radius:10px; background:#f4faf6; }.session-preflight details>summary { cursor:pointer; color:var(--green); }.preflight-item { display:grid; gap:3px; padding:8px 0; border-top:1px solid var(--line); }.preflight-item small { color:var(--muted); }.compatibility-choice { grid-template-columns:minmax(0,1fr) auto; align-items:center; }.compatibility-choice>div,.session-repair-notice>div { display:flex; flex-wrap:wrap; gap:6px; }
.compatibility-diagnostic { display:block; padding:6px 0; color:var(--muted); }
.session-repair-notice { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; align-items:center; padding:12px 14px; border:1px solid #d1a54b; border-radius:12px; background:#fff8e7; }
.session-manifest-items { display:grid; gap:8px; margin-top:10px; }.session-manifest-item { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }.session-manifest-item small { color:var(--muted); }.session-manifest-item button { grid-row:1 / span 2; grid-column:2; align-self:center; }.session-training-actions { display:flex; gap:8px; }
.session-bucket-dialog { width:min(720px,calc(100vw - 28px)); max-height:calc(100vh - 28px); border:0; border-radius:16px; padding:20px; box-shadow:0 24px 80px rgba(17,34,25,.28); }.session-bucket-dialog::backdrop { background:rgba(20,33,26,.45); }.bucket-mode-switch { display:flex; gap:8px; margin:12px 0; }.bucket-mode-switch button[aria-pressed="true"] { background:var(--ink); color:white; }.bucket-exact-items { display:grid; gap:7px; max-height:48vh; overflow:auto; margin:10px 0; padding-right:4px; }.bucket-exact-row { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:start; padding:9px; border:1px solid var(--line); border-radius:10px; }.bucket-exact-row input { margin-top:3px; }.bucket-exact-row small { grid-column:2; color:var(--muted); }.bucket-exact-row span { overflow-wrap:anywhere; }
.advanced-training>summary { cursor:pointer; padding:12px 14px; color:var(--muted); font-weight:750; }.advanced-training-content { display:grid; gap:16px; margin-top:10px; }.session-training-header { position:sticky; top:8px; z-index:7; display:flex; justify-content:space-between; gap:12px; align-items:center; padding:11px 14px; border:1px solid #77a58e; border-radius:12px; background:#eff8f2; box-shadow:0 8px 20px rgba(34,80,59,.12); }.session-training-header div { display:grid; gap:2px; }.session-training-header span { color:var(--muted); font-size:.76rem; }
.session-quick-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:stretch; }.session-quick-controls .session-state { padding:8px 10px; }.session-quick-controls .session-state strong { font-size:1.08rem; }.quick-realization-size { display:grid; gap:4px; min-width:116px; padding:8px 10px; border:1px solid var(--line); border-radius:11px; background:#fff; }.quick-realization-size span { color:var(--muted); font-size:.72rem; }.quick-realization-size select { min-width:92px; }
@media (max-width:640px) { .session-composer { padding:15px; }.composer-level { grid-template-columns:1fr; padding:12px; }.dimension-grid { grid-template-columns:1fr; }.dimension-card { grid-template-columns:1fr auto; }.session-state-strip { grid-template-columns:1fr 1fr; }.capability-toggle { grid-template-columns:1fr; }.capability-toggle small { padding-left:29px; text-align:left; }.composer-start,.session-training-header { align-items:stretch; flex-direction:column; }.composer-start .primary,.session-training-header button { width:100%; }.session-training-actions { display:grid; }.session-manifest-item,.compatibility-choice,.realization-size-control { grid-template-columns:1fr; }.session-manifest-item button { grid-column:1; grid-row:auto; }.realization-size-control small { grid-column:1; }.session-repair-notice { align-items:stretch; flex-direction:column; }.session-repair-notice button { flex:1 1 140px; }.session-bucket-dialog { width:calc(100vw - 12px); padding:14px 10px; }.bucket-mode-switch { display:grid; grid-template-columns:1fr 1fr; } }
@media (max-width:390px) { .session-composer { min-width:0; padding:11px 8px; overflow-x:clip; }.theme-card { padding:10px 7px; }.theme-card-heading,.theme-card-summary,.composer-group>summary,.composer-word>summary { align-items:flex-start; flex-direction:column; gap:5px; }.session-state { padding:10px 8px; }.composer-group,.composer-word { padding:8px 6px; }.level-switch button { flex:1 1 42px; min-width:0; }.advanced-training-content { min-width:0; } }
@media (max-width:400px) { .session-training-header { position:static; padding:9px 8px; }.session-quick-controls { grid-template-columns:minmax(0,1fr); }.session-quick-controls .session-state-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }.session-quick-controls .session-state { padding:7px 4px; text-align:center; }.session-quick-controls .session-state span { font-size:.63rem; }.quick-realization-size { grid-template-columns:auto minmax(0,1fr); align-items:center; min-width:0; }.session-drill-space { min-width:0; margin:0; overflow-wrap:anywhere; }.training-card { min-height:460px; padding:18px 12px; } }
/* Learner verb navigation keeps the paradigm readable on narrow screens. */
.verb-trainer-screen{max-width:980px;margin:0 auto;padding:1rem}
.verb-trainer-panel{min-width:0}
.verb-search{display:grid;gap:.4rem;max-width:32rem;margin:1rem 0}
.verb-search input{width:100%;min-width:0}
.verb-trainer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.7rem;margin:1rem 0}
.verb-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:.9rem;border:1px solid var(--line,#d2ddd5);border-radius:.75rem;background:var(--surface,#fff);min-width:0}
.verb-list-item strong{font-size:1.2rem}.verb-list-item small{line-height:1.4}
.verb-detail-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.verb-detail-heading h2,.verb-detail-heading h3,.verb-detail-heading h4{margin:0 auto 0 0}
.verb-hierarchy-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.verb-hierarchy-nav button{text-align:left;white-space:normal;max-width:100%}
.verb-form-cards{display:grid;gap:.5rem;margin:.8rem 0}
.verb-form-card{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line,#d2ddd5);border-radius:.7rem;padding:.7rem;min-width:0}
.verb-form-card>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .7rem;flex:1;min-width:0}
.verb-form-card strong{font-size:1.1rem}.verb-form-card small{grid-column:1/-1}
.verb-settings{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1.2rem}
.verb-settings label{display:grid;gap:.3rem;min-width:8rem;flex:1}.verb-settings select{width:100%;min-width:0}
.verb-selection-summary{line-height:1.5}.verb-training-context{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.verb-training-context>div{display:flex;flex-direction:column;gap:.2rem}
.verb-training-context small{color:#8b4b20;line-height:1.4}
.verb-compatibility{display:grid;gap:.65rem;max-width:38rem;margin:1rem 0;padding:1rem;border:1px solid #d1a54b;border-radius:.8rem;background:#fff8e7;min-width:0}
.verb-compatibility p{margin:0;line-height:1.45}.verb-compatibility strong{overflow-wrap:anywhere}
.verb-compatibility-actions{display:flex;flex-wrap:wrap;gap:.5rem}.verb-compatibility-actions button{white-space:normal}
@media(max-width:390px){.verb-trainer-screen{padding:.5rem}.verb-settings label{flex-basis:100%}.verb-settings .primary{width:100%}.verb-form-card>span{grid-template-columns:1fr}.verb-form-card small{grid-column:1}.verb-training-context{flex-wrap:wrap}}
@media(max-width:390px){.verb-compatibility{padding:.75rem}.verb-compatibility-actions{display:grid}.verb-compatibility-actions button{width:100%}}
/* Compact mandatory-condition controls for the form-focused trainer. */
.verb-required-editor { margin: 12px 0; }
.verb-required-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.verb-required-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 1px solid #aab7c2; border-radius: 16px; max-width: 100%; overflow-wrap: anywhere; }
.verb-required-chip button { padding: 2px 6px; }
.verb-required-editor details { margin-top: 8px; }
.verb-required-editor input { width: 100%; margin-top: 8px; }
.verb-required-editor details div { display: flex; flex-direction: column; gap: 4px; }
.session-filter-dialog{box-sizing:border-box;width:min(44rem,calc(100vw - 1rem));max-height:calc(100dvh - 1rem);overflow-y:auto;border:1px solid var(--line);border-radius:1rem;padding:0 1rem 1rem;color:var(--ink);background:var(--paper,#fff)}
.session-filter-dialog::backdrop{background:rgba(15,30,25,.5)}
.session-filter-dialog header,.session-filter-dialog footer{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--paper,#fff);position:sticky;z-index:1}
.session-filter-dialog header{top:0;justify-content:space-between;padding:.6rem 0}.session-filter-dialog header h2{margin:0}
.session-filter-dialog footer{bottom:-1rem;padding:.8rem 0}.session-filter-dialog footer button,.session-filter-dialog header button{min-height:44px;white-space:normal}
.session-filter-dialog fieldset{min-width:0;border:1px solid var(--line);border-radius:.6rem;margin:.8rem 0;padding:.6rem}.session-filter-dialog legend{font-weight:700}
.session-filter-form,.session-filter-consent{display:flex;align-items:flex-start;gap:.6rem;min-height:44px;padding:.35rem 0;overflow-wrap:anywhere}
.session-filter-form input,.session-filter-consent input{width:1.2rem;height:1.2rem;flex-shrink:0;margin-top:.2rem}.session-filter-form span{display:grid;gap:.2rem;min-width:0}
.session-filter-form small{font-size:.8rem;color:var(--muted)}.session-filter-settings{display:grid;gap:.7rem}.session-filter-settings>label,#session-filter-intents label{display:grid;gap:.35rem;margin:.6rem 0}
.session-filter-dialog select,.session-filter-dialog input[type=search]{box-sizing:border-box;max-width:100%;min-height:44px}.session-filter-dialog .verb-required-editor{min-width:0}
.subject-intent-group{min-width:0;margin:.7rem 0;padding:.5rem .7rem;border:1px solid var(--line);border-radius:.6rem}
.subject-intent-group legend{font-weight:700}.subject-intent-group .subject-intent-choice{display:flex;align-items:center;gap:.6rem;min-height:44px;margin:0;overflow-wrap:anywhere}
.subject-intent-group input[type=checkbox]{width:1.2rem;height:1.2rem;flex-shrink:0;margin:0}.subject-intent-group span{min-width:0}
.filter-answer-draft textarea{box-sizing:border-box;width:100%;max-width:100%;padding:.7rem}.filter-answer-draft p{overflow-wrap:anywhere}
@media(max-width:480px){.session-filter-dialog footer{display:grid;grid-template-columns:1fr;width:100%}.session-filter-dialog footer button{width:100%}.session-filter-dialog{padding-inline:.75rem}}
#verb-training-context > div:last-child { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .25rem; }

.new-support-hints{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.new-support-chip{border:1px solid #bb8b28;border-radius:.5rem;padding:.4rem .6rem;background:#fff6d9;overflow-wrap:anywhere;font-size:.9rem}.memory-load{font-size:.9rem;line-height:1.5}.component-ratings{min-width:0}.component-row-heading>div{min-width:0}.component-row h3{overflow-wrap:anywhere}
/* Account and invitation forms share the learner layout. */
.onboarding-panel{max-width:760px;margin:20px auto;padding:24px}
#account-screen input,#register-form input{max-width:100%;box-sizing:border-box}
#password-form label{display:block;margin:14px 0;color:var(--muted)}
#password-form input{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid var(--line);border-radius:10px}
#invitation-list{padding-left:20px;overflow-wrap:anywhere}
#invitation-list li{margin:12px 0}
#invitation-list button{margin-left:12px}
.topbar{flex-wrap:wrap}
.sentence-memory { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.sentence-memory[hidden] { display: none; }
.sentence-memory-chip { display: grid; gap: .15rem; padding: .45rem .65rem; border: 1px solid currentColor; border-radius: .5rem; }
.sentence-memory-chip small { font-size: .75rem; }
.sentence-memory-chip.memory-unlinked { border-style: dashed; opacity: .8; }

.new-support-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}.support-word-audio{min-height:44px;padding:.4rem .65rem;flex-shrink:0}.support-word-audio-status:empty{display:none}.support-word-audio-status{flex-basis:100%;font-size:.85rem}
