:root{color-scheme:light;--page: #f4f6f1;--surface: #fffef9;--surface-muted: #e9eee8;--surface-soft: #f8faf4;--ink: #161b17;--muted: #687466;--muted-strong: #3f4b42;--line: #d8dfd5;--line-strong: #b8c4b5;--green: #19785b;--green-soft: #dff1e7;--blue: #2457c7;--blue-soft: #e3ebff;--red: #c3454d;--red-soft: #f8e0e2;--amber: #b96624;--amber-soft: #fff0d7;--sidebar: #17231d;--sidebar-soft: #22342b;--sidebar-ink: #fbfff8;--sidebar-muted: #aec2b1;--shadow: 0 18px 42px rgba(30, 43, 32, .1);--shadow-tight: 0 8px 18px rgba(30, 43, 32, .08);--radius: 8px;--radius-sm: 6px;--sans: "Avenir Next", "Trebuchet MS", "PingFang SC", "Microsoft YaHei", sans-serif;--display: "Iowan Old Style", "Songti SC", "STSong", Georgia, serif;--mono: "SFMono-Regular", Menlo, Monaco, Consolas, monospace;font-family:var(--sans);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);background:var(--page)}.app-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0 72px}.app-shell-wide{width:min(1280px,100%);min-width:0;min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr);margin:0 auto}.sidebar{min-width:0;position:sticky;top:0;height:100vh;padding:18px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,rgba(255,254,249,.055),transparent 16%),linear-gradient(180deg,var(--sidebar),#20342a 54%,#121d18);color:var(--sidebar-ink);border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 28px #17231d1f}.workspace{min-width:0;display:grid;gap:20px;padding:24px}.brand-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;min-height:52px;text-decoration:none;color:inherit}.brand-card strong,.brand-card small{display:block}.brand-card small{color:var(--sidebar-muted);font-size:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius);background:linear-gradient(135deg,#fffdf4 0 48%,#f6b85a 48% 54%,#dff1e7 54%);color:var(--sidebar);font-size:13px;font-weight:900;border:1px solid rgba(255,255,255,.56);box-shadow:0 10px 24px #00000029}.sidebar-block{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:#fffef912;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-stack{display:grid;gap:6px}.nav-link{width:100%;min-height:40px;padding:0 12px 0 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-muted);text-align:left;cursor:pointer;font:inherit;font-weight:750;position:relative;transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.nav-link.is-active{background:var(--sidebar-soft);color:var(--sidebar-ink)}.nav-link.is-active:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:3px;border-radius:999px;background:#f6b85a}.goal-meter-card{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center}.goal-ring{--goal: 0%;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at center,var(--sidebar) 57%,transparent 58%),conic-gradient(#72d7a8 var(--goal),rgba(255,255,255,.13) 0);color:var(--sidebar-ink);font-size:13px;font-weight:850;box-shadow:inset 0 0 0 1px #ffffff14}.deck-select{min-width:0;display:grid;gap:7px;margin-top:12px}.sidebar-deck-name,.sidebar-deck-count{display:block}.sidebar-deck-count{margin-top:4px;color:var(--sidebar-muted);font-size:12px}.deck-select select,.toggle-row select,.settings-item select,.answer-field textarea{width:100%;min-width:0;max-width:100%;min-height:38px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.14);background:var(--sidebar-soft);color:var(--sidebar-ink);font:inherit}.sidebar-links{display:grid;gap:8px}.sidebar-links a{color:var(--sidebar-ink);text-decoration:none}.compact-copy{font-size:.95rem}.hero-card,.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px #fffc inset}.hero-card{padding:24px}.eyebrow{margin:0 0 12px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}h1,h2{margin:0}h1{font-family:var(--display);font-size:36px;line-height:1.08;font-weight:760}.lede{max-width:60ch;line-height:1.7;color:var(--muted-strong)}.status-grid,.panel-grid{display:grid;gap:16px}.status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:28px}.status-grid article{padding:18px;border-radius:var(--radius);background:var(--amber-soft)}.status-grid span{display:block;margin-bottom:6px;font-size:.85rem;color:var(--muted)}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.panel-grid-wide{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr)}.panel{padding:24px}.panel-copy{margin:8px 0 0;line-height:1.7;color:#5a5249}.practice-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.toggle-row{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:#fff5df;white-space:nowrap}.toggle-stack{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.mode-switch{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.mode-pill,.action-button{border:0;border-radius:999px;cursor:pointer;font:inherit}.mode-pill{padding:10px 16px;background:#f2eadc;color:#5c503e}.mode-pill.is-active{background:#be7b1d;color:#fffaf2}.deck-list,.word-list{display:grid;gap:12px}.deck-list{margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.deck-card{padding:16px;border:1px solid rgba(117,87,38,.16);border-radius:18px;background:#fff8ec;color:inherit;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.deck-card:hover{transform:translateY(-2px);border-color:#a8670f66;box-shadow:0 16px 30px #563b1314}.deck-card.is-active{border-color:#be7b1d;background:linear-gradient(180deg,#fff1d4,#fff9ef)}.deck-card strong,.deck-card span,.deck-card small{display:block}.deck-card strong{margin:8px 0 6px}.deck-card span,.deck-card small,.deck-meta{color:#64533a}.deck-meta{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.active-deck-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 20px}.practice-summary{margin-bottom:18px}.active-deck-summary div{padding:14px;border-radius:16px;background:#fff6e4}.active-deck-summary span,.active-deck-summary strong{display:block}.active-deck-summary span{margin-bottom:6px;font-size:.8rem;color:#705b39;text-transform:uppercase;letter-spacing:.08em}.word-card{padding:18px;border-radius:18px;background:#fffcf6;border:1px solid rgba(117,87,38,.14)}.practice-board{display:grid;gap:18px}.practice-prompt{padding:22px;border-radius:22px;background:linear-gradient(180deg,#fff7e4,#fffdf7);border:1px solid rgba(117,87,38,.14)}.practice-label{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#8b6323}.practice-title{margin:0;font-size:clamp(2rem,6vw,3.5rem);line-height:1}.practice-title.is-masked{letter-spacing:.18em}.practice-phonetic{margin:14px 0 0;color:#68553a}.pronunciation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.answer-progress-bar{margin-top:18px;height:8px;border-radius:999px;overflow:hidden;background:#7557261f}.answer-progress-bar span{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#f2a12f,#be7b1d)}.practice-stage{display:flex;flex-wrap:wrap;gap:8px}.tile{min-width:42px;padding:12px 10px;border-radius:14px;text-align:center;font-weight:700;border:1px solid rgba(117,87,38,.14);background:#f7efe2}.tile.active{background:#fff2cf;border-color:#d49a42}.tile.correct{background:#dff6de;border-color:#4fa560;color:#215d2c}.tile.wrong{background:#ffe0da;border-color:#d15646;color:#8c2619}.answer-field{display:grid;gap:8px}.answer-field span{color:#665640}.answer-field input{width:100%;padding:14px 16px;border:1px solid rgba(117,87,38,.18);border-radius:16px;background:#fffdf8;font:inherit}.feedback-copy{margin:0;color:#5a5249}.feedback-copy.is-success{color:#24612f}.feedback-copy.is-error{color:#a32626}.practice-actions{display:flex;flex-wrap:wrap;gap:10px}.action-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;background:#be7b1d;color:#fffaf2;text-decoration:none}.action-button.secondary{background:#efe6d7;color:#493d2d}.practice-details{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.practice-details h4{margin:0 0 10px}.detail-list{margin:0;padding-left:18px;line-height:1.8}.example-list,.queue-list{display:grid;gap:12px}.subheading{margin:20px 0 10px}.stats-summary{margin-top:16px}.library-summary{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:16px 0}.library-list{display:grid;gap:12px}.library-card{padding:16px;border-radius:18px;background:#fff8ec;border:1px solid rgba(117,87,38,.14);display:grid;gap:10px}.library-card.is-vocabulary{background:#fff2d9}.library-card strong,.library-card small,.library-card span{display:block}.library-card small,.library-card span{color:#5d5348}.library-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-grid{display:grid;gap:14px}.settings-item{display:grid;gap:8px;padding:14px 16px;border-radius:18px;background:#fff8ec;border:1px solid rgba(117,87,38,.14)}.settings-actions{margin-top:18px}.dictation-reveal{margin:0}.diff-wrap{display:flex;flex-wrap:wrap;gap:8px}.diff-word{padding:8px 10px;border-radius:12px;background:#f0eadf}.diff-word.correct{background:#dff6de}.diff-word.missing{background:#ffe9bf}.diff-word.extra{background:#eadbff}.diff-word.wrong{background:#ffe0da}.diff-fix{display:block;margin-top:4px;color:#8c2619}.example-card,.queue-card{padding:14px 16px;border-radius:16px;background:#fff8ec;border:1px solid rgba(117,87,38,.14)}.example-card strong,.example-card span,.queue-card strong,.queue-card span{display:block}.example-card span,.queue-card span{margin-top:6px;color:#5c5347}.queue-card small{display:block;margin-top:8px;color:#8a7455}.inline-link-button{margin-top:10px;align-self:flex-start;border:0;padding:0;background:transparent;color:#8b6323;cursor:pointer;font:inherit}.insight-summary{margin-bottom:16px;padding:14px 16px;border-radius:16px;background:#fff8ea;border:1px solid rgba(117,87,38,.12)}.insight-action-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#fff3dc,#fffaf1);border:1px solid rgba(117,87,38,.16)}.insight-action-card strong,.insight-action-card span{display:block}.insight-action-card span{margin-top:6px;color:#5c5347}.error{color:#a32626}.card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.link-card{display:grid;gap:8px;padding:18px;border-radius:18px;border:1px solid rgba(117,87,38,.14);background:linear-gradient(180deg,#fff7e4,#fffdf7);color:inherit;text-decoration:none}.link-card.is-compact{padding:14px 16px}.link-card strong{font-size:1rem}.link-card span{color:#5c5347;line-height:1.6}.faq-list{display:grid;gap:14px}.faq-card{padding:18px;border-radius:18px;background:#fff8ec;border:1px solid rgba(117,87,38,.14)}.faq-card strong{display:block;margin-bottom:8px}.faq-card p{margin:0;color:#5c5347;line-height:1.7}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.site-page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0 72px;display:grid;gap:20px}.site-page-hero{padding:32px}.site-page-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:28px}.site-nav{display:flex;flex-wrap:wrap;gap:10px}.site-nav a{padding:10px 14px;border-radius:999px;background:#f2eadc;color:#493d2d;text-decoration:none}.site-page-sections{display:grid;gap:20px}.site-section h2{margin-bottom:12px}.site-section .panel-copy+.panel-copy{margin-top:12px}.support-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:18px}.support-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff7e4,#fffdf7);border:1px solid rgba(117,87,38,.14)}.support-card-head{display:flex;justify-content:space-between;margin-bottom:14px}.support-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f5ead1;color:#7a5418;font-size:.9rem}.support-qr-frame{border-radius:18px;overflow:hidden;background:#fff}.support-qr-image{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.support-modal-shell{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px}.support-modal-backdrop{position:absolute;inset:0;border:0;background:#1f170c73}.support-modal-dialog{position:relative;z-index:1;width:min(920px,100%);padding:28px}.support-modal-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border:0;border-radius:999px;background:#f2eadc;color:#493d2d;font-size:1.5rem;cursor:pointer}.support-link{text-decoration:none}.typing-coach{padding:18px;border-radius:22px;background:#fff8ec;border:1px solid rgba(117,87,38,.14)}.typing-coach[data-tone=wrong]{background:#fff0ec}.typing-coach[data-tone=correct]{background:#eef9ec}.typing-coach-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.typing-coach-title{font-size:.95rem}.typing-coach-note{margin:0;color:#655746;font-size:.95rem}.typing-hand-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.typing-hand{display:flex;gap:10px;justify-content:center;padding:14px;border-radius:18px;background:#fffdf8}.typing-finger{width:18px;height:52px;border-radius:999px;background:#eadfcd}.typing-finger[data-finger=thumb]{width:30px;height:22px;align-self:end}.typing-finger.is-expected{background:#f0bc61}.typing-finger.is-correct{background:#6cc278}.typing-finger.is-wrong{background:#dc7667}.typing-finger.is-pressed{background:#9e8862}.typing-keyboard{display:grid;gap:8px;margin-top:16px}.typing-keyboard-row{display:flex;gap:8px;justify-content:center}.typing-key{min-width:36px;padding:10px 12px;border-radius:12px;background:#f2eadc;text-align:center}.typing-key[data-width=wide]{min-width:180px}.typing-key.is-expected{background:#ffe4a9}.typing-key.is-correct{background:#cfeecf}.typing-key.is-wrong{background:#ffd2cc}.typing-key.is-pressed{background:#e1d5c4}.typing-key-label{font-size:.82rem;font-weight:700}.workspace-header{min-width:0;display:grid;grid-template-columns:minmax(180px,auto) 1fr;gap:18px;align-items:center;margin-bottom:4px}.workspace-intro{max-width:720px;margin:6px 0 0;color:var(--muted-strong);line-height:1.65;font-size:.92rem}.practice-source-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft)}.practice-source-bar .source-toggle{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.practice-source-bar .source-toggle.is-active{background:var(--amber-soft);border-color:#b9662440;color:#7b4a11}.practice-source-bar .source-toggle:disabled{opacity:.45;cursor:default}.practice-source-bar .source-separator{width:1px;height:20px;background:var(--line);margin:0 4px}.practice-source-bar .source-inline-toggle{min-height:32px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted-strong);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .14s ease}.practice-source-bar .source-inline-toggle:hover{background:#0000000a}.entry-launchpad{padding-top:2px}.page-tabs{display:inline-grid;grid-template-columns:repeat(5,minmax(0,auto));gap:6px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd1;box-shadow:var(--shadow-tight)}.page-tab{min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:760;color:var(--ink);text-decoration:none;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.page-tab:hover{transform:translateY(-1px);border-color:#2457c742;box-shadow:var(--shadow-tight)}.quick-stats{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-tile{min-width:0;min-height:64px;padding:10px 12px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffffd1,#fffef9fa);box-shadow:var(--shadow-tight)}.stat-tile:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--green),var(--blue),var(--amber))}.stat-tile span{display:block;color:var(--muted);font-size:11px;font-weight:700}.stat-tile strong{display:block;margin-top:4px;font-family:var(--display);font-size:18px;line-height:1.05}.practice-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.word-layout{grid-template-columns:minmax(420px,1fr) minmax(280px,360px)}.practice-panel,.table-panel,.settings-panel,.info-panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffffd1,#fffef9fa),var(--surface);box-shadow:var(--shadow)}.practice-panel{position:relative;overflow:hidden}.practice-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--green),var(--amber) 48%,var(--blue))}.practice-panel>*{position:relative}.inspector{min-width:0;display:grid;gap:16px}.panel-heading,.panel-toolbar,.toolbar-row,.word-meta,.phonetic-row,.library-toolbar{display:flex;align-items:center}.panel-heading,.panel-toolbar{justify-content:space-between;gap:12px;margin-bottom:16px}.segmented-control{display:inline-grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:4px;padding:4px;border-radius:var(--radius);background:#dfe7df;border:1px solid rgba(184,196,181,.62)}.segment,.primary-action,.secondary-action{min-height:40px;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.segment{background:transparent;color:var(--muted-strong);font-weight:760}.segment.is-active{background:var(--surface);color:var(--blue);border-color:var(--line);box-shadow:var(--shadow-tight)}.status-pill{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--line);color:var(--muted-strong);font-size:12px;font-weight:800;white-space:nowrap}.status-pill[data-status=typing]{color:#6a4608;background:var(--amber-soft)}.status-pill[data-status=done]{color:#16553c;background:var(--green-soft)}.word-meta{justify-content:space-between;gap:12px;margin:8px 0 18px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.target-word{margin:0;font-family:var(--display);font-size:clamp(2.7rem,6vw,4.4rem);line-height:.95;letter-spacing:-.025em}.target-word.is-masked{letter-spacing:.18em}.mode-description{margin:12px 0 0;color:var(--muted-strong);line-height:1.65}.practice-phonetic{margin:0;color:var(--muted)}.phonetic-row{justify-content:space-between;gap:12px;margin:18px 0 0}.word-sound-actions{display:flex;flex-wrap:wrap;gap:8px}.practice-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 20px}.overview-tile{padding:14px;border-radius:var(--radius-sm);background:#f6f7f2;border:1px solid var(--line)}.overview-label,.overview-tile span{display:block;margin-bottom:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.overview-tile strong{display:block;color:var(--ink);line-height:1.4}.word-stage{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.word-stage span{min-width:42px;padding:12px 10px;border-radius:12px;text-align:center;font-weight:760;border:1px solid var(--line);background:#f0f2eb}.word-stage .correct{background:var(--green-soft);border-color:#19785b4d;color:#15543a;animation:tile-correct .32s ease-out}@keyframes tile-correct{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.word-stage .active{background:var(--amber-soft);border-color:#b966244d;color:#7a4a10}.word-stage .wrong{background:var(--red-soft);border-color:#c3454d47;color:#8d2730}.answer-progress{margin-top:18px;height:8px;border-radius:999px;overflow:hidden;background:#161b1714}.answer-progress span{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#f2a12f,#be7b1d);transition:transform .12s ease-out,background-color .2s ease}.answer-progress span[data-state=error]{background:linear-gradient(90deg,#d86c74,#c3454d)}.answer-progress span[data-state=complete]{background:linear-gradient(90deg,#2f9a70,#19785b)}.word-input,.library-search,.answer-field textarea{width:100%;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fffefb;color:var(--ink);font:inherit}.word-input{margin-top:16px}.word-input::placeholder,.library-search::placeholder,.answer-field textarea::placeholder{color:#8a9589}.word-input:focus,.library-search:focus,.answer-field textarea:focus,.deck-select select:focus,.settings-item select:focus{outline:2px solid rgba(36,87,199,.18);outline-offset:2px}.word-input[readonly]{background:#f4f6f1}.typing-coach{margin-top:16px;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:#f7f9f4}.toolbar-row{flex-wrap:wrap;gap:10px;margin-top:18px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer}.primary-action{background:var(--green);color:#fbfff9}.secondary-action{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}.secondary-action.compact{min-height:34px;padding:0 12px}.secondary-action.is-active{background:var(--amber-soft);border-color:#b9662440;color:#7b4a11}.primary-action:hover,.secondary-action:hover,.segment:hover,.action-button:hover,.mode-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow-tight)}.practice-note{margin:16px 0 0;line-height:1.65;color:var(--muted-strong);transition:color .2s ease}.practice-note.is-success{color:#196247}.practice-note.is-error{color:#a0353d}.info-panel h2,.table-panel h2,.settings-panel h2{font-family:var(--display);font-size:34px;line-height:1.05}.word-detail-stack{display:grid;gap:18px}.word-detail-block,.word-meaning-block{display:grid;gap:10px}.meaning,.word-detail-text{color:var(--muted-strong);line-height:1.7}.compact-settings-grid{gap:10px}.compact-settings-grid .settings-item{padding:12px 14px}.inline-setting strong{color:var(--amber)}.source-toolbar{margin-top:12px}.compact-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{justify-content:space-between;gap:12px;margin-bottom:18px}.library-mode-toggle{display:flex;flex-wrap:wrap;gap:8px}.section-note{margin:0 0 16px;color:var(--muted-strong);line-height:1.65}.dictation-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}.select-row{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.select-row select{min-height:28px;padding:0;border:0;background:transparent;color:var(--ink);font:inherit}.dictation-reveal{margin:14px 0 0}.danger-action{background:#fce8e8;color:#a0353d;border-color:#c3454d47}.danger-action:hover{background:#f8d4d4;border-color:#c3454d66}.diff-label{margin:14px 0 6px;font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.workspace{animation:workspace-enter .28s ease-out}@keyframes workspace-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sidebar-toggle{display:none;width:100%;min-height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:var(--sidebar-soft);color:var(--sidebar-ink);font:inherit;font-weight:750;cursor:pointer;text-align:left}.sidebar-collapsible{display:contents}@media(max-width:1100px){.app-shell-wide{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar-toggle{display:block}.sidebar-collapsible{display:none}.sidebar-collapsible.is-open{display:contents}.workspace-header,.practice-layout,.word-layout{grid-template-columns:1fr}.quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workspace{padding:16px}.quick-stats,.practice-overview,.page-tabs,.compact-status-grid{grid-template-columns:1fr}.page-tab{justify-content:flex-start}.typing-hand-stage{grid-template-columns:1fr}.typing-keyboard-row{flex-wrap:wrap}.typing-key[data-width=wide]{min-width:120px}.toolbar-row>*,.dictation-controls>*,.library-toolbar>*{width:100%}.target-word{font-size:42px}}
