:root{--fx-accent-dark:#a83a20;--fx-navy-top:#2a3b5c;--fx-navy-right:#0d1726;--fx-steel:#3d5a80;--fx-steel-top:#5577a3;--fx-steel-right:#2c4363;--fx-slate:#7d8ba3;--fx-slate-top:#a5b1c4;--fx-slate-right:#66748b}.fx-foot{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px;font-size:.88rem;display:flex}.fx-replay{border:1.5px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);font:700 .82rem var(--font-sans);cursor:pointer;border-radius:12px;padding:8px 14px}.fx-replay:hover{border-color:var(--color-ink)}.fx-caption{color:var(--color-muted);margin-top:10px;font-size:.9rem}.fx-figure{margin-inline:0;margin-bottom:0}.fx-replayable{cursor:pointer}.fx-pile{perspective:1700px;touch-action:pan-y;place-items:center;height:400px;display:grid;position:relative}.fx-pile.small{height:300px}.fx-pile .iso{width:230px;height:230px;transform-style:preserve-3d;transform:translateY(80px) rotateX(calc(var(--rx,64) * 1deg)) rotateZ(calc(var(--rz,35) * 1deg));position:relative}.fx-pile.small .iso{scale:.7;transform:translateY(62px) rotateX(calc(var(--rx,64) * 1deg)) rotateZ(calc(var(--rz,35) * 1deg))}@media (width<=520px){.fx-pile{height:330px}.fx-pile .iso{scale:.78}}.fx-pile .slab{transform-style:preserve-3d;transform:translateZ(calc(var(--z) + var(--lift,0) * 1px + var(--drop,0) * 1px));text-decoration:none;display:block;position:absolute;inset:0}.fx-pile .f{opacity:calc(var(--o,1) * var(--dim,1));transition:opacity .3s;position:absolute}.fx-pile .face-top{background:var(--top);transform:translateZ(var(--h));border-radius:4px;inset:0;box-shadow:inset 0 0 0 1px #ffffff29}.fx-pile .face-front{left:0;top:calc(100% - var(--h));width:100%;height:var(--h);background:var(--front);color:#fff;letter-spacing:.02em;white-space:nowrap;transform-origin:bottom;align-items:center;padding:0 12px;font-size:12.5px;font-weight:800;display:flex;overflow:hidden;transform:rotateX(-90deg)}.fx-pile .face-right{width:var(--h);background:var(--right);transform-origin:0;height:100%;top:0;left:100%;transform:rotateY(-90deg)}.fx-pile .iso.has-hot .slab:not(.hot){--dim:.22}@media (prefers-reduced-motion:no-preference){.fx-pile:not(.ready) .slab{--o:0}}.fx-carto{background:var(--color-surface);min-height:540px;box-shadow:0 0 0 1px var(--color-line);border-radius:22px;padding:36px 28px;position:relative;overflow:hidden}.fx-carto .carto-text{z-index:2;backdrop-filter:blur(3px);background:#f7f9fcdb;border-radius:18px;gap:14px;max-width:30rem;padding:22px;display:grid;position:relative}.fx-carto .plan{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fx-carto .plan text{font-family:var(--font-sans)}@media (width<=719px){.fx-carto{min-height:0;padding:16px 16px calc(min(360px,90.0763%) + 12px)}.fx-carto .carto-text{backdrop-filter:none;background:0 0;padding:12px}.fx-carto .plan{aspect-ratio:524/472;height:auto;max-height:360px;top:auto;bottom:12px}}.fx-ba{--p:50%;aspect-ratio:1184/864;max-width:100%;box-shadow:0 0 0 1px var(--color-line), 0 24px 50px -30px #16233a8c;-webkit-user-select:none;user-select:none;border-radius:20px;position:relative;overflow:hidden}.fx-ba img.ph{object-fit:cover;width:100%;max-width:none;height:100%;box-shadow:none;border-radius:0;display:block;position:absolute;inset:0}.fx-ba .before{clip-path:inset(0 calc(100% - var(--p)) 0 0)}.fx-ba .tag{z-index:3;color:#fff;letter-spacing:.04em;background:#16233ac7;border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:800;position:absolute;top:14px}.fx-ba .tag.l{left:14px}.fx-ba .tag.r{background:var(--color-accent);right:14px}.fx-ba .line{z-index:2;top:0;bottom:0;left:var(--p);pointer-events:none;background:#fff;width:3px;margin-left:-1.5px;position:absolute;box-shadow:0 0 0 1px #16233a26}.fx-ba .handle{z-index:3;top:50%;left:var(--p);width:48px;height:48px;color:var(--color-ink);letter-spacing:-2px;pointer-events:none;background:#fff;border-radius:50%;place-items:center;margin:-24px 0 0 -24px;font-weight:800;display:grid;position:absolute;box-shadow:0 8px 22px #16233a4d}.fx-ba:focus-within .handle{box-shadow:0 0 0 3px var(--color-accent), 0 8px 22px #16233a4d}.fx-ba input{z-index:4;opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.fx-lat{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);border-radius:20px;gap:18px;padding:22px;font-size:1rem;display:grid}.fx-lat .lat-chart{padding:46px 0 58px;position:relative}.fx-lat .lat-track{height:60px;box-shadow:inset 0 0 0 1px var(--color-line);background:#fff;border-radius:14px;position:relative}.fx-lat .seg{color:#fff;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;width:0;font-size:.76rem;font-weight:800;display:flex;position:absolute;top:8px;bottom:8px;left:0;overflow:hidden}.fx-lat .s1{background:var(--color-ink)}.fx-lat .s2{background:var(--fx-steel)}.fx-lat .s3{background:var(--color-accent)}.fx-lat .seg.tight{color:#0000}.fx-lat .axis{height:26px;position:absolute;bottom:24px;left:0;right:0}.fx-lat .axis span{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.72rem;position:absolute;top:6px;transform:translate(-50%)}.fx-lat .axis i{background:var(--color-line);width:1px;height:10px;position:absolute;top:-12px}.fx-lat .bracket{border:2px solid var(--color-accent-deep);border-bottom:0;border-radius:8px 8px 0 0;height:40px;position:absolute;top:0;left:0}.fx-lat .bracket b{white-space:nowrap;color:var(--color-accent-deep);font-size:.8rem;position:absolute;bottom:calc(100% + 4px);left:0}.fx-lat .note{white-space:nowrap;color:var(--color-accent-deep);font-size:.76rem;font-weight:700;position:absolute;bottom:0;left:0}.fx-lat .lat-legend{gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.fx-lat .lat-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}.fx-lat .lat-legend li{box-shadow:0 0 0 1px var(--color-line);background:#fff;border-radius:14px;gap:4px;margin:0;padding:12px 14px;display:grid}.fx-lat .lat-legend strong{align-items:center;gap:8px;font-size:.9rem;display:flex}.fx-lat .lat-legend i{border-radius:3px;flex:none;width:12px;height:12px}.fx-lat .lat-legend span{color:var(--color-muted);font-size:.84rem;line-height:1.4}.fx-meth{gap:22px;display:grid}@media (width>=900px){.fx-meth{grid-template-columns:minmax(0,1fr) 200px;gap:32px}.fx-meth .aside{grid-area:1/2}.fx-meth .steps{grid-area:1/1}}.fx-meth .aside{position:relative}.fx-meth .badge{top:calc(env(safe-area-inset-top,0px) + 96px);background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);border-radius:16px;justify-items:center;gap:8px;padding:16px;display:grid;position:sticky}.fx-meth .badge svg{width:120px;height:120px}.fx-meth .badge path{fill:none;stroke:var(--color-accent);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.fx-meth .badge .lbl{font-weight:800}.fx-meth .badge .count{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8rem}@media (width>=900px){.fx-meth .badge{position:relative;top:0}}@media (width<=899px){.fx-meth .aside{display:contents}.fx-meth .badge{z-index:5;top:calc(env(safe-area-inset-top,0px) + 72px);grid-template-columns:auto 1fr;place-items:center start;padding:10px 14px}.fx-meth .badge svg{grid-row:span 2;width:48px;height:48px}.fx-meth .badge path{stroke-width:12px}}.fx-meth .steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.fx-meth .steps li{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);opacity:.55;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:16px;padding:22px;transition:box-shadow .3s,opacity .3s;display:grid}.fx-meth .steps li.on{opacity:1;box-shadow:0 0 0 2px var(--color-accent), 0 16px 34px -26px #16233a99}.fx-meth .n{background:var(--color-ink);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.fx-meth .steps li.on .n{background:var(--color-accent)}.fx-meth h3{margin:0;font-size:1.15rem;font-weight:800}.fx-meth .steps p{color:var(--color-muted);margin:4px 0 0}.fx-lp .lp-stage{aspect-ratio:16/9;max-width:100%;box-shadow:0 0 0 1px var(--color-line);touch-action:none;background:#fff;border-radius:16px;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.fx-lp .lp-stage{cursor:none}}.fx-lp canvas.base{width:100%;height:100%;display:block}.fx-lp .lens{width:180px;height:180px;box-shadow:0 0 0 3px var(--color-ink), 0 0 0 7px #ffffffe6, 0 18px 40px #16233a59;pointer-events:none;will-change:transform;background:#fff;border-radius:50%;position:absolute;top:0;left:0;overflow:hidden}.fx-lp .lens canvas{width:100%;height:100%;display:block}@media (width<=600px){.fx-lp .lens{width:130px;height:130px}}.fx-dk{gap:12px;display:grid}.fx-dk .chart{height:360px;box-shadow:0 0 0 1px var(--color-line);background:#fff;border-radius:16px;position:relative;overflow:hidden}@media (width<=600px){.fx-dk .chart{height:300px}}.fx-dk .chart canvas{width:100%;height:100%;display:block}.fx-dk .side{gap:12px;display:grid}@media (width>=640px){.fx-dk .side{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fx-dk .box{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);border-radius:16px;align-content:start;gap:8px;padding:16px;display:grid}.fx-dk .box>span{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);font-size:.78rem;font-weight:700}.fx-dk .prob{grid-template-columns:78px 1fr 42px;align-items:center;gap:8px;font-size:.85rem;display:grid}.fx-dk .prob i{background:var(--color-bubble);border-radius:6px;height:10px;position:relative;overflow:hidden}.fx-dk .prob b{border-radius:6px;width:0;transition:width .5s;position:absolute;inset:0 auto 0 0}.fx-dk .prob em{text-align:right;font-variant-numeric:tabular-nums;font-style:normal;font-weight:800}.fx-dk .thr{color:var(--color-muted);font-size:.8rem}.fx-dk .dk-decision{font-size:1.02rem;font-weight:800;line-height:1.35}.fx-dk .dk-decision.long{color:var(--fx-steel)}.fx-dk .dk-decision.win{color:var(--color-accent-deep)}.fx-dk .legend{color:var(--color-muted);flex-wrap:wrap;gap:8px 14px;font-size:.8rem;display:flex}.fx-dk .legend span{align-items:center;gap:6px;display:inline-flex}.fx-dk .legend i{border-radius:3px;width:12px;height:12px}.fx-ecrans{container-type:inline-size}.fx-ecrans .stage{--G:19cqw;aspect-ratio:16/9;perspective:1500px;perspective-origin:50% 45%;touch-action:pan-y;place-items:center;max-width:100%;display:grid;position:relative}.fx-ecrans .row{aspect-ratio:1100/640;width:62cqw;transform-style:preserve-3d;transform:translate(-14cqw, 3cqw) rotateX(calc(var(--rx,-7) * 1deg)) rotateY(calc(var(--ry,-32) * 1deg));position:relative}.fx-ecrans .screen,.fx-ecrans .hit{border-radius:1.1cqw;position:absolute;inset:0}.fx-ecrans .screen{transform:translateZ(calc((var(--fwd,0) - var(--n)) * var(--G))) translateY(calc(var(--up,0) * 1cqw));pointer-events:none;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #16233a29,0 2.6cqw 5cqw -2.6cqw #16233a8c}.fx-ecrans .screen img{object-fit:cover;object-position:top left;width:100%;max-width:none;height:100%;box-shadow:none;border-radius:0;display:block}.fx-ecrans .screen:after{content:"";background:var(--color-ink);opacity:calc(var(--n) * .08);transition:opacity .4s;position:absolute;inset:0}.fx-ecrans .screen.hot:after{opacity:0}.fx-ecrans .hit{transform:translateZ(calc(var(--n) * var(--G) * -1));cursor:pointer}.fx-g4{height:320px;box-shadow:inset 0 0 0 1.5px var(--color-line);touch-action:none;cursor:grab;background:#fff;border-radius:20px;position:relative;overflow:hidden}.fx-g4:active{cursor:grabbing}.fx-g4 .letter{background:var(--color-ink);color:#fff;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:12px;place-items:center;font-weight:800;display:grid;position:absolute;top:0;left:0;box-shadow:0 8px 18px -10px #16233a99}.fx-g4 .letter.a{background:var(--color-accent)}.fx-g4 .letter.s{background:var(--fx-steel)}.fx-cam{container-type:inline-size}.fx-cam .cam{aspect-ratio:16/9;max-width:100%;position:relative;overflow:hidden}@container (width<=639px){.fx-cam .cam{aspect-ratio:9/16}}.fx-cam .world{font-size:var(--fs);transform-origin:0 0;will-change:transform;line-height:1.4;position:absolute;top:0;left:0}.fx-cam .wires,.fx-cam .packets{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.fx-cam .wires path{fill:none;stroke:var(--color-accent);stroke-linecap:round}.fx-cam .wires path.used{opacity:.3}.fx-cam .packets circle{fill:var(--color-accent)}.fx-cam .packets text{fill:var(--color-ink);font-family:var(--font-sans);text-anchor:middle;paint-order:stroke;stroke:var(--color-surface);stroke-linejoin:round;font-weight:800}.fx-cam .zone{border:2px dashed var(--fx-slate-top);border-radius:1.4em;position:absolute}.fx-cam .zone b{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8em;position:absolute;top:.7em;left:1.1em}.fx-cam .nd{box-shadow:0 0 0 2px var(--color-line);background:#fff;border-radius:1em;align-content:center;gap:.35em;padding:.8em 1em;transition:box-shadow .3s,opacity .4s;display:grid;position:absolute}.fx-cam .nd.on{box-shadow:0 0 0 3px var(--color-accent), 0 1em 2em -1.2em #16233a80}.fx-cam .nd strong{font-size:1.1em;font-weight:800;line-height:1.15}.fx-cam .nd small{color:var(--color-muted);font-size:.82em;line-height:1.3}.fx-cam[data-scene=maintenance] .nd small{font-size:.95em}.fx-cam .nd.dark{background:var(--color-ink);color:#fff;box-shadow:none}.fx-cam .nd.dark small{color:var(--fx-slate-top)}.fx-cam .nd.dark.on{box-shadow:0 0 0 3px var(--color-accent)}.fx-cam .nd.dim{opacity:.35}.fx-cam .res{background:var(--color-accent-soft);color:var(--color-accent-deep);border-radius:.6em;justify-self:start;padding:.25em .6em;font-size:.8em;font-weight:800}.fx-cam .res:empty{display:none}.fx-cam .nd.dark .res{color:#ffb8a6;background:#ffffff1f}.fx-cam .thumb{box-shadow:0 0 0 1px var(--color-line);border-radius:.5em;position:relative;overflow:hidden}.fx-cam .thumb canvas{width:100%;height:auto;display:block}.fx-cam .thumb i{border:3px solid var(--color-accent);opacity:0;border-radius:.3em;position:absolute;box-shadow:0 0 0 999px #16233a1f}.fx-cam .monitor{grid-template-rows:1fr auto auto;justify-items:center;display:grid;position:absolute}.fx-cam .bezel{background:var(--color-ink);border-radius:1em;width:100%;height:100%;padding:.7em}.fx-cam .neck{background:var(--fx-slate);width:14%;height:2.4em}.fx-cam .foot{background:var(--fx-slate-right);border-radius:.5em .5em .2em .2em;width:38%;height:.9em}.fx-cam .handset{background:var(--color-ink);border-radius:2.4em;padding:.6em;position:absolute}.fx-cam .ui{background:#fff;border-radius:.5em;grid-template-rows:auto 1fr auto;height:100%;display:grid;overflow:hidden}.fx-cam .handset .ui{border-radius:1.9em;grid-template-rows:auto auto 1fr auto}.fx-cam .notch{background:var(--color-ink);border-radius:.7em;width:32%;height:1.2em;margin:.6em auto .2em}.fx-cam .ui-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:.6em;padding:.7em 1em;font-size:.85em;display:flex}.fx-cam .ui-head strong{font-size:1.1em;font-weight:800}.fx-cam .ui-head span{color:var(--color-muted);font-size:.9em}.fx-cam .handset .ui-head span{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);color:var(--color-ink);border-radius:.5em;padding:.25em .6em;font-weight:700}.fx-cam .ui-log{flex-direction:column;justify-content:flex-end;gap:.6em;padding:.9em;display:flex;overflow:hidden}.fx-cam .ui-in{border-top:1px solid var(--color-line);padding:.7em .9em .9em}.fx-cam .ui-in span{background:var(--color-surface);min-height:2.4em;box-shadow:inset 0 0 0 1px var(--color-line);color:var(--color-muted);border-radius:.6em;padding:.55em .8em;font-size:.85em;display:block}.fx-cam .ui-in span.typing{color:var(--color-ink)}.fx-cam .msg{border-radius:.8em;max-width:88%;padding:.6em .85em;font-size:.9em;line-height:1.45}.fx-cam .msg.user{background:var(--color-ink);color:#fff;border-bottom-right-radius:.25em;align-self:flex-end}.fx-cam .msg.bot{background:var(--color-bubble);color:var(--color-ink);border-bottom-left-radius:.25em;align-self:flex-start}.fx-cam .msg ol{margin:.3em 0 0;padding-left:1.3em;list-style:decimal}.fx-cam .msg .src{flex-wrap:wrap;gap:.35em;margin-top:.5em;display:flex}.fx-cam .msg .src span{color:var(--color-accent-deep);box-shadow:0 0 0 1px var(--color-line);background:#fff;border-radius:999px;padding:.2em .55em;font-size:.82em;font-weight:700}.fx-cam .dots{gap:.3em;padding:.3em 0;display:inline-flex}.fx-cam .dots i{background:var(--color-muted);border-radius:50%;width:.4em;height:.4em;animation:1s infinite fx-blink}.fx-cam .dots i:nth-child(2){animation-delay:.15s}.fx-cam .dots i:nth-child(3){animation-delay:.3s}@keyframes fx-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.fx-cam .ticks{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-line);color:var(--color-muted);border-radius:.7em;gap:.35em;margin:0;padding:.6em .8em;font-size:.78em;list-style:none;display:grid}.fx-cam .ticks li{align-items:flex-start;gap:.5em;display:flex}.fx-cam .ticks li:before{content:"";background:var(--color-accent);border-radius:50%;flex:none;width:.5em;height:.5em;margin-top:.4em}.fx-cam .ticks:empty{display:none}@media (prefers-reduced-motion:reduce){.fx-pile .f,.fx-meth .steps li,.fx-dk .prob b,.fx-ecrans .screen:after{transition:none}.fx-cam .dots i{animation:none}}
