:root{--bg:#f7faf7;--fg:#1d1d1b;--muted:#66706a;--line:#d9e0db;--accent:#2e7d4f;--ok:#2e7d4f;--ng:#b3261e;--warn-bg:#fff4d6;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,sans-serif;font-size:17px;line-height:1.6}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{max-width:560px;min-height:100vh;padding:0 16px calc(24px + env(safe-area-inset-bottom));overflow-wrap:anywhere;margin:0 auto}main{padding-top:12px}h1{margin:8px 0 12px;font-size:1.25rem}h2{margin:18px 0 6px;font-size:1.05rem}button{font:inherit;border:1px solid var(--line);min-height:44px;color:var(--fg);background:#fff;border-radius:10px;padding:8px 14px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5}button.wide{width:100%;margin-top:16px}button.link{color:var(--muted);background:0 0;border:none;padding:8px 4px;text-decoration:underline}button.speak{min-width:44px;padding:4px 8px}.testbar{color:#fff;text-align:center;background:#5b3e96;margin:0 -16px;padding:4px;font-size:.85rem}.card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:12px 0;padding:16px}.stop{border-color:var(--ng)}.notice{background:var(--warn-bg);border-radius:10px;margin:12px 0;padding:10px 12px}.muted{color:var(--muted)}.kind{color:var(--muted);margin:0;font-size:.85rem}.word{margin:4px 0;font-size:1.8rem}.headrow{justify-content:space-between;align-items:center;gap:8px;display:flex}.meaning{font-size:1.15rem;font-weight:700}.en{font-size:1.1rem}.prompt{margin:8px 0}.items{margin:4px 0;padding-left:1.2em}.stack{flex-direction:column;gap:10px;margin-top:12px;display:flex}.option{text-align:left;width:100%}.option.static{border:1px solid var(--line);border-radius:10px;padding:10px 14px}.option.right{border-color:var(--ok);background:#e8f4ec}.option.wrong{border-color:var(--ng);background:#fbeaea}.ok{color:var(--ok)}.ng{color:var(--ng)}.big{margin:0;font-size:1.3rem;font-weight:700}.ja{margin-top:12px}.row{gap:10px;margin-top:16px;display:flex}.row button{flex:1}.counts{margin:0;padding:0;font-size:1.1rem;list-style:none}.footer{text-align:center}.facts dt{color:var(--muted);font-size:.85rem}.facts dd{margin:0 0 8px}input[type=file]{max-width:100%}
