:root{color-scheme:light;--bg: #f4f6fa;--bg-soft: #f8fafc;--surface: rgba(255, 255, 255, .92);--surface-solid: #ffffff;--surface-muted: #f6f8fb;--ink: #171b22;--ink-soft: #3b4350;--muted: #687385;--line: #dde4ee;--line-strong: #cbd5e2;--blue: #2563eb;--blue-dark: #1d4ed8;--green: #15865a;--amber: #a66900;--coral: #c24135;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 16px 44px rgba(16, 24, 40, .08);--shadow-lg: 0 28px 90px rgba(16, 24, 40, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif;background:var(--bg);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:linear-gradient(180deg,#ffffffe6,#f4f6faf5 34%,#eef2f7),linear-gradient(90deg,#2563eb0d,#15865a0a);margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.app-shell{width:min(1480px,100%);margin:0 auto;padding:28px clamp(18px,3vw,36px) 36px}.topbar{align-items:center;background:linear-gradient(135deg,#fffffffa,#f8fafce6),var(--surface-solid);border:1px solid rgba(221,228,238,.9);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;gap:20px;justify-content:space-between;margin-bottom:18px;padding:22px 24px}.topbar-actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.learning-language-toggle{background:#edf3fb;border:1px solid #d6e1ee;border-radius:8px;display:inline-grid;gap:2px;grid-template-columns:repeat(2,minmax(0,auto));padding:3px}.learning-language-toggle button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink-soft);display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-height:36px;min-width:112px;padding:0 10px;transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;white-space:nowrap}.learning-language-toggle button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--blue-dark)}.topbar h1{font-size:clamp(30px,4vw,48px);font-weight:780;letter-spacing:0;line-height:1.05;margin:0}.topbar p,.panel-heading p,.progress-panel p,.mode-row p,.feedback p,.sentence-box p,.insight-panel section>p{color:var(--muted);line-height:1.65;margin:0}.ghost-button,.primary-button{align-items:center;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:42px;padding:0 15px;transition:box-shadow .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.auto-speech-toggle{background:#edf3fb;border:1px solid #d6e1ee;border-radius:8px;display:inline-grid;gap:2px;grid-template-columns:repeat(3,minmax(0,auto));padding:3px}.auto-speech-toggle button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink-soft);display:inline-flex;font-size:13px;font-weight:700;gap:6px;justify-content:center;min-height:36px;min-width:104px;padding:0 10px;transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;white-space:nowrap}.auto-speech-toggle button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--blue-dark)}.ghost-button{background:#ffffffd1;color:var(--ink-soft)}.primary-button{background:linear-gradient(180deg,#2f76ff,var(--blue));border-color:var(--blue);box-shadow:0 9px 20px #2563eb2e;color:#fff;font-weight:700}.ghost-button:hover,.primary-button:hover,.learning-language-toggle button:hover,.auto-speech-toggle button:hover,.answer-button:hover,.speech-button:hover,.insight-toggle button:hover,.rating-button:hover,.library-row:hover,.weak-list button:hover{box-shadow:0 10px 24px #10182814;transform:translateY(-1px)}.summary-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(128px,1fr));margin-bottom:16px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px}.stat-block{align-items:center;background:var(--surface);border:1px solid rgba(221,228,238,.9);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;gap:14px;min-height:96px;padding:18px}.stat-block>span{align-items:center;border-radius:8px;display:inline-flex;height:46px;justify-content:center;width:46px}.stat-block svg{height:22px;width:22px}.stat-block strong{display:block;font-size:32px;font-weight:780;line-height:1}.stat-block p{color:var(--muted);margin:6px 0 0}.stat-block.blue>span{background:#e7f0ff;color:var(--blue)}.stat-block.amber>span{background:#fff4d6;color:var(--amber)}.stat-block.coral>span{background:#ffeeea;color:var(--coral)}.stat-block.green>span{background:#e3f8ef;color:var(--green)}.workspace{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);margin-bottom:16px}.training-panel,.insight-panel,.library-panel,.progress-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid rgba(221,228,238,.9);border-radius:8px;box-shadow:var(--shadow-md)}.training-panel{min-height:0;padding:clamp(20px,2vw,28px);position:relative}.insight-panel{display:grid;gap:16px;padding:clamp(18px,2vw,24px)}.panel-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.panel-heading.compact{align-items:center}.panel-heading h2,.progress-panel h2,.insight-panel h2{align-items:center;display:flex;gap:8px;font-size:20px;font-weight:760;line-height:1.2;margin:0}.insight-visibility-control{align-items:center;background:linear-gradient(180deg,#fbfcfe,var(--surface-muted));border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;padding:12px}.insight-visibility-control p{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 0}.insight-toggle{background:#edf3fb;border:1px solid #d6e1ee;border-radius:8px;display:inline-grid;gap:2px;grid-template-columns:repeat(2,minmax(72px,1fr));padding:3px}.insight-toggle button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--ink-soft);display:inline-flex;gap:6px;justify-content:center;min-height:36px;padding:0 10px;transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.insight-toggle button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--blue-dark);font-weight:760}.insight-hidden-note{background:#f8fbff;border:1px dashed #cbd8ea;border-radius:8px;padding:10px 12px}.insight-hidden-note p{color:var(--muted);font-size:14px;line-height:1.45;margin:0}.training-panel .panel-heading h2{font-size:clamp(48px,7vw,76px);font-weight:820;letter-spacing:0}.type-chip,.mini-chip,.mode-badge,.question-frequency-grade{border-radius:999px;display:inline-flex;font-size:12px;font-weight:760;letter-spacing:0;padding:5px 9px}.type-chip{margin-bottom:8px}.mini-chip{justify-content:center;justify-self:start;min-width:72px;width:72px}.prefix{background:#e7f0ff;color:#1d55bf}.root{background:#e4f8ef;color:#126c49}.suffix{background:#fff1d8;color:#985c00}.focus-strip{border:1px solid var(--line);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px;overflow:hidden}.focus-strip div{background:linear-gradient(180deg,#fbfcfe,var(--surface-muted));min-width:0;padding:15px}.focus-strip span{color:#7a8494;display:block;font-size:12px;font-weight:650;margin-bottom:6px}.focus-strip strong{display:block;color:var(--ink);overflow-wrap:anywhere}.question-block{background:linear-gradient(145deg,#ffffff12,#fff0),#171b22;border-radius:8px;box-shadow:var(--shadow-lg);color:#fff;overflow:hidden;padding:clamp(18px,3vw,28px);position:relative}.celebration-burst{--burst-size: 230px;--burst-zoom: 1.08;animation:celebration-shell 1.12s cubic-bezier(.16,1,.3,1) forwards;filter:drop-shadow(0 0 22px rgba(250,204,21,.38)) drop-shadow(0 0 34px rgba(56,189,248,.2));height:var(--burst-size);left:var(--celebration-left, 50vw);pointer-events:none;position:fixed;top:var(--celebration-top, 50vh);transform:translate(-50%,-50%);transform-origin:center;width:var(--burst-size);z-index:80}.celebration-burst:before,.celebration-burst:after{animation:celebration-halo .82s ease-out forwards;border-radius:999px;content:"";height:92px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.25);width:92px}.celebration-burst:before{background:radial-gradient(circle,#ffffffeb,#facc1552 42%,#facc1500 72%)}.celebration-burst:after{animation-delay:90ms;background:radial-gradient(circle,#38bdf86b,#c084fc3d 46%,#c084fc00 74%)}.celebration-core,.celebration-particle{left:50%;position:absolute;top:50%}.celebration-core{animation:celebration-core .72s ease-out forwards;background:#ffffffd9;border-radius:999px;box-shadow:0 0 18px #ffffffb8,0 0 42px #facc15b3,0 0 80px #38bdf861;height:20px;transform:translate(-50%,-50%) scale(.2);width:20px}.celebration-particle{--burst-color: #facc15;--burst-delay: 0ms;--burst-x: 0px;--burst-y: 0px;animation:celebration-particle 1.04s cubic-bezier(.16,1,.3,1) var(--burst-delay) forwards;background:var(--burst-color);border-radius:999px;box-shadow:0 0 12px var(--burst-color),0 0 26px var(--burst-color);height:9px;opacity:0;transform:translate(-50%,-50%) scale(.45);width:9px}@keyframes celebration-shell{0%{transform:translate(-50%,-50%) scale(calc(.78 * var(--burst-zoom)))}to{transform:translate(-50%,-50%) scale(calc(1.04 * var(--burst-zoom)))}}@keyframes celebration-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.22)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}@keyframes celebration-core{0%{opacity:.4;transform:translate(-50%,-50%) scale(.2)}42%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}@keyframes celebration-particle{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}14%{opacity:1}70%{opacity:.92}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(1.04)}}@media(prefers-reduced-motion:reduce){.celebration-burst,.celebration-burst:before,.celebration-burst:after,.celebration-core,.celebration-particle{animation:none}.celebration-burst{display:none}}.mode-row{align-items:flex-start;display:flex;gap:12px;margin-bottom:18px}.mode-badge{background:#fff;color:var(--ink);flex:0 0 auto}.question-frequency-grade{align-items:center;background:#fff;color:var(--ink);flex:0 0 auto;white-space:nowrap}.mode-row p{color:#cbd4e1;flex:1 1 auto;margin-top:2px;min-width:0}.mode-row p strong{color:#fff;font-weight:760}.mode-row p span{color:#d8e0ec}.review-summary{display:grid;gap:4px;line-height:1.45}.review-summary>span{color:#d8e0ec;display:block}.review-summary strong{color:#fff;font-weight:760}.definition-card{background:var(--surface-muted);border:1px solid #e8edf4;border-radius:8px;display:grid;gap:7px;margin-top:10px;padding:12px}.definition-card strong{color:var(--ink);font-size:28px;font-weight:820;line-height:1.05;overflow-wrap:anywhere}.definition-card span{color:var(--blue-dark);font-weight:740;overflow-wrap:anywhere}.definition-card p{color:var(--ink-soft);line-height:1.55;margin:0}.insight-panel .mnemonic-note{background:var(--surface-muted);border:1px solid #e8edf4;border-radius:8px;color:var(--ink-soft);margin-top:10px;padding:10px 12px}.review-example-card{background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:8px;display:grid;gap:5px;margin-top:4px;padding:10px 12px}.review-example-card p{margin:0}.review-example-heading{color:#aeb9c9;font-size:12px;font-weight:760}.review-example-heading strong{color:#d8e0ec;font-weight:780}.review-example-word{align-items:baseline;color:#d8e0ec;display:flex;flex-wrap:wrap;gap:2px}.review-example-word strong{color:#fff;font-size:18px;font-weight:820}.review-example-word span{color:#d8e0ec}.review-example-mnemonic{color:#d8e0ec;line-height:1.55}.review-speech-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:3px 0 2px}.speech-button{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;display:inline-flex;gap:6px;min-height:34px;padding:0 10px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.speech-button:hover{background:#ffffff29;border-color:#ffffff52}.speech-button:disabled{cursor:default;opacity:.45}.speech-button:disabled:hover{background:#ffffff1a;border-color:#fff3}.question-block h3{font-size:clamp(24px,3.3vw,38px);font-weight:780;line-height:1.22;margin:0 0 22px;max-width:860px}.review-recap{align-items:flex-start;display:grid;flex:1 1 auto;gap:14px;grid-template-columns:minmax(0,1fr) max-content;min-width:0}.review-mnemonic-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:176px}.review-mnemonic-button{align-items:center;background:transparent;border:0;cursor:zoom-in;display:grid;flex:0 0 84px;gap:5px;justify-items:center;padding:0;width:84px}.review-mnemonic-thumb{aspect-ratio:1;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:inset 0 1px #ffffff14;display:block;object-fit:cover;width:84px}.review-mnemonic-label{color:#d8e0ec;display:block;font-size:12px;font-weight:760;line-height:1.2;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.answer-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);position:relative;z-index:1}.question-timer{display:grid;gap:8px;margin:-8px 0 16px}.question-timer-top{align-items:center;color:#d8e0ec;display:flex;gap:12px;justify-content:space-between}.question-timer-top span{font-size:13px;font-weight:760}.question-timer-top strong{color:#fff;font-size:18px;font-weight:820;min-width:54px;text-align:right}.question-timer-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:8px}.question-timer-pause{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:760;gap:4px;min-height:30px;padding:0 10px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.question-timer-pause:hover{background:#ffffff29;border-color:#ffffff57;transform:translateY(-1px)}.question-timer-track{background:#ffffff24;border-radius:999px;height:9px;overflow:hidden}.question-timer-track span{background:linear-gradient(90deg,#48d597,#facc15);border-radius:inherit;display:block;height:100%;transition:width .1s linear}.question-timer.stage-1 .question-timer-track span{background:linear-gradient(90deg,#38bdf8,#facc15)}.question-timer.stage-2 .question-timer-track span{background:linear-gradient(90deg,#facc15,#fb7185)}.answer-zone{isolation:isolate;position:relative}.previous-review-block{border-top:1px solid rgba(255,255,255,.14);margin-top:16px;padding-top:16px}.memory-action-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:12px}.memory-action-row .auto-speech-toggle{background:#ffffff14;border-color:#ffffff2e;grid-template-columns:repeat(3,42px);width:auto}.memory-action-row .auto-speech-toggle button{color:#ffffffe6;height:40px;min-height:40px;min-width:42px;padding:0;width:42px}.memory-action-row .auto-speech-toggle button.active{background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff1a;color:#fff}.voice-icon-stack{align-items:center;display:inline-flex;height:26px;justify-content:center;position:relative;width:30px}.voice-icon-stack svg{stroke-width:2.4}.voice-icon-stack.is-male svg{color:#a7d8ff}.voice-icon-stack.is-female svg{color:#fecdd3}.voice-icon-stack.is-muted svg{color:#d1d5db}.voice-gender-badge{align-items:center;border:1px solid rgba(255,255,255,.74);border-radius:999px;bottom:-3px;box-shadow:0 2px 5px #0f172a47;color:#0f172a;display:inline-flex;font-size:9px;font-weight:800;height:15px;justify-content:center;line-height:1;position:absolute;right:-2px;width:15px}.voice-icon-stack.is-male .voice-gender-badge{background:#bfdbfe}.voice-icon-stack.is-female .voice-gender-badge{background:#fecdd3}.memory-action-button{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#ffffffeb;display:inline-flex;font-size:13px;font-weight:760;gap:6px;min-height:36px;padding:8px 12px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.memory-action-button:hover{background:#ffffff21;border-color:#ffffff4d}.memory-action-button.is-hidden{color:#cbd5e1}.memory-action-button.is-mastered{color:#c8f6dd}.memory-action-button.is-fuzzy{color:#fde68a}.memory-action-button.is-unknown{color:#ffd3cf}.memory-action-button.active{background:#ffffff2e;border-color:#ffffff57;box-shadow:inset 0 0 0 1px #ffffff14}.memory-action-button:disabled{cursor:default;opacity:.56}.memory-action-button:disabled:hover{background:#ffffff14;border-color:#ffffff2e;transform:none}@media(max-width:980px){.memory-action-row{gap:6px}.memory-action-row .auto-speech-toggle{grid-template-columns:repeat(3,38px);width:auto}.memory-action-row .auto-speech-toggle button{height:38px;justify-content:center;min-height:38px;min-width:38px;padding:0;width:38px}}.answer-option{min-width:0;position:relative}.answer-button{align-items:center;background:#ffffff13;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff;display:flex;gap:10px;justify-content:space-between;min-height:68px;padding:15px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.answer-button:hover{background:#ffffff1f;border-color:#ffffff47}.answer-button.has-mnemonic{padding-right:78px}.answer-text{flex:1 1 auto;overflow-wrap:anywhere}.answer-status{align-items:center;display:inline-flex;flex:0 0 auto;gap:8px}.answer-mnemonic-trigger{align-items:center;background:transparent;border:0;border-radius:8px;cursor:zoom-in;display:inline-flex;justify-content:center;padding:0;position:absolute;right:11px;top:50%;transform:translateY(-50%)}.answer-mnemonic-trigger:focus-visible,.memory-action-button:focus-visible,.question-timer-pause:focus-visible,.review-mnemonic-button:focus-visible,.speech-button:focus-visible,.mnemonic-lightbox-close:focus-visible{outline:3px solid rgba(255,255,255,.86);outline-offset:3px}.answer-mnemonic-thumb{aspect-ratio:1;border:2px solid rgba(255,255,255,.72);border-radius:8px;box-shadow:0 8px 22px #0000002e;display:block;height:52px;object-fit:cover;width:52px}.mnemonic-preview-button{background:transparent;border:0;cursor:zoom-in;display:block;margin-top:10px;padding:0;width:100%}.mnemonic-preview-button img{aspect-ratio:1;background:#fffaf2;border:1px solid #e8edf4;border-radius:8px;box-shadow:var(--shadow-sm);display:block;object-fit:cover;width:min(100%,260px)}.image-scene{color:var(--muted);font-size:13px;line-height:1.55;margin:8px 0 0!important}.answer-button.correct{background:#16815a;border-color:#72d6aa}.answer-button.wrong{background:#b93e33;border-color:#ff9289}.answer-button:disabled{cursor:default;opacity:.92}.answer-button.answered{cursor:default;opacity:.92}.answer-button.answered:hover{box-shadow:none;transform:none}.mnemonic-lightbox{align-items:center;background:#0c111ab8;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.mnemonic-lightbox-content{position:relative}.mnemonic-lightbox-content img{background:#fffaf2;border:1px solid rgba(255,255,255,.38);border-radius:8px;box-shadow:0 30px 80px #00000059;display:block;max-height:min(76vh,720px);max-width:min(76vw,720px);object-fit:contain}.mnemonic-lightbox-close{align-items:center;background:#fffffff5;border:1px solid rgba(15,23,42,.12);border-radius:999px;box-shadow:0 10px 30px #00000038;color:var(--ink);cursor:pointer;display:inline-flex;height:38px;justify-content:center;position:absolute;right:-14px;top:-14px;width:38px;z-index:1}.feedback{align-items:start;border:1px solid;border-radius:8px;display:grid;gap:16px;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);margin-top:16px;padding:16px}.feedback-summary p{margin:8px 0 0}.feedback.is-correct{background:#effbf5;border-color:#bde9d2}.feedback.is-wrong{background:#fff1ef;border-color:#ffc7c0}.feedback span{color:var(--ink);font-weight:720}.rating-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.feedback-meta{align-items:center;background:#ffffff9e;border:1px solid rgba(203,213,226,.72);border-radius:8px;color:var(--ink-soft);display:flex;min-height:52px;padding:12px 14px}.example-detail-block{border-top:1px solid rgba(15,23,42,.1);display:grid;gap:12px;grid-column:1 / -1;padding-top:14px}.example-detail-word{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.example-detail-word span{color:var(--muted);font-size:13px;font-weight:760}.example-detail-word strong{color:var(--ink);font-size:30px;line-height:1}.example-detail-section{display:grid;gap:7px}.example-detail-section h3{color:var(--ink);font-size:15px;letter-spacing:0;margin:0}.example-detail-section ol{color:var(--ink-soft);display:grid;gap:7px;line-height:1.55;margin:0;padding-left:22px}.example-detail-section li{padding-left:2px}.example-detail-sentences{gap:10px!important}.example-detail-sentences p{margin:0}.example-detail-en{color:var(--ink);font-weight:700}.rating-button{background:#ffffffdb;border:1px solid var(--line);border-radius:8px;min-height:64px;padding:10px}.rating-button strong,.rating-button span{display:block}.rating-button span{color:var(--muted);font-size:12px;margin-top:4px}.example-list{display:grid;gap:10px}.confusion-panel{background:#fffaf0;border:1px solid #f1d69a;border-radius:8px;padding:15px}.confusion-list{display:grid;gap:8px;margin-top:12px}.confusion-row{align-items:center;background:#ffffffad;border:1px solid #f0dfb8;border-radius:8px;color:var(--ink);display:grid;gap:3px 10px;grid-template-columns:72px minmax(0,1fr);min-height:58px;padding:10px 12px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.confusion-row:hover{background:#fff;border-color:#dfbc70;box-shadow:0 8px 18px #a669001a;transform:translateY(-1px)}.confusion-row.active{background:#fff;border-color:var(--amber);box-shadow:inset 0 0 0 1px #a6690052}.confusion-row strong{font-size:18px;grid-row:1 / 3}.confusion-row span{color:var(--ink-soft);font-weight:700;overflow-wrap:anywhere}.confusion-row em{color:var(--muted);font-size:13px;font-style:normal;overflow-wrap:anywhere}.confusion-note{color:#6b4b10!important;margin-top:12px!important}.example-row{background:#ffffff8f;border:1px solid #e4eaf2;border-radius:8px;box-shadow:var(--shadow-sm);padding:14px}.example-row div{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.example-row span{color:var(--muted);font-size:13px;overflow-wrap:anywhere;text-align:right}.example-row p{color:var(--ink-soft);margin:8px 0 0}.sentence-box{background:var(--surface-muted);border-radius:8px;border:1px solid #e8edf4;padding:15px}.sentence-box .sentence-en{color:var(--ink);font-weight:690;margin-top:10px}.lower-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr)}.library-panel,.progress-panel{padding:20px}.library-controls{align-items:center;display:flex;flex:0 1 560px;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.search-box{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;min-height:42px;padding:0 12px;width:min(360px,100%)}.library-controls .search-box{flex:1 1 300px;width:auto}.search-box input{background:transparent;border:0;min-width:0;outline:0;width:100%}.study-count-box{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex:0 0 auto;gap:8px;min-height:42px;padding:0 10px;white-space:nowrap}.study-count-box span{font-size:12px;font-weight:740}.study-count-box input{background:transparent;border:0;color:var(--ink);font-weight:760;outline:0;text-align:right;width:58px}.library-list{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:550px;overflow:auto;padding-right:4px}.library-row{align-items:center;background:#ffffffbf;border:1px solid #e2e8f1;border-radius:8px;color:var(--ink);display:grid;gap:8px;grid-template-columns:112px minmax(70px,.7fr) minmax(0,1fr) auto;min-height:56px;padding:10px 11px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.library-row.active{background:#fff;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue),0 12px 26px #2563eb1f}.library-row.status-hidden{opacity:.62}.library-meta{align-items:center;display:flex;gap:6px;grid-column:1;min-width:0}.library-row .mini-chip{flex:0 0 auto}.frequency-grade{align-items:center;background:#f1f4f8;border:1px solid #d9e1eb;border-radius:999px;color:#7a8494;display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:760;height:22px;justify-content:center;letter-spacing:0;min-width:25px;padding:0 7px}.library-row.active .frequency-grade{background:#f8fafc;border-color:#cbd8ea;color:#627086}.library-form{grid-column:2}.library-meaning{grid-column:3}.library-due{grid-column:4}.library-row strong,.library-row span,.library-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-row em{color:#7a8494;font-style:normal;font-size:12px}.progress-meter{background:#e8edf5;border-radius:999px;height:10px;margin:18px 0 12px;overflow:hidden}.progress-meter span{background:linear-gradient(90deg,var(--blue),var(--green));display:block;height:100%;transition:width .18s ease}.weak-list{display:grid;gap:8px;margin-top:16px}.weak-list button{align-items:center;background:#fff8f6;border:1px solid #ffd3cc;border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-height:48px;padding:10px 12px}.weak-list span{color:var(--muted)}.empty-state{background:var(--surface-muted);border-radius:8px;padding:14px}@media(max-width:1020px){.workspace,.lower-grid{grid-template-columns:1fr}.insight-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-shell{padding:16px}.topbar,.panel-heading,.panel-heading.compact,.insight-visibility-control,.feedback{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.topbar-actions,.learning-language-toggle{width:100%}.learning-language-toggle button{min-width:0;width:100%}.auto-speech-toggle{width:100%}.auto-speech-toggle{grid-template-columns:1fr}.auto-speech-toggle button{min-width:0}.focus-strip,.answer-grid,.rating-row,.library-list,.insight-panel{grid-template-columns:1fr}.summary-grid{gap:10px;grid-template-columns:repeat(4,minmax(126px,1fr))}.stat-block{gap:10px;min-height:82px;padding:12px}.stat-block>span{height:40px;width:40px}.stat-block strong{font-size:28px}.training-panel{min-height:auto;padding:16px}.question-timer-top{flex-wrap:wrap}.celebration-burst{--burst-size: 280px;--burst-zoom: 1.22}.training-panel .panel-heading h2{font-size:48px}.question-block{padding:18px}.review-recap{grid-template-columns:1fr}.review-mnemonic-strip{justify-content:flex-start;max-width:none}.review-mnemonic-button,.review-mnemonic-thumb{flex-basis:72px;width:72px}.library-controls{flex:none;width:100%}.mnemonic-lightbox-content img{max-height:78vh;max-width:88vw}.mode-row{align-items:flex-start;flex-wrap:wrap}.library-row{grid-template-columns:72px minmax(0,1fr) auto}.library-form{grid-column:2 / 4}.library-meaning{grid-column:1 / 3;grid-row:2}.library-due{grid-column:3;grid-row:2}}
