:root{--bg:#09111d;--panel:#101a29;--panel2:#142235;--text:#eef5ff;--muted:#a9b7ca;--line:#263951;--accent:#8fdcff;--accent2:#b9a7ff;--good:#94e2c3;--warn:#ffd28a;--max:900px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#08101a 0%,#0b1422 55%,#09111d 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{opacity:.86}.site-head{border-bottom:1px solid var(--line);background:rgba(7,14,24,.86);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.site-head .inner{max-width:1120px;margin:auto;padding:14px 20px;display:flex;align-items:center;gap:18px}.brand{font-weight:800;letter-spacing:.18em;color:#fff;text-decoration:none}.site-head nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}.site-head nav a{color:var(--muted);font-size:.92rem;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:46px 20px 80px}.crumb{font-size:.82rem;color:var(--muted);margin-bottom:24px}.crumb a{color:var(--muted)}.kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}h1{font-size:clamp(2rem,5vw,3.65rem);line-height:1.2;letter-spacing:-.035em;margin:.35em 0 .45em}h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.45;margin:2.5em 0 .65em;padding-top:.35em;border-top:1px solid var(--line)}h3{font-size:1.18rem;line-height:1.55;margin:1.8em 0 .45em}.lead{font-size:1.14rem;color:#dce8f7;max-width:54rem}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin:18px 0 28px}.summary,.callout,.note,.sourcebox,.cta{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel),#0d1724);padding:22px;margin:28px 0}.summary strong,.callout strong{color:#fff}.summary ul,.checklist{margin:12px 0 0;padding-left:1.25em}.summary li,.checklist li{margin:.35em 0}.callout{border-color:#31506b}.callout.good{border-color:#2d6659;background:linear-gradient(180deg,#10271f,#0d1d19)}.callout.warn{border-color:#715b32;background:linear-gradient(180deg,#2a2112,#1c180f)}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;position:relative;margin:18px 0;padding:18px 18px 18px 58px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.steps li:before{content:counter(step);position:absolute;left:18px;top:17px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dff5ff;color:#07121d;font-weight:800}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.card{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel)}.card h3{margin-top:0}.table-wrap{overflow-x:auto;margin:22px 0}table{width:100%;border-collapse:collapse;min-width:620px;background:var(--panel)}th,td{padding:13px 14px;border:1px solid var(--line);vertical-align:top;text-align:left}th{background:var(--panel2);color:#fff}.mini{font-size:.88rem;color:var(--muted)}code{background:#111e2c;border:1px solid var(--line);padding:.12em .35em;border-radius:5px}.sourcebox ol{padding-left:1.35em}.sourcebox li{margin:.7em 0}.cta{padding:26px;background:linear-gradient(135deg,#10283b,#211d3f)}.cta h2{border:0;padding:0;margin:0 0 .4em}.button{display:inline-block;margin-top:8px;padding:12px 18px;border-radius:999px;background:#e8f7ff;color:#07111b;text-decoration:none;font-weight:800}.related{display:grid;gap:10px}.related a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}footer{border-top:1px solid var(--line);padding:30px 20px;color:var(--muted);font-size:.86rem}.footer-in{max-width:var(--max);margin:auto}.byline{color:var(--muted);font-size:.9rem}.quote{border-left:3px solid var(--accent);padding:.4em 0 .4em 1.2em;color:#d8e9f8}.formula{font-size:1.05rem;padding:16px 18px;background:#0a1522;border:1px solid var(--line);border-radius:12px;overflow:auto}.toc{margin:26px 0;padding:18px 22px;border-left:3px solid var(--accent2);background:rgba(20,34,53,.65)}.toc a{color:#cfeafa}.eyebrow{display:inline-block;font-size:.78rem;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}@media(max-width:700px){.wrap{padding-top:32px}.grid{grid-template-columns:1fr}.site-head nav{display:none}h1{font-size:2.18rem}.summary,.callout,.note,.sourcebox,.cta{padding:18px}table{font-size:.92rem}}
