:root{--ground:#151515;--panel:#1c1c20;--panel-2:#232228;--ink:#f3f1f6;--muted:#a9a4b6;--line:#33313b;--accent:#a06bff;--accent-deep:#7143c8;--accent-soft:#a06bff29;--on-accent:#17121f;--maxw:68rem;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}.wrap.wrap{margin-inline:auto}body{background:var(--ground);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;margin:0;font-size:1.0625rem;line-height:1.9}::selection{background:var(--accent);color:var(--on-accent)}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.22em}a:hover{color:#fff;text-decoration-color:#fff}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3{letter-spacing:.01em;font-weight:700;line-height:1.35}img{max-width:100%;height:auto}.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:40;background:var(--accent);color:var(--on-accent);padding:.5rem .9rem;top:1rem;left:1rem}.masthead{z-index:30;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#151515eb;position:sticky;top:0}.masthead-inner{align-items:center;gap:1.2rem;min-height:3.6rem;display:flex}.wordmark{flex:none;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-mark{background:var(--accent);width:1.85rem;height:1.85rem;color:var(--on-accent);font-family:var(--mono);letter-spacing:.02em;border-radius:.35rem;place-items:center;font-size:.8rem;display:inline-grid}.wordmark-text{letter-spacing:.02em;white-space:nowrap;font-size:.95rem}.nav{white-space:nowrap;align-items:center;gap:1.05rem;margin-left:auto;font-size:.82rem;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:5rem;padding:2.4rem 0 3rem;font-size:.84rem}.footer-name{color:var(--ink);margin:0 0 .6rem;font-weight:700}.footer-nav{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.footer-nav a{color:var(--muted)}.footer-note{max-width:46rem;margin:.35rem 0 0;line-height:1.75}.crumbs{color:var(--muted);align-items:center;gap:.45rem;padding:1.6rem 0 0;font-size:.78rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.bullets{margin:1rem 0;padding-left:1.15rem}.bullets li{margin:.45rem 0;padding-left:.2rem}.bullets li::marker{color:var(--accent)}.kv{border-top:1px solid var(--line);margin:1.1rem 0}.kv-row{border-bottom:1px solid var(--line);grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:.7rem 0;display:grid}.kv dt{color:var(--accent);letter-spacing:.04em;font-size:.8rem}.kv dd{margin:0}.tablewrap{background:var(--panel);border:1px solid var(--line);border-radius:.55rem;margin:1.2rem 0;padding:.2rem .95rem .6rem;overflow-x:auto}.datatable{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.72}.datatable caption{caption-side:top;letter-spacing:.05em;color:var(--muted);text-align:left;padding:.85rem 0 .2rem;font-size:.76rem}.datatable th,.datatable td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem .8rem}.datatable thead th{letter-spacing:.06em;color:var(--muted);background:var(--panel-2);white-space:nowrap;font-size:.74rem;font-weight:600}.datatable tbody tr:last-child th,.datatable tbody tr:last-child td{border-bottom:0}.datatable tbody th{white-space:nowrap;font-weight:600}.tableblock{margin:1.2rem 0}.tableblock>.tablewrap{margin:0}.tablehint{letter-spacing:.04em;color:var(--accent);margin:0 0 .45rem;padding-left:.15rem;font-size:.74rem;display:none}.linklist{gap:.6rem;margin:1.2rem 0;padding:0;list-style:none;display:grid}.linklist a{border:1px solid var(--line);background:var(--panel);border-radius:.5rem;padding:.75rem .95rem;text-decoration:none;display:block}.linklist a:hover{border-color:var(--accent);background:var(--panel-2)}.link-label{font-size:.95rem;font-weight:700;display:block}.link-tag{background:var(--accent-soft);color:#d9c4ff;vertical-align:.1em;border-radius:999px;margin-left:.45rem;padding:0 .4rem;font-size:.7rem;display:inline-block}.link-note{color:var(--muted);font-size:.8rem;display:block}.prose{max-width:46rem}.prose h2{margin:3.2rem 0 1.1rem;font-size:1.32rem}.prose h3{color:#ded7ee;margin:2rem 0 .7rem;font-size:1.05rem}.prose p{margin:1rem 0}.prose ul,.prose ol{margin:1rem 0;padding-left:1.2rem}.prose li{margin:.4rem 0}.bp-cr-kicker,.bp-cr-rail-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem}.bp-cr-hero{border-bottom:1px solid var(--line);padding:4.2rem 0 2.6rem}.bp-cr-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:start;gap:3.4rem;display:grid}.bp-cr-hero h1{letter-spacing:.01em;margin:.9rem 0 1.1rem;font-size:clamp(1.9rem,4.6vw,3rem)}.bp-cr-lead{color:#ded8ea;max-width:34rem;margin:0;font-size:1.02rem}.bp-cr-hero-cta{flex-wrap:wrap;gap:.7rem;margin:1.9rem 0 0;display:flex}.bp-cr-btn{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:999px;padding:.62rem 1.25rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.bp-cr-btn:hover{color:var(--on-accent);background:#b78cff}.bp-cr-btn-ghost{color:#e5dcf7;border-color:var(--line);background:0 0}.bp-cr-btn-ghost:hover{background:var(--panel-2);color:#fff}.bp-cr-hero-side{border-left:1px solid var(--accent-deep);padding:1.5rem 0 0 1.5rem}.bp-cr-hero-facts{gap:.85rem;margin:1rem 0 0;display:grid}.bp-cr-hero-facts div{gap:.1rem;display:grid}.bp-cr-hero-facts dt{color:var(--muted);letter-spacing:.03em;font-size:.76rem}.bp-cr-hero-facts dd{font-family:var(--mono);color:#fff;margin:0;font-size:1.18rem}.bp-cr-hero-note{color:var(--muted);margin:1.4rem 0 0;font-size:.78rem;line-height:1.7}.bp-cr-rail{border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr);gap:1.6rem;margin-block:2.6rem 0;padding:2.2rem 0;display:grid}.bp-cr-rail>.bp-cr-rail-label{writing-mode:vertical-rl;text-orientation:mixed;justify-self:start}.bp-cr-rail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 2rem;margin:0;padding:0;list-style:none;display:grid}.bp-cr-rail-list a{border-bottom:1px dashed var(--line);align-items:baseline;gap:.7rem;padding:.5rem 0;font-size:.92rem;text-decoration:none;display:flex}.bp-cr-rail-list a:hover{color:var(--accent);border-bottom-color:var(--accent)}.bp-cr-rail-no{font-family:var(--mono);color:var(--accent);font-size:.72rem}.bp-cr-h2{align-items:baseline;gap:.8rem;margin:0 0 1rem;font-size:1.28rem;display:flex}.bp-cr-h2>span{font-family:var(--mono);color:var(--accent);font-size:.78rem}.bp-cr-p{max-width:46rem;margin:.85rem 0}.bp-cr-p a{color:#d6bcff}.bp-cr-stages,.bp-cr-check,.bp-cr-paths,.bp-cr-src{padding:3.2rem 0 0}.bp-cr-stage-list,.bp-cr-path-list{gap:.75rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.bp-cr-stage,.bp-cr-path{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 .55rem .55rem 0;grid-template-columns:2.2rem minmax(0,1fr);gap:1rem;padding:1.1rem 1.2rem;display:grid}.bp-cr-stage-no{font-family:var(--mono);color:var(--accent);font-size:1.15rem;line-height:1.3}.bp-cr-stage-body h3,.bp-cr-path h3{margin:0 0 .25rem;font-size:1rem}.bp-cr-path h3 a{text-decoration-color:var(--accent)}.bp-cr-stage-body p,.bp-cr-path p{color:#d6d1e0;margin:.25rem 0 0;font-size:.9rem}.bp-cr-stage-fail{color:#f0c3ff!important;font-size:.84rem!important}.bp-cr-check-table td,.bp-cr-check-table th{font-size:.88rem}.bp-cr-src-list{gap:.55rem;margin:1.2rem 0 0;padding:0;font-size:.86rem;list-style:none;display:grid}.bp-cr-src-list li{border-bottom:1px dashed var(--line);gap:.1rem;padding-bottom:.55rem;display:grid}.bp-cr-src-list a{color:#d6bcff;font-weight:600}.bp-cr-src-list span{color:var(--muted);font-size:.8rem}.bp-cr-art-head{border-bottom:1px solid var(--line);padding:2.2rem 0 2.4rem}.bp-cr-art-head h1{margin:.8rem 0 .9rem;font-size:clamp(1.65rem,3.6vw,2.35rem)}.bp-cr-art-lead{color:#ded8ea;max-width:42rem;margin:0}.bp-cr-art-meta{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;gap:.5rem 1.2rem;margin:1.2rem 0 0;font-size:.74rem;display:flex}.bp-cr-art-layout{grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:3.4rem;padding-top:2.6rem;display:grid}.bp-cr-toc{align-content:start;gap:.9rem;display:grid;position:sticky;top:5.2rem}.bp-cr-toc>.bp-cr-rail-label{writing-mode:vertical-rl;text-orientation:mixed}.bp-cr-toc ol{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.bp-cr-toc li a{color:var(--muted);border-bottom:1px solid #0000;align-items:baseline;gap:.5rem;padding:.28rem 0;font-size:.82rem;line-height:1.5;text-decoration:none;display:flex}.bp-cr-toc li a:hover{color:var(--accent);border-bottom-color:var(--line)}.bp-cr-art-body{min-width:0}.bp-cr-sec{padding-top:.2rem}.bp-cr-sec+.bp-cr-sec{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:2.2rem}.bp-cr-sec h2{align-items:baseline;gap:.75rem;margin:0 0 .9rem;font-size:1.3rem;display:flex}.bp-cr-h-no{font-family:var(--mono);color:var(--accent);font-size:.76rem}.bp-cr-art-foot,.bp-cr-next{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.8rem}.bp-cr-art-foot{gap:.8rem;display:grid}.bp-cr-foot-note{color:var(--muted);max-width:40rem;margin:0;font-size:.78rem;line-height:1.75}.bp-cr-next ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1.6rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.bp-cr-next li a{border-bottom:1px dashed var(--line);padding:.45rem 0;font-size:.88rem;text-decoration:none;display:block}.bp-cr-next li a:hover{color:var(--accent);border-bottom-color:var(--accent)}.bp-cr-stair{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;margin:1.6rem 0;padding:1.4rem 1.3rem 1.1rem}.bp-cr-stair-cap{letter-spacing:.04em;color:var(--muted);margin-bottom:1rem;font-size:.76rem}.bp-cr-stair-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.bp-cr-stair-band{margin-left:calc(var(--i,0) * .9rem);border-left:3px solid var(--accent);background:linear-gradient(90deg,#a06bff24,#a06bff05);border-radius:0 .4rem .4rem 0;grid-template-columns:2.4rem minmax(0,1fr);gap:.8rem;padding:.65rem .8rem;display:grid}.bp-cr-stair-tag{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--mono);letter-spacing:.12em;color:#d9c4ff;font-size:.7rem}.bp-cr-stair-name{color:#fff;margin:0;font-size:.82rem;font-weight:700}.bp-cr-stair-rocks{flex-wrap:wrap;gap:.35rem .8rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.bp-cr-stair-rocks li{align-items:baseline;gap:.4rem;font-size:.8rem;display:flex}.bp-cr-stair-rocks b{font-weight:600}.bp-cr-stair-rocks span{color:var(--muted);font-size:.74rem}.bp-cr-stair-note{color:var(--muted);margin:1rem 0 0;font-size:.75rem;line-height:1.7}.bp-cr-toolslot{border-top:1px solid var(--line);margin-top:3.4rem;padding-top:2rem}.bp-cr-tool{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;margin-top:.9rem;padding:1.5rem 1.35rem}.bp-cr-tool-h{margin:0;font-size:1.1rem}.bp-cr-tool-hint{color:#d6d1e0;max-width:42rem;margin:.6rem 0 1.1rem;font-size:.84rem;line-height:1.75}.bp-cr-tool-controls{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem;display:grid}.bp-cr-field{color:var(--muted);gap:.3rem;font-size:.78rem;display:grid}.bp-cr-field select,.bp-cr-field input{width:100%;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:.35rem;padding:.45rem .55rem;font-family:inherit;font-size:.9rem}.bp-cr-field select:hover,.bp-cr-field input:hover{border-color:var(--accent-deep)}.bp-cr-tool-count{font-family:var(--mono);letter-spacing:.04em;color:var(--accent);margin:1rem 0 .2rem;font-size:.76rem}.bp-cr-lookup-table{min-width:34rem}.bp-cr-tool-empty,.bp-cr-tool-note{color:var(--muted);margin:.8rem 0 0;font-size:.8rem;line-height:1.7}.bp-cr-calc-out{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;margin:1.3rem 0 0;display:grid}.bp-cr-calc-out>div{background:var(--panel-2);border:1px solid var(--line);border-radius:.45rem;padding:.85rem 1rem}.bp-cr-calc-out dt{color:var(--muted);font-size:.76rem}.bp-cr-calc-out dd{color:#d6d1e0;margin:.2rem 0 0;font-size:.86rem}.bp-cr-calc-out b{font-family:var(--mono);color:#fff;font-size:1.5rem}@media (width<=900px){.bp-cr-hero-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.bp-cr-hero-side{border-left:0;border-top:1px solid var(--line);padding:1.2rem 0 0}.bp-cr-art-layout{grid-template-columns:minmax(0,1fr);gap:1.6rem;padding-top:1.8rem}.bp-cr-toc{border-bottom:1px solid var(--line);padding-bottom:.8rem;position:static}.bp-cr-toc>.bp-cr-rail-label{writing-mode:horizontal-tb}.bp-cr-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 1.2rem}.bp-cr-toc li a{white-space:normal;border-bottom:1px dashed #0000}}@media (width<=640px){body{font-size:1rem;line-height:1.85}.masthead-inner{gap:.7rem;min-height:3.2rem}.wordmark-text{font-size:.86rem}.nav{letter-spacing:-.01em;gap:.7rem;font-size:.76rem}.bp-cr-hero{padding:2.6rem 0 2rem}.bp-cr-hero-side{padding-top:1rem}.bp-cr-rail{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:1.6rem 0}.bp-cr-rail>.bp-cr-rail-label{writing-mode:horizontal-tb}.bp-cr-rail-list{grid-template-columns:minmax(0,1fr)}.bp-cr-stages,.bp-cr-check,.bp-cr-paths,.bp-cr-src{padding-top:2.3rem}.bp-cr-stage,.bp-cr-path{grid-template-columns:1.7rem minmax(0,1fr);gap:.7rem;padding:.9rem}.bp-cr-stair{padding:1.1rem .85rem .9rem}.bp-cr-stair-band{grid-template-columns:1.5rem minmax(0,1fr);margin-left:0}.kv-row{grid-template-columns:minmax(0,1fr);gap:.2rem}.tableblock:has(thead th:nth-child(4)) .tablehint{display:block}.datatable{font-size:.87rem}.datatable th,.datatable td{min-width:4.8rem;padding-inline:.55rem}.tablewrap:has(thead th:nth-child(4)) .datatable{min-width:30rem}.bp-cr-lookup-table{min-width:44rem}.bp-cr-next ul{grid-template-columns:minmax(0,1fr)}.bp-cr-tool{padding:1.1rem .9rem}.bp-cr-tool-controls{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.wordmark-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav{gap:.62rem;margin-left:auto;font-size:.74rem}}[hidden]{display:none!important}.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){html{scroll-behavior:auto}.js [data-reveal]{opacity:1;transition:none;transform:none}}.e404-btn{border-radius:999px;transition:background .15s,border-color .15s}.e404-btn:hover{background:var(--accent-soft)}.e404-ghost:hover{background:var(--panel-2)}.e404-code{letter-spacing:.06em}.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}}
