:root{--bg:#f7f1e7;--surface:#fffdf8;--text:#2b2925;--muted:#7c7567;--border:#e6dfd2;--accent:#7d5a3c;--accent-ink:#fffdf8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:17px;line-height:1.6}main{max-width:640px;padding:20px 18px calc(84px + env(safe-area-inset-bottom));margin:0 auto}h1{font-size:22px;font-weight:600}button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;padding:10px 16px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:12px 0;padding:16px 18px}.muted{color:var(--muted);font-size:14px}.prose{margin:8px 0;font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif;font-size:20px;line-height:2.1}.prose[lang=es]{white-space:pre-wrap;line-height:1.9}.prose p{margin:0 0 1.1em}.token{border-radius:4px}.token.wordish:active{background:#efe5d4}ruby rt{color:var(--muted);font-size:.5em}.furigana-tap rt{visibility:hidden}.sentence-en{color:var(--muted);margin:-.6em 0 1.1em;font-family:-apple-system,sans-serif;font-size:14px;display:block}.choices{flex-direction:column;gap:10px;margin:20px 0;display:flex}.choices button{text-align:left;padding:14px 16px;font-size:18px}.feedback{gap:8px;display:flex}.feedback button{flex:1;font-size:14px}.feedback button.selected{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.sheet-backdrop{z-index:10;background:#2b292540;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--border);padding:18px 20px calc(20px + env(safe-area-inset-bottom));z-index:20;border-bottom:none;border-radius:16px 16px 0 0;max-width:640px;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.sheet .headword{font-family:Hiragino Mincho ProN,Georgia,serif;font-size:26px}.sheet .reading{color:var(--muted);margin-left:10px;font-size:16px}.sheet .gloss{margin-top:6px;font-size:18px}nav.tabs{background:var(--bg);border-top:1px solid var(--border);padding:8px 10px calc(8px + env(safe-area-inset-bottom));justify-content:center;gap:6px;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs button{color:var(--muted);background:0 0;border:none;padding:6px 14px;font-size:13px}nav.tabs button.active{color:var(--accent);font-weight:600}
