/* リセット・文字組み・フォーム部品（設計書 4-8） */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.6;line-break:strict;overflow-wrap:anywhere}
h1,h2,h3,h4{font-weight:600;line-height:1.4;margin:0;font-feature-settings:"palt"}
h1{font-size:24px} h2{font-size:18px} h3{font-size:16px}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[tabindex="-1"]:focus{outline:none}
.muted{color:var(--muted)}
.num,.tabular{font-variant-numeric:tabular-nums}
.serif{font-family:var(--font-serif)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 入力欄：面の上に濃い枠（3:1 以上）。文字は 16px 以上（iPhone で拡大されない） */
.field{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);padding:8px 10px;line-height:1.6}
textarea.field{resize:vertical;min-height:80px;line-height:1.9;overflow:hidden}
textarea.field.serif{font-family:var(--font-serif)}
select.field{appearance:auto}
.form-row{margin:0 0 16px;max-width:720px}
.label{display:block;font-weight:600;margin-bottom:4px}
.hint{color:var(--muted);font-size:14px;margin:0 0 6px}
input[type="checkbox"],input[type="radio"]{width:18px;height:18px;accent-color:var(--accent)}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;animation:none !important} }
