.fe{font-family:var(--body)}.fe-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch}@media(max-width:940px){.fe-grid{grid-template-columns:1fr}}.fe-graph{background:#040a1466;border:1px solid var(--line);border-radius:var(--r-stage);padding:12px 12px 4px;position:relative}.fe-gh{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#ffffff73;padding:4px 8px 6px}.fe-graph svg{display:block;width:100%;height:auto}.fe-edge{stroke:#34d2f24d;stroke-width:1.4;stroke-dasharray:5 9;animation:feFlow 2.8s linear infinite;transition:stroke .3s,stroke-width .3s}@keyframes feFlow{to{stroke-dashoffset:-28}}.fe-edge.hot{stroke:var(--cyan);stroke-width:2.6;filter:drop-shadow(0 0 6px rgba(52,210,242,.8))}.fe-node circle{fill-opacity:.9;stroke:#ffffff40;stroke-width:1}.fe-node text{font-family:var(--mono);font-size:9px;fill:#fff;text-anchor:middle;font-weight:500}.fe-node .sub{font-size:6.5px;fill:#ffffff8c}.fe-node.core circle{fill:var(--cyan);stroke:#34d2f299}.fe-node.core text{fill:var(--ink);font-weight:700}.fe-node.core .sub{fill:#0a1a30b3}.fe-node.a circle{fill:var(--blue)}.fe-node.b circle{fill:#3d7fc4}.fe-node.p circle{fill:var(--ok)}.fe-node.core.pulse circle{animation:fePulse .9s ease}@keyframes fePulse{45%{filter:drop-shadow(0 0 16px rgba(52,210,242,.95))}}.fe-badge{font-family:var(--mono);font-size:8px;font-weight:500;fill:var(--ink)}.fe-side{display:flex;flex-direction:column;gap:14px}.fe-card{background:#071326b8;border:1px solid var(--line);border-radius:var(--r-stage);padding:18px 20px;flex:1}.fe-ch{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-weight:700;font-size:16px;color:#fff;margin-bottom:14px}.fe-ver{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(230,165,49,.5);border-radius:3px;padding:4px 9px;transition:color .3s,border-color .3s}.fe-ver.now{color:var(--ok);border-color:#27b06a8c}.fe-fx{border:1px solid var(--line);border-radius:var(--r-panel);padding:10px 13px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;transition:.35s ease}.fe-fx .lab{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73}.fe-fx .fx{font-family:var(--mono);font-size:13.5px;font-weight:500;color:#e6eef8;transition:.35s ease}.fe-fx.old{margin-bottom:8px}.fe-fx.old.gone{opacity:.4}.fe-fx.old.gone .fx{text-decoration:line-through;text-decoration-color:#e8483ab3;color:#ffffff80}.fe-fx.new{opacity:.35}.fe-fx.new.live{opacity:1;border-color:#27b06a8c;background:#27b06a14}.fe-fx.new.live .fx{color:var(--ok)}.fe-terms{margin-top:10px;font-family:var(--mono);font-size:10px;line-height:1.8;color:#ffffff80;letter-spacing:.03em}.fe-terms #feTNew{display:none;color:#8fd7b2}.fe-terms.sw #feTOld{text-decoration:line-through;text-decoration-color:#e8483a99}.fe-terms.sw #feTNew{display:block}.fe-btn{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:12px 16px;border:1px solid var(--cyan);border-radius:var(--r-panel);background:none;color:var(--cyan);cursor:pointer;font-family:var(--mono);transition:transform .2s,box-shadow .2s,opacity .2s,border-color .2s,color .2s}.fe-btn .lb{font-size:11.5px;font-weight:500;letter-spacing:.1em}.fe-btn .st{font-size:8.5px;letter-spacing:.06em;opacity:.7}.fe-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #34d2f247}.fe-btn:disabled{opacity:.55;cursor:default;border-color:#27b06a99;color:var(--ok)}.fe-log{height:138px;overflow:hidden;margin-top:14px;padding:10px 15px 8px;display:flex;flex-direction:column;gap:3px;background:#040a148c;border:1px solid var(--line);border-radius:var(--r-stage);font-family:var(--mono);font-size:11px}.fe-ln{display:flex;gap:10px;line-height:1.5;animation:feLnIn .3s ease both;white-space:nowrap}@keyframes feLnIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.fe-ln .t{color:#ffffff52;flex:none}.fe-ln .tag{flex:none;font-weight:500;min-width:118px}.fe-ln .tag.ok{color:var(--ok)}.fe-ln .tag.info{color:var(--blue)}.fe-ln .tag.seal{color:var(--cyan)}.fe-ln .x{color:#ffffff9e}.fe-ln .x b{color:#fff;font-weight:500}@media(prefers-reduced-motion:reduce){.fe-edge{animation:none}.fe-node.core.pulse circle{animation:none}.fe-ln{animation:none}.fe-btn{transition:none}}
