:root{--bg:#fbfbfa;--surface:#fff;--text:#1c1c1a;--muted:#6b6b66;--line:#e5e4e0;--accent:#1a5c4a;--accent-soft:#eef4f1;--maxw:44rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16161a;--surface:#1d1d22;--text:#e9e8e4;--muted:#9a9a94;--line:#2e2e34;--accent:#6fbfa4;--accent-soft:#1e2a26}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);letter-spacing:.01em;margin:0;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;font-size:16px;line-height:1.85}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;padding-top:1.1rem;padding-bottom:1.1rem;display:flex}.brand{letter-spacing:.02em;color:var(--text);font-size:1.2rem;font-weight:700}.brand:hover{text-decoration:none}.brand-sub{color:var(--muted);letter-spacing:.04em;font-size:.8rem;font-weight:400}.site-nav{gap:1.1rem;margin-left:auto;font-size:.86rem;display:flex}.site-nav a{color:var(--muted)}main{padding:3rem 0 4rem}h1{letter-spacing:.01em;margin:0 0 .5rem;font-size:1.6rem;line-height:1.5}h2{border-top:1px solid var(--line);margin:2.5rem 0 .75rem;padding-top:1.25rem;font-size:1.08rem}h2:first-of-type{border-top:none;padding-top:0}h3{margin:1.75rem 0 .5rem;font-size:.98rem}p{margin:0 0 1.1rem}.lead{color:var(--muted);margin-bottom:2.25rem;font-size:1rem}.note{background:var(--accent-soft);border-left:3px solid var(--accent);margin:1.75rem 0;padding:1rem 1.15rem;font-size:.92rem}.note p:last-child{margin-bottom:0}dl.meta{margin:1.5rem 0}dl.meta div{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem 1rem;padding:.7rem 0;display:flex}dl.meta dt{color:var(--muted);flex:0 0 8.5rem;font-size:.86rem}dl.meta dd{flex:14rem;margin:0}ul.plain{margin:0 0 1.1rem;padding-left:1.15rem}ul.plain li{margin-bottom:.4rem}.site-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);padding:2rem 0 2.5rem;font-size:.82rem}.site-footer .wrap{flex-wrap:wrap;gap:.6rem 1.25rem;display:flex}.site-footer a{color:var(--muted)}.site-footer .copy{margin-left:auto}@media (max-width:34rem){main{padding:2rem 0 3rem}h1{font-size:1.35rem}.site-nav{gap:.9rem;width:100%;margin-left:0}.site-footer .copy{width:100%;margin-left:0}}
