:root{--paper:#F7F5F0;--ink:#20232A;--blue:#1C64D9;--grid:#D6E4F5;--orange:#E8590C;--grey:#5C6370}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans JP","IBM Plex Sans",sans-serif;line-height:1.7;font-size:17px}
.top{max-width:900px;margin:0 auto;padding:20px 16px 4px}
.badge{display:inline-block;background:#fff;border:2px solid var(--blue);color:var(--blue);border-radius:999px;padding:2px 14px;font-weight:600;margin:0}
h1{font-size:1.7rem;margin:8px 0}
h2{font-size:1.25rem}h3{font-size:1.1rem}
.lang{display:flex;gap:8px;margin:8px 0}
main{max-width:900px;margin:0 auto;padding:8px 16px 32px;display:grid;gap:20px}
.card{background:#fffdf8;border:1px solid #e3ded2;border-radius:14px;padding:18px}
.stagewrap{width:100%}
canvas{width:100%;height:auto;display:block;background:var(--paper);border-radius:8px}
button{min-height:48px;min-width:48px;padding:10px 18px;border-radius:10px;border:2px solid var(--ink);background:#fff;color:var(--ink);font-size:1rem;cursor:pointer}
button.primary{background:var(--ink);color:#fff}
button.on{background:var(--blue);border-color:var(--blue);color:#fff}
button.big{font-size:1.3rem;padding:10px 22px}
button:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;align-items:center}
.field{margin:14px 0;border:0;padding:0}
.field label,.field legend{font-weight:600}
input[type=range]{width:100%;height:44px;accent-color:var(--blue)}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.hint{color:var(--grey);font-size:.92rem}
.speedread,.round{font-weight:600;font-variant-numeric:tabular-nums}
.daily{color:var(--blue);font-weight:600}
.hidden{display:none!important}
#noteList{padding-left:1.2em}
footer{max-width:900px;margin:0 auto;padding:0 16px 28px;color:var(--grey)}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
@media (max-width:480px){body{font-size:16px}.card{padding:14px}h1{font-size:1.4rem}}
