.sf{--sf-gap:clamp(.5rem, 1.4vw, .9rem);--sf-ink:var(--color-on-dark);--sf-muted:var(--color-on-dark-muted);--sf-accent:var(--color-accent-on-dark);--sf-line:#f5f5dc24;border-radius:var(--radius-md);background:radial-gradient(ellipse at 50% 0%, #722f3773, transparent 60%), linear-gradient(#f5f5dc09 1px, transparent 1px) 0 0 / 100% 28px, var(--color-dark);height:100%;color:var(--sf-ink);flex-direction:column;gap:clamp(.85rem,1.6vw,1.15rem);padding:clamp(1rem,2.2vw,1.6rem);display:flex}.sf-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sf p{max-width:none;margin:0}.sf__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.sf .sf__label{letter-spacing:.08em;text-transform:uppercase;color:var(--sf-accent);font-size:.75rem;font-weight:600}.sf__scenarios{flex-wrap:wrap;gap:.35rem;display:flex}.sf__scenarios button,.sf__play{border:1px solid var(--sf-line);border-radius:var(--radius-pill);min-height:36px;color:var(--sf-ink);transition:background var(--duration) var(--ease-out), color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);background:0 0;padding:0 .85rem;font-size:.8125rem;font-weight:500}.sf__scenarios button:hover,.sf__play:hover{border-color:var(--sf-accent)}.sf__scenarios button[aria-pressed=true]{border-color:var(--sf-ink);background:var(--sf-ink);color:var(--color-dark)}.sf :focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf__diagram{flex-direction:column;flex:1;justify-content:center;margin:0;display:flex}.sf__chain,.sf__result{flex-direction:column;align-items:center;display:flex}.sf__link-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.sf__chain .sf-node,.sf__result .sf-node{width:min(100%,24rem)}.sf__branches{gap:var(--sf-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sf-node{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;border:1px solid var(--sf-line);min-width:0;transition:opacity .4s var(--ease-out), border-color .4s var(--ease-out), background .4s var(--ease-out), box-shadow .4s var(--ease-out);background:#f5f5dc0a;border-radius:10px;padding:.55rem .8rem}.sf-node[data-state=off]{opacity:.42}.sf-node[data-state=on]{border-color:#e6a98380}.sf-node[data-state=current]{border-color:var(--sf-accent);background:#722f3799;box-shadow:0 0 0 4px #e6a9831f,0 10px 32px -8px #e6a98359}.sf-node--ai{border-style:dashed}.sf .sf-node__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:550;line-height:1.2}.sf .sf-node__tag{vertical-align:.15em;border-radius:var(--radius-pill);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--sf-accent);border:1px solid;margin:.15rem 0 0 .4rem;padding:.05rem .4rem;font-size:.625rem;font-weight:600;display:inline-block}.sf .sf-node__tech{letter-spacing:.06em;text-transform:uppercase;color:var(--sf-accent);font-size:.6875rem;font-weight:600;margin-top:.2rem!important}.sf .sf-node__note{color:var(--sf-muted);font-size:.78rem;line-height:1.4;margin-top:.2rem!important}.sf-wire{background:var(--sf-line);display:block}.sf-wire--v{width:2px;height:16px}.sf-fan{column-gap:var(--sf-gap);grid-template-columns:repeat(3,minmax(0,1fr));height:28px;display:grid;position:relative}.sf-fan .sf-wire{position:absolute}.sf-wire--stem{width:2px;height:50%;left:calc(50% - 1px)}.sf-fan--out .sf-wire--stem{top:0}.sf-fan--in .sf-wire--stem{bottom:0}.sf-wire--h{height:2px;top:calc(50% - 1px)}.sf-wire--left{left:calc((100% - 2 * var(--sf-gap)) / 6);right:50%}.sf-wire--right{left:50%;right:calc((100% - 2 * var(--sf-gap)) / 6)}.sf-wire--drop{width:2px;height:50%}.sf-fan--out .sf-wire--drop{bottom:0}.sf-fan--in .sf-wire--drop{top:0}.sf-wire--c0{left:calc((100% - 2 * var(--sf-gap)) / 6 - 1px)}.sf-wire--c1{left:calc(50% - 1px)}.sf-wire--c2{right:calc((100% - 2 * var(--sf-gap)) / 6 - 1px)}.sf-wire[data-state=on]{background-color:#0000}.sf-wire--v[data-state=on],.sf-wire--stem[data-state=on],.sf-wire--drop[data-state=on]{background-image:repeating-linear-gradient(to bottom, var(--sf-accent) 0 6px, transparent 6px 11px);background-size:100% 11px;animation:.7s linear infinite sf-down}.sf-wire--h[data-state=on]{background-image:repeating-linear-gradient(to right, var(--sf-accent) 0 6px, transparent 6px 11px);background-size:11px 100%}.sf-fan--out .sf-wire--left[data-state=on],.sf-fan--in .sf-wire--right[data-state=on]{animation:.7s linear infinite sf-left}.sf-fan--out .sf-wire--right[data-state=on],.sf-fan--in .sf-wire--left[data-state=on]{animation:.7s linear infinite sf-right}@keyframes sf-down{to{background-position:0 11px}}@keyframes sf-right{to{background-position:11px 0}}@keyframes sf-left{to{background-position:-11px 0}}.sf__steps{border-top:1px solid var(--sf-line);gap:.6rem;padding-top:clamp(.75rem,1.6vw,1rem);display:grid}.sf__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sf__dots{flex-wrap:wrap;gap:.3rem;list-style:none;display:flex}.sf__dots button{border:1px solid var(--sf-line);width:32px;height:32px;color:var(--sf-muted);font-variant-numeric:tabular-nums;transition:background var(--duration) var(--ease-out), color var(--duration) var(--ease-out);background:0 0;border-radius:50%;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.sf__dots button:hover{color:var(--sf-ink);border-color:var(--sf-accent)}.sf__dots button[aria-current=step]{border-color:var(--sf-accent);background:var(--sf-accent);color:var(--color-dark)}.sf .sf__now{min-height:4.2em;color:var(--sf-ink);font-size:.9375rem;line-height:1.5}.sf .sf__now span{letter-spacing:.08em;text-transform:uppercase;color:var(--sf-accent);margin-bottom:.15rem;font-size:.6875rem;font-weight:600;display:block}@media (max-width:699px){.sf__branches .sf-node{padding:.55rem .5rem}.sf .sf__branches .sf-node__note{display:none}.sf .sf__branches .sf-node__title{font-size:.9rem}.sf .sf__branches .sf-node__tech{letter-spacing:.03em;font-size:.625rem}.sf .sf__chain .sf-node__note,.sf .sf__result .sf-node__note{font-size:.75rem}}@media (max-width:399px){.sf .sf__branches .sf-node__title{font-size:.8rem}.sf .sf__branches .sf-node__tag{margin-left:0}}@media (prefers-reduced-motion:reduce){.sf-wire[data-state=on]{animation:none}.sf-node,.sf__dots button{transition:none}}
