.fpx-an-plot{scrollbar-width:none;flex:1;min-height:260px;display:flex;overflow-x:auto}.fpx-an-inner{flex:1 0 100%;align-items:flex-end;gap:6px;padding-top:22px;display:flex;position:relative}.fpx-an-usual{pointer-events:none;border-top:1px dashed #77736b;position:absolute;left:0;right:0}.fpx-an-bar{cursor:pointer;background:0 0;border:0;flex:1;align-self:stretch;align-items:flex-end;min-width:0;min-height:44px;padding:0;display:flex}.fpx-an-bar span{background:var(--mk-ink-3);opacity:.4;width:100%;transition:opacity .3s, transform .4s var(--mk-ease);transform-origin:bottom;border-radius:6px 6px 2px 2px;position:relative}.fpx-an-bar[data-kind] span{opacity:1}.fpx-an-bar[data-kind=hit] span{background:var(--color-success,#2f6f4f)}.fpx-an-bar[data-kind=flop] span{background:var(--color-error,#8f2d2d)}.fpx-an-bar:hover span{transform:scaleY(1.04)}.fpx-an-bar[aria-pressed=true] span{opacity:1;box-shadow:0 0 0 2px var(--mk-cream), 0 0 0 3px var(--mk-ink)}.fpx-an-bar b{color:var(--mk-ink);font:800 11px var(--mk-sans);white-space:nowrap;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.fpx-an-head{align-items:center;gap:12px;display:flex}.fpx-an-head>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.fpx-an-head b{font:800 18px var(--mk-sans)}.fpx-an-pic{border-radius:14px;flex:0 0 56px;height:56px;position:relative;overflow:hidden}.fpx-an-next{background:var(--mk-gold-soft);color:var(--mk-ink);font:600 16px/1.45 var(--mk-sans);border:1px solid #b8861a59;border-radius:14px;padding:14px 16px}@media (max-width:720px){.fpx-an-plot{min-height:200px}.fpx-an-inner{gap:4px}.fpx-an-bar{flex:0 0 40px}.fpx-an-bar b{font-size:9px}}@media (prefers-reduced-motion:reduce){.fpx-an-bar span{transition:none}}
.fpx-in-stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.fpx-in-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.fpx-in-tile{aspect-ratio:3/4;background:var(--mk-ink-2);cursor:pointer;min-height:44px;transition:transform .4s var(--mk-ease);border:0;border-radius:14px;padding:0;position:relative;overflow:hidden}.fpx-in-tile:hover{transform:translateY(-3px)}.fpx-in-tile:after{content:"";box-shadow:inset 0 0 0 0 var(--mk-gold);border-radius:14px;transition:box-shadow .3s;position:absolute;inset:0}.fpx-in-tile[aria-pressed=true]:after{box-shadow:inset 0 0 0 3px var(--mk-ink)}.fpx-in-tile em{z-index:1;background:var(--mk-gold);color:var(--mk-ink);font:800 11px var(--mk-sans);border-radius:999px;padding:2px 8px;font-style:normal;position:absolute;top:6px;left:6px}.fpx-in-panel{max-height:640px;overflow-y:auto}.fpx-in-head{flex-direction:column;gap:2px;display:flex}.fpx-in-head b{font:800 20px var(--mk-sans)}.fpx-in-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.fpx-in-stats span{border:1px solid var(--fp-hair);background:var(--fpc-surface);border-radius:12px;flex-direction:column;padding:10px 12px;display:flex}.fpx-in-stats span[data-gold=true]{background:var(--mk-gold-soft);color:var(--mk-ink);border-color:#b8861a59}.fpx-in-stats small{font:600 12px var(--mk-sans);opacity:.8}.fpx-in-stats b{font:800 20px var(--mk-sans)}.fpx-in-hook{font:19px/1.45 var(--mk-serif)}.fpx-in-hook mark{background:var(--mk-gold-soft);color:var(--mk-ink);border-radius:6px;padding:0 6px}.fpx-in-at{background:var(--mk-sand);color:var(--fp-amber-text);font:700 12px var(--mk-sans);border-radius:999px;margin-right:8px;padding:1px 8px;display:inline-block}.fpx-in-beats{font:500 15px/1.45 var(--mk-sans);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}@media (max-width:960px){.fpx-in-stage{grid-template-columns:minmax(0,1fr)}.fpx-in-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.fpx-in-panel{max-height:none}}@media (max-width:720px){.fpx-in-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fpx-in-stats b{font-size:16px}}@media (prefers-reduced-motion:reduce){.fpx-in-tile,.fpx-in-tile:after{transition:none}}
.fpx-cb-sources{flex-direction:column;gap:8px;display:flex}.fpx-cb-source{border:1px solid var(--fp-hair);background:var(--fpc-surface);min-height:56px;color:var(--mk-ink);font:600 15px/1.35 var(--mk-sans);text-align:left;cursor:grab;transition:border-color .3s, opacity .3s, transform .3s var(--mk-ease);border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.fpx-cb-source:hover{transform:translate(4px)}.fpx-cb-source small{font:700 12px var(--mk-sans);color:var(--fp-amber-text)}.fpx-cb-source em{font:700 12px var(--mk-sans);color:#5d5952;font-style:normal}.fpx-cb-source[aria-pressed=true]{border-color:var(--mk-ink);box-shadow:0 0 0 1px var(--mk-ink)}.fpx-cb-source[data-wired=true]{opacity:.6;cursor:default;transform:none}.fpx-cb-clear{border:1px solid var(--fp-hair-2);background:var(--fpc-surface);color:var(--mk-ink)}.fpx-cb-canvas{background:radial-gradient(circle, #0303031f 1px, transparent 1.5px) 0 0 / 16px 16px, var(--mk-cream);justify-content:center;align-items:center;min-height:380px}.fpx-cb-node{background:var(--mk-ink);min-width:180px;min-height:72px;color:var(--mk-cream);font:800 18px var(--mk-sans);cursor:default;transition:border-color .3s, transform .3s var(--mk-ease);border:1px dashed #f7f7f559;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:14px 22px;display:flex}.fpx-cb-node small{font:600 13px var(--mk-sans);color:var(--mk-on-ink-2)}.fpx-cb-node[data-ready=true],.fpx-cb-node[data-over=true]{border-color:var(--mk-gold);cursor:pointer;transform:scale(1.04)}.fpx-cb-out{text-align:center;justify-content:center;width:100%;max-width:380px;display:flex}.fpx-cb-card{background:var(--mk-gold-soft);text-align:left;border:1px solid #b8861a73;border-radius:16px;flex-direction:column;gap:6px;width:100%;padding:16px 18px;display:flex}.fpx-cb-card b{font:800 18px var(--mk-sans)}.fpx-cb-card small{font:600 12px var(--mk-sans);color:var(--mk-fg-3)}.fpx-cb-card p{font:16px/1.45 var(--mk-serif)}@media (max-width:720px){.fpx-cb-canvas{min-height:300px}}@media (prefers-reduced-motion:reduce){.fpx-cb-source,.fpx-cb-node{transition:none}.fpx-cb-source:hover,.fpx-cb-node[data-ready=true],.fpx-cb-node[data-over=true]{transform:none}}
.fpx-ap-input{border:1px solid var(--fpc-edge);min-height:96px;font:18px/1.45 var(--mk-serif);resize:vertical;padding:14px 18px}.fpx-ap-diff{border:1px solid var(--fp-hair);background:var(--fpc-soft);border-radius:14px;min-height:84px}.fpx-ap-diff>.fpc-muted{padding:16px}.fpx-ap-board{border:1px solid var(--fp-hair);background:var(--mk-cream);border-radius:14px;height:190px}@media (max-width:720px){.fpx-ap-board{overflow-x:auto}.fpx-ap-board .fpm-kanban{min-width:420px}}
.fpx-sc-stage{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.fpx-sc-field{flex-direction:column;gap:6px;display:flex}.fpx-sc-pills{flex-wrap:wrap;justify-content:flex-start}.fpx-sc-pills .mk-pill{min-height:44px}.fpx-sc-preview{align-items:center}.fpx-sc-phone{width:100%;height:430px}@media (max-width:960px){.fpx-sc-stage{grid-template-columns:minmax(0,1fr)}.fpx-sc-phone{height:380px}}@media (max-width:720px){.fpx-sc-pills{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.fpx-sc-pills .mk-pill{flex:none}}
.fpx-cr-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.fpx-cr-report{gap:12px}.fpx-cr-head{border-bottom:1px solid var(--fp-hair-2);align-items:center;gap:12px;padding-bottom:12px;display:flex}.fpx-cr-head>span:last-child{flex-direction:column;min-width:0;display:flex}.fpx-cr-head b{font:800 22px var(--mk-sans);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fpx-cr-head small{font:500 13px var(--mk-sans);color:var(--mk-fg-3)}.fpx-cr-logo{background:var(--mk-ink);height:48px;color:var(--mk-gold);font:800 17px var(--mk-sans);transition:transform .4s var(--mk-ease);border-radius:14px;flex:0 0 48px;place-items:center;display:grid}.fpx-cr-body{border:1px solid var(--fp-hair);background:var(--mk-cream);border-radius:14px;height:220px}.fpx-cr-foot{font:600 12px var(--mk-sans);color:var(--mk-fg-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:960px){.fpx-cr-stage{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.fpx-cr-logo{transition:none}}