*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#5a67d8;--primary-light:#eef2ff;--primary-dark:#3730a3;--correct:#10b981;--error:#ef4444;--soft:#f59e0b;--text:#374151;--text-muted:#6b7280;--border:#e5e7eb;--bg:#fff;--bg-subtle:#f3f4f6;--radius:.75rem;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--text-2xs:.5rem;--text-xs:.625rem;--text-sm:.825rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:2.25rem;--text-spacing-base:.05em;--spacer-2xs:.2rem;--spacer-xs:.55rem;--spacer-sm:.8rem;--spacer-base:1rem;--spacer-lg:1.2rem;--spacer-xl:1.45rem;--spacer-2xl:1.75rem}body{color:var(--text);background:var(--bg-subtle);min-height:100vh;font-family:BIZ UDPGothic,system-ui,-apple-system,sans-serif;font-weight:400}header{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.logo{font-size:var(--text-2xl);color:var(--primary);font-weight:700}.lang-switcher{gap:var(--spacer-xs);display:flex}.lang-switcher button{padding:var(--spacer-xs) var(--spacer-sm);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:.375rem;font-size:.8rem;transition:all .15s}.lang-switcher button.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}main{min-height:calc(100vh - 57px)}button{cursor:pointer;font-family:inherit}@media (width<=600px){header{padding:.6rem 1rem}.logo{font-size:1.35rem}}.home[data-v-3b37bb0c]{max-width:680px;padding:var(--spacer-2xl);gap:var(--spacer-2xl);flex-direction:column;margin:0 auto;display:flex}.section-header[data-v-3b37bb0c]{margin-bottom:var(--spacer-xs);justify-content:space-between;align-items:center;display:flex}.section-title[data-v-3b37bb0c]{font-size:var(--text-lg);text-transform:uppercase;color:var(--text-muted);margin-bottom:0;font-weight:600}.btn-toggle-all[data-v-3b37bb0c]{font-size:var(--text-sm);color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.sr-only[data-v-3b37bb0c]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.counter-grid[data-v-3b37bb0c]{gap:var(--spacer-xs);grid-template-columns:repeat(4,1fr);display:grid}.counter-card[data-v-3b37bb0c]{justify-content:center;align-items:center;gap:var(--spacer-xs);padding:var(--spacer-sm) var(--spacer-xs);border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;flex-direction:column;transition:background .15s,border-color .15s;display:flex;position:relative}.counter-card[data-v-3b37bb0c]:hover,.counter-card.selected[data-v-3b37bb0c]{border-color:var(--primary);background:var(--primary-light)}.counter-writing[data-v-3b37bb0c]{font-family:LXGW WenKai TC,cursive;font-size:var(--text-2xl);color:var(--primary);ruby-align:center}.counter-writing rt[data-v-3b37bb0c]{font-size:var(--text-base);color:var(--primary);opacity:.8}.counter-role[data-v-3b37bb0c]{font-size:var(--text-sm);color:var(--text-muted);text-align:center}.check-badge[data-v-3b37bb0c]{background:var(--primary);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:flex;position:absolute;top:.3rem;right:.3rem}.mode-list[data-v-3b37bb0c],.active-modes[data-v-3b37bb0c]{gap:var(--spacer-xs);flex-direction:column;display:flex}.mode-row[data-v-3b37bb0c]{align-items:center;gap:var(--spacer-sm);padding:var(--spacer-sm) var(--spacer-base);border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:background .15s,border-color .15s;display:flex}.mode-row[data-v-3b37bb0c]:hover,.mode-row--active[data-v-3b37bb0c]{background:var(--primary-light);border-color:var(--primary);cursor:pointer}.mode-row:hover .mode-label[data-v-3b37bb0c],.mode-row--active .mode-label[data-v-3b37bb0c]{color:var(--primary)}.drag-handle[data-v-3b37bb0c]{color:var(--primary);opacity:.45;cursor:grab;padding:var(--spacer-xs) var(--spacer-sm);border-radius:.375rem;flex-shrink:0;align-items:center;transition:opacity .15s,background .15s;display:flex}.drag-handle[data-v-3b37bb0c]:hover{opacity:1;background:#5a67d81a}.drag-handle[data-v-3b37bb0c]:active{cursor:grabbing}.mode-order[data-v-3b37bb0c]{background:var(--primary);color:#fff;width:1.4rem;height:1.4rem;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.mode-info[data-v-3b37bb0c]{flex-direction:column;flex:1;gap:.15rem;display:flex}.mode-label[data-v-3b37bb0c]{font-weight:600;font-size:var(--text-base);color:var(--text)}.mode-desc[data-v-3b37bb0c]{font-size:var(--text-sm);color:var(--text-muted)}.mode-row--inactive[data-v-3b37bb0c]{display:none}.number-grid[data-v-3b37bb0c]{gap:var(--spacer-xs);grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;display:grid}.number-card[data-v-3b37bb0c]{padding:var(--spacer-sm) var(--spacer-xs);border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;transition:background .15s,border-color .15s;display:flex;position:relative}.number-card[data-v-3b37bb0c]:hover,.number-card.selected[data-v-3b37bb0c]{border-color:var(--primary);background:var(--primary-light)}.number-display[data-v-3b37bb0c]{font-family:LXGW WenKai TC,cursive;font-size:var(--text-2xl);color:var(--primary);ruby-align:center}.number-display rt[data-v-3b37bb0c]{font-size:var(--text-base);color:var(--primary);opacity:.8}.number-card--nan[data-v-3b37bb0c]{grid-column:span 2}.start-row[data-v-3b37bb0c]{justify-content:flex-end;display:flex}@media (width<=480px){.home[data-v-3b37bb0c]{padding:var(--spacer-sm);gap:var(--spacer-lg)}.counter-grid[data-v-3b37bb0c]{grid-template-columns:repeat(2,1fr)}.number-grid[data-v-3b37bb0c]{grid-template-columns:repeat(3,1fr)}.number-card[data-v-3b37bb0c]{padding:var(--spacer-xs) var(--spacer-2xs);gap:.15rem}.btn-start[data-v-3b37bb0c]{text-align:center;flex:1}}.btn-start[data-v-3b37bb0c]{padding:var(--spacer-base);background:var(--primary);color:#fff;border-radius:var(--radius);font-size:var(--text-base);border:none;font-weight:600;transition:background .15s}.btn-start[data-v-3b37bb0c]:hover:not(:disabled){background:var(--primary-dark)}.btn-start[data-v-3b37bb0c]:disabled{opacity:.4;cursor:not-allowed}.sentence-display[data-v-cd59e2d7]{text-align:center;padding:1.5rem 1rem 1rem}.sentence[data-v-cd59e2d7]{font-family:Klee One,sans-serif;font-weight:700;font-size:var(--text-2xl);color:var(--text);line-height:1.5}.highlight[data-v-cd59e2d7]{color:var(--primary);border-bottom:3px solid var(--primary);margin:0 .05em;padding-bottom:.05em;font-weight:700;display:inline-block}@media (width<=480px){.sentence-display[data-v-cd59e2d7]{padding:.75rem .5rem}.sentence[data-v-cd59e2d7]{font-size:1.8rem}}.hint-panel[data-v-76585708]{flex-direction:column;align-items:center;gap:.5rem;display:flex}.hint-toggle[data-v-76585708]{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:2rem;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.8rem;transition:all .15s;display:flex}.hint-toggle[data-v-76585708]:hover{border-color:var(--soft);color:var(--soft)}.hint-body[data-v-76585708]{background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;width:100%;max-width:28rem;padding:.6rem 1rem}.hint-text[data-v-76585708]{color:#92400e;text-align:center;font-size:.88rem}.audio-btn[data-v-7c276760]{border:1px solid var(--border);background:var(--bg);width:2.25rem;height:2.25rem;color:var(--text-muted);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.audio-btn[data-v-7c276760]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.audio-btn[data-v-7c276760]:disabled{opacity:.35;cursor:not-allowed}.sentence-wrapper[data-v-90fcef85]{padding-right:var(--spacer-2xl);position:relative}.audio-button[data-v-90fcef85]{position:absolute;top:0;right:0}.free-input-mode[data-v-90fcef85]{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.question-label[data-v-90fcef85]{color:var(--text-muted);font-size:.9rem}.input-area[data-v-90fcef85]{gap:.6rem;width:100%;max-width:28rem;display:flex}.input-wrapper[data-v-90fcef85]{flex:1;position:relative}.answer-input[data-v-90fcef85]{width:100%;padding:var(--spacer-xs) var(--spacer-sm);border:2px solid var(--border);border-radius:var(--radius);font-size:var(--text-xl);outline:none;font-family:Klee One,sans-serif;font-weight:700;transition:border-color .15s}.answer-input[data-v-90fcef85]:focus{border-color:var(--primary)}.btn-validate[data-v-90fcef85]{background:var(--primary);color:#fff;border-radius:var(--radius);white-space:nowrap;border:none;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;transition:background .15s}.btn-validate[data-v-90fcef85]:hover{background:var(--primary-dark)}.error-message[data-v-90fcef85]{padding:var(--spacer-xs);color:var(--error);font-weight:700}.mc-mode[data-v-e39576ea]{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.question-label[data-v-e39576ea]{color:var(--text-muted);font-size:.9rem}.options-grid[data-v-e39576ea]{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;max-width:28rem;display:grid}.option-btn[data-v-e39576ea]{border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);text-align:center;padding:.85rem 1rem;font-family:inherit;font-size:1.05rem;transition:all .15s}.option-btn[data-v-e39576ea]:hover{border-color:var(--primary);background:var(--primary-light)}.option-btn--selected[data-v-e39576ea]{border-color:var(--primary);background:var(--primary);color:#fff}.option-btn--correct[data-v-e39576ea]{border-color:var(--correct);color:#166534;background:#f0fdf4;font-weight:600}.option-btn--wrong[data-v-e39576ea]{border-color:var(--error);color:#991b1b;background:#fef2f2}.counter-choice-mode[data-v-13e424b7]{flex-direction:column;align-items:center;gap:1.25rem;width:100%;display:flex}.sentence-area[data-v-13e424b7]{padding:1.5rem 1rem .5rem}.sentence[data-v-13e424b7]{text-align:center;font-size:1.6rem}.number[data-v-13e424b7]{color:var(--primary);font-weight:700}.blank[data-v-13e424b7]{border-bottom:thin dashed var(--primary);width:var(--spacer-2xl);display:inline-block}.question-label[data-v-13e424b7]{color:var(--text-muted);font-size:.9rem}.options-grid[data-v-13e424b7]{grid-template-columns:1fr 1fr;gap:.6rem;width:100%;max-width:28rem;display:grid}.counter-btn[data-v-13e424b7]{border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;align-items:center;gap:.2rem;padding:.9rem .5rem;transition:all .15s;display:flex}.counter-btn[data-v-13e424b7]:hover{border-color:var(--primary);background:var(--primary-light)}.counter-btn--selected[data-v-13e424b7]{border-color:var(--primary);background:var(--primary)}.counter-btn--selected .counter-writing[data-v-13e424b7]{color:#fff}.counter-btn--selected .counter-role[data-v-13e424b7]{color:#ffffffbf}.counter-btn--correct[data-v-13e424b7]{border-color:var(--correct);background:#f0fdf4}.counter-btn--wrong[data-v-13e424b7]{border-color:var(--error);background:#fef2f2}.counter-writing[data-v-13e424b7]{color:var(--primary);font-size:1.8rem;line-height:1}.counter-btn--correct .counter-writing[data-v-13e424b7]{color:var(--correct)}.counter-btn--wrong .counter-writing[data-v-13e424b7]{color:var(--error)}.counter-role[data-v-13e424b7]{color:var(--text-muted);font-size:.68rem}.burst-mode[data-v-467b81d6]{flex-direction:column;align-items:center;gap:1rem;width:100%;padding-top:.5rem;display:flex}.timer-bar-wrapper[data-v-467b81d6]{background:var(--border);border-radius:3px;width:100%;height:6px;overflow:hidden}.timer-bar-fill[data-v-467b81d6]{background:var(--primary);border-radius:3px;height:100%;transition:width 1s linear,background .3s}.timer-bar-fill--low[data-v-467b81d6]{background:var(--error)}.score-row[data-v-467b81d6]{justify-content:space-between;align-items:center;width:100%;max-width:28rem;font-size:.9rem;font-weight:600;display:flex}.score-correct[data-v-467b81d6]{color:var(--correct)}.score-error[data-v-467b81d6]{color:var(--error)}.timer-label[data-v-467b81d6]{color:var(--text-muted);font-variant-numeric:tabular-nums}.combo-stack[data-v-467b81d6]{flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 0 .5rem;display:flex}.combo-next[data-v-467b81d6]{color:var(--text-muted);opacity:.55;letter-spacing:.05em;font-size:1.4rem}.combo-current[data-v-467b81d6]{color:var(--primary);letter-spacing:.02em;font-size:3rem;font-weight:700;line-height:1}.input-area[data-v-467b81d6]{width:100%;max-width:28rem}.input-wrapper[data-v-467b81d6]{position:relative}.burst-input[data-v-467b81d6]{border:2px solid var(--border);border-radius:var(--radius);text-align:center;outline:none;width:100%;padding:.75rem 7rem .75rem 1rem;font-family:inherit;font-size:1.05rem;transition:border-color .15s}.burst-input[data-v-467b81d6]:focus{border-color:var(--primary)}.kana-preview[data-v-467b81d6]{color:var(--primary);pointer-events:none;font-size:1rem;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.skip-hint[data-v-467b81d6]{color:var(--text-muted);font-size:.75rem}.progress-bar[data-v-79760433]{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.progress-fill[data-v-79760433]{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.quiz-view[data-v-6a2c9066]{flex-direction:column;gap:1.25rem;max-width:680px;min-height:100%;margin:0 auto;padding:1.25rem 1.5rem 2rem;display:flex}.quiz-header[data-v-6a2c9066]{align-items:center;gap:1rem;display:flex}.btn-back[data-v-6a2c9066]{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;padding:.25rem 0;font-size:.85rem;transition:color .15s}.btn-back[data-v-6a2c9066]:hover{color:var(--text)}.progress-area[data-v-6a2c9066]{flex:1;align-items:center;gap:.6rem;display:flex}.progress-label[data-v-6a2c9066]{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.progress-label[data-v-6a2c9066]+*{flex-grow:1}.mode-stepper[data-v-6a2c9066]{margin-bottom:var(--spacer-lg);align-items:center;gap:0;display:flex}.step[data-v-6a2c9066]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:.3rem;padding:0;transition:color .15s;display:flex}.step[data-v-6a2c9066]:hover{color:var(--primary)}.step-circle[data-v-6a2c9066]{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.7rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.step--active[data-v-6a2c9066]{color:var(--primary)}.step--active .step-circle[data-v-6a2c9066]{background:var(--primary);border-color:var(--primary);color:#fff}.step--done[data-v-6a2c9066]{color:var(--primary)}.step--done .step-circle[data-v-6a2c9066]{background:var(--primary);border-color:var(--primary);color:#fff}.step-label[data-v-6a2c9066]{white-space:nowrap;font-size:.7rem}.step-connector[data-v-6a2c9066]{background:var(--border);flex:1;min-width:1rem;height:2px;margin-bottom:1.1rem;transition:background .15s}.step-connector--done[data-v-6a2c9066]{background:var(--primary)}.mode-container[data-v-6a2c9066]{flex-direction:column;flex:1;align-items:center;display:flex}@media (width<=480px){.quiz-view[data-v-6a2c9066]{gap:.75rem;padding:.75rem .75rem 1.5rem}.mode-stepper[data-v-6a2c9066]{margin-bottom:var(--spacer-sm)}.step-label[data-v-6a2c9066]{font-size:.6rem}}.quiz-footer[data-v-6a2c9066]{justify-content:flex-end;display:flex}.btn-next[data-v-6a2c9066]{background:var(--primary);color:#fff;border-radius:var(--radius);border:none;padding:.65rem 1.75rem;font-size:.95rem;font-weight:600;transition:background .15s}.btn-next[data-v-6a2c9066]:hover{background:var(--primary-dark)}
