:root{--bg:#faf8f3;--fg:#1b1433;--muted:#5d5873;--line:#e4e0d6;--card:#fff;--accent:#8a5a00;--chip:#f3ecdc}
@media (prefers-color-scheme:dark){:root{--bg:#1b1433;--fg:#f3f0fa;--muted:#b4aecb;--line:#3a3158;--card:#251c45;--accent:#ffc94a;--chip:#2f2556}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Apple SD Gothic Neo","Noto Sans JP","Noto Sans KR","Noto Sans Devanagari",sans-serif;-webkit-text-size-adjust:100%}
:lang(ko){word-break:keep-all}
:lang(ja){line-break:strict}
main{max-width:720px;margin:0 auto;padding:32px 16px 64px}
header{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:8px}
.brand{font-weight:800;letter-spacing:.02em;color:var(--accent);text-decoration:none;font-size:15px;text-transform:uppercase}
.langs{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 20px;font-size:14px}
.langs a{color:var(--muted);text-decoration:none}
.langs a[aria-current]{color:var(--fg);font-weight:700}
h1{font-size:32px;line-height:1.2;margin:8px 0 4px}
h2{font-size:21px;line-height:1.3;margin:36px 0 8px}
h3{font-size:17px;margin:20px 0 4px}
p,ul,ol{margin:8px 0}
ul,ol{padding-left:22px}
li{margin:4px 0}
a{color:var(--accent)}
.meta{color:var(--muted);font-size:15px;margin:0}
.note{color:var(--muted);font-size:15px;margin:12px 0 0}
.summary,.contact{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:24px 0}
.summary h2,.contact h2{margin-top:0}
.email{font-size:19px;font-weight:700;word-break:break-all}
table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}
th,td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600}
details{border-bottom:1px solid var(--line);padding:4px 0}
summary{cursor:pointer;font-weight:700;padding:10px 0}
details[open] summary{color:var(--accent)}
details>div{padding:0 0 12px}
code{background:var(--chip);padding:1px 5px;border-radius:4px;font-size:.9em}
footer{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}
@media (max-width:520px){table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border-bottom:1px solid var(--line);padding:8px 0}td{border:0;padding:2px 0}td:first-child{font-weight:700}}
