:root{--bg:#fbfaf8;--surface:#fff;--ink:#1a1a19;--ink-muted:#5c5b57;--line:#e2ded6;--accent:#1f5c4d;--accent-ink:#fff;--accent-soft:#eaf2ef;--warn:#8a4b12;--radius:10px;--maxw:68rem}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Noto Sans SC,PingFang SC,sans-serif;font-size:17px;line-height:1.6}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.page{max-width:var(--maxw);margin-inline:auto;padding-block-end:64px;padding-inline:16px}header.site{border-bottom:1px solid var(--line);background:var(--surface)}header.site .inner{max-width:var(--maxw);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-inline:auto;padding-block:12px;padding-inline:16px;display:flex}header.site .brand{color:var(--ink);font-weight:650;text-decoration:none}header.site nav{flex-wrap:wrap;align-items:center;gap:14px;font-size:.95rem;display:flex}footer.site{border-block-start:1px solid var(--line);color:var(--ink-muted);margin-block-start:48px;padding-block:24px 48px;padding-inline:16px;font-size:.9rem}footer.site .inner{max-width:var(--maxw);flex-wrap:wrap;gap:16px;margin-inline:auto;display:flex}h1{margin-block:32px 8px;font-size:2rem;line-height:1.25}h2{margin-block:32px 8px;font-size:1.3rem}h3{margin-block:24px 4px;font-size:1.05rem}p{margin-block:8px}.lede{color:var(--ink-muted);margin-block-end:24px;font-size:1.15rem}.muted{color:var(--ink-muted)}.small{font-size:.88rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:16px;display:grid}.count{font-variant-numeric:tabular-nums;font-weight:650}.count-scope{color:var(--ink-muted);font-size:.82rem;font-weight:400;display:block}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);font:inherit;cursor:pointer;padding:10px 16px;font-weight:550;text-decoration:none;display:inline-block}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--accent)}.btn-row{flex-wrap:wrap;gap:12px;margin-block:16px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin-block:12px;padding:0;list-style:none;display:flex}.chips a,.chips label{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;text-decoration:none;display:inline-block}.chips input:checked+span{font-weight:600}.chips label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.chips input{margin-inline-end:6px}form.stack{flex-direction:column;gap:18px;max-width:42rem;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label{font-weight:550}.field .hint{color:var(--ink-muted);font-size:.85rem}.field input[type=text],.field input[type=email],.field select,.field textarea{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;width:100%;padding:9px 10px}.field textarea{resize:vertical;min-height:7rem}.field .error{color:#a21d1d;font-size:.88rem}.notice{border:1px solid var(--line);background:var(--accent-soft);border-radius:var(--radius);padding:12px 14px;font-size:.92rem}.alert{color:var(--warn);border-radius:var(--radius);background:#fdf5ec;border:1px solid #d9b08c;padding:12px 14px}.prose{max-width:44rem}.prose h2{border-block-start:1px solid var(--line);padding-block-start:16px}.prose ul,.prose ol{padding-inline-start:1.3rem}.prose li{margin:6px 0}.prose code{background:#f1efe9;border-radius:4px;padding:1px 5px;font-size:.9em}@media (max-width:560px){h1{font-size:1.6rem}body{font-size:16px}}.language-selector select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;max-width:12rem;padding:4px 8px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.translation-notice{max-width:var(--maxw);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-muted);margin-block:12px 0;margin-inline:auto;padding:8px 14px;font-size:.85rem}[dir=rtl] code,[dir=rtl] a[href^=http]{direction:ltr;unicode-bidi:isolate}.language-mode{flex-wrap:wrap;align-items:baseline;gap:8px;margin-block:12px;font-size:.9rem;display:flex}.language-mode a[aria-current=page]{font-weight:650;text-decoration:none}
