.fp-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:clamp(14px,2vw,22px);display:grid}.fp-side{scrollbar-width:thin;max-height:calc(100dvh - 100px);position:sticky;top:84px;overflow-y:auto}.fp-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fp-list li{border:1px solid var(--line);border-radius:var(--r-sm);background:#0003;gap:6px;padding:8px;display:grid}.fp-list li.is-selected{border-color:var(--line-strong);background:#ffffff0d}.fp-list li.is-error{border-color:#ff6a4580}.fp-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.fp-color{cursor:pointer;border-radius:50%;width:22px;height:22px;position:relative}.fp-color input{opacity:0;cursor:pointer;position:absolute;inset:0}.fp-input{padding-block:7px;font-size:.86rem}.fp-icon{min-width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;font-size:.9rem}.fp-icon:hover,.fp-icon.is-on{color:var(--paper);background:#ffffff12}.fp-error{color:#ff9a7c;padding-left:28px;font-size:.72rem}.fp-kind{color:var(--faint);padding-left:28px;font-size:.7rem}.fp-meta{flex-wrap:wrap;align-items:center;gap:10px;padding-left:28px;font-size:.74rem;display:flex}.fp-meta code{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere;font-size:.72rem}.fp-examples{margin-top:12px;font-size:.78rem}.fp-examples summary{cursor:pointer;color:var(--muted)}.fp-examples div{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.fp-examples span{width:100%;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem}.fp-examples button{border:1px solid var(--line);color:var(--paper);font-family:var(--font-mono);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:4px 8px;font-size:.72rem}.fp-examples p{color:var(--faint);margin:12px 0 0;line-height:1.5}.fp-params{gap:8px;display:grid}.fp-param{grid-template-columns:16px minmax(0,1fr) 70px auto;align-items:center;gap:8px;display:grid}.fp-param b{font-family:var(--font-mono)}.fp-param .ak-input{padding:5px 7px}.fp-stage{border:1px solid var(--line);border-radius:var(--r-md);height:clamp(380px,62vh,720px);position:relative;overflow:hidden}.fp-stage canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.fp-stage canvas:active{cursor:grabbing}.fp-dot{pointer-events:none;background:#0d0c0a;border:2px solid;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute}.fp-tip{border:1px solid var(--line-strong);font-family:var(--font-mono);white-space:nowrap;pointer-events:none;background:#0b0b09e0;border-radius:6px;padding:3px 8px;font-size:.72rem;position:absolute;transform:translate(10px,-130%)}.fp-zoom{gap:4px;display:grid;position:absolute;top:10px;right:10px}.fp-zoom button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--paper);cursor:pointer;background:#0b0b09cc;border-radius:9px;font-size:1rem}.fp-zoom button:hover{background:#ffffff1a}.fp-toolbar{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.fp-range{font-family:var(--font-mono);color:var(--faint);margin-left:auto;font-size:.7rem}.fp-analysis{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);align-items:start;gap:14px;display:grid}.fp-analysis .ak-panel-title code{font-family:var(--font-mono);text-transform:none;letter-spacing:0}.fp-facts{gap:8px;margin:0;font-size:.82rem;display:grid}.fp-facts div{grid-template-columns:130px 1fr;gap:10px;display:grid}.fp-facts dt{color:var(--faint)}.fp-facts dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:.78rem}.fp-integral{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:12px;font-size:.82rem;display:flex}.fp-integral .ak-input{width:84px;padding:6px 8px}.fp-integral b{font-family:var(--font-mono);color:var(--paper)}.fp-table-head{color:var(--muted);gap:10px;margin-bottom:8px;font-size:.74rem;display:flex}.fp-table-head label{align-items:center;gap:6px;display:flex}.fp-table-head .ak-input{width:70px;padding:5px 7px}.fp-table{font-size:.78rem}@media (max-width:1080px){.fp-layout{grid-template-columns:1fr}.fp-side{order:2;max-height:none;position:static}.fp-analysis{grid-template-columns:1fr}}
