:root{--accent-l:#b35a24;--accent-soft-l:#fbe9dc;--accent-d:#ec9a62;--accent-soft-d:#3a281c}:root[data-palette=matcha]{--accent-l:#4a7424;--accent-soft-l:#e6efd8;--accent-d:#a6cf7a;--accent-soft-d:#26301b}:root[data-palette=sakura]{--accent-l:#b03e63;--accent-soft-l:#f9e1e8;--accent-d:#f2a0b8;--accent-soft-d:#3a2129}:root[data-palette=ai]{--accent-l:#2f4f8f;--accent-soft-l:#e1e8f6;--accent-d:#9db6ee;--accent-soft-d:#1f2738}:root{--bg:#faf6ef;--surface:#fff;--surface-2:#f1e9dc;--border:#e8dccb;--text:#2b2520;--muted:#786b5d;--accent:var(--accent-l);--accent-text:#fff;--accent-soft:var(--accent-soft-l);--hero:#2b2520;--hero-text:#f4e2c2;--hero-accent:var(--accent-d);--shadow:0 1px 2px #2b25200f, 0 8px 24px #2b25200f;--again:#b8322a;--hard:#8a6a2f;--good:#2f7a4a;--easy:#2c6a9a;--new:#2c6a9a;--learning:#b8322a;--review:#2f7a4a;--chart-new:#2a78d6;--chart-learning:#eb6834;--chart-young:#1baf7a;--chart-mature:#6250d6;--chart-muted:#b3aca2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1714;--surface:#241f1b;--surface-2:#312a24;--border:#3b332b;--text:#f1e7d9;--muted:#a8998a;--accent:var(--accent-d);--accent-text:#1a1714;--accent-soft:var(--accent-soft-d);--hero:#ecd3a8;--hero-text:#2b2520;--hero-accent:var(--accent-l);--shadow:none;--again:#f08a80;--hard:#d8b46a;--good:#7fc79a;--easy:#8cbfe8;--new:#8cbfe8;--learning:#f08a80;--review:#7fc79a;--chart-new:#3987e5;--chart-learning:#d95926;--chart-young:#199e70;--chart-mature:#9085e9;--chart-muted:#5a534b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a1714;--surface:#241f1b;--surface-2:#312a24;--border:#3b332b;--text:#f1e7d9;--muted:#a8998a;--accent:var(--accent-d);--accent-text:#1a1714;--accent-soft:var(--accent-soft-d);--hero:#ecd3a8;--hero-text:#2b2520;--hero-accent:var(--accent-l);--shadow:none;--again:#f08a80;--hard:#d8b46a;--good:#7fc79a;--easy:#8cbfe8;--new:#8cbfe8;--learning:#f08a80;--review:#7fc79a;--chart-new:#3987e5;--chart-learning:#d95926;--chart-young:#199e70;--chart-mature:#9085e9;--chart-muted:#5a534b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.5}#app{max-width:40rem;min-height:100dvh;padding:0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}a{color:var(--accent)}button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:10px;padding:.7rem 1.3rem;font-weight:600}button.secondary,a.button.secondary{background:var(--surface-2);color:var(--text)}button.danger{color:var(--again);background:0 0;border:1px solid}a.button{background:var(--accent);color:var(--accent-text);border-radius:10px;padding:.7rem 1.3rem;font-weight:600;text-decoration:none;display:inline-block}button.link{color:var(--accent);font-weight:inherit;background:0 0;padding:0;text-decoration:underline}button:disabled{opacity:.6;cursor:default}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;padding:.6rem .75rem}input[type=range]{accent-color:var(--accent);padding:0}input[type=file]{border:0;padding:0}label{gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.crumbs{margin-bottom:.25rem;font-size:.875rem}.crumbs a{text-decoration:none}.crumbs a:hover,.crumbs a:focus-visible{text-decoration:underline}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.2rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.error{color:var(--again)}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.75rem 0 .6rem;font-size:.8rem}kbd{border:1px solid var(--border);color:var(--muted);border-bottom-width:2px;border-radius:5px;padding:.05rem .35rem;font:.75rem ui-monospace,monospace}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
