:root{
  --ground:#F5F6F4;--surface:#FFFFFF;--ink:#15171A;--ink-2:#4A4F55;--ink-3:#5F656C;
  --rule:#DADDD8;--rule-strong:#B9BDB6;--blue:#0B5F8A;--blue-ink:#084A6B;--blue-wash:#E3EEF3;
  --lime:#B7CB0E;--night:#111315;--night-rule:#2C3034;--night-ink:#ECEEE8;--night-ink-2:#A7ADA6;
  --gutter:clamp(16px,4vw,48px);
  --font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--blue-ink)}
::selection{background:#BCD7E4;color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:100;border-radius:4px}
.skip:focus{left:8px}.skip:hover{color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}

.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.top img{height:40px;width:auto}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;text-decoration:none;color:var(--ink);border:1px solid var(--rule-strong);border-radius:4px;padding:0 14px;min-height:42px}
.back:hover{border-color:var(--ink);color:var(--ink)}
.back svg{width:16px;height:16px}

.doc-head{padding:clamp(48px,7vw,96px) 0 clamp(32px,4vw,48px);border-bottom:1px solid var(--rule)}
.doc-head h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:750;letter-spacing:-.035em;line-height:1.02;margin:0;max-width:18ch}
.doc-head .lede{margin:20px 0 0;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2);max-width:62ch}
.meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font-size:.9rem;color:var(--ink-3)}

.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,6vw,88px);padding:clamp(40px,6vw,72px) 0 clamp(72px,9vw,120px)}
.toc{position:sticky;top:96px;align-self:start;font-size:.92rem}
.toc p{font-weight:600;margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink)}
.toc a[aria-current="true"]{color:var(--ink);border-left-color:var(--blue);font-weight:600}
@media (max-width:900px){.doc{grid-template-columns:1fr}.toc{position:static;padding:20px;background:var(--surface);border:1px solid var(--rule);border-radius:4px}}

.prose{max-width:70ch}
.prose section{padding-top:8px}
.prose section + section{margin-top:44px;padding-top:36px;border-top:1px solid var(--rule)}
.prose h2{font-size:clamp(1.35rem,2vw,1.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 14px;text-wrap:balance}
.prose h3{font-size:1.05rem;font-weight:600;margin:24px 0 8px}
.prose p{margin:0 0 14px;color:var(--ink-2);text-wrap:pretty}
.prose ul,.prose ol{margin:0 0 14px;padding-left:1.2em;color:var(--ink-2)}
.prose li{margin:6px 0;padding-left:4px}
.prose li::marker{color:var(--blue)}
.prose strong{color:var(--ink);font-weight:600}

.card{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:4px 20px;margin:0 0 16px}
.card dl{margin:0}
.card dl div{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--rule)}
.card dl div:first-child{border-top:0}
.card dt{color:var(--ink-3);font-size:.95rem}
.card dd{margin:0;font-weight:500;color:var(--ink)}
@media (max-width:520px){.card dl div{grid-template-columns:1fr;gap:2px}}

.table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.93rem;min-width:560px}
th,td{text-align:left;vertical-align:top;padding:12px 14px;border-top:1px solid var(--rule)}
thead th{border-top:0;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);background:var(--ground)}
td code{font-family:var(--mono);font-size:.85rem;color:var(--ink);background:var(--ground);padding:2px 6px;border-radius:3px}

.note{background:var(--blue-wash);border-radius:4px;padding:16px 18px;margin:0 0 16px;color:#2C4654}
.note p{color:#2C4654;margin:0}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:4px;background:var(--blue);color:#fff;font:600 .95rem/1 var(--font);border:0;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--blue-ink);color:#fff}
.sign{margin-top:28px;color:var(--ink)}

.foot{background:var(--night);color:var(--night-ink-2);padding:40px 0;font-size:.92rem}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot a,.foot button{color:var(--night-ink-2);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.foot a:hover,.foot button:hover{color:var(--lime)}
.foot a[aria-current="page"]{color:var(--night-ink)}
.foot :focus-visible{outline-color:var(--lime)}
