.fi-stack{width:min(1560px,calc(100vw - 32px));box-sizing:border-box;padding:clamp(16px,3vw,32px);isolation:isolate}.fi-header{display:flex;gap:24px;justify-content:space-between;align-items:flex-start}.fi-header h3{margin:8px 0!important;scroll-margin-top:100px}.fi-header p,.fi-instruction{font:15px/1.6 Inter,system-ui,sans-serif!important;max-width:900px}.fi-kicker{font:12px/1.5 Inter,system-ui,sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:var(--cp-warning)}.fi-controls{display:flex;gap:8px;flex-wrap:wrap;min-width:210px}.fi-controls button,.fi-demo select{padding:10px 14px;border:1px solid var(--cp-border);border-radius:5px;background:var(--cp-bg-elevated);color:var(--cp-text);font:14px Inter,system-ui,sans-serif;cursor:pointer}.fi-controls button:disabled{opacity:.4;cursor:default}.fi-controls button:focus-visible,.fi-cards button:focus-visible{outline:3px solid var(--cp-warning);outline-offset:3px}.fi-progress{height:3px;background:var(--cp-border);margin:22px 0}.fi-progress span{display:block;height:100%;width:4.166%;background:var(--cp-warning);transition:width .45s}.fi-phase{display:grid;grid-template-columns:140px 1fr;gap:16px;margin:14px 0;position:relative}.fi-phase-name{padding:15px 0;border-top:1px solid var(--cp-border)}.fi-phase-name>span{font:12px monospace;color:var(--cp-warning)}.fi-phase h4{font:600 17px/1.3 Inter,system-ui,sans-serif;margin:6px 0}.fi-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fi-cards button{text-align:left;position:relative;padding:16px;min-height:115px;border:1px solid var(--cp-border);border-radius:6px;background:var(--cp-bg-elevated);color:var(--cp-text);cursor:pointer;transition:border-color .3s,background .3s,transform .3s}.fi-cards button span{display:block;font:12px monospace;color:var(--cp-warning)}.fi-cards button strong{display:block;font:600 16px/1.35 Inter,system-ui,sans-serif;margin:9px 0}.fi-cards button small{display:block;font:12px/1.4 Inter,system-ui,sans-serif;color:var(--cp-text-muted)}.fi-cards button[aria-pressed=true]{border:2px solid var(--cp-warning);background:color-mix(in srgb,var(--cp-warning) 9%,var(--cp-bg-elevated));transform:translateY(-2px)}.fi-cards button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:0;width:20%;height:3px;background:var(--cp-warning);animation:fi-travel 4s linear infinite}.fi-stack[data-playing=false] .fi-cards button:after{animation-play-state:paused}.fi-detail{margin-top:24px;border-top:1px solid var(--cp-border);padding-top:20px}.fi-detail h4{font:600 24px/1.3 Inter,system-ui,sans-serif;margin:10px 0}.fi-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fi-detail dt,.fi-contracts dt{font:600 12px/1.5 Inter,system-ui,sans-serif;text-transform:uppercase;color:var(--cp-warning);margin:12px 0 5px}.fi-detail dd,.fi-contracts dd{font:16px/1.6 Inter,system-ui,sans-serif;margin:0}.fi-contracts details{border-bottom:1px solid var(--cp-border);padding:18px 0}.fi-contracts summary{font:600 18px/1.5 Inter,system-ui,sans-serif;cursor:pointer}.fi-contracts summary small{display:block;font:13px Inter,system-ui,sans-serif;color:var(--cp-text-muted);margin-top:6px}.fi-contracts dl{padding:0 20px}.fi-demo{padding:28px}.fi-demo label{font:16px Inter,system-ui,sans-serif;display:block}.fi-demo select{display:block;margin:12px 0;width:100%;max-width:100%}.fi-demo output{display:block;font:600 23px/1.5 Inter,system-ui,sans-serif;padding:22px;border-left:3px solid var(--cp-warning);background:var(--cp-bg-elevated)}.fi-demo p{font:16px/1.6 Inter,system-ui,sans-serif!important}.fi-boundary svg{width:100%;min-width:780px;display:block;font-family:Inter,system-ui,sans-serif}@keyframes fi-travel{from{left:0}to{left:80%}}@media(max-width:900px){.fi-header{display:block}.fi-controls{margin:18px 0}.fi-phase{grid-template-columns:100px 1fr}.fi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fi-phase{display:block}.fi-detail dl{grid-template-columns:1fr}.fi-cards button{padding:12px}.fi-cards button strong{font-size:14px}.fi-contracts summary{font-size:16px}}@media(prefers-reduced-motion:reduce){.fi-cards button,.fi-progress span{transition:none}.fi-cards button:after{animation:none!important;display:none}}@media print{.fi-stack{width:100%}.fi-controls,.fi-progress{display:none}.fi-cards button:after{display:none}.fi-cards button{transform:none}.fi-contracts details{break-inside:avoid}}
