:root{--bg:#fbfbfa;--fg:#1f2328;--muted:#6a7280;--line:#e3e5e8;--accent:#14532d;--accent-soft:#eef4f0;--pr:#8a6d1f;--pr-bg:#fdf6e3;--maxw:760px}@media (prefers-color-scheme:dark){:root{--bg:#14161a;--fg:#e6e8ea;--muted:#9aa2ab;--line:#2a2e35;--accent:#7ec9a0;--accent-soft:#1b2621;--pr:#d9bd72;--pr-bg:#2a2418}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;line-height:1.85;font-size:16px}.wrap{max-width:var(--maxw);margin:0 auto;padding:32px 16px 64px}a{color:var(--accent);text-underline-offset:3px}h1{font-size:1.7rem;line-height:1.45;margin:0 0 12px;letter-spacing:.01em}h2{font-size:1.22rem;line-height:1.5;margin:40px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}h3{font-size:1.05rem;margin:28px 0 8px}p{margin:0 0 16px}ol,ul{padding-left:1.3em}li{margin:4px 0}code{background:var(--accent-soft);padding:1px 5px;border-radius:4px;font-size:.9em}.crumbs{font-size:.82rem;margin-bottom:20px}.crumbs,.crumbs a,.gmeta{color:var(--muted)}.gmeta{font-size:.82rem;margin-bottom:20px}.glead{font-size:1.02rem}.fine,.lede{color:var(--muted)}.fine{font-size:.8rem;line-height:1.7}.fine.left{text-align:left;margin-top:40px}.hero{padding:24px 0 8px}.hero h1{font-size:2rem}.tag{color:var(--accent);font-weight:600;margin-bottom:12px}.gsum{background:var(--accent-soft);border-radius:10px;padding:16px 20px;margin:24px 0}.gsum h2{font-size:.95rem;margin:0 0 8px;border:0;padding:0;color:var(--accent)}.gsum ul{margin:0}.gexp{font-size:.88rem;color:var(--muted);border-left:3px solid var(--line);padding-left:12px}.gexp b{display:block;color:var(--fg)}.gtoc{border:1px solid var(--line);border-radius:10px;padding:14px 20px;margin:24px 0;font-size:.92rem}.gtoc b{display:block;margin-bottom:6px;font-size:.85rem;color:var(--muted)}.gtoc ol{margin:0}.pr{display:flex;gap:10px;align-items:flex-start;background:var(--pr-bg);border:1px solid color-mix(in srgb,var(--pr) 30%,transparent);border-radius:8px;padding:10px 14px;margin:16px 0}.pr p{margin:0;font-size:.8rem;line-height:1.6;color:var(--muted)}.prtag{flex:none;background:var(--pr);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:4px}.prtag.small{margin-left:6px;font-size:.62rem;padding:1px 5px}.gtable{margin:20px 0;overflow-x:auto}.gtable table,.kv{border-collapse:collapse;width:100%;font-size:.9rem}.gtable td,.gtable th,.kv td,.kv th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.gtable thead th{background:var(--fg);color:var(--bg);font-weight:600}.kv th{width:30%;background:var(--accent-soft);font-weight:600}.gtable figcaption{font-size:.76rem;color:var(--muted);margin-top:6px}.gfaq{border-bottom:1px solid var(--line);padding:10px 0}.gfaq summary{cursor:pointer;font-weight:600}.gfaq p{margin:8px 0 0}.glinks{list-style:none;padding:0}.glinks li{border-bottom:1px solid var(--line)}.glinks a{display:block;padding:10px 0;text-decoration:none}.glinks a:hover{text-decoration:underline}.gmore{margin-top:14px;font-size:.92rem}.gnav{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr;margin:32px 0}.gnav a{border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;font-size:.9rem}.gnav small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:3px}.gnext{text-align:right}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 48px;margin-bottom:10px;position:relative}.steps li:before{content:counter(step);position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--bg);font-size:.75rem;font-weight:700;display:grid;place-items:center}.steps li p{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.steps li>.fine{float:right}.foot{margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}.foot nav{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:.88rem}@media (max-width:560px){.wrap{padding:20px 16px 48px}h1{font-size:1.45rem}.gnav{grid-template-columns:1fr}.gnext{text-align:left}}