:root{--bp-line:#24354d38;--bp-line-soft:#24354d1f;--bp-mono:"SFMono-Regular", ui-monospace, "Cascadia Mono", "Courier New", monospace;--bp-gap:1.4rem;--ground:#cfd4d8;--panel:#e2e6e9;--panel-2:#d7dcdf;--ink:#24354d;--ink-soft:#3a4c66;--muted:#4a5b73;--line:#24354d38;--line-soft:#24354d1f;--accent:#24354d;--accent-fill:#24354d;--accent-ink:#1b2b40;--on-accent:#eef1f3;--danger:#a61906;--maxw:74rem;--font:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"SFMono-Regular", ui-monospace, "Cascadia Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;background-image:linear-gradient(#d6dadd 0%,#cfd4d8 38%,#c7ccd1 100%);background-attachment:fixed;margin:0;font-size:1.0625rem;line-height:1.9}::selection{background:var(--ink);color:var(--ground)}a{color:var(--accent-ink);text-underline-offset:.22em;text-decoration-thickness:1px}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}h1,h2,h3{letter-spacing:.01em;line-height:1.45}.wrap{width:min(100% - 2.5rem, var(--maxw));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{position:absolute;left:-9999px}.skip:focus{z-index:20;background:var(--ink);color:var(--on-accent);padding:.5rem .9rem;top:1rem;left:1rem}.masthead{border-bottom:1px solid var(--line);backdrop-filter:blur(6px);z-index:10;background:#cfd4d8d1;padding-block:1rem;position:sticky;top:0}.masthead-inner{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.wordmark{align-items:center;gap:.55rem;min-width:0;margin-right:auto;text-decoration:none;display:inline-flex}.wordmark-mark{border:1.5px solid var(--ink);color:var(--ink);letter-spacing:.08em;font-size:.75rem;font-weight:800;font-family:var(--mono);padding:.05rem .35rem}.wordmark-text{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:700;overflow:hidden}.nav{flex-wrap:wrap;gap:1.1rem;font-size:.875rem;font-weight:600;display:flex}.nav a{color:var(--muted);border-bottom:2px solid #0000;padding-block:.15rem;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:4rem;padding-block:2.2rem 2.6rem;font-size:.875rem}.footer-name{color:var(--ink);margin:0 0 .4rem;font-weight:700}.footer-nav{flex-wrap:wrap;gap:1rem;margin-bottom:.7rem;display:flex}.footer-nav a{color:var(--muted)}.footer-note{max-width:52rem;margin:.3rem 0 0;line-height:1.8}.crumbs{color:var(--muted);flex-wrap:wrap;gap:.45rem;padding-top:1.6rem;font-size:.8125rem;display:flex}.crumbs a{color:var(--muted)}.bp-dw-hero{border-bottom:1px solid var(--line);padding-block:2.6rem 1.4rem}.bp-dw-kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem;font-size:.75rem}.bp-dw-hero h1{letter-spacing:-.01em;border-bottom:3px solid var(--ink);margin:0 0 .5rem;padding-bottom:.35rem;font-size:clamp(2rem,5.2vw,3.4rem);font-weight:800;display:inline-block}.bp-dw-tagline{color:var(--ink-soft);margin:.9rem 0 .6rem;font-size:1.125rem;font-weight:700}.bp-dw-lead{max-width:46rem;color:var(--ink-soft);margin:0}.bp-dw-meta{font-size:.8125rem;font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.5rem 1.6rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.bp-dw-meta li{gap:.45rem;display:flex}.bp-dw-meta b{color:var(--ink);font-weight:700}.bp-dw-cta{flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;display:flex}.bp-dw-cta a{border:1.5px solid var(--ink);padding:.55rem 1.1rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-block}.bp-dw-cta a:first-child{background:var(--ink);color:var(--on-accent)}.bp-dw-cta a:hover{background:var(--ink-soft);color:var(--on-accent)}.bp-dw-bar{border-bottom:1px solid var(--line);padding-block:1.8rem}.bp-dw-h{font-size:.8125rem;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem}.bp-dw-rail{border-top:2px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.bp-dw-rail li{border-right:1px solid var(--line);min-width:0;padding:.85rem .9rem .9rem 0}.bp-dw-rail li:last-child{border-right:0}.bp-dw-rail time{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;font-size:.8125rem;display:block}.bp-dw-rail b{margin:.25rem 0 .2rem;font-size:1rem;display:block}.bp-dw-rail a{color:var(--muted);font-size:.8125rem}.bp-dw-rail p{color:var(--muted);margin:.3rem 0 0;font-size:.8125rem;line-height:1.7}.bp-dw-facts{border-bottom:1px solid var(--line);padding-block:1.8rem}.bp-dw-facts dl{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid}.bp-dw-facts dl>div{background:var(--panel);min-width:0;padding:.85rem 1rem}.bp-dw-facts dt{font-size:.75rem;font-family:var(--mono);letter-spacing:.08em;color:var(--muted)}.bp-dw-facts dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.9375rem;font-weight:700}.bp-dw-tiles{border-bottom:1px solid var(--line);padding-block:1.8rem}.bp-dw-swatches{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.bp-dw-swatches li{border:1px solid var(--line);background:var(--panel);grid-template-columns:1.35rem minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.4rem .55rem;font-size:.8125rem;display:grid}.bp-dw-sw{border:1px solid #00000059;width:1.35rem;height:1.35rem;display:block}.bp-dw-swatches b{font-family:var(--mono);letter-spacing:.02em;font-size:.75rem;display:block}.bp-dw-swatches span{color:var(--muted);font-size:.75rem}.bp-dw-note{color:var(--muted);margin:.8rem 0 0;font-size:.8125rem}.bp-dw-index{border-bottom:1px solid var(--line);padding-block:1.9rem}.bp-dw-idx{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.bp-dw-idx li{border-bottom:1px solid var(--line-soft)}.bp-dw-idx a{grid-template-columns:2.2rem minmax(0,1fr) 3.6rem;align-items:baseline;gap:.9rem;padding:.7rem .2rem;text-decoration:none;display:grid}.bp-dw-idx a:hover b{text-underline-offset:.2em;text-decoration:underline}.bp-dw-idx .n{font-family:var(--mono);color:var(--muted);font-size:.75rem}.bp-dw-idx b{font-size:1rem;font-weight:700;display:block}.bp-dw-idx span.d{color:var(--muted);font-size:.8125rem;line-height:1.7;display:block}.bp-dw-idx .t{font-family:var(--mono);color:var(--muted);text-align:right;font-size:.75rem}.bp-dw-body{padding-block:.6rem 0}.bp-dw-body>section{border-bottom:1px solid var(--line-soft);min-width:0;padding-block:1.4rem}.bp-dw-body h2{border-bottom:2px solid var(--ink);margin:0 0 .7rem;padding-bottom:.3rem;font-size:1.3rem;display:inline-block}.bp-dw-foot{color:var(--muted);padding-block:1.8rem;font-size:.875rem}.bp-dw-art{padding-bottom:1rem}.bp-dw-head{border-bottom:1px solid var(--line);padding-block:1.1rem 1.4rem}.bp-dw-head h1{border-bottom:3px solid var(--ink);margin:0 0 .6rem;padding-bottom:.3rem;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;display:inline-block}.bp-dw-head .lead{max-width:46rem;color:var(--ink-soft);margin:.9rem 0 0}.bp-dw-head .meta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.4rem 1.4rem;margin:1.1rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.bp-dw-toc{border:1px solid var(--line);background:var(--panel);margin:1.4rem 0 0;padding:1rem 1.1rem;font-size:.875rem}.bp-dw-toc>p{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.bp-dw-toc ol{columns:2;column-gap:1.6rem;margin:0;padding:0;list-style:none}.bp-dw-toc li{break-inside:avoid;padding-block:.15rem}.bp-dw-toc a{color:var(--ink-soft);text-decoration:none}.bp-dw-toc a:hover{text-decoration:underline}.bp-dw-sec{border-bottom:1px solid var(--line-soft);min-width:0;padding-block:1.5rem}.bp-dw-sec h2{border-bottom:2px solid var(--ink);align-items:baseline;gap:.6rem;margin:0 0 .8rem;padding-bottom:.3rem;font-size:1.35rem;display:flex}.bp-dw-sec h2 .n{font-family:var(--mono);color:var(--muted);font-size:.8rem;font-weight:400}.bp-dw-text{min-width:0}.bp-dw-more{border:1px solid var(--line);margin-top:1.6rem;padding:1rem 1.1rem;font-size:.875rem}.bp-dw-more p{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.bp-dw-more ul{flex-wrap:wrap;gap:.4rem 1.2rem;margin:0;padding:0;list-style:none;display:flex}.prose{overflow-wrap:anywhere;max-width:100%}.prose p{margin:0 0 .95rem}.prose>p:last-child,.prose>ul:last-child,.prose>dl:last-child{margin-bottom:0}.prose ul.bullets{margin:0 0 1rem;padding-left:1.15rem}.prose ul.bullets li{margin-block:.2rem}.prose dl.kv{border-top:1px solid var(--line);margin:0 0 1rem}.prose dl.kv>.kv-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(6.5rem,12rem) minmax(0,1fr);gap:.4rem 1.1rem;padding:.55rem 0;display:grid}.prose dl.kv dt{font-size:.9rem;font-weight:700}.prose dl.kv dd{margin:0;font-size:.9375rem}.tablewrap{border:1px solid var(--line);max-width:100%;margin:0 0 1.1rem;overflow-x:auto}table.datatable{border-collapse:collapse;width:100%;min-width:34rem;font-size:.875rem;line-height:1.75}table.datatable caption{caption-side:top;text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel-2);padding:.55rem .7rem;font-size:.75rem}table.datatable th,table.datatable td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:.5rem .7rem}table.datatable th{background:var(--panel-2);letter-spacing:.04em;white-space:nowrap;font-size:.75rem}table.datatable tbody tr:nth-child(2n) td{background:#ffffff47}.prose ul.linklist{border-top:1px solid var(--line);margin:0 0 1rem;padding:0;list-style:none}.prose ul.linklist li{border-bottom:1px solid var(--line-soft)}.prose ul.linklist a{padding:.6rem .1rem;text-decoration:none;display:block}.prose ul.linklist .link-label{font-weight:700;display:block}.prose ul.linklist .link-note{color:var(--muted);font-size:.8125rem;display:block}.link-tag{font-size:.6875rem;font-family:var(--mono);border:1px solid var(--line);color:var(--muted);margin-left:.4rem;padding:0 .3rem;display:inline-block}.filter{flex-wrap:wrap;align-items:center;gap:.8rem;margin:1.4rem 0 .4rem;display:flex}.filter input{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);font:inherit;flex:16rem;padding:.5rem .7rem;font-size:.9375rem}.filter-count{font-family:var(--mono);color:var(--muted);font-size:.75rem}.tool{border:1px solid var(--ink);background:var(--panel);margin-top:1.8rem}.tool-head{border-bottom:1px solid var(--line);padding:.9rem 1.1rem}.tool-head h2{border-bottom:0;margin:0;padding-bottom:0;font-size:1.05rem}.tool-head p{color:var(--muted);margin:.35rem 0 0;font-size:.8125rem;line-height:1.75}.tool-body{padding:1rem 1.1rem 1.2rem}.tool-row{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-bottom:.8rem;display:flex}.tool-row label{font-size:.8125rem;font-weight:700}.tool-row input[type=range]{min-width:0;accent-color:var(--ink);flex:12rem}.tool-budget{font-family:var(--mono);min-width:7.5rem;font-size:.9375rem;font-weight:700}.tool-sum{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 .9rem;font-size:.75rem;display:flex}.tool-sum b{color:var(--ink);font-size:.875rem}.tool-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1px;max-height:22rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.tool-list li{background:var(--panel);justify-content:space-between;gap:.6rem;min-width:0;padding:.45rem .6rem;font-size:.8125rem;display:flex}.tool-list li b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.tool-list li span{font-family:var(--mono);color:var(--muted);flex:none}.tool-list li[data-locked="1"]{opacity:.42}.tool-list li[hidden]{display:none}.tool-note{color:var(--muted);margin:.7rem 0 0;font-size:.75rem;line-height:1.7}.err{padding-block:3.4rem 2.6rem}.err-code{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);margin:0;font-size:.8125rem}.err h1{border-bottom:3px solid var(--ink);margin:.4rem 0 .6rem;padding-bottom:.3rem;font-size:clamp(1.8rem,4.5vw,2.6rem);display:inline-block}.err-actions{flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 2rem;display:flex}.err-actions a{border:1.5px solid var(--ink);padding:.55rem 1.1rem;font-size:.9375rem;font-weight:700;text-decoration:none}.err-actions a:first-child{background:var(--ink);color:var(--on-accent)}.err-block{border-top:1px solid var(--line);margin-bottom:1.6rem;padding-top:1rem}.err-block h2{font-size:.8125rem;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:0;margin:0 0 .6rem}.err-block ul{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.2rem 1.4rem;margin:0;padding:0;font-size:.9375rem;list-style:none;display:grid}.err-note{color:var(--muted);max-width:46rem;font-size:.8125rem}.js [data-reveal]{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(10px)}.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}@media (width<=60rem){.bp-dw-facts dl,.bp-dw-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-dw-rail li:nth-child(2){border-right:0}.bp-dw-rail li:first-child,.bp-dw-rail li:nth-child(2){border-bottom:1px solid var(--line)}}@media (width<=46rem){.masthead{position:static}.masthead-inner{gap:.6rem 1rem}.nav{gap:.35rem .95rem;font-size:.8125rem}.bp-dw-toc ol{columns:1}.bp-dw-idx a{grid-template-columns:1.9rem minmax(0,1fr)}.bp-dw-idx .t{display:none}.prose dl.kv>.kv-row{grid-template-columns:minmax(0,1fr);gap:.15rem}table.datatable{min-width:34rem;font-size:.8125rem}.bp-dw-facts dl{grid-template-columns:minmax(0,1fr)}}@media (width<=26rem){.wrap{width:min(100% - 1.6rem, var(--maxw))}.bp-dw-rail{grid-template-columns:minmax(0,1fr)}.bp-dw-rail li{border-right:0;border-bottom:1px solid var(--line)}.bp-dw-rail li:last-child{border-bottom:0}}.upd-log{border-top:1px solid var(--line,var(--bp-line,#c9d2d8));margin:2.8rem 0 0;padding-top:1.2rem}.upd-log h2{letter-spacing:.04em;margin:0 0 .8rem;font-size:1.05rem}.upd-log dl{grid-template-columns:8.5rem minmax(0,1fr);gap:.55rem 1.2rem;margin:0;display:grid}.upd-log dt{font-family:var(--font-mono,monospace);color:var(--muted,#5a6570);font-size:.78rem}.upd-log dd{margin:0;font-size:.92rem;line-height:1.75}@media (width<=620px){.upd-log dl{grid-template-columns:minmax(0,1fr);gap:.2rem}.upd-log dd{margin-bottom:.6rem}}
