:root { --bg:#fbf5e2; --card:#fffdf6; --text:#2b2418; --sub:#6b5d45; --border:#eadfc3; --accent:#b5762a; --accent-soft:#f6e7c8; --night:#1d1b2e; }
@media (prefers-color-scheme: dark) { :root { --bg:#0b0a0f; --card:#15141c; --text:#ede3d6; --sub:#a39987; --border:#2a2833; --accent:#ffb347; --accent-soft:#2a1f10; --night:#15141c; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.8; word-break:auto-phrase; }
main { max-width:760px; margin:0 auto; padding:24px 16px 64px; }
header { display:flex; gap:16px; align-items:center; margin:16px 0 24px; }
header img { width:72px; height:72px; border-radius:16px; flex:none; }
h1 { font-size:1.4rem; margin:0; line-height:1.4; }
.lead { color:var(--sub); margin:4px 0 0; }
h2 { font-size:1.1rem; margin:0 0 8px; }
h3 { font-size:1rem; margin:16px 0 4px; }
section { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px 18px 12px; margin:14px 0; }
.hero { background:var(--accent-soft); border-color:transparent; display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap; text-align:center; }
.hero img { width:128px; height:128px; border-radius:50%; }
.hero p { flex-basis:100%; margin:4px 0; }
.hero strong { color:var(--accent); font-size:1.15rem; }
ul, ol { padding-left:1.2em; margin:6px 0 10px; }
li { margin:2px 0; }
dt { font-weight:700; margin-top:10px; }
dd { margin:2px 0 8px; color:var(--sub); }
a { color:var(--accent); }
.note { color:var(--sub); font-size:.9rem; }
nav { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:8px; font-size:.95rem; }
table { border-collapse:collapse; width:100%; }
th, td { text-align:left; vertical-align:top; padding:10px 8px; border-bottom:1px solid var(--border); }
th { width:34%; color:var(--sub); font-weight:600; }
.lang { margin-top:40px; }
footer { text-align:center; color:var(--sub); font-size:.85rem; margin-top:28px; }
footer a { margin:0 8px; }
