:root{--bg:#f6f1e7;--card:#fff;--ink:#1d1d1f;--sub:#5b5b60;--accent:#2b4c7e;--line:#e3dccd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#141414;--card:#232323;--ink:#f2f2f2;--sub:#b5b5ba;--accent:#9dbbea;--line:#3a3a3a}}
:root[data-theme="dark"]{--bg:#141414;--card:#232323;--ink:#f2f2f2;--sub:#b5b5ba;--accent:#9dbbea;--line:#3a3a3a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:19px/1.8 -apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
main{max-width:760px;margin:0 auto;padding:24px 16px 64px}
h1{font-size:30px;line-height:1.4;margin:.4em 0}
h2{font-size:23px;margin:1.8em 0 .4em;border-left:6px solid var(--accent);padding-left:10px}
a{color:var(--accent)}
.meta{color:var(--sub);font-size:16px}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:12px 0}
.hero{display:flex;gap:18px;align-items:center}
.hero img{width:96px;height:96px;border-radius:22px}
nav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0;font-size:17px}
label{display:block;margin:12px 0 4px;font-weight:600}
select,textarea{width:100%;font:inherit;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
button{font:inherit;font-weight:700;margin-top:14px;padding:12px 28px;border:0;border-radius:12px;background:var(--accent);color:#fff}
#msg{margin-top:10px;font-weight:600}
