:root:has(.zf){scroll-snap-type:y proximity;background:var(--zf-bg);scroll-padding-top:0}.zf{--zf-ui:var(--ds-font-sans);--zf-mono:var(--ds-font-mono);background:var(--zf-bg);color:var(--zf-ink);font:15px/1.5 var(--zf-ui);-webkit-font-smoothing:antialiased;position:relative}.zf button{font:inherit;color:inherit}.zf button:focus-visible,.zf input:focus-visible,.zf canvas:focus-visible,.zf a:focus-visible{outline:2px solid var(--zf-accent);outline-offset:2px}.zf-rail{position:relative}.zf-stops{pointer-events:none;position:absolute;inset:0}.zf-stops i{scroll-snap-align:start;width:1px;height:1px;position:absolute;left:0}.zf-app{height:100svh;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(190px,236px) minmax(0,1fr) minmax(206px,240px);gap:12px 24px;padding-block:18px 20px;display:grid;position:sticky;top:0;overflow:hidden}.zf-stage{z-index:0;background:radial-gradient(60% 60% at 50% 55%, var(--zf-halo), var(--zf-bg));position:absolute;inset:0}.zf-stage:after{content:"";pointer-events:none;background:radial-gradient(28% 26% at 50% 52%, var(--zf-accent-soft), transparent);position:absolute;inset:0}.zf-stage canvas{z-index:1;touch-action:pan-y;cursor:grab;opacity:0;width:100%;height:100%;transition:opacity .9s cubic-bezier(.16,1,.3,1);display:block;position:relative}.zf[data-ready] .zf-stage canvas{opacity:1}.zf-stage canvas.zf-hot{cursor:pointer}.zf-stage canvas.zf-drag{cursor:grabbing}.zf-loading{z-index:1;font:500 10.5px/1 var(--zf-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--zf-muted);margin:0;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.zf-frame{z-index:2;top:12px;bottom:12px;left:max(12px, env(safe-area-inset-left,0px));right:max(12px, env(safe-area-inset-right,0px));pointer-events:none;position:absolute}.zf-frame>i{border:0 solid var(--zf-accent);opacity:.65;width:16px;height:16px;position:absolute}.zf-frame>i:first-child{border-top-width:1.5px;border-left-width:1.5px;top:0;left:0}.zf-frame>i:nth-child(2){border-top-width:1.5px;border-right-width:1.5px;top:0;right:0}.zf-frame>i:nth-child(3){border-bottom-width:1.5px;border-left-width:1.5px;bottom:0;left:0}.zf-frame>i:nth-child(4){border-bottom-width:1.5px;border-right-width:1.5px;bottom:0;right:0}.zf-hud{font:500 10px/1.2 var(--zf-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--zf-muted);font-variant-numeric:tabular-nums;gap:4px;display:grid;position:absolute;top:14px}.zf-hud b{color:var(--zf-ink);font-weight:500}.zf-hud-left{left:26px}.zf-hud-right{text-align:right;right:26px}.zf-leader,.zf-leader svg,.zf-labels svg{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.zf-leader polyline,.zf-labels path{fill:none;stroke:var(--zf-accent);stroke-width:1.25px}.zf-leader polyline{stroke-dasharray:240;stroke-dashoffset:0}.zf-leader.zf-anim polyline{animation:.8s cubic-bezier(.3,.7,.2,1) both zf-trace}@keyframes zf-trace{0%{stroke-dashoffset:240px}}.zf-tag,.zf-label{z-index:3;pointer-events:none;border:1px solid var(--zf-line);background:var(--zf-card-hi);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 28px -14px var(--zf-shadow);border-radius:4px;padding:8px 12px 9px;position:absolute;top:0;left:0}.zf-tag{min-width:150px}.zf-tag small,.zf-label small{font:500 11px/1 var(--zf-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-accent);display:block}.zf-tag b,.zf-label b{letter-spacing:-.01em;margin-top:5px;font-size:13.5px;font-weight:600;display:block}.zf-tag span{font:500 10.5px/1.35 var(--zf-mono);letter-spacing:.04em;color:var(--zf-muted);margin-top:2px;display:block}.zf-tag.zf-anim{animation:.45s .45s both zf-fade}.zf-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.zf-label{white-space:nowrap;padding:6px 10px 7px}.zf-label b{margin-top:3px;font-size:12.5px}@keyframes zf-fade{0%{opacity:0}}.zf-top{z-index:4;text-align:center;pointer-events:none;flex-direction:column;grid-area:1/1/auto/-1;align-items:center;gap:8px;min-width:0;display:flex}.zf-back{font:500 11px/1.3 var(--zf-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--zf-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin:0 0 4px;display:flex}.zf-back a{border:1px solid var(--zf-line);background:var(--zf-card);-webkit-backdrop-filter:blur(8px);min-height:28px;color:var(--zf-ink);pointer-events:auto;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 8px;text-decoration:none;transition:border-color .2s;display:inline-flex}.zf-back a:hover{border-color:var(--zf-accent)}.zf-back a.zf-cta{border-color:var(--zf-accent);background:var(--zf-accent);color:var(--zf-accent-ink)}.zf-back svg{width:12px;height:12px}.zf-brand{font:600 12.5px/1 var(--zf-ui);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:9px;font-stretch:112%;display:flex}.zf-brand b{color:var(--zf-accent);font-weight:600}.zf-logo{background:var(--zf-accent);width:22px;height:22px;color:var(--zf-accent-ink);box-shadow:0 0 16px -2px var(--zf-glow);border-radius:6px;place-items:center;display:grid}.zf-logo svg{width:13px;height:13px}.zf h1{font:500 clamp(22px, 2.8vw, 38px) / 1.04 var(--zf-ui);letter-spacing:-.035em;text-wrap:balance;margin:0}.zf-code{border:1px solid var(--zf-line);background:var(--zf-card);-webkit-backdrop-filter:blur(8px);font:500 10px/1 var(--zf-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-muted);border-radius:999px;align-items:center;gap:8px;margin:0;padding:5px 11px;display:inline-flex}.zf-code i{background:var(--zf-glow);width:6px;height:6px;box-shadow:0 0 8px var(--zf-glow);border-radius:50%;animation:1.8s ease-in-out infinite zf-blink}@keyframes zf-blink{50%{opacity:.25}}.zf-chips{scrollbar-width:none;pointer-events:auto;gap:6px;max-width:100%;margin-top:4px;padding:3px;display:flex;overflow-x:auto}.zf-chips::-webkit-scrollbar{display:none}.zf-chip{border:1px solid var(--zf-line);background:var(--zf-card);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:7px;height:34px;padding:0 14px 0 10px;font-size:12.5px;font-weight:500;transition:border-color .2s,background-color .2s,box-shadow .2s,scale .15s ease-out;display:inline-flex}.zf-chip:active{scale:.97}.zf-chip svg{fill:none;width:15px;height:15px;stroke:var(--zf-muted);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.zf-chip[aria-current=step]{border-color:var(--zf-accent);background:var(--zf-card-hi);box-shadow:0 0 0 3px var(--zf-accent-soft), 0 8px 20px -10px var(--zf-glow)}.zf-chip[aria-current=step] svg{stroke:var(--zf-accent)}@media (hover:hover) and (pointer:fine){.zf-chip:hover{border-color:var(--zf-accent)}}.zf-glass{border:1px solid var(--zf-line);background:var(--zf-card);-webkit-backdrop-filter:blur(16px)saturate(1.4);box-shadow:inset 0 1px 0 var(--zf-card-hi), 0 16px 34px -22px var(--zf-shadow);border-radius:14px}.zf-side{z-index:4;pointer-events:none;grid-area:2/1;align-self:center;min-width:0;padding:14px 16px 8px}.zf-rot{font:500 11px/1 var(--zf-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--zf-muted);justify-content:space-between;margin:0 0 10px;display:flex}.zf-side ol{margin:0;padding:0;list-style:none;display:grid}.zf-side li{padding-left:18px;position:relative}.zf-side li:before{content:"";background:var(--zf-line);width:1px;position:absolute;top:0;bottom:0;left:3px}.zf-side li.on:after{content:"";background:var(--zf-accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--zf-accent-soft), 0 0 10px var(--zf-glow);border-radius:50%;position:absolute;top:11px;left:0}.zf-side button{text-align:left;width:100%;color:var(--zf-muted);cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:5px 0;font-size:13px;font-weight:500;display:block}.zf-side button:hover{color:var(--zf-ink)}.zf-side li.on button{color:var(--zf-ink);font-weight:600}.zf-sub{color:var(--zf-muted);max-width:30ch;margin:0 0 9px;font-size:12.5px;line-height:1.45}.zf-stats{z-index:4;pointer-events:none;grid-area:2/3;align-self:center;gap:10px;min-width:0;display:grid}.zf-card{min-width:0;padding:12px 14px 13px;position:relative}.zf-k{font:500 11px/1.25 var(--zf-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--zf-muted);justify-content:space-between;gap:8px;margin:0 0 9px;display:flex}.zf-k i{background:var(--zf-glow);width:5px;height:5px;box-shadow:0 0 6px var(--zf-glow);border-radius:50%;flex:none;margin-top:2px}.zf-v{font:600 28px/1 var(--zf-ui);letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-stretch:112%}.zf-v b{font-weight:inherit}.zf-v span{font:500 12px/1 var(--zf-ui);letter-spacing:0;color:var(--zf-muted);margin-left:6px}.zf-v-sm{margin-top:9px;font-size:17px}.zf-bars{grid-template-columns:repeat(10,1fr);gap:3px;height:22px;display:grid}.zf-bars i{background:var(--zf-line);transform-origin:bottom;border-radius:2px}.zf-bars i.on{background:linear-gradient(to top, var(--zf-accent), var(--zf-glow))}.zf-stats.zf-swap .zf-card{animation:.5s cubic-bezier(.2,.7,.2,1) both zf-enter}.zf-stats.zf-swap .zf-card:nth-child(2){animation-delay:50ms}.zf-stats.zf-swap .zf-card:nth-child(3){animation-delay:.1s}.zf-stats.zf-swap .zf-card:nth-child(4){animation-delay:.15s}.zf-stats.zf-swap .zf-bars i.on{animation:.45s cubic-bezier(.2,.7,.2,1) both zf-bar;animation-delay:calc(var(--n) * 30ms + .15s)}@keyframes zf-enter{0%{opacity:.3;transform:translateY(8px)}}@keyframes zf-bar{0%{opacity:.4;transform:scaleY(.15)}}.zf-bottom{z-index:4;pointer-events:none;flex-wrap:wrap;grid-area:3/1/auto/-1;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.zf-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zf-pill{border:1px solid var(--zf-line);background:var(--zf-card);-webkit-backdrop-filter:blur(12px);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;min-height:38px;padding:0 15px;font-size:12.5px;font-weight:500;display:inline-flex}.zf-status{font-variant-numeric:tabular-nums}.zf-dot{background:var(--zf-glow);width:8px;height:8px;box-shadow:0 0 0 4px var(--zf-accent-soft), 0 0 10px var(--zf-glow);border-radius:50%}.zf-toggle{cursor:pointer;padding:0 13px;transition:border-color .2s,background-color .2s,box-shadow .2s,scale .15s ease-out}.zf-toggle:active{scale:.97}.zf-toggle svg{fill:none;width:15px;height:15px;stroke:var(--zf-muted);stroke-width:1.4px;stroke-linecap:round}.zf-toggle[aria-pressed=true]{border-color:var(--zf-accent);background:var(--zf-card-hi);box-shadow:0 0 0 3px var(--zf-accent-soft)}.zf-toggle[aria-pressed=true] svg{stroke:var(--zf-accent)}.zf-open>span{font:500 11px/1 var(--zf-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-muted)}.zf-open output{text-align:right;min-width:4ch;font:600 13px/1 var(--zf-ui);color:var(--zf-accent);font-variant-numeric:tabular-nums;font-stretch:112%}.zf-open input{appearance:none;cursor:pointer;background:linear-gradient(90deg, var(--zf-accent), var(--zf-glow)) 0 0 / var(--p,0%) 100% no-repeat, var(--zf-line);border-radius:4px;width:min(220px,36vw);height:4px;margin:0}.zf-open input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--zf-card-hi);border:2px solid var(--zf-accent);width:16px;height:16px;box-shadow:0 0 10px var(--zf-glow);border-radius:50%}.zf-open input::-moz-range-thumb{background:var(--zf-card-hi);border:2px solid var(--zf-accent);width:13px;height:13px;box-shadow:0 0 10px var(--zf-glow);border-radius:50%}.zf-hint{border:1px solid var(--zf-line);background:var(--zf-card-hi);-webkit-backdrop-filter:blur(12px);font:500 11px/1.4 var(--zf-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--zf-muted);border-radius:999px;margin:0;padding:9px 14px}.zf-desc-m{display:none}.zf-hot{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.zf-hs{border:1.5px solid var(--zf-accent);background:var(--zf-card);-webkit-backdrop-filter:blur(6px);width:26px;height:26px;box-shadow:0 0 14px -2px var(--zf-glow);cursor:pointer;pointer-events:auto;border-radius:50%;place-items:center;margin:-13px 0 0 -13px;padding:0;transition:opacity .3s;display:grid;position:absolute;top:0;left:0}.zf-hs:before{content:"";background:var(--zf-accent);border-radius:50%;width:7px;height:7px}.zf-hs:after{content:"";border:1.5px solid var(--zf-glow);pointer-events:none;border-radius:50%;animation:2.6s ease-out infinite zf-pulse;position:absolute;inset:-2px}.zf-hs span{background:var(--zf-ink);color:var(--zf-bg);white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.zf-hs:hover span,.zf-hs:focus-visible span{opacity:1}.zf-hs.on{background:var(--zf-accent)}.zf-hs.on:before{background:var(--zf-accent-ink)}.zf-hs.zf-behind{opacity:.25}.zf-hs.zf-out{opacity:0;pointer-events:none}@keyframes zf-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2)}}.zf-tip{z-index:5;border:1px solid var(--zf-line);background:var(--zf-card-hi);-webkit-backdrop-filter:blur(14px);width:max-content;max-width:250px;box-shadow:0 14px 30px -14px var(--zf-shadow);pointer-events:none;border-radius:6px;padding:10px 12px 11px;position:absolute;top:0;left:0}.zf-tip small{font:500 11px/1 var(--zf-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--zf-accent);display:block}.zf-tip b{margin-top:5px;font-size:13.5px;font-weight:600;line-height:1.25;display:block}.zf-tip span{color:var(--zf-muted);margin-top:2px;font-size:12.5px;line-height:1.35;display:block}.zf-tip em{font:500 11px/1 var(--zf-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--zf-muted);margin-top:8px;font-style:normal;display:block}@media (hover:none){.zf-hs{width:34px;height:34px;margin:-17px 0 0 -17px}}@media (max-width:899px){.zf-app{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);row-gap:10px;padding-block:12px 14px}.zf h1{font-size:21px}.zf-back>span,.zf-app .zf-code,.zf-hud,.zf-side,.zf-hint,.zf-tag,.zf-leader{display:none}.zf-desc-m{z-index:4;pointer-events:none;grid-row:2;align-self:end;margin:0;padding:10px 14px;font-size:13.5px;line-height:1.45;display:block}.zf-stats{grid-area:3/1;grid-template-columns:repeat(2,minmax(0,1fr));align-self:auto;gap:8px}.zf-stats .zf-card:nth-child(n+3){display:none}.zf-card{padding:10px 12px}.zf-v{font-size:21px}.zf-bottom{grid-row:4;justify-content:center}.zf-open input{width:min(150px,32vw)}}.zf-still{background:radial-gradient(70% 50% at 50% 30%, var(--zf-halo), var(--zf-bg));flex-direction:column;align-items:center;gap:24px;min-height:100svh;padding:18px 16px 64px;display:flex}.zf-still .zf-top{pointer-events:auto}.zf-still-figure{border:1px solid var(--zf-line);border-radius:18px;width:100%;max-width:60rem;margin:0;overflow:hidden}.zf-still-figure img{width:100%;height:auto;display:block}.zf-still-note{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;max-width:60rem;padding:12px 16px;display:flex}.zf-still-note p{color:var(--zf-muted);margin:0}.zf-still-chapters{width:100%;max-width:60rem}.zf-still-chapters ol{gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:40rem){.zf-still-chapters ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.zf-still-chapters li{padding:16px 18px}.zf-still-chapters h3{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.zf-still-chapters li>p:not(.zf-k){color:var(--zf-muted);margin:4px 0 10px}.zf-still-chapters dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;display:grid}.zf-still-chapters dt{font:500 11px/1.3 var(--zf-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--zf-muted)}.zf-still-chapters dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:600}@media (prefers-reduced-motion:reduce){:root:has(.zf){scroll-behavior:auto}.zf *,.zf :before,.zf :after{transition:none!important;animation:none!important}}
