.practice-shell{display:grid;grid-template-rows:auto 1fr;gap:var(--space-4);min-height:100vh;padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4) max(var(--space-4),env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--color-surface-glass),transparent 38%),linear-gradient(180deg,var(--color-bg),color-mix(in srgb,var(--color-bg) 88%,var(--color-bg-lift)));color:var(--color-text)}.app-chrome{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:var(--space-3);width:min(100%,920px);margin:0 auto}.brand-lockup{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.brand-lockup>div{min-width:0}.brand-mark{display:inline-grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-strong);font-family:var(--font-japanese);font-size:1.15rem;font-weight:900;line-height:1;box-shadow:var(--shadow-sm)}.brand-lockup p,.brand-lockup span{margin:0}.brand-lockup p{overflow:hidden;color:var(--color-text);font-size:.96rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.brand-lockup span{display:block;color:var(--color-text-muted);font-size:.76rem;font-weight:800}.chrome-progress{grid-column:1 / -1;display:grid;gap:var(--space-2)}.practice-layout{display:grid;gap:var(--space-4);width:min(100%,560px);margin:0 auto}.practice-stage{display:grid;grid-template-rows:auto minmax(220px,1fr) auto auto;gap:var(--space-4);width:100%;min-height:calc(100vh - 180px)}.practice-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.settings-button{position:relative;width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);opacity:.72;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.settings-button:hover,.settings-button:focus-visible{border-color:color-mix(in srgb,var(--color-accent) 32%,var(--color-border));box-shadow:0 8px 20px color-mix(in srgb,var(--color-text) 12%,transparent);opacity:1}.settings-button:active{transform:translateY(1px) scale(.98)}.settings-button span,.settings-button:before,.settings-button:after{position:absolute;left:12px;width:18px;height:2px;border-radius:var(--radius-pill);background:var(--color-text);content:""}.settings-button span{top:20px}.settings-button:before{top:14px}.settings-button:after{top:26px}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);font-size:.82rem;font-weight:800}.progress-meta strong{color:var(--color-text)}.progress-track{display:block;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-border)}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-success));transition:width .36s var(--ease-standard)}.session-tracker{display:grid;gap:var(--space-3);align-self:start;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.tracker-section{display:grid;gap:var(--space-2)}.tracker-session-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);font-size:.82rem;font-weight:850}.tracker-session-row strong{color:var(--color-text);font-size:1.15rem;line-height:1}.tracker-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.tracker-stats span{display:grid;min-height:58px;align-content:center;gap:2px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.68rem;font-weight:850}.tracker-stats strong{color:var(--color-text);font-size:1.25rem;line-height:1}.tracker-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.scenario-pill,.grammar-tag{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:.82rem;font-weight:850;white-space:nowrap}.session-tracker .scenario-pill,.session-tracker .grammar-tag{white-space:normal}.topbar-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.mode-button{min-height:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-weight:900;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.mode-button[aria-pressed=true]{color:var(--color-accent-strong);background:var(--color-accent-soft)}.mode-button:not(:disabled):hover{color:var(--color-text);background:var(--color-surface-soft)}.mode-button:not(:disabled):active{transform:scale(.98)}.support-toggle{min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-weight:900;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.support-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-accent) 34%,var(--color-border));background:var(--color-accent-soft);color:var(--color-accent-strong)}.support-toggle:not(:disabled):hover,.support-toggle:not(:disabled):focus-visible{border-color:color-mix(in srgb,var(--color-accent) 32%,var(--color-border));color:var(--color-text)}.support-toggle:not(:disabled):active{transform:translateY(1px)}.prompt-card,.answer-card{border:1px solid var(--color-border);background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.prompt-card{align-self:center;padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:card-enter .26s var(--ease-standard)}.prompt-heading,.answer-card-header,.settings-panel-heading,.settings-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.settings-sheet-header{align-items:flex-start}.settings-sheet-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.task-label,.panel-eyebrow,.tray-label{margin:0;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.task-label{color:var(--color-accent-strong)}.panel-eyebrow{color:var(--color-text-muted)}.prompt-card h1{max-width:11ch;margin:var(--space-5) 0 0;font-size:2.6rem;line-height:1.02;letter-spacing:0}.prompt-hint-token{display:inline;padding:0 .03em;border:0;border-radius:var(--radius-sm);background:linear-gradient(to top,color-mix(in srgb,var(--color-accent) 18%,transparent) 0 34%,transparent 34% 100%);color:inherit;cursor:help;font:inherit;letter-spacing:inherit;text-align:inherit}.prompt-hint-token:hover,.prompt-hint-token:focus-visible,.prompt-hint-token[aria-pressed=true]{background:var(--color-accent-soft);outline:2px solid var(--color-focus-ring);outline-offset:3px}.hint-zone{display:grid;position:relative;z-index:4;gap:var(--space-3);margin-top:var(--space-4)}.hint-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hint-chip{min-height:34px;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-border));border-radius:var(--radius-pill);background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.78rem;font-weight:900;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.hint-chip:hover,.hint-chip:focus-visible,.hint-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-accent) 48%,var(--color-border));background:var(--color-accent-soft);color:var(--color-accent-strong);outline:2px solid var(--color-focus-ring);outline-offset:2px}.hint-chip:active{transform:translateY(1px)}.hint-card{display:grid;position:absolute;z-index:6;top:calc(100% + var(--space-2));left:0;gap:var(--space-3);width:min(100%,360px);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-border));border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text);box-shadow:var(--shadow-md);animation:hint-card-enter var(--duration-med) var(--ease-standard)}.hint-card-label{margin:0 0 var(--space-1);color:var(--color-accent-strong);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.hint-card strong{font-family:var(--font-japanese);font-size:1.12rem}.hint-card dl{display:grid;gap:var(--space-2);margin:0}.hint-card dl div{display:grid;gap:2px}.hint-card dt{color:var(--color-text-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.hint-card dd{margin:0;color:var(--color-text);font-size:.88rem;font-weight:800;line-height:1.35}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.answer-card{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md)}.answer-card h2{margin:var(--space-1) 0 0;font-size:1rem}.ghost-button{min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-muted);font-weight:800;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.ghost-button:not(:disabled):hover,.ghost-button:not(:disabled):focus-visible{border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-border));background:var(--color-surface);color:var(--color-text)}.ghost-button:not(:disabled):active{transform:translateY(1px)}.compact-button{min-height:34px;padding:0 var(--space-2)}.theme-toggle{display:inline-flex;min-height:34px;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-soft);color:var(--color-text);font-size:.8rem;font-weight:900;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:color-mix(in srgb,var(--color-accent) 34%,var(--color-border));background:var(--color-surface)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle-track{display:inline-flex;width:34px;height:20px;align-items:center;padding:2px;border-radius:var(--radius-pill);background:var(--color-border);transition:background var(--duration-fast) var(--ease-standard)}.theme-toggle-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.theme-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-border));background:var(--color-accent-soft);color:var(--color-accent-strong)}.theme-toggle[aria-pressed=true] .theme-toggle-track{background:var(--color-accent)}.theme-toggle[aria-pressed=true] .theme-toggle-thumb{background:var(--color-surface);transform:translate(14px)}.answer-input{width:100%;min-height:58px;padding:0 var(--space-4);border:2px solid color-mix(in srgb,var(--color-accent) 58%,var(--color-surface));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:1.1rem;font-weight:800;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.answer-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 18%,transparent)}.answer-card.is-locked .answer-input{border-color:var(--color-border);background:var(--color-surface-soft)}.answer-input::placeholder{color:color-mix(in srgb,var(--color-text-muted) 72%,var(--color-surface))}.kana-preview{min-height:24px;margin:0;color:var(--color-text-muted);font-family:var(--font-japanese);font-size:.95rem}.kana-preview.is-empty{color:var(--color-muted-faint)}.chip-workspace{display:grid;gap:var(--space-3)}.chip-answer-tray{display:flex;min-height:74px;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);border:2px dashed color-mix(in srgb,var(--color-accent) 34%,var(--color-border));border-radius:var(--radius-md);background:var(--color-surface-soft);transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.chip-bank{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-grid;min-height:48px;align-content:center;gap:1px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font-weight:850;text-align:center;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.chip:not(:disabled):hover,.chip:not(:disabled):focus-visible{border-color:color-mix(in srgb,var(--color-accent) 32%,var(--color-border));box-shadow:0 8px 18px color-mix(in srgb,var(--color-text) 12%,transparent);transform:translateY(-1px)}.chip:not(:disabled):active{box-shadow:var(--shadow-sm);transform:translateY(1px) scale(.98)}.chip span{font-family:var(--font-japanese);font-size:1rem}.chip small{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.selected-chip{border-color:color-mix(in srgb,var(--color-accent) 34%,var(--color-border));background:var(--color-accent-soft);animation:chip-place .18s var(--ease-standard)}.empty-chip-state{margin:0;color:var(--color-text-muted);font-size:.9rem;font-weight:750}.grammar-settings-panel{display:grid;gap:var(--space-3)}.empty-filter-state{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-error-bg);color:var(--color-error);font-size:.86rem;font-weight:850}.chapter-list{display:grid;gap:var(--space-2)}.grammar-chapter{border-top:1px solid var(--color-border);padding-top:var(--space-2)}.grammar-chapter summary{display:flex;min-height:36px;cursor:pointer;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text);font-size:.9rem;font-weight:900}.grammar-chapter summary small{color:var(--color-text-muted);font-size:.76rem;font-weight:850}.chapter-actions{display:flex;justify-content:flex-end;margin:var(--space-2) 0}.concept-list{display:grid;gap:var(--space-2);max-height:260px;overflow:auto;padding-right:2px}.concept-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.concept-row:focus-within,.concept-row:hover{border-color:color-mix(in srgb,var(--color-accent) 24%,var(--color-border));background:color-mix(in srgb,var(--color-accent-soft) 42%,var(--color-surface))}.concept-toggle{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:var(--space-2);min-width:0}.concept-toggle input{width:18px;height:18px;accent-color:var(--color-accent)}.concept-toggle span{display:grid;gap:1px;min-width:0}.concept-toggle strong,.concept-toggle small{overflow-wrap:anywhere}.concept-toggle strong{color:var(--color-text);font-size:.84rem;line-height:1.2}.concept-toggle small{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.tutorial-link{min-height:32px;padding:0 var(--space-2);border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:.76rem;font-weight:900;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.tutorial-link:not(:disabled):hover,.tutorial-link:not(:disabled):focus-visible{border-color:color-mix(in srgb,var(--color-accent) 46%,var(--color-border));background:color-mix(in srgb,var(--color-accent-soft) 72%,var(--color-surface))}.tutorial-link:not(:disabled):active{transform:translateY(1px)}.settings-sheet-backdrop,.tutorial-backdrop{position:fixed;inset:0;z-index:20;display:grid;background:var(--color-backdrop)}.settings-sheet-backdrop{align-items:end}.settings-sheet{display:grid;gap:var(--space-4);width:min(100%,680px);max-height:min(86vh,760px);overflow:auto;margin:0 auto;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);box-shadow:var(--shadow-md);animation:sheet-enter .24s var(--ease-standard)}.settings-sheet .grammar-settings-panel{margin-top:0}.settings-sheet h2,.tutorial-dialog h2{margin:var(--space-1) 0 0}.tutorial-backdrop{place-items:center;padding:var(--space-4)}.tutorial-dialog{display:grid;gap:var(--space-4);width:min(100%,420px);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);animation:dialog-enter .22s var(--ease-standard)}.tutorial-dialog p{margin:0;color:var(--color-text-muted);line-height:1.5}.tutorial-progress{display:grid;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-muted);font-weight:850}.tutorial-progress strong{color:var(--color-text);font-size:1.25rem}.progress-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.progress-stats span{display:grid;gap:1px;min-height:58px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.74rem;font-weight:850}.progress-stats strong{color:var(--color-text);font-size:1.25rem;line-height:1}.recent-progress{min-height:20px;font-size:.82rem;font-weight:750}.bottom-tray{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid rgb(255 255 255 / .1);border-radius:var(--radius-lg);background:var(--color-tray-bg);color:var(--color-on-strong);box-shadow:var(--shadow-md);animation:tray-enter .22s var(--ease-standard);transition:background var(--duration-med) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.bottom-tray.is-accepted{background:var(--color-tray-success)}.bottom-tray.is-rejected{background:var(--color-tray-error)}.tray-label{color:#ffffffb3}.tray-copy,.tray-answer,.tray-romaji{margin:var(--space-1) 0 0}.tray-copy{color:#ffffffc2;font-size:.9rem;line-height:1.35}.tray-answer{font-family:var(--font-japanese);font-size:1.05rem;font-weight:850}.tray-romaji{color:#ffffffc7;font-size:.88rem;font-weight:750}.audio-playback{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.audio-button{min-height:38px;padding:0 var(--space-3);border:1px solid rgb(255 255 255 / .34);border-radius:var(--radius-pill);background:#ffffff24;color:#fff;font-weight:900;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.audio-button:hover,.audio-button:focus-visible{background:#ffffff38;outline:2px solid rgb(255 255 255 / .46);outline-offset:2px}.audio-button:disabled{cursor:not-allowed;opacity:.62}.audio-button.is-playing{border-color:#ffffff94;background:#ffffff3d;animation:audio-pulse 1.2s var(--ease-standard) infinite}.audio-status{margin:0;color:#ffffffc7;font-size:.82rem;font-weight:800}.primary-button{min-height:52px;padding:0 var(--space-5);border:0;border-radius:var(--radius-md);background:var(--color-primary-button);color:var(--color-on-strong);font-weight:900;box-shadow:0 10px 24px color-mix(in srgb,var(--color-accent) 28%,transparent);transition:background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.primary-button:disabled{opacity:.5;box-shadow:none}.primary-button:not(:disabled):hover,.primary-button:not(:disabled):focus-visible{background:var(--color-primary-button-hover);box-shadow:0 12px 28px color-mix(in srgb,var(--color-accent) 34%,transparent)}.primary-button:not(:disabled):active{box-shadow:0 6px 16px color-mix(in srgb,var(--color-accent) 24%,transparent);transform:translateY(1px) scale(.99)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes hint-card-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes chip-place{0%{transform:scale(.96)}70%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tray-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes audio-pulse{0%,to{box-shadow:0 0 #fff0}50%{box-shadow:0 0 0 5px #ffffff29}}@media(prefers-reduced-motion:reduce){.prompt-card,.hint-card,.selected-chip,.settings-sheet,.tutorial-dialog,.bottom-tray,.audio-button.is-playing{animation:none}.settings-button:active,.mode-button:not(:disabled):active,.theme-toggle:active,.hint-chip:active,.ghost-button:not(:disabled):active,.chip:not(:disabled):hover,.chip:not(:disabled):active,.tutorial-link:not(:disabled):active,.primary-button:not(:disabled):active{transform:none}}@media(min-width:768px){.practice-shell{align-items:start;padding:var(--space-6)}.app-chrome{grid-template-columns:minmax(220px,1fr) minmax(220px,420px) 44px}.chrome-progress{grid-column:auto}.practice-stage{min-height:min(760px,calc(100vh - 128px))}.prompt-card h1{max-width:14ch;font-size:4rem}.settings-sheet-backdrop{place-items:center;padding:var(--space-5)}.settings-sheet{border-radius:var(--radius-lg);animation:dialog-enter .22s var(--ease-standard)}}@media(min-width:1024px){.practice-shell{justify-content:center}.app-chrome{width:min(100%,900px)}.brand-lockup p{font-size:1rem}.practice-layout{grid-template-columns:220px minmax(0,620px);align-items:start;width:min(100%,864px)}.session-tracker{position:sticky;top:var(--space-6)}.tracker-stats{grid-template-columns:1fr}.practice-controls,.practice-stage{width:100%}}:root{color-scheme:light;--color-bg: #f7f8fb;--color-surface: #ffffff;--color-surface-soft: #eef3f7;--color-surface-glass: rgb(255 255 255 / .78);--color-surface-raised: rgb(255 255 255 / .9);--color-text: #18212f;--color-text-muted: #647084;--color-border: #dce3eb;--color-bg-lift: #dfe9f3;--color-backdrop: rgb(24 33 47 / .34);--color-focus-ring: #b9d3ff;--color-muted-faint: #aeb8c7;--color-tray-bg: #18212f;--color-tray-success: #23835d;--color-tray-error: #d4473f;--color-primary-button: #2f7df6;--color-primary-button-hover: #1456c7;--color-on-strong: #ffffff;--color-accent: #2f7df6;--color-accent-strong: #1456c7;--color-accent-soft: #e6f0ff;--color-success: #23835d;--color-success-bg: #def7ea;--color-error: #d4473f;--color-error-bg: #ffe2de;--color-warning: #bd7200;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(22 33 48 / .08);--shadow-md: 0 18px 48px rgb(22 33 48 / .14);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-japanese: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--duration-fast: .12s;--duration-med: .22s;--ease-standard: cubic-bezier(.2, .8, .2, 1)}[data-theme=dark]{color-scheme:dark;--color-bg: #0f141c;--color-surface: #161d28;--color-surface-soft: #202a37;--color-surface-glass: rgb(22 29 40 / .78);--color-surface-raised: rgb(22 29 40 / .92);--color-text: #f3f7fb;--color-text-muted: #a7b4c6;--color-border: #344255;--color-bg-lift: #192436;--color-backdrop: rgb(3 7 18 / .66);--color-focus-ring: #8bbcff;--color-muted-faint: #7f8ea3;--color-tray-bg: #0b111b;--color-tray-success: #17613f;--color-tray-error: #7a2e2c;--color-primary-button: #2f63bd;--color-primary-button-hover: #3d74d6;--color-on-strong: #ffffff;--color-accent: #72a7ff;--color-accent-strong: #c9ddff;--color-accent-soft: #20385e;--color-success: #46b981;--color-success-bg: #153926;--color-error: #ff7f77;--color-error-bg: #3e2020;--color-warning: #f3b45c;--shadow-sm: 0 1px 2px rgb(0 0 0 / .34);--shadow-md: 0 18px 48px rgb(0 0 0 / .42)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-bg);font-family:var(--font-ui);color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:disabled,input:read-only{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}#root{min-height:100vh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
