.m-page{--m-surface:#f2efe8}.m-page .m-container{max-width:1200px;margin:0 auto;padding:0 32px}.m-page .divider{border:0;border-top:1px solid var(--color-hair);margin:0}.m-page .kicker{color:var(--color-ink-faint);align-items:center;gap:10px;margin-bottom:24px;font-size:13px;display:inline-flex}.m-page .kicker:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .heading{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1.05}.m-page .heading-wide{max-width:28ch}.m-page .lede{max-width:60ch;color:var(--color-ink-2);margin-top:24px;font-size:17px;line-height:1.55}.m-page .m-hero{padding-top:clamp(120px,18vh,180px);padding-bottom:clamp(64px,10vh,96px)}.m-page .m-hero h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;max-width:24ch;margin:0 0 24px;font-size:clamp(34px,4.6vw,60px);font-weight:500;line-height:1}.m-page .m-hero h1 .accent{color:var(--color-ink-faint)}.m-page .m-hero .meta{border-top:1px solid var(--color-hair);color:var(--color-ink-faint);flex-wrap:wrap;gap:12px 32px;margin-top:36px;padding-top:20px;font-size:13px;display:flex}.m-page .m-hero .meta .item{align-items:baseline;gap:8px;display:inline-flex}.m-page .m-hero .meta .val{color:var(--color-ink)}.m-page .m-section{padding:clamp(72px,10vh,120px) 0}.m-page .m-section.tight{padding:clamp(48px,7vh,80px) 0}.m-page .m-prose{max-width:60ch;color:var(--color-ink-2);font-size:17px;line-height:1.6}.m-page .m-prose>*+*{margin-top:18px}.m-page .m-prose p{color:var(--color-ink-2);margin:0}.m-page .m-prose strong{color:var(--color-ink);font-weight:600}.m-page .m-prose em{color:var(--color-ink);font-style:italic}.m-page .m-section-head{grid-template-columns:1fr 1.2fr;align-items:end;gap:clamp(40px,8vw,100px);margin-bottom:56px;display:grid}.m-page .m-section-head .lede{margin-top:0}@media (max-width:800px){.m-page .m-section-head{grid-template-columns:1fr;align-items:start;gap:24px}}.m-page .stats{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.m-page .stat{background:var(--color-bg);flex-direction:column;gap:14px;min-height:200px;padding:32px 26px;display:flex}.m-page .stat .num{font-family:var(--font-display);letter-spacing:-.035em;color:var(--color-ink);font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1}.m-page .stat .num .unit{color:var(--color-ink-faint);vertical-align:.4em;margin-left:2px;font-size:.5em}.m-page .stat .desc{color:var(--color-ink-2);font-size:15px;line-height:1.5}.m-page .stat .src{color:var(--color-ink-faint);margin-top:auto;font-size:13px}@media (max-width:1000px){.m-page .stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.m-page .stats{grid-template-columns:1fr}}.m-page .m-quote{grid-template-columns:1fr 1.4fr;align-items:start;gap:clamp(40px,8vw,100px);display:grid}.m-page .m-quote .text{font-family:var(--font-display);letter-spacing:-.022em;color:var(--color-ink);text-wrap:balance;font-size:clamp(22px,2.4vw,30px);font-weight:500;line-height:1.22}.m-page .m-quote .attr{color:var(--color-ink-faint);flex-direction:column;gap:2px;font-size:13px;display:flex}.m-page .m-quote .attr .name{color:var(--color-ink);font-size:14px;font-weight:500}@media (max-width:800px){.m-page .m-quote{grid-template-columns:1fr;gap:24px}}.m-page .ladder{border-top:1px solid var(--color-hair)}.m-page .ladder .row{border-bottom:1px solid var(--color-hair);grid-template-columns:60px 1fr 2fr 100px;align-items:baseline;gap:24px;padding:22px 0;display:grid}.m-page .ladder .row .idx{color:var(--color-ink-faint);font-size:13px}.m-page .ladder .row .role{font-family:var(--font-display);letter-spacing:-.022em;color:var(--color-ink);font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.15}.m-page .ladder .row .desc{color:var(--color-ink-dim);font-size:15px;line-height:1.5}.m-page .ladder .row .stage{text-align:right;color:var(--color-ink-faint);font-size:13px}.m-page .ladder .row.now .stage{color:var(--color-ink)}@media (max-width:800px){.m-page .ladder .row{grid-template-columns:40px 1fr;gap:12px;padding:18px 0}.m-page .ladder .row .desc{grid-column:2}.m-page .ladder .row .stage{text-align:left;grid-column:2}}.m-page .incomplete .frame-label,.m-page .incomplete .frame-foot{color:var(--color-ink-faint);letter-spacing:.02em;font-size:13px}.m-page .incomplete .frame-label{margin-bottom:14px}.m-page .incomplete .frame-foot{margin-top:14px}.m-page .incomplete .frame{border:1px solid var(--color-hair-2);gap:22px;padding:28px 26px;display:grid}.m-page .incomplete .irow{grid-template-columns:minmax(150px,1.1fr) 2.4fr minmax(90px,auto);align-items:center;gap:20px;display:grid}.m-page .incomplete .ilabel{gap:3px;display:grid}.m-page .incomplete .ilabel .name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink);font-size:17px;font-weight:500}.m-page .incomplete .ilabel .sub{color:var(--color-ink-dim);font-size:12.5px}.m-page .incomplete .track{border:1px solid var(--color-hair);height:30px;position:relative}.m-page .incomplete .bar{width:var(--fill);background:var(--color-ink);transition:width .7s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--i) * .14s);position:absolute;inset:0 auto 0 0}.m-page .incomplete .bar.empty{background:0 0}.m-page .incomplete[data-state=pending] .bar{width:0}.m-page .incomplete .inote{color:var(--color-ink-faint);text-align:right;white-space:nowrap;font-size:12.5px}@media (max-width:800px){.m-page .incomplete .frame{gap:18px;padding:20px 16px}.m-page .incomplete .irow{grid-template-columns:1fr auto;gap:8px 12px}.m-page .incomplete .track{grid-column:1/-1;height:24px}.m-page .incomplete .inote{text-align:right;align-self:start}}.m-page .broken-path{display:grid}.m-page .broken-path .pstep{grid-template-columns:22px 1fr;gap:0 20px;display:grid}.m-page .broken-path .spine{justify-items:center;display:grid;position:relative}.m-page .broken-path .spine .dot{background:var(--color-ink);border-radius:50%;width:9px;height:9px;margin-top:6px}.m-page .broken-path .spine .line{background:var(--color-ink);transform-origin:top;width:1px;height:100%;transition:transform .52s;transition-delay:calc(var(--i) * .12s);flex:1}.m-page .broken-path[data-state=pending] .spine .line{transform:scaleY(0)}.m-page .broken-path .pbody{padding-bottom:30px}.m-page .broken-path .pmain{gap:3px;display:grid}.m-page .broken-path .pmain .plabel{font-family:var(--font-display);letter-spacing:-.018em;color:var(--color-ink);font-size:18px;font-weight:500}.m-page .broken-path .pmain .psub{color:var(--color-ink-dim);font-size:13px}.m-page .broken-path .pbreaks{gap:9px;margin-top:12px;display:grid}.m-page .broken-path .pbreak{opacity:1;transition:opacity .42s;transition-delay:calc(var(--i) * .12s + var(--j) * 90ms + .22s);grid-template-columns:46px 1fr;align-items:center;gap:10px;display:grid}.m-page .broken-path[data-state=pending] .pbreak{opacity:0}.m-page .broken-path .pbreak .stub{background:var(--color-hair-2);transform-origin:0;width:100%;height:1px;transition:transform .38s;transition-delay:inherit;display:block}.m-page .broken-path[data-state=pending] .pbreak .stub{transform:scaleX(.15)}.m-page .broken-path .pbreak .btext{color:var(--color-ink-dim);font-size:13px}.m-page .broken-path .pend{color:var(--color-ink-faint);margin-left:42px;padding-top:4px;font-size:13px}@media (max-width:800px){.m-page .broken-path .pstep{gap:0 14px}.m-page .broken-path .pbreak{grid-template-columns:26px 1fr;gap:8px}.m-page .broken-path .pend{margin-left:36px}}.m-page .dead-loop .loop-q{text-align:center;color:var(--color-ink-2);margin-bottom:26px;font-size:14px}.m-page .dead-loop .ring{aspect-ratio:1;width:min(560px,100%);margin:0 auto;position:relative}.m-page .dead-loop .ring-svg{width:100%;height:100%;position:absolute;inset:0}.m-page .dead-loop .orbit{fill:none;stroke:var(--color-hair-2);stroke-width:1px}.m-page .dead-loop .runner{fill:none;stroke:var(--color-ink);stroke-width:2px;stroke-linecap:round;stroke-dasharray:34 732.5;animation:9s linear infinite hb-orbit}@keyframes hb-orbit{to{stroke-dashoffset:-766.5px}}.m-page .dead-loop .center{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.m-page .dead-loop .center-box{border:1px dashed var(--color-hair-2);text-align:center;background:0 0;gap:6px;width:47%;padding:16px 14px;display:grid}.m-page .dead-loop .center-box .clabel{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink-dim);font-size:15px;font-weight:500;line-height:1.2}.m-page .dead-loop .center-box .cnote{color:var(--color-ink-faint);font-size:12px}.m-page .dead-loop .lnode{text-align:center;background:var(--color-bg);gap:4px;width:36%;padding:6px 4px;display:grid;position:absolute;transform:translate(-50%,-50%)}.m-page .dead-loop .lnode.n0{top:6%;left:50%}.m-page .dead-loop .lnode.n1{top:76%;left:79%}.m-page .dead-loop .lnode.n2{top:76%;left:21%}.m-page .dead-loop .lnode .nlabel{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink);font-size:17px;font-weight:500}.m-page .dead-loop .lnode .nsays{color:var(--color-ink-dim);opacity:.45;animation:9s linear infinite hb-hold;animation-delay:calc(var(--i) * 3s);font-size:12.5px;line-height:1.35}@keyframes hb-hold{0%,11%{opacity:1;color:var(--color-ink)}16%,95%{opacity:.45}to{opacity:1;color:var(--color-ink)}}.m-page .dead-loop .loop-caption{text-align:center;max-width:46ch;color:var(--color-ink-faint);margin:18px auto 0;font-size:13px}@media (prefers-reduced-motion:reduce){.m-page .dead-loop .runner{stroke:var(--color-hair-2);stroke-dasharray:none;animation:none}.m-page .dead-loop .lnode .nsays{opacity:1;animation:none}.m-page .incomplete .bar,.m-page .broken-path .spine .line,.m-page .broken-path .pbreak,.m-page .broken-path .pbreak .stub{transition:none}}@media (max-width:800px){.m-page .dead-loop .ring{width:100%}.m-page .dead-loop .lnode{width:46%}.m-page .dead-loop .lnode .nlabel{font-size:15px}.m-page .dead-loop .lnode .nsays{font-size:11.5px}.m-page .dead-loop .center-box{width:52%;padding:12px 10px}}.m-page .rail-gap .rail-svg{width:100%;height:auto;display:block}.m-page .rail-gap .rail{stroke:var(--color-ink);stroke-width:1.6px}.m-page .rail-gap .tie{stroke:var(--color-hair-2);stroke-width:1px}.m-page .rail-gap .break-post{stroke:var(--color-ink);stroke-width:2.5px}.m-page .rail-gap .ghost-rail{stroke:var(--color-hair-2);stroke-width:1px;stroke-dasharray:3 7}.m-page .rail-gap .station.from{fill:var(--color-ink)}.m-page .rail-gap .station.to{fill:none;stroke:var(--color-ink);stroke-width:1.3px}.m-page .rail-gap .train{animation:10s ease-in-out infinite hb-train}.m-page .rail-gap .train rect,.m-page .rail-gap .train circle{fill:var(--color-ink)}@keyframes hb-train{0%,7%{opacity:1;transform:translate(0)}48%{transform:translateX(var(--run))}53%{transform:translateX(calc(var(--run) - 7px))}58%,84%{transform:translateX(var(--run));opacity:1}92%{transform:translateX(var(--run));opacity:0}93%{opacity:0;transform:translate(0)}to{opacity:1;transform:translate(0)}}.m-page .rail-gap .rail-labels{min-height:58px;font-size:12.5px;position:relative}.m-page .rail-gap .from-label{color:var(--color-ink-faint);position:absolute;top:2px;left:0}.m-page .rail-gap .to-label{text-align:right;color:var(--color-ink-faint);position:absolute;top:2px;right:0}.m-page .rail-gap .built-label{width:var(--gap);text-align:center;color:var(--color-ink-dim);padding:0 24px;position:absolute;top:24px;left:0}.m-page .rail-gap .gap-label{left:var(--gap);text-align:center;color:var(--color-ink);font-weight:500;position:absolute;top:24px;right:0}.m-page .rail-gap .rail-caption{color:var(--color-ink-faint);margin-top:26px;font-size:13px}@media (prefers-reduced-motion:reduce){.m-page .rail-gap .train{transform:translateX(var(--run));animation:none}}@media (max-width:800px){.m-page .rail-gap .rail-labels{min-height:84px;font-size:11.5px}.m-page .rail-gap .built-label{padding:0 6px}}.m-page .hesitation .scene{border:1px solid var(--color-hair);justify-content:space-between;align-items:center;gap:32px;min-height:128px;padding:34px 36px;display:flex;position:relative}.m-page .hesitation .advice{gap:6px;max-width:30ch;display:grid}.m-page .hesitation .a-line{color:var(--color-ink-2);font-size:15px}.m-page .hesitation .a-note{color:var(--color-ink-faint);font-size:12.5px}.m-page .hesitation .paybtn{background:var(--color-ink);color:var(--color-bg);letter-spacing:.01em;flex:none;padding:13px 30px;font-size:14.5px;animation:8s ease-in-out infinite hb-await}.m-page .hesitation .cursor{width:19px;height:19px;fill:var(--color-ink);stroke:var(--color-bg);stroke-width:1.4px;animation:8s ease-in-out infinite hb-cursor;position:absolute;top:68%;left:34%}@keyframes hb-cursor{0%,8%{opacity:1;transform:translate(0)}36%{transform:translate(26cqw,-26px)}42%{transform:translate(28.5cqw,-30px)}46%{transform:translate(27.6cqw,-28px)}50%{transform:translate(28.5cqw,-30px)}68%{transform:translate(28.5cqw,-30px)}88%,to{transform:translate(0)}}@keyframes hb-await{0%,30%{opacity:1}44%,66%{opacity:.82}80%,to{opacity:1}}.m-page .hesitation{container-type:inline-size}.m-page .hesitation .hes-caption{color:var(--color-ink-faint);margin-top:16px;font-size:13px}@media (prefers-reduced-motion:reduce){.m-page .hesitation .cursor{animation:none;transform:translate(28.5cqw,-30px)}.m-page .hesitation .paybtn{animation:none}}@media (max-width:800px){.m-page .hesitation .scene{gap:18px;padding:24px 18px}.m-page .hesitation .a-line{font-size:13.5px}.m-page .hesitation .paybtn{padding:11px 20px;font-size:13px}.m-page .hesitation .cursor{left:30%}}.m-page .timeline{border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-auto-columns:1fr;grid-auto-flow:column;min-height:300px;padding:8px 0;display:grid;position:relative}.m-page .timeline:before{content:"";background:var(--color-hair-2);height:1px;position:absolute;top:50%;left:0;right:0}.m-page .timeline .t-node{grid-template-rows:1fr 24px 1fr;display:grid;position:relative}.m-page .timeline .t-marker{background:var(--color-ink);border-radius:50%;grid-row:2;place-self:center;width:9px;height:9px}.m-page .timeline .t-label{grid-row:1;align-self:end;padding:0 10px 16px}.m-page .timeline .t-node.below .t-label{grid-row:3;align-self:start;padding:16px 10px 0}.m-page .timeline .t-date{color:var(--color-ink-faint);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:13px}.m-page .timeline .t-actor{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);margin-top:6px;font-size:16px;font-weight:500;line-height:1.2}.m-page .timeline .t-event{color:var(--color-ink-dim);margin-top:5px;font-size:13px;line-height:1.45}.m-page .timeline .t-node.broken .t-marker{width:auto;height:auto;color:var(--color-ink);background:0 0;border-radius:0;font-size:16px;font-weight:600;line-height:1}.m-page .timeline .t-node.broken .t-event{color:var(--color-ink)}@media (max-width:800px){.m-page .timeline{min-height:0;padding:6px 0;display:block}.m-page .timeline:before{width:1px;height:auto;inset:0 auto 0 4px}.m-page .timeline .t-node{grid-template-rows:none;grid-template-columns:9px 1fr;gap:0 16px;padding:14px 0;display:grid}.m-page .timeline .t-marker{grid-area:1/1;place-self:start center;margin-top:5px}.m-page .timeline .t-label,.m-page .timeline .t-node.below .t-label{grid-area:1/2;align-self:start;padding:0}.m-page .timeline .t-node.broken .t-marker{margin-top:1px}}.m-page .diptych{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .diptych .col{background:var(--color-bg);flex-direction:column;gap:24px;padding:40px 32px;display:flex}.m-page .diptych .col-kicker{color:var(--color-ink-faint);align-items:center;gap:10px;font-size:13px;display:inline-flex}.m-page .diptych .col-kicker:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .diptych .col h3{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-ink);text-wrap:balance;margin:0;font-size:clamp(24px,2.8vw,32px);font-weight:500;line-height:1.12}.m-page .diptych .col p{color:var(--color-ink-2);margin:0;font-size:15px;line-height:1.55}.m-page .diptych .case-list{border-top:1px solid var(--color-hair);margin-top:8px}.m-page .diptych .case{border-bottom:1px solid var(--color-hair);grid-template-columns:120px 1fr;align-items:baseline;gap:20px;padding:16px 0;display:grid}.m-page .diptych .case .co{color:var(--color-ink);font-size:14px;font-weight:500}.m-page .diptych .case .line{color:var(--color-ink-dim);font-size:14px;line-height:1.5}@media (max-width:800px){.m-page .diptych{grid-template-columns:1fr}.m-page .diptych .case{grid-template-columns:1fr;gap:4px}}.m-page .coda-stack{border-top:1px solid var(--color-hair)}.m-page .coda-line{font-family:var(--font-display);letter-spacing:-.028em;border-bottom:1px solid var(--color-hair);flex-wrap:wrap;align-items:baseline;gap:16px;padding:24px 0;font-size:clamp(24px,2.8vw,36px);font-weight:500;line-height:1.15;display:flex}.m-page .coda-line .from{color:var(--color-ink-faint);font-weight:400}.m-page .coda-line .to{min-width:0}@media (max-width:380px){.m-page .coda-line{font-size:20px}}.m-page .coda-line .to{color:var(--color-ink)}.m-page .m-pager{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .m-pager>*{background:var(--color-bg);flex-direction:column;gap:8px;min-height:140px;padding:32px 28px;transition:background .2s;display:flex}.m-page .m-pager a:hover{background:var(--m-surface)}.m-page .m-pager .dir,.m-page .m-pager .num{color:var(--color-ink-faint);font-size:12px}.m-page .m-pager h4{font-family:var(--font-display);letter-spacing:-.022em;color:var(--color-ink);margin:0;font-size:22px;font-weight:500;line-height:1.15}.m-page .m-pager .next{text-align:right;align-items:flex-end}.m-page .m-pager .placeholder{color:var(--color-ink-faint)}@media (max-width:700px){.m-page .m-pager{grid-template-columns:1fr}}.m-page .m-foot{color:var(--color-ink-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 0 56px;font-size:12.5px;display:flex}.m-page .m-foot .left{flex-wrap:wrap;gap:24px;display:flex}.m-page .m-foot a{color:var(--color-ink-2);transition:color .2s}.m-page .m-foot a:hover{color:var(--color-ink-faint)}.m-share{z-index:40;background:var(--color-ink);color:var(--color-bg);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);border:none;border-radius:999px;align-items:center;gap:10px;padding:11px 18px;transition:background .2s;display:inline-flex;position:fixed;bottom:24px;right:24px}.m-share:hover{background:#2a2a2a}.m-share.copied .label:after{content:" — copied";opacity:.7}@media (max-width:600px){.m-page .m-container{padding:0 20px}.m-share{padding:10px 14px;bottom:16px;right:16px}}.m-page .m-map-placeholder{background:var(--color-surface);border:1px solid var(--color-hair);aspect-ratio:16/9;color:var(--color-ink-faint);letter-spacing:.02em;border-radius:12px;justify-content:center;align-items:center;font-size:14px;display:flex}.m-page .map-wrap{background:var(--color-bg);border:1px solid var(--color-hair);aspect-ratio:16/9;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.m-page #map-leaflet{background:var(--color-bg);width:100%;height:100%}.m-page #map-leaflet .leaflet-tile-pane{filter:grayscale()contrast(.92)brightness(1.06)sepia(.18)saturate(.55);opacity:.85;mix-blend-mode:multiply}.m-page #map-leaflet .leaflet-container{background:var(--color-bg);font-family:var(--font-sans);outline:0}.m-page #map-leaflet .leaflet-control-attribution{border-left:1px solid var(--color-hair);border-top:1px solid var(--color-hair);color:var(--color-ink-faint);background:#faf8f4d9;padding:3px 8px;font-size:10.5px}.m-page #map-leaflet .leaflet-control-attribution a{color:var(--color-ink-dim)}.m-page #map-leaflet .leaflet-control-zoom{border:1px solid var(--color-hair);box-shadow:none;border-radius:0}.m-page #map-leaflet .leaflet-control-zoom a{background:var(--color-bg);color:var(--color-ink);border-bottom:1px solid var(--color-hair);width:32px;height:32px;font-weight:400;line-height:32px;font-family:var(--font-sans);border-radius:0!important}.m-page #map-leaflet .leaflet-control-zoom a:last-child{border-bottom:0}.m-page #map-leaflet .leaflet-control-zoom a:hover{background:var(--m-surface)}.hb-dot{border:1.4px solid #faf8f4;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 .5px #0a0a0a40}.hb-dot-wrap{background:0 0!important;border:0!important}.leaflet-tooltip.hb-label{background:var(--color-ink);color:var(--color-bg);font-family:var(--font-sans);letter-spacing:.01em;box-shadow:none;white-space:nowrap;border:0;border-radius:0;padding:5px 9px;font-size:12px;font-weight:500}.leaflet-tooltip.hb-label:before{display:none}.m-page .map-legend{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:16px;display:grid}.m-page .map-legend .row{background:var(--color-bg);cursor:pointer;align-items:center;gap:10px;padding:14px 16px;font-size:13px;transition:background .15s;display:flex}.m-page .map-legend .row:hover{background:var(--m-surface)}.m-page .map-legend .row.off{opacity:.35}.m-page .map-legend .swatch{background:var(--color-ink);border-radius:50%;flex-shrink:0;width:6px;height:6px}.m-page .map-legend .name{color:var(--color-ink)}@media (max-width:900px){.m-page .map-legend{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.m-page .map-legend{grid-template-columns:1fr}}.m-page .map-caption{color:var(--color-ink-faint);margin-top:16px;font-size:13px}.m-page .app-burden{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.m-page .app-burden .cell{background:var(--color-bg);flex-direction:column;gap:14px;min-height:220px;padding:32px 26px;display:flex}.m-page .app-burden .num{font-family:var(--font-display);letter-spacing:-.035em;color:var(--color-ink);font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1}.m-page .app-burden .num .unit{color:var(--color-ink-faint);vertical-align:.4em;margin-left:2px;font-size:.5em}.m-page .app-burden .desc{color:var(--color-ink-2);font-size:15px;line-height:1.5}.m-page .app-burden .src{color:var(--color-ink-faint);margin-top:auto;font-size:13px}@media (max-width:1000px){.m-page .app-burden{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.m-page .app-burden{grid-template-columns:1fr}}.m-page .flow-diagram{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .flow-diagram .col{background:var(--color-bg);flex-direction:column;gap:24px;min-height:360px;padding:40px 32px;display:flex}.m-page .flow-diagram .col-kicker{color:var(--color-ink-faint);align-items:center;gap:10px;font-size:13px;display:inline-flex}.m-page .flow-diagram .col-kicker:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .flow-diagram h3{font-family:var(--font-display);letter-spacing:-.024em;color:var(--color-ink);margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:500;line-height:1.12}.m-page .flow-diagram .chain{flex-direction:column;gap:10px;margin-top:12px;display:flex}.m-page .flow-diagram .step{font-family:var(--font-display);letter-spacing:-.012em;color:var(--color-ink);border:1px solid var(--color-hair);background:var(--color-bg);align-items:center;gap:14px;padding:14px 18px;font-size:17px;font-weight:500;display:flex}.m-page .flow-diagram .step .idx{font-family:var(--font-sans);color:var(--color-ink-faint);letter-spacing:.06em;width:16px;font-size:11px;font-weight:500}.m-page .flow-diagram .step.dim{color:var(--color-ink-dim);background:0 0;border-style:dashed}.m-page .flow-diagram .arrow{text-align:center;color:var(--color-ink-faint);font-size:14px;line-height:1;font-family:var(--font-display)}.m-page .flow-diagram .col.new .step{border-color:var(--color-hair-2);background:var(--m-surface)}.m-page .flow-diagram .meta{border-top:1px solid var(--color-hair);color:var(--color-ink-faint);margin-top:auto;padding-top:20px;font-size:13px;line-height:1.55}@media (max-width:800px){.m-page .flow-diagram{grid-template-columns:1fr}}.m-page .role-shift{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .role-shift .col{background:var(--color-bg);flex-direction:column;padding:40px 32px;display:flex}.m-page .role-shift .col-kicker{color:var(--color-ink-faint);align-items:center;gap:10px;margin-bottom:16px;font-size:13px;display:inline-flex}.m-page .role-shift .col-kicker:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .role-shift h3{font-family:var(--font-display);letter-spacing:-.026em;color:var(--color-ink);align-items:flex-start;min-height:2.3em;margin:0 0 24px;font-size:clamp(24px,2.6vw,30px);font-weight:500;line-height:1.15;display:flex}.m-page .role-shift h3 .dim{color:var(--color-ink-faint)}@media (max-width:800px){.m-page .role-shift h3{min-height:0}}.m-page .role-shift ul{border-top:1px solid var(--color-hair);margin:0;padding:0;list-style:none}.m-page .role-shift li{border-bottom:1px solid var(--color-hair);color:var(--color-ink-2);grid-template-columns:28px 1fr;align-items:baseline;gap:14px;padding:13px 0;font-size:15px;display:grid}.m-page .role-shift li .n{color:var(--color-ink-faint);letter-spacing:.06em;font-size:11px}.m-page .role-shift .col.dir{background:var(--m-surface)}.m-page .role-shift .col.dir li .n{color:var(--color-ink-dim)}.m-page .role-shift .col.dir li{color:var(--color-ink)}@media (max-width:800px){.m-page .role-shift{grid-template-columns:minmax(0,1fr)}.m-page .role-shift h3{flex-wrap:wrap}}.m-page .bottleneck{border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair)}.m-page .bottleneck .top{background:var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .bottleneck .q{background:var(--color-bg);flex-direction:column;gap:16px;min-height:200px;padding:40px 32px;display:flex}.m-page .bottleneck .q .lbl{color:var(--color-ink-faint);align-items:center;gap:10px;font-size:13px;display:inline-flex}.m-page .bottleneck .q .lbl:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .bottleneck .q .text{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:500;line-height:1.1}.m-page .bottleneck .q.dim .text{color:var(--color-ink-faint)}.m-page .bottleneck .primitives{background:var(--color-bg);border-top:1px solid var(--color-hair);padding:32px}.m-page .bottleneck .primitives .label{color:var(--color-ink-faint);align-items:center;gap:10px;margin-bottom:18px;font-size:13px;display:inline-flex}.m-page .bottleneck .primitives .label:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .bottleneck .primitives .grid{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);flex-wrap:wrap;gap:1px;margin-left:-1px;margin-right:-1px;display:flex}.m-page .bottleneck .primitives .chip{background:var(--color-bg);font-family:var(--font-display);letter-spacing:-.012em;color:var(--color-ink);text-align:center;flex:auto;min-width:130px;padding:14px 20px;font-size:16px;font-weight:500}@media (max-width:800px){.m-page .bottleneck .top{grid-template-columns:1fr}}.m-page .metrics-shift{background:var(--color-hair);border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);grid-template-columns:1fr 1fr;gap:1px;display:grid}.m-page .metrics-shift .col{background:var(--color-bg);padding:40px 32px}.m-page .metrics-shift .col.post{background:var(--m-surface)}.m-page .metrics-shift .col-kicker{color:var(--color-ink-faint);align-items:center;gap:10px;margin-bottom:12px;font-size:13px;display:inline-flex}.m-page .metrics-shift .col-kicker:before{content:"";background:var(--color-ink);width:16px;height:1px}.m-page .metrics-shift h3{font-family:var(--font-display);letter-spacing:-.024em;color:var(--color-ink);margin:0 0 24px;font-size:clamp(22px,2.4vw,28px);font-weight:500;line-height:1.1}.m-page .metrics-shift .list{border-top:1px solid var(--color-hair);margin:0;padding:0;list-style:none}.m-page .metrics-shift .list li{border-bottom:1px solid var(--color-hair);font-family:var(--font-display);letter-spacing:-.018em;color:var(--color-ink);grid-template-columns:1fr auto;align-items:baseline;gap:16px;padding:14px 0;font-size:clamp(17px,1.7vw,19px);font-weight:500;display:grid}.m-page .metrics-shift .list li .tag{font-family:var(--font-sans);color:var(--color-ink-faint);letter-spacing:.04em;font-size:12px;font-weight:400}.m-page .metrics-shift .col.old .list li{color:var(--color-ink-dim);text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-hair-2);text-decoration-color:var(--color-hair-2)}@media (max-width:800px){.m-page .metrics-shift{grid-template-columns:1fr}}.m-page .m-pull{border-top:1px solid var(--color-hair);border-bottom:1px solid var(--color-hair);margin:0;padding:48px 0}.m-page .m-pull .text{font-family:var(--font-display);letter-spacing:-.028em;color:var(--color-ink);text-wrap:balance;max-width:28ch;margin:0;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.12}.m-page .m-pull .text .dim{color:var(--color-ink-faint)}.read-progress{z-index:60;pointer-events:none;background:0 0;height:2px;display:block;position:fixed;top:0;left:0;right:0}.read-progress span{background:var(--color-ink);transform-origin:0;width:100%;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0)}
