:root{--bg: #FBFAF7;--surface: #FFFFFF;--surface-2: #F4F2EC;--text: #21201D;--text-soft: #54524C;--muted: #8A877E;--hairline: rgba(33, 32, 29, .1);--hairline-strong: rgba(33, 32, 29, .2);--accent: #34685D;--accent-ink: #244a42;--accent-soft: rgba(52, 104, 93, .08);--good: #3B7A4E;--warn: #8C5A1E;--warn-soft: rgba(140, 90, 30, .08);--maxw: 760px;--maxw-wide: 1080px;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: "Inter", "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #14140F;--surface: #1A1A15;--surface-2: #201F19;--text: #ECEAE2;--text-soft: #B6B3A9;--muted: #888579;--hairline: rgba(236, 234, 226, .1);--hairline-strong: rgba(236, 234, 226, .2);--accent: #6FB3A4;--accent-ink: #8ecabd;--accent-soft: rgba(111, 179, 164, .1);--good: #6FB387;--warn: #C99A57;--warn-soft: rgba(201, 154, 87, .12)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}main{min-height:60vh}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}.wrap-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 22px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}header.site{border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.1) blur(8px);position:sticky;top:0;z-index:40}header.site .bar{max-width:var(--maxw-wide);margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:20px}.brandmark{display:inline-flex;align-items:baseline;gap:9px;font-weight:700;font-size:19px;letter-spacing:.01em;color:var(--text)}.brandmark:hover{text-decoration:none}.brandmark .ja{font-size:19px}.brandmark .en{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--muted);text-transform:lowercase}header.site nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}header.site nav a{font-size:13.5px;color:var(--text-soft);padding:6px 11px;border-radius:7px}header.site nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}header.site nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}footer.site{margin-top:80px;border-top:1px solid var(--hairline);background:var(--surface)}footer.site .inner{max-width:var(--maxw-wide);margin:0 auto;padding:44px 22px 20px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}footer.site .tagline{color:var(--text-soft);font-size:14px;max-width:38ch;margin:12px 0 0}footer.site h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}footer.site .col{display:flex;flex-direction:column;gap:8px}footer.site .col a{color:var(--text-soft);font-size:14px}footer.site .bottom{max-width:var(--maxw-wide);margin:28px auto 0;padding:18px 22px 36px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:11.5px;color:var(--muted)}.hero{padding:64px 0 36px;border-bottom:1px solid var(--hairline)}.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.32;letter-spacing:-.01em;margin:18px 0 14px;font-weight:700}.hero .lead{color:var(--text-soft);font-size:17px;max-width:56ch;margin:0}.hero .lead strong{color:var(--text);font-weight:600}.section{padding:40px 0 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--hairline)}.section-head h2{font-size:19px;font-weight:700;margin:0;letter-spacing:.01em}.section-head a{font-size:13px;color:var(--muted)}.card-list{display:grid;gap:2px}.card{display:block;padding:20px 4px;border-bottom:1px solid var(--hairline);transition:background .15s ease}.card:hover{text-decoration:none;background:var(--accent-soft)}.card .ctype{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.card h3{font-size:18px;font-weight:650;margin:7px 0 6px;color:var(--text);line-height:1.5}.card p{font-size:14px;color:var(--text-soft);margin:0 0 10px;line-height:1.75}.card .foot{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.card .foot .v-ok{color:var(--good)}.card .foot .v-pending{color:var(--warn)}.empty-note{padding:28px 22px;border:1px dashed var(--hairline-strong);border-radius:10px;color:var(--text-soft);font-size:14px;background:var(--surface)}.article-head{padding:52px 0 0}.crumbs{font-family:var(--mono);font-size:11.5px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.crumbs a{color:var(--muted)}.crumbs .sep{opacity:.5}.ctype-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--hairline-strong);border-radius:100px;padding:4px 11px}.article-head h1{font-size:clamp(26px,4.4vw,38px);line-height:1.4;letter-spacing:-.005em;margin:16px 0 12px;font-weight:700}.article-head .lead{color:var(--text-soft);font-size:17px;margin:0 0 18px}.article-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--muted);padding:14px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.article-meta strong{color:var(--text-soft);font-weight:500}.article-meta .tags{color:var(--accent)}.verify-status{display:flex;gap:12px;align-items:flex-start;margin:24px 0;padding:14px 16px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface);font-size:13.5px;line-height:1.8;color:var(--text-soft)}.verify-status .badge{flex:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:3px 9px;border-radius:6px;white-space:nowrap;border:1px solid var(--hairline-strong)}.verify-status.ok .badge{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.verify-status.pending{background:var(--warn-soft)}.verify-status.pending .badge{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.verify-status strong{color:var(--text);font-weight:600}.affiliate-note{margin:22px 0;padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:13px;line-height:1.8;color:var(--text-soft);border-radius:0 8px 8px 0}.prose{font-size:16px;line-height:1.95;color:var(--text-soft);margin-top:8px}.prose>:first-child{margin-top:0}.prose h2{font-size:21px;font-weight:700;color:var(--text);letter-spacing:.01em;margin:48px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.prose h3{font-size:17px;font-weight:650;color:var(--text);margin:30px 0 10px}.prose p{margin:0 0 16px}.prose strong{color:var(--text);font-weight:600}.prose a{text-decoration:underline;text-underline-offset:2px}.prose ul,.prose ol{margin:12px 0 18px;padding-left:24px}.prose li{margin-bottom:8px}.prose blockquote{margin:18px 0;padding:4px 18px;border-left:3px solid var(--hairline-strong);color:var(--muted)}.prose code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:2px 6px;border-radius:5px;color:var(--accent-ink)}.prose pre{background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;padding:16px 18px;overflow-x:auto;margin:18px 0;font-size:13.5px;line-height:1.7}.prose pre code{background:none;padding:0;color:var(--text);font-size:13.5px}.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}.prose th,.prose td{border:1px solid var(--hairline);padding:9px 12px;text-align:left}.prose th{background:var(--surface-2);font-weight:600;color:var(--text)}.prose hr{border:none;border-top:1px solid var(--hairline);margin:36px 0}.doc{padding:48px 0 0}.doc h1{font-size:clamp(28px,4.4vw,40px);margin:16px 0 12px;line-height:1.35;font-weight:700}.doc .lead{color:var(--text-soft);font-size:17px;margin:0 0 8px}.doc-body{font-size:15.5px;line-height:1.95;color:var(--text-soft)}.doc-body h2{font-size:20px;font-weight:700;color:var(--text);margin:48px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.doc-body h3{font-size:16px;font-weight:650;color:var(--text);margin:26px 0 8px}.doc-body p{margin:0 0 14px}.doc-body strong{color:var(--text);font-weight:600}.doc-body ul{margin:12px 0 16px;padding-left:22px}.doc-body li{margin-bottom:7px}.kv{margin:16px 0;border:1px solid var(--hairline);border-radius:10px;overflow:hidden;background:var(--surface)}.kv-row{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--hairline)}.kv-row:last-child{border-bottom:none}.kv-key{padding:13px 16px;background:var(--surface-2);color:var(--muted);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center}.kv-val{padding:13px 16px;color:var(--text);font-size:14px;display:flex;align-items:center}.callout{margin:22px 0;padding:16px 18px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:14px;color:var(--text-soft);line-height:1.85}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;color:var(--text-soft);font-weight:500}.field input,.field textarea{font-family:var(--sans);font-size:15px;color:var(--text);background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;padding:10px 12px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:11px 20px}.btn:hover{background:var(--accent-ink);text-decoration:none}.related{margin-top:56px;padding-top:24px;border-top:1px solid var(--hairline)}.related h2{font-size:16px;font-weight:700;margin:0 0 12px}@media(max-width:720px){footer.site .inner{grid-template-columns:1fr 1fr;gap:24px}footer.site .tagline{grid-column:1 / -1}.kv-row{grid-template-columns:1fr}.kv-key{padding:10px 14px 2px}.kv-val{padding:2px 14px 12px}header.site nav a{padding:6px 8px}}
