:root{--bg: #F3F6F5;--surface: #FFFFFF;--ink: #14403C;--muted: #5E7A76;--accent: #C9566B;--mint: #7FB5A9;--line: #D8E2DF;--caries: #B4652F;--filling: #4C6FA8;--ok: #2E8B62;--err: #C0392B;--radius: 10px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;padding:16px 12px calc(24px + env(safe-area-inset-bottom))}.wrap{max-width:760px;margin:0 auto}header{margin-bottom:14px}h1{font-family:var(--serif);font-weight:600;font-size:30px;margin:0;letter-spacing:.2px}.sub{color:var(--muted);font-size:14px;margin-top:2px}.dedic{color:var(--accent);font-family:var(--serif);font-style:italic;font-size:14px;margin-top:4px}.tabs{display:flex;gap:6px;margin:14px 0 12px}.tab{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 4px;border-radius:var(--radius);font-size:14px;font-family:var(--sans);cursor:pointer}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}.chartcard{padding:10px 6px 8px}.prompt{font-size:17px;min-height:26px}.prompt .fdi,.tasklist .fdi{font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:1px}.tasklist .fdi{font-size:15px}.prompt .tname{font-family:var(--serif);font-style:italic}.feedback{min-height:22px;font-size:14px;margin-top:8px}.feedback.good{color:var(--ok)}.feedback.bad{color:var(--err)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}button.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--radius);padding:9px 16px;font-size:15px;cursor:pointer;font-family:var(--sans)}button.btn.secondary{background:var(--surface);color:var(--ink)}button.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=text]{border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;font-family:var(--mono);font-size:20px;width:90px;letter-spacing:2px;color:var(--ink);background:var(--surface)}input[type=text]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:14px;color:var(--ink);background:var(--surface);font-family:var(--sans)}.stats{display:flex;gap:18px;justify-content:center;color:var(--muted);font-size:13px;margin-top:4px}.stats b{color:var(--ink);font-family:var(--mono)}footer{color:var(--muted);font-size:12px;text-align:center;margin-top:18px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
