.sf{--l-loop:#4fd1c0;--l-harness:#9d9cff;--l-factory:#6fa8f5;--l-outer:#f08cc4;--loop-1:#8fb0ff;--loop-2:#f0b65a;--loop-3:#b79cf0;--loop-4:#5fc7d3;--loop-5:#a2b2c7;--loop-6:#ff8a80;--loop-7:#5cc8b8;--loop-8:#f08cc4;--index-h:48px;--stick:calc(64px + var(--index-h) + 24px)}html:has(.sf){scroll-padding-top:calc(64px + var(--index-h,48px) + 16px)}html.sf-flow-open{overflow:hidden}.sf [hidden]{display:none!important}.sf .lane-loop{--c:var(--l-loop)}.sf .lane-harness{--c:var(--l-harness)}.sf .lane-factory{--c:var(--l-factory)}.sf .lane-outer{--c:var(--l-outer)}.sf .lane-shared{--c:var(--ice)}.sf .lane-none{--c:var(--fg-3)}.sf .loop-1{--c:var(--loop-1)}.sf .loop-2{--c:var(--loop-2)}.sf .loop-3{--c:var(--loop-3)}.sf .loop-4{--c:var(--loop-4)}.sf .loop-5{--c:var(--loop-5)}.sf .loop-6{--c:var(--loop-6)}.sf .loop-7{--c:var(--loop-7)}.sf .loop-8{--c:var(--loop-8)}.sf em{color:var(--fg)}.sf strong{color:var(--fg);font-weight:500}.sf .sf-label{color:var(--fg-3);font:400 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sf .sf-panel{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:14px}.sf .sf-head h2{max-width:none}.sf .sf-note{color:var(--fg-2);text-wrap:pretty;margin-top:18px;font-size:16px;line-height:1.6}.sf .tbl a,.sf .quiet a{color:var(--ice);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease);text-decoration:underline #c9d6ff59}.sf .tbl a:hover,.sf .quiet a:hover{text-decoration-color:var(--ice)}.sf .sf-btn{height:38px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg);font:500 14px/1 var(--font-sans);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:background-color .26s var(--ease), box-shadow .26s var(--ease), transform .18s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.sf .sf-btn:hover{box-shadow:inset 0 0 0 1px var(--rule-3);background:#ffffff0a}.sf .sf-btn:active{transform:scale(.98)}.sf .sf-btn.primary{background:var(--ice);color:var(--ice-ink);box-shadow:inset 0 1px #fff9}.sf .sf-btn.primary:hover{background:var(--ice-hi)}.sf .sf-btn[aria-pressed=true]{background:#ffffff14}.sf .sf-btn:has(.btn-icon){padding-right:5px}.sf .btn-icon{background:#ffffff0f;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.sf .sf-btn.primary .btn-icon{background:var(--ice-ink);color:var(--ice)}.sf .btn-icon svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.sf .sf-btn .i-pause,.sf .sf-btn[data-state=playing] .i-play{display:none}.sf .sf-btn[data-state=playing] .i-pause{display:block}.sf .cases,.sf .kinds{width:max-content;max-width:100%;box-shadow:inset 0 0 0 1px var(--rule);scrollbar-width:none;background:#ffffff08;border-radius:999px;gap:2px;padding:3px;display:flex;overflow-x:auto}.sf .case{height:36px;color:var(--fg-2);white-space:nowrap;cursor:pointer;transition:background-color .26s var(--ease), color .26s var(--ease);background:0 0;border:0;border-radius:999px;flex:none;padding:0 14px;font-size:14px}.sf .case:hover{color:var(--fg)}.sf .case[aria-pressed=true]{color:var(--fg);background:#ffffff14}.sf .pill{width:max-content;max-width:100%;height:24px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);font:400 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.sf .mark{flex:none;overflow:visible}.sf .mark .frame{fill:none;stroke:var(--rule-3)}.sf .mark .lit{fill:color-mix(in srgb, var(--c) 30%, transparent);stroke:var(--c);stroke-width:1.2px}.sf .pill.ok{color:var(--go);background:#4fdc9e14;box-shadow:inset 0 0 0 1px #4fdc9e66}.sf .pill.warn{color:var(--hold);background:#f5b54a14;box-shadow:inset 0 0 0 1px #f5b54a66}.sf .pill.stop{color:var(--stop);background:#ff7a6614;box-shadow:inset 0 0 0 1px #ff7a666b}.sf .pill.target{color:var(--ice);background:#c9d6ff14;box-shadow:inset 0 0 0 1px #c9d6ff66}.sf .pill.msg{height:auto;min-height:24px;font:400 12px/1.35 var(--font-sans);letter-spacing:0;text-transform:none;white-space:normal;padding:4px 10px}.sf .tip:not(.pill){text-underline-offset:4px;cursor:help;text-decoration:underline dotted #fff6}.sf .pill.tip{cursor:help}.sf .sf-i{width:18px;height:18px;box-shadow:inset 0 0 0 1px var(--rule-3);color:var(--fg-2);font:500 11px/1 var(--font-mono);vertical-align:2px;cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:4px;padding:0;display:inline-grid;position:relative}.sf .sf-i:after{content:"";position:absolute;inset:-11px}.sf .sf-i:hover{color:var(--fg)}.sf-tooltip{z-index:80;background:var(--panel-2);max-width:min(340px,100vw - 24px);box-shadow:inset 0 0 0 1px var(--rule-2), 0 12px 32px #00000080;color:var(--fg-2);font:400 13px/1.5 var(--font-sans);opacity:0;pointer-events:none;transition:opacity .18s var(--ease);border-radius:10px;padding:9px 12px;position:fixed;top:0;left:0}.sf-tooltip.on{opacity:1}@keyframes sf-rise{0%{opacity:0;transform:translateY(8px)}}.sf .enter>*{animation:sf-rise .6s var(--ease) both}.sf .enter>:nth-child(2){animation-delay:40ms}.sf .enter>:nth-child(3){animation-delay:80ms}.sf .enter>:nth-child(n+4){animation-delay:.12s}@media (prefers-reduced-motion:reduce){.sf .enter>*{animation:none}}.sf .sf-actions{flex-wrap:wrap;gap:10px;display:flex}.sf .sf-stats{column-gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,5vw,64px);display:grid}.sf .sf-stats>div{border-top:1px solid var(--rule-2);flex-direction:column-reverse;gap:10px;padding-top:18px;display:flex}.sf .sf-stats dd{justify-items:start;gap:18px;display:grid}.sf .sf-stats .value{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(32px,1rem + 2vw,48px);font-weight:500;line-height:1}.sf .glyph{display:block;overflow:visible}.sf .glyph .cell,.sf .glyph .bar{fill:var(--c)}.sf .glyph .nest-ring{fill:none;stroke:var(--c);stroke-width:1.25px}.sf .glyph .mini-ring{fill:none;stroke:color-mix(in srgb, var(--c) 65%, transparent);stroke-width:.9px}.sf .glyph .mini-bead{fill:var(--c)}.sf .glyph .mini-orbit{transform-box:view-box;transform-origin:19px 19px;animation:linear infinite sf-orbit}@media (prefers-reduced-motion:no-preference){.sf .glyph .cell{animation:sf-cell .5s var(--ease) both;animation-delay:calc(.3s + var(--i) * 35ms)}.sf .glyph .bar{transform-box:fill-box;transform-origin:50% 100%;animation:sf-bar .7s var(--ease) both;animation-delay:calc(.3s + var(--i) * 30ms)}}@media (prefers-reduced-motion:reduce){.sf .glyph .mini-orbit{animation:none}}@keyframes sf-cell{0%{opacity:.12}}@keyframes sf-bar{0%{transform:scaleY(0)}}.sf .sf-stats dt{color:var(--fg-3);font:400 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sf .sf-index{z-index:20;border-top:1px solid var(--rule);backdrop-filter:blur(14px);background:#09090adb;position:sticky;top:64px}.sf .sf-index ol{max-width:var(--max);padding-inline:var(--pad-x);scrollbar-width:none;justify-content:space-between;gap:24px;margin-inline:auto;display:flex;overflow-x:auto}.sf .sf-index li{flex:none}.sf .sf-index a{height:var(--index-h);color:var(--fg-2);white-space:nowrap;transition:color .2s var(--ease), box-shadow .26s var(--ease);align-items:center;gap:10px;font-size:14px;display:flex;box-shadow:inset 0 -1px #0000}.sf .sf-index a:hover{color:var(--fg)}.sf .sf-index a[aria-current]{color:var(--fg);box-shadow:inset 0 -1px 0 var(--ice)}.sf .sf-index .no{color:var(--fg-3);font:400 11px/1 var(--font-mono)}.sf .sf-index a[aria-current] .no{color:var(--ice)}.sf .sf-layers{gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sf .sf-layer-card{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:14px;align-content:start;gap:12px;padding:20px;display:grid}.sf .sf-layer-card p{text-wrap:pretty;font-size:15px;line-height:1.5}.sf .nest .frame{fill:none;stroke:var(--rule-2)}.sf .nest .lit{fill:color-mix(in srgb, var(--c) 14%, transparent);stroke:var(--c);stroke-width:1.5px}.sf .theatre,.sf .theatre-top,.sf .stage-core,.sf .part-core,.sf .loop-core,.sf .opt-body,.sf .art-body{grid-template-columns:minmax(0,1fr)}.sf .theatre{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:16px;gap:18px;margin-top:clamp(28px,3vw,40px);padding:clamp(12px,1.6vw,22px);display:grid}.sf .theatre-top{gap:14px;display:grid}.sf .case-blurb{color:var(--fg-2);font-size:15px;line-height:1.55}.sf .theatre-body{gap:var(--gutter);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1280px){.sf .theatre-body{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.sf .measure{visibility:hidden;pointer-events:none;top:0;left:-10000px;position:absolute!important}.sf .viewport{height:var(--view-h,540px);background:var(--bg);box-shadow:inset 0 0 0 1px var(--rule);scrollbar-color:#ffffff26 transparent;scrollbar-width:thin;border-radius:12px;position:relative;overflow:auto}@media (width<=1279px){.sf .viewport{height:400px}}.sf .track{grid-template-columns:2.6rem repeat(var(--lanes,3), minmax(120px, 1fr));min-width:calc(2.6rem + var(--lanes,3) * 132px + 32px);gap:30px 12px;padding:12px 16px 26px;display:grid;position:relative}.sf .lane-head{z-index:3;background:var(--panel-2);height:26px;box-shadow:inset 0 0 0 1px var(--rule-2), 0 6px 18px #09090a99;color:var(--fg-3);font:400 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:color .36s var(--ease), box-shadow .36s var(--ease);border-radius:999px;grid-row:1/-1;place-self:start center;align-items:center;gap:8px;padding:0 11px;display:inline-flex;position:sticky;top:10px}.sf .guide{z-index:0;box-shadow:inset 0 0 0 1px var(--rule);opacity:.4;transition:opacity .36s var(--ease), background-color .36s var(--ease), box-shadow .36s var(--ease);background:#ffffff05;border-radius:10px;grid-row:1/-1;margin:-2px 0 -12px}.sf .num{z-index:2;background:var(--panel);width:2.1rem;height:2.1rem;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-3);font:400 11px/1 var(--font-mono);cursor:pointer;transition:color .4s var(--ease), background-color .4s var(--ease), box-shadow .4s var(--ease);border:0;border-radius:50%;place-self:center;place-items:center;padding:0;display:grid}.sf .num:hover{box-shadow:inset 0 0 0 1px var(--rule-3);color:var(--fg)}.sf .num.done{color:var(--fg-2)}.sf .num.now{background:var(--ice);color:var(--ice-ink);box-shadow:0 0 18px #c9d6ff4d}.sf .station{z-index:2;border:1px dashed var(--rule-2);background:var(--panel);opacity:.45;width:min(100%,196px);transition:opacity .6s var(--ease), transform .6s var(--ease), background-color .6s var(--ease), border-color .6s var(--ease), box-shadow .6s var(--ease);border-radius:10px;grid-template-columns:auto 1fr;place-self:center;align-items:center;gap:1px 9px;padding:9px 13px;display:grid;position:relative;transform:scale(.98)}.sf .station .dot{grid-row:span 2;display:grid}.sf .station .st{letter-spacing:-.01em;font-size:13.5px;font-weight:500;line-height:1.25}.sf .station .ss{color:var(--fg-3);grid-column:2;font-size:12px;line-height:1.3}.sf .station.done{border-style:solid;border-color:color-mix(in srgb, var(--c) 45%, transparent);opacity:1;transform:none}.sf .station.now{border-style:solid;border-color:var(--c);background:color-mix(in srgb, var(--c) 12%, var(--panel));box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 10%, transparent), 0 0 28px color-mix(in srgb, var(--c) 24%, transparent);opacity:1;transform:scale(1.04)}.sf .station.now.tone-ok{--c:var(--go)}.sf .station.now.tone-warn{--c:var(--hold)}.sf .station.now.tone-stop{--c:var(--stop)}.sf svg.wires{z-index:1;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.sf .wire{fill:none;stroke:var(--c);stroke-dasharray:4 6;stroke-width:1.5px;opacity:.25;transition:opacity .6s var(--ease), stroke-width .6s var(--ease)}.sf .wire.done{stroke-dasharray:none;stroke-width:2px;opacity:.7}.sf .wire.now{stroke-dasharray:none;stroke-width:2.6px;opacity:1}.sf .wire-label{fill:var(--fg-3);font:400 11px/1 var(--font-mono);transition:fill .4s var(--ease)}.sf .wire-label.now{fill:var(--fg)}.sf .bead{fill:var(--fg);stroke:var(--c);stroke-width:2.5px}.sf .stage{height:var(--stage-h,auto);display:grid}.sf .stage-core{background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--rule);border-radius:12px;align-content:start;gap:12px;padding:20px;display:grid;overflow:hidden}.sf .stage-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sf .stage-tags{flex-wrap:wrap;gap:6px;display:flex}.sf .stage-count{color:var(--fg-3);font:400 12px/1 var(--font-mono);font-variant-numeric:tabular-nums}.sf .stage-title,.sf .panel-title{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(22px,1rem + .8vw,28px);font-weight:500;line-height:1.15}.sf .stage-text{color:var(--fg-2);font-size:15px;line-height:1.55}.sf .art{background:var(--bg);box-shadow:inset 0 0 0 1px var(--rule);border-radius:10px;overflow:hidden}.sf .art-head{border-bottom:1px solid var(--rule);color:var(--fg-3);font:400 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.sf .art-head .ex{box-shadow:inset 0 0 0 1px var(--rule);letter-spacing:.06em;border-radius:999px;padding:3px 8px}.sf .art-body{gap:10px;padding:14px;font-size:14px;display:grid}.sf .chips{flex-wrap:wrap;gap:6px;display:flex}.sf .chip{box-shadow:inset 0 0 0 1px var(--rule);color:var(--fg-2);font:400 12px/1.2 var(--font-mono);overflow-wrap:anywhere;background:#ffffff0a;border-radius:999px;padding:5px 9px}.sf .chip.id{color:var(--ice);box-shadow:inset 0 0 0 1px #c9d6ff4d}.sf .a-title{font-size:14.5px;font-weight:500;line-height:1.4}.sf .a-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sf .a-checks li{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 0;display:grid}.sf .a-checks li:last-child{border-bottom:0}.sf .a-checks .nm{font-weight:500}.sf .a-checks .dt{color:var(--fg-3);grid-column:1/-1;font-size:13px}.sf .a-log{color:var(--fg-2);font:400 12.5px/1.75 var(--font-mono);overflow-wrap:anywhere}.sf .a-log .pr{color:var(--fg-3);margin-right:8px}.sf .a-log .last{color:var(--ice)}.sf .a-kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;display:grid}.sf .a-kv dt{color:var(--fg-3)}.sf .a-kv dd{color:var(--fg-2)}.sf .a-code{color:var(--fg-2);font:400 12.5px/1.65 var(--font-mono);white-space:pre-wrap;margin:0}.sf .progress{gap:4px;display:flex}.sf .progress button{cursor:pointer;height:6px;transition:background-color .4s var(--ease);background:#ffffff14;border:0;border-radius:999px;flex:1 1 0;padding:0;position:relative}.sf .progress button:after{content:"";position:absolute;inset:-10px 0}.sf .progress button.done{background:color-mix(in srgb, var(--c) 60%, transparent)}.sf .progress button.now{background:var(--c)}.sf .controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sf .controls .spacer{flex:auto}.sf .controls .hint{color:var(--fg-3);font:400 12px/1.4 var(--font-mono)}@media (width<=720px){.sf .controls .hint{display:none}}.sf .theatre.expanded{z-index:40;padding-block:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-bottom));padding-inline:max(24px, env(safe-area-inset-left));box-shadow:none;background:#09090af7;border-radius:0;align-content:start;margin:0;position:fixed;inset:0;overflow:auto}.sf .sf-split{gap:var(--gutter);grid-template-columns:minmax(0,1fr);align-items:start;margin-top:clamp(28px,3vw,40px);display:grid}@media (width>=980px){.sf .sf-split{grid-template-columns:repeat(12,minmax(0,1fr))}.sf .sf-split>:first-child{grid-column:span 7}.sf .sf-split>:last-child{top:var(--stick);grid-column:span 5;position:sticky}}.sf .part-panel,.sf .loop-panel{padding:22px}.sf .part-core,.sf .loop-core{align-content:start;gap:14px;display:grid}.sf .panel-role{color:var(--fg-2);font-size:15px;line-height:1.55}.sf .panel-facts{background:var(--bg);box-shadow:inset 0 0 0 1px var(--rule);border-radius:10px;grid-template-columns:6.8rem 1fr;gap:10px 14px;padding:14px 16px;font-size:14px;line-height:1.5;display:grid}.sf .panel-facts.wide{grid-template-columns:8.4rem 1fr}.sf .panel-lesson{color:var(--fg-3);text-wrap:pretty;font-size:14px;line-height:1.6}.sf .panel-lesson em{color:var(--fg);font-style:normal}.sf .panel-facts dt{color:var(--fg-3);font:400 11px/1.9 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sf .panel-actions{flex-wrap:wrap;gap:8px;display:flex}.sf .map-layer{background:color-mix(in srgb, var(--c) 3%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 32%, transparent);border-radius:16px;padding:14px;position:relative}.sf .map-layer .map-layer{margin-top:14px}.sf .map-title span{background:var(--panel-2);height:24px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);font:400 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.sf .map-sub{color:var(--fg-3);margin-top:8px;font-size:13px;line-height:1.5}.sf .map-group{color:var(--fg-3);font:400 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:14px}.sf .map-parts{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:8px;margin-top:10px;display:grid}.sf .part{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);text-align:left;cursor:pointer;transition:background-color .26s var(--ease), box-shadow .26s var(--ease), transform .18s var(--ease);border:0;border-radius:10px;align-content:start;gap:3px;padding:11px 13px;display:grid}.sf .part b{letter-spacing:-.01em;font-size:14px;font-weight:500;line-height:1.3}.sf .part span{color:var(--fg-3);font-size:12px;line-height:1.35}.sf .part:active{transform:scale(.98)}.sf .part:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 50%, transparent)}.sf .part[aria-pressed=true]{background:color-mix(in srgb, var(--c) 12%, var(--panel));box-shadow:inset 0 0 0 1px var(--c), 0 0 24px color-mix(in srgb, var(--c) 20%, transparent)}.sf .rings-wrap{max-width:600px;position:relative}.sf .rings{width:100%;height:auto;display:block;overflow:visible}.sf .ring{cursor:pointer;outline:none}.sf .ring-line{fill:none;stroke:color-mix(in srgb, var(--c) 34%, transparent);stroke-width:1.5px;transition:stroke .26s var(--ease), stroke-width .26s var(--ease)}.sf .ring-hit{fill:none;stroke:#0000;stroke-width:24px;pointer-events:stroke}.sf .ring:hover .ring-line,.sf .ring:focus-visible .ring-line{stroke:color-mix(in srgb, var(--c) 70%, transparent)}.sf .ring.on .ring-line{stroke:var(--c);stroke-width:3px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--c) 60%, transparent))}.sf .bead-o{fill:var(--c)}.sf .orbit{transform-box:view-box;transform-origin:320px 320px;animation:linear infinite sf-orbit}@keyframes sf-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sf .orbit{animation:none}}.sf .core{fill:var(--panel);stroke:var(--rule-2)}.sf .rings-core{color:var(--fg-3);text-align:center;white-space:nowrap;pointer-events:none;font-size:11px;line-height:1.3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sf .rings-core b{color:var(--fg);font-size:12px;font-weight:500;display:block}.sf .ring-badge{background:var(--bg);width:22px;height:22px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent);color:var(--c);font:400 11px/1 var(--font-mono);pointer-events:none;transition:background-color .26s var(--ease), color .26s var(--ease), box-shadow .26s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.sf .ring-badge.on{background:var(--c);box-shadow:0 0 14px color-mix(in srgb, var(--c) 55%, transparent);color:#09090a}.sf .rings-hint{color:var(--fg-3);margin-top:14px;font-size:14px}.sf .loop-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.sf .loop-chip .turn{color:var(--fg-3);font:400 11px/1 var(--font-mono)}.sf .chip-btn{height:32px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);cursor:pointer;transition:background-color .26s var(--ease), box-shadow .26s var(--ease), color .26s var(--ease);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:inline-flex}.sf .loop-chip{padding-left:5px}.sf .chip-btn:hover{box-shadow:inset 0 0 0 1px var(--rule-3);color:var(--fg)}.sf .chip-btn[aria-pressed=true]{color:var(--fg);background:#ffffff14}.sf .badge{width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);font:400 11px/1 var(--font-mono);border-radius:50%;place-items:center;display:inline-grid}.sf .loop-chip .badge,.sf .loop-head .badge{background:var(--c);box-shadow:none;color:#09090a}.sf .loop-chip[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent)}.sf .loop-head .badge{box-shadow:0 0 16px color-mix(in srgb, var(--c) 50%, transparent)}.sf .loop-head{align-items:center;gap:12px;display:flex}.sf .loop-head .badge{flex:none;width:30px;height:30px;font-size:13px}.sf .loop-parts{gap:8px;display:grid}.sf .loop-parts>div{flex-wrap:wrap;gap:6px;display:flex}.sf .sf-watch{gap:8px;margin-top:clamp(28px,3vw,40px);padding:20px 22px;display:grid}.sf .sf-watch p{color:var(--fg-2);font-size:15.5px;line-height:1.6}.sf .finder{margin-top:var(--gutter);background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;display:flex}.sf .search{background:var(--bg);min-width:0;height:42px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg);font:400 15px/1 var(--font-sans);transition:box-shadow .26s var(--ease);border:0;border-radius:999px;flex:260px;padding:0 16px}.sf .search::placeholder{color:var(--fg-3)}.sf .search:focus{box-shadow:inset 0 0 0 1px var(--ice), 0 0 0 4px #c9d6ff1f;outline:none}.sf .found{color:var(--fg-3);font:400 12px/1 var(--font-mono)}.sf .finder .found:empty{display:none}.sf .opts{margin-top:8px}.sf .opt-layer{column-gap:var(--gutter);grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) 26px;align-items:end;margin:36px 0 12px;padding-inline:4px;display:grid}.sf .opt-layer span{color:var(--fg-2);font:400 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;display:inline-flex}.sf .opt-layer.lane-none span:before{background:var(--c);content:"";border-radius:50%;width:6px;height:6px}.sf .opt{border-bottom:1px solid var(--rule);scroll-margin-top:84px}.sf .opt-layer+.opt{border-top:1px solid var(--rule)}.sf .opt summary{column-gap:var(--gutter);cursor:pointer;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) 26px;align-items:center;min-height:56px;padding:14px 4px;list-style:none;display:grid;position:relative}.sf .opt summary::-webkit-details-marker{display:none}.sf .opt-name{letter-spacing:-.01em;transition:color .2s var(--ease);font-size:16px;font-weight:500}.sf .opt summary:hover .opt-name{color:var(--ice-hi)}.sf .opt-count{color:var(--fg-3);font:400 12px/1 var(--font-mono)}.sf .opt .plus{width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);transition:transform .42s var(--ease-swift), background-color .26s var(--ease), color .26s var(--ease);border-radius:50%;grid-column:-2;place-items:center;display:grid}.sf .opt[open] .plus{background:var(--ice);box-shadow:none;color:var(--ice-ink);transform:rotate(45deg)}.sf .opt-body{gap:14px;padding:2px 4px 26px;display:grid}.sf .opt[open] .opt-body{animation:sf-rise .42s var(--ease) both}@media (prefers-reduced-motion:reduce){.sf .opt[open] .opt-body{animation:none}}.sf .takeaway{color:var(--fg-2);text-wrap:pretty;font-size:15px;line-height:1.6}.sf .picks{gap:var(--gutter);display:grid}.sf .picks>div{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:10px;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.sf .picks dd{font-size:14.5px;line-height:1.45}.sf .tbl{background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);border-radius:12px;overflow-x:auto}.sf .tbl table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.5}.sf .tbl th,.sf .tbl td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:10px 14px}.sf .tbl th{color:var(--fg-3);font:400 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sf .tbl tr:last-child td{border-bottom:0}.sf .tbl td.c0{min-width:150px;font-weight:500}.sf .tbl td.c1{min-width:140px;color:var(--fg-3)}.sf .tbl td.c2{min-width:220px;color:var(--fg-2)}.sf .tbl td.c3{min-width:190px;color:var(--fg-2)}.sf .tbl td.c4{min-width:180px;color:var(--fg-3)}.sf .quiet{color:var(--fg-3);font-size:13.5px;line-height:1.55}.sf .sub-title{margin-top:6px;font-size:14px;font-weight:500}@media (width<=900px){.sf .sf-layers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.sf .sf-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.sf .sf-index ol{gap:22px}}@media (width<=520px){.sf .sf-layers{grid-template-columns:minmax(0,1fr)}.sf .case,.sf .sf-btn,.sf .chip-btn{min-height:40px}.sf .panel-facts,.sf .panel-facts.wide{grid-template-columns:minmax(0,1fr);gap:2px 0}.sf .panel-facts dd{margin-bottom:8px}.sf .ring-badge{width:18px;height:18px}.sf .part-panel,.sf .loop-panel{padding:18px}}.sf .sf-findings{gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px;display:grid}.sf .sf-findings li{border-top:1px solid var(--rule-2);align-content:start;gap:10px;padding-top:16px;display:grid;position:relative}.sf .sf-findings li:before{background:var(--ice);content:"";width:28px;height:1px;position:absolute;top:-1px;left:0}.sf .sf-findings .no{color:var(--ice);margin-right:8px}.sf .sf-findings p{color:var(--fg);letter-spacing:-.01em;text-wrap:pretty;font-size:17px;line-height:1.45}.sf .cases .case{align-items:center;gap:6px;padding:0 12px 0 7px;display:inline-flex}.sf .case-badges{gap:3px;display:inline-flex}.sf .case-badge{background:var(--c);color:#09090a;width:18px;height:18px;font:400 10px/1 var(--font-mono);opacity:.7;transition:opacity .26s var(--ease);border-radius:50%;place-items:center;display:inline-grid}.sf .case-badge.core{box-shadow:inset 0 0 0 1.5px var(--ice);background:0 0}.sf .case:hover .case-badge,.sf .case[aria-pressed=true] .case-badge{opacity:1}.sf .guide.on{background:color-mix(in srgb, var(--c) 6%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 32%, transparent);opacity:1}.sf .lane-head.on{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent), 0 6px 18px #09090a99;color:var(--fg)}.sf .finder-bar{top:calc(64px + var(--index-h));z-index:10;margin-top:var(--gutter);backdrop-filter:blur(14px);background:#09090adb;padding-block:10px;position:sticky}.sf .finder-bar .finder{margin-top:0}.sf .opt-layer .col{color:var(--fg-3);font-size:11px}.sf .opt-head{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.sf .row-pick{color:var(--fg-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.sf .row-pick-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sf .picks dt{color:var(--hold);flex:none}@media (width<=900px){.sf .sf-findings{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}@media (width<=720px){.sf .finder-bar{backdrop-filter:none;background:0 0;padding-block:0;position:static}.sf .opt-layer{display:block}.sf .opt-layer .col{display:none}.sf .opt summary{grid-template-columns:minmax(0,1fr) 26px;row-gap:8px}.sf .opt-head{grid-area:1/1}.sf .opt .plus{grid-area:1/2}.sf .row-pick{grid-column:1/-1}.sf .row-pick-label{clip-path:none;width:auto;height:auto;color:var(--fg-3);font:400 10.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-right:8px;position:static}.sf .picks>div{gap:6px;display:grid}}@media (width<=520px){.sf .sf-findings{grid-template-columns:minmax(0,1fr)}}.sf .sf-today{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(28px,3vw,40px);display:grid}.sf .today-col{align-content:start;gap:10px;padding:20px 22px 8px;display:grid}.sf .today-col>.sf-label{align-items:center;gap:10px;display:flex}.sf .today-dot{background:var(--go);width:8px;height:8px;box-shadow:0 0 10px color-mix(in srgb, var(--go) 60%, transparent);border-radius:50%}.sf .today-col.stop .today-dot{background:var(--hold);box-shadow:0 0 10px color-mix(in srgb, var(--hold) 60%, transparent)}.sf .today-col li{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 0;display:grid}.sf .today-col li:first-child{border-top:0}.sf .today-col b{font-size:15.5px;font-weight:500}.sf .today-col li>span{color:var(--fg-2);grid-column:1/-1;font-size:14.5px;line-height:1.5}.sf .loop-link{height:26px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg-2);white-space:nowrap;transition:box-shadow .26s var(--ease), color .26s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 3px;font-size:12.5px;display:inline-flex}.sf .today-col .loop-link{grid-area:1/2;align-self:start}.sf .loop-link .badge{background:var(--c);width:20px;height:20px;box-shadow:none;color:#09090a;font-size:10px}.sf .loop-link:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent);color:var(--fg)}.sf .sf-stages{gap:clamp(32px,3.4vw,48px);margin-top:clamp(28px,3vw,40px);display:grid}.sf .build-stage{gap:var(--gutter);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;display:grid}.sf .build-intro{top:var(--stick);align-items:flex-start;gap:16px;display:flex;position:sticky}.sf .build-no{background:var(--ice);width:38px;height:38px;color:var(--ice-ink);font:400 14px/1 var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 18px #c9d6ff4d}.sf .build-intro h3{letter-spacing:-.02em;font-size:22px;font-weight:500;line-height:1.2}.sf .build-intro p{color:var(--fg-2);text-wrap:pretty;margin-top:8px;font-size:15px;line-height:1.55}.sf .build-intro .sf-label{margin-top:12px;display:block}.sf .sf-stages .tbl td.c0{width:26%;min-width:170px}.sf .sf-stages .tbl td.c1{width:36%;min-width:180px;color:var(--fg)}.sf .build-part{color:var(--fg);transition:color .2s var(--ease);align-items:center;gap:8px;display:inline-flex}.sf .build-part:hover{color:var(--ice-hi)}.sf .sf-agents{margin-top:clamp(28px,3vw,40px)}.sf .sf-agents td{padding-block:14px}.sf .sf-agents td.c0{width:19%;min-width:170px}.sf .sf-agents td.c1{width:43%;min-width:280px;color:var(--fg-2)}.sf .sf-agents td.c2{width:16%;min-width:150px}.sf .sf-agents td.c3{min-width:170px}.sf .agent-name{color:var(--fg);align-items:center;gap:8px;font-size:14.5px;font-weight:500;display:inline-flex}.sf .agent-aka,.sf .agent-layer,.sf .agent-stage{color:var(--fg-3);font:400 11px/1.4 var(--font-mono);letter-spacing:.06em;display:block}.sf .agent-aka{margin-top:4px}.sf .agent-layer,.sf .agent-stage{text-transform:uppercase}.sf .agent-layer{margin-bottom:4px}.sf .sf-agents .agent-stage{width:fit-content;color:var(--fg-3);transition:color .2s var(--ease);margin-top:8px;text-decoration:none}.sf .sf-agents .agent-stage:hover{color:var(--ice)}.sf .agent-never{color:var(--fg-3);margin-top:6px;padding-left:14px;display:block;position:relative}.sf .agent-never:before{background:var(--hold);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.sf .agent-check{color:var(--fg-2);margin-top:6px;padding-left:14px;display:block;position:relative}.sf .agent-check:before{background:var(--ice);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.sf .agent-runs{color:var(--fg);margin-bottom:8px;display:block}.sf .sf-agents .loop-link{color:var(--fg-2);margin:0 6px 6px 0;text-decoration:none}.sf .sf-agents .loop-link:hover{color:var(--fg)}.sf .not-agents dl{gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sf .not-agents dt{color:var(--fg);font-weight:500}.sf .not-agents dd{color:var(--fg-2);text-wrap:pretty;margin-top:4px;font-size:15px;line-height:1.55}.sf .cost-agent{--c:var(--ice)}.sf .cost-review{--c:var(--l-harness)}.sf .cost-sandbox{--c:var(--l-loop)}.sf .cost-fixed{--c:var(--fg-3)}.sf .cost-inputs{align-content:start;gap:22px;padding:22px;display:grid}.sf .cost-field{gap:10px;display:grid}.sf .cost-name{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sf .cost-name output{color:var(--fg);font:400 13px/1 var(--font-mono);font-variant-numeric:tabular-nums}.sf .cost-field input[type=range]{width:100%;accent-color:var(--ice);cursor:pointer;margin:0}.sf .cost-field select{background:var(--bg);height:42px;box-shadow:inset 0 0 0 1px var(--rule-2);color:var(--fg);font:400 15px/1 var(--font-sans);border:0;border-radius:12px;padding:0 14px}.sf .cost-result{align-content:start;gap:14px;padding:22px;display:grid}.sf .cost-totals{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:6px;display:grid}.sf .cost-totals div{gap:8px;display:grid}.sf .cost-totals b{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(32px,3.4vw,44px);font-weight:500;line-height:1}.sf .cost-bar{border-radius:999px;gap:3px;height:10px;display:flex;overflow:hidden}.sf .cost-bar span{background:var(--c);min-width:4px;transition:flex-grow .36s var(--ease);flex-basis:0}.sf .cost-legend{gap:8px;display:grid}.sf .cost-legend div{color:var(--fg-2);justify-content:space-between;gap:12px;font-size:14px;display:flex}.sf .cost-legend dt{align-items:center;gap:8px;display:inline-flex}.sf .cost-legend dt:before{background:var(--c);content:"";border-radius:2px;width:8px;height:8px}.sf .cost-legend dd{color:var(--fg);font-variant-numeric:tabular-nums}.sf .cost-notes{border-top:1px solid var(--rule);color:var(--fg-3);gap:8px;margin-top:4px;padding-top:14px;font-size:13.5px;line-height:1.5;display:grid}.sf .cost-notes li{padding-left:14px;position:relative}.sf .cost-notes li:before{background:var(--fg-3);content:"";width:6px;height:1px;position:absolute;top:.75em;left:0}@media (width<=900px){.sf .sf-today,.sf .build-stage,.sf .not-agents dl{grid-template-columns:minmax(0,1fr)}.sf .build-intro{position:static}}@media (width<=720px){.sf .tbl.stacked{overflow:visible}.sf .tbl.stacked thead{display:none}.sf .tbl.stacked tr,.sf .tbl.stacked td{display:block}.sf .tbl.stacked tr{border-bottom:1px solid var(--rule);padding:12px 14px}.sf .tbl.stacked tr:last-child{border-bottom:0}.sf .tbl.stacked td,.sf .tbl.stacked td.c0,.sf .tbl.stacked td.c1,.sf .tbl.stacked td.c2,.sf .tbl.stacked td.c3{border:0;width:auto;min-width:0;padding:2px 0}.sf .tbl.stacked td.c0{padding-bottom:6px}.sf .sf-agents td+td{padding-top:8px}.sf .sf-agents .agent-layer{margin-right:8px;display:inline}}
