:root{--ground:#f2eee2;--ground-2:#eae4d2;--panel:#e8e2cf;--panel-2:#ded6bd;--ink:#1f2b23;--muted:#55604f;--line:#cdc5ad;--line-strong:#a89e83;--accent:#2f4a3a;--accent-fill:#2f4a3a;--accent-soft:#dfe6d8;--on-accent:#f7f4e6;--gold:#cbb26a;--gold-ink:#6f5a1f;--gold-soft:#f0e6c6;--danger:#8a3a2c;--maxw:68rem;--font:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "MS PMincho", serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Courier New", monospace;--stamp-edge:radial-gradient(circle at 4px 4px, transparent 3px, var(--ground) 3.5px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--ground);background-image:linear-gradient(var(--ground-2) 1px, transparent 1px);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;background-size:100% 2.4rem;margin:0;font-size:1.0625rem;line-height:1.9}::selection{background:var(--gold);color:var(--ink)}a{color:var(--accent);text-underline-offset:.2em}:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}.wrap{width:min(100% - 2.5rem, var(--maxw));margin-inline:auto}.wrap.wrap{margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:20;background:var(--ink);color:var(--ground);padding:.5rem .9rem;top:1rem;left:1rem}.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}.masthead{border-bottom:1px dashed var(--line-strong);background:color-mix(in srgb, var(--ground) 88%, white);z-index:10;backdrop-filter:blur(6px);padding-block:1rem;position:sticky;top:0}.masthead-inner{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.wordmark{min-width:0;color:var(--ink);align-items:center;gap:.55rem;margin-right:auto;text-decoration:none;display:inline-flex}.wordmark-mark{background:var(--accent-fill);color:var(--on-accent);font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--gold);padding:.2rem .4rem;font-size:.78rem;font-weight:700}.wordmark-text{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.nav{flex-wrap:wrap;gap:1.05rem;font-size:.9rem;font-weight:600;display:flex}.nav a{color:var(--muted);border-bottom:2px solid #0000;padding-block:.3rem;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--gold)}.hero{padding-block:clamp(2.2rem,5vw,3.6rem)}.hero h1{font-family:var(--serif);letter-spacing:.01em;max-width:28ch;margin:0;font-size:clamp(1.9rem,4.6vw,3.1rem);font-weight:600;line-height:1.24}.hero-lead{max-width:46ch;color:var(--muted);margin:1.2rem 0 0;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.95}.prose h2{font-family:var(--serif);letter-spacing:.01em;margin:0 0 .9rem;font-size:clamp(1.28rem,2.4vw,1.6rem);font-weight:600;line-height:1.5}.prose h3{margin:1.8rem 0 .5rem;font-size:1.05rem;font-weight:700}.prose p{margin:0 0 1.05rem}.prose>:last-child{margin-bottom:0}.bullets{margin:0 0 1.1rem;padding-left:1.15rem}.bullets li{margin-bottom:.45rem}.bullets li::marker{color:var(--gold-ink)}.kv{border-top:1px solid var(--line);margin:0 0 1.2rem}.kv-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,12rem) minmax(0,1fr);gap:1rem;padding:.55rem .2rem;display:grid}.kv-row dt{color:var(--accent);font-size:.95rem;font-weight:700}.kv-row dd{margin:0}.tablewrap{border:1px solid var(--line-strong);background:color-mix(in srgb, white 55%, var(--ground));margin:0 0 1.4rem;overflow-x:auto}table.datatable{border-collapse:collapse;width:100%;min-width:34rem;font-size:.95rem;line-height:1.7}.datatable caption{caption-side:top;text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed var(--line-strong);padding:.7rem .9rem;font-size:.76rem}.datatable th,.datatable td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .8rem}.datatable thead th{background:var(--accent);color:var(--on-accent);letter-spacing:.02em;white-space:nowrap;font-size:.85rem;font-weight:700}.datatable tbody tr:nth-child(2n){background:color-mix(in srgb, var(--panel) 60%, transparent)}.datatable td:first-child{font-weight:600}.datatable .num,.datatable td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.linklist{border-top:1px solid var(--line);margin:0 0 1.3rem;padding:0;list-style:none}.linklist li{border-bottom:1px solid var(--line)}.linklist a{grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;padding:.7rem .2rem;text-decoration:none;display:grid}.linklist a:hover .link-label{text-decoration:underline}.link-label{font-weight:700}.link-note{color:var(--muted);grid-column:1/-1;font-size:.85rem}.link-tag{font-family:var(--mono);letter-spacing:.08em;color:var(--on-accent);background:var(--accent);white-space:nowrap;align-self:start;padding:.05rem .35rem;font-size:.68rem}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding-top:1.2rem;font-size:.85rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.footer{border-top:3px double var(--line-strong);color:var(--muted);margin-top:clamp(3rem,6vw,5rem);padding-block:2rem 2.6rem;font-size:.88rem}.footer-inner{gap:1rem;display:grid}.footer-name{font-family:var(--serif);color:var(--ink);font-size:1rem}.footer-nav{flex-wrap:wrap;gap:.4rem 1.2rem;display:flex}.footer-nav a{color:var(--muted)}.footer-note{max-width:56ch;margin:0;line-height:1.8}.footer-nav a:hover{color:var(--accent)}.bp-st-head{border-bottom:3px double var(--line-strong);padding:clamp(2rem,5vw,3.4rem) 0 1.4rem}.bp-st-kicker,.bp-st-cap,.tk-kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .8rem;font-size:.72rem}.bp-st-head h1{font-family:var(--serif);letter-spacing:.01em;margin:0 0 .9rem;font-size:clamp(1.85rem,4.4vw,2.9rem);font-weight:600;line-height:1.22}.bp-st-head h1 small{font-family:var(--mono);letter-spacing:.22em;color:var(--muted);margin-top:.5rem;font-size:.72rem;display:block}.bp-st-lead{max-width:46rem;color:var(--muted);margin:0;font-size:1rem;line-height:2}.tk-spec{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:1px;margin:1.5rem 0 0;display:grid}.tk-spec>div{background:var(--ground);padding:.6rem .7rem .7rem}.tk-spec dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-size:.66rem}.tk-spec dd{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin:.15rem 0 0;font-size:1.02rem;font-weight:600}.tk-spec dd span{font-family:var(--font);color:var(--muted);margin-left:.25rem;font-size:.76rem;font-weight:400}.bp-st-sheet{border-bottom:1px dashed var(--line-strong);grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:1rem;padding-block:1.6rem clamp(1.6rem,3vw,2.4rem);display:grid}.bp-st-stamp{background:color-mix(in srgb, white 62%, var(--ground));border:1px dashed var(--line-strong);color:var(--ink);align-content:start;gap:.35rem;padding:1rem .95rem 1.05rem;text-decoration:none;transition:transform .16s,background .16s;display:grid;position:relative}.bp-st-stamp:after{content:"";border:1px solid var(--gold);opacity:.5;pointer-events:none;position:absolute;inset:3px}.bp-st-stamp:hover{background:#fff;transform:translateY(-2px)}.bp-st-face{font-family:var(--mono);color:var(--gold-ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1}.bp-st-stamp:nth-child(4n+1) .bp-st-face{color:var(--accent)}.bp-st-name{font-family:var(--serif);font-size:1.02rem;font-weight:600;line-height:1.5}.bp-st-note{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.8rem;font-style:normal;line-height:1.7;display:-webkit-box;overflow:hidden}.bp-st-edge{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);border-top:1px dotted var(--line-strong);margin-top:.35rem;padding-top:.35rem;font-size:.66rem}.bp-st-entry-text{margin:0}.bp-st-entry{border-bottom:1px solid var(--line);padding-block:1.5rem}.bp-st-entry h2{font-family:var(--serif);margin:0 0 .75rem;font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:600}.bp-st-entry h2:before{content:"§ ";color:var(--gold-ink);font-family:var(--mono);font-size:.85em}.bp-st-art{padding-bottom:2rem}.bp-st-art-head{border-bottom:3px double var(--line-strong);padding:1.2rem 0 1.4rem}.bp-st-art-kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .7rem;font-size:.7rem}.bp-st-art-head h1{font-family:var(--serif);margin:0 0 .8rem;font-size:clamp(1.6rem,3.6vw,2.35rem);font-weight:600;line-height:1.3}.bp-st-art-lead{max-width:46rem;color:var(--muted);margin:0;line-height:1.95}.bp-st-art-meta{font-family:var(--mono);color:var(--muted);margin:.8rem 0 0;font-size:.75rem}.bp-st-art-sec{border-bottom:1px solid var(--line);padding-block:1.6rem}.bp-st-art-sec h2{font-family:var(--serif);align-items:baseline;gap:.55rem;margin:0 0 .85rem;font-size:clamp(1.2rem,2.3vw,1.5rem);font-weight:600;line-height:1.5;display:flex}.bp-st-art-face{font-family:var(--mono);color:var(--on-accent);background:var(--accent);letter-spacing:.04em;flex:none;align-self:center;padding:.1rem .34rem;font-size:.78rem;font-weight:700}.bp-st-art-more{border:1px dashed var(--line-strong);background:color-mix(in srgb, white 55%, var(--ground));margin-top:1.8rem;padding:1rem 1.1rem 1.15rem}.bp-st-art-more ul{columns:2;column-gap:1.5rem;margin:0;padding-left:1.1rem;font-size:.92rem}@media (width<=620px){.bp-st-art-more ul{columns:1}}.tk-toc{border:1px solid var(--line);background:color-mix(in srgb, white 55%, var(--ground));margin:1.2rem 0 0}.tk-toc summary{cursor:pointer;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);padding:.6rem .85rem;font-size:.72rem}.tk-toc ol{counter-reset:toc;margin:0;padding:0 .85rem .8rem;list-style:none}.tk-toc li{counter-increment:toc;border-top:1px dotted var(--line);font-size:.92rem}.tk-toc li a{color:var(--ink);grid-template-columns:2.2rem minmax(0,1fr);gap:.4rem;padding:.4rem 0;text-decoration:none;display:grid}.tk-toc li a:before{content:counter(toc, decimal-leading-zero);font-family:var(--mono);color:var(--gold-ink);font-size:.75rem}.tk-toc li a:hover{color:var(--accent)}.tk-facts{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1rem}.tk-facts h2{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .6rem;font-size:.72rem}.tk-facts ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.tk-facts li{border-left:3px solid var(--gold);grid-template-columns:minmax(0,1fr);gap:.1rem;padding-left:.7rem;font-size:.9rem;display:grid}.tk-facts b{font-weight:700}.tk-facts em{font-style:normal;font-family:var(--mono);color:var(--muted);font-size:.72rem}.tk-arms{border-bottom:1px dashed var(--line-strong);padding-block:1.6rem}.tk-arms h2,.tk-range h2{font-family:var(--serif);margin:0 0 .5rem;font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:600}.tk-arms p.tk-note,.tk-range p.tk-note{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.tk-slot{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.tk-slot li{border:1px solid var(--line-strong);background:color-mix(in srgb, white 60%, var(--ground));align-content:start;gap:.3rem;padding:.8rem .85rem .9rem;display:grid;position:relative}.tk-slot li:before{content:attr(data-key);font-family:var(--mono);color:var(--gold-ink);font-size:.95rem;font-weight:700;position:absolute;top:.55rem;right:.6rem}.tk-slot b{font-family:var(--serif);padding-right:1.4rem;font-size:1rem;line-height:1.5}.tk-slot span{color:var(--muted);font-size:.84rem;line-height:1.75}.tk-range{border-bottom:3px double var(--line-strong);padding-block:1.6rem}.tk-range svg{width:100%;height:auto;margin:0 0 .8rem;display:block}.tk-legend{color:var(--muted);gap:.35rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.tk-legend li{align-items:baseline;gap:.5rem;display:flex}.tk-legend i{border:1px solid var(--accent);flex:none;width:1.5rem;height:.7rem}.nf{padding-block:clamp(2.4rem,6vw,4rem)}.nf h1{font-family:var(--serif);margin:0 0 .5rem;font-size:clamp(2rem,5vw,3.2rem);font-weight:600}.nf .nf-num{font-family:var(--mono);letter-spacing:.3em;color:var(--gold-ink);margin:0 0 .8rem;font-size:.78rem}.nf p{color:var(--muted);max-width:46rem}.nf-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:1px;margin:1.6rem 0 1.4rem;padding:0;list-style:none;display:grid}.nf-list li{background:var(--ground)}.nf-list a{color:var(--ink);padding:.55rem .7rem;font-size:.92rem;text-decoration:none;display:block}.nf-list a:hover{background:var(--gold-soft)}.nf-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.nf-actions a{border:1px solid var(--accent);padding:.55rem 1rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-block}.nf-actions a:first-child{background:var(--accent);color:var(--on-accent)}.nf-actions a:not(:first-child){color:var(--accent);background:0 0}.tool{border:1px solid var(--line-strong);background:color-mix(in srgb, white 62%, var(--ground));margin:1.6rem 0 0}.tool-head{border-bottom:1px dashed var(--line-strong);padding:.8rem 1rem .6rem}.tool-head h2{font-family:var(--serif);margin:0;font-size:1.1rem;font-weight:600}.tool-head p{color:var(--muted);margin:.35rem 0 0;font-size:.86rem}.tool-body{padding:.9rem 1rem 1.2rem}.tool-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.8rem 1rem;display:grid}.tool-field{gap:.25rem;display:grid}.tool-field label{font-size:.86rem;font-weight:700}.tool-field input{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--ink);background:#fff;width:100%;padding:.4rem .5rem;font-size:1rem}.tool-field .unit{font-family:var(--mono);color:var(--muted);font-size:.74rem}.tool-out{border-left:4px solid var(--gold);background:var(--gold-soft);gap:.2rem;margin-top:1rem;padding:.75rem .9rem;display:grid}.tool-out b{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.35rem}.tool-out span{color:var(--gold-ink);font-size:.82rem}.tool-err{color:var(--danger);font-size:.85rem}.tool-ex{margin:1rem 0 0;font-size:.86rem}.filter{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.2rem 0 .5rem;display:flex}.filter input{border:1px solid var(--line-strong);color:var(--ink);background:#fff;min-width:min(100%,18rem);padding:.45rem .6rem;font-family:inherit;font-size:.95rem}.filter-count{font-family:var(--mono);color:var(--muted);font-size:.78rem}.gl-table{margin-top:.7rem}.gl-table tr[hidden]{display:none}.tk-src{border:1px dashed var(--line-strong);color:var(--muted);margin-top:2rem;padding:1rem 1.1rem 1.2rem;font-size:.86rem}.tk-src h2{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .5rem;font-size:.72rem}.tk-src ul{margin:0;padding-left:1.1rem}.tk-src a{color:var(--accent);word-break:break-all}.tag{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;padding:.05rem .35rem;font-size:.7rem;display:inline-block}.tag.is-guess{border-color:var(--gold-ink);color:var(--gold-ink);background:var(--gold-soft)}.tag.is-unknown{border-color:var(--danger);color:var(--danger)}@media (width<=720px){.masthead-inner{gap:.6rem}.nav{order:3;gap:.7rem;width:100%;font-size:.84rem}.kv-row{grid-template-columns:minmax(0,1fr);gap:.1rem}body{font-size:1rem}}.tk-load{border-bottom:1px dashed var(--line-strong);padding-block:1.6rem}.tk-bar{gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.tk-bar li{grid-template-columns:minmax(0,1fr);gap:.2rem;display:grid}.tk-bar-label{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9rem;display:flex}.tk-bar-label b{font-family:var(--mono);letter-spacing:.04em;font-size:.82rem}.tk-bar-label em{font-style:normal;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--gold-ink)}.tk-bar-track{background:var(--panel-2);border:1px solid var(--line);height:.55rem;display:block}.tk-bar-fill{background:repeating-linear-gradient(45deg, var(--accent) 0 6px, color-mix(in srgb, var(--accent) 78%, var(--gold)) 6px 12px);height:100%;display:block}.tk-bar-note{color:var(--muted);font-size:.8rem;line-height:1.7}.bp-st-art-flow{display:block}.tk-facts li span{color:var(--ink)}.bp-st-sec-head{align-items:baseline;gap:.55rem;margin:0 0 .85rem;display:flex}.bp-st-sec-head h2{margin:0}.bp-st-jump{margin-block:1.5rem 0}.bp-st-jump .bp-st-toc{margin:0}.tablecap{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);border-bottom:1px dashed var(--line-strong);margin:0;padding:.6rem .8rem;font-size:.76rem}@media (width<=640px){table.datatable{min-width:0;font-size:.86rem}.datatable th,.datatable td{padding:.42rem .5rem}.datatable thead th{white-space:normal}}.bp-st-head{position:relative}.bp-st-figure{margin:0;display:none}.bp-st-figure svg{width:100%;height:auto;display:block}@media (width>=1200px){.bp-st-figure{width:12.5rem;display:block;position:absolute;top:1.2rem;right:0}.bp-st-head .bp-st-lead{max-width:min(46rem,100% - 15rem)}}.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}}
