:root{--navy:#152c48;--coral:#ff826a;--cream:#fff9f1;--ink:#162437;--muted:#657284;--line:#dfe4e9;font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic",system-ui,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#fffaf3,#fff 55%);font-size:16px;line-height:1.9}.wrap{width:min(880px,calc(100% - 32px));margin:auto}.site-head{min-height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:850;text-decoration:none}.mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--navy);color:var(--coral)}.brand small{display:block;color:#7b8796;font-size:10px;letter-spacing:.14em}.site-head nav{margin-left:auto;display:flex;gap:16px}.site-head nav a,.foot a{color:var(--navy);font-size:13px;font-weight:700}.crumb{margin:32px 0 12px;color:var(--muted);font-size:13px}.crumb a{color:var(--navy)}article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,6vw,58px);box-shadow:0 20px 60px rgba(21,44,72,.08)}.kicker{color:var(--coral);font-size:12px;font-weight:850;letter-spacing:.12em}.updated{color:var(--muted);font-size:13px}h1{color:var(--navy);font-size:clamp(30px,5vw,48px);line-height:1.25;letter-spacing:-.03em;margin:10px 0 16px}h2{color:var(--navy);font-size:24px;line-height:1.45;margin:40px 0 10px}h3{color:var(--navy);font-size:18px;margin:28px 0 6px}p{margin:12px 0}ul,ol{padding-left:1.4em}.note{margin:28px 0;padding:18px 20px;border-left:4px solid var(--coral);background:#fff5f1;color:#506074}.summary{margin:28px 0;padding:22px;border-radius:16px;background:#edf7f4}.summary strong{color:var(--navy)}.related{margin:28px 0 60px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.related a{color:var(--navy);font-weight:800}.foot{border-top:1px solid var(--line);padding:28px 0 42px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;font-size:12px}.foot div{display:flex;gap:13px;flex-wrap:wrap}@media(max-width:620px){.site-head{padding:12px 0;align-items:flex-start}.site-head nav a:not(:first-child){display:none}article{border-radius:18px}.foot{display:block}.foot div{margin-top:12px}}
