/* A single command dock, outside document flow and sticky scene containers. */
body.fx-ready #motion,body.fx-ready #ambient-motion,body.fx-ready .particle-control,body.fx-ready .code-options,body.fx-ready .film-control{display:none!important}
.fx-console{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:85;color:#c9e9d3;font-family:"Courier New",monospace}
.fx-console>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:48px;box-sizing:border-box;cursor:pointer;padding:12px 16px;border:1px solid #83eeb36e;background:#07170ff5;box-shadow:0 6px 28px #0008,inset 0 0 22px #64ffaa0c;font-size:10px;letter-spacing:.12em;user-select:none}
.fx-console>summary::-webkit-details-marker{display:none}
.fx-console>summary .fx-icon{font-size:22px;color:#95ffc0;line-height:1}
.fx-console>summary i{width:5px;height:5px;border-radius:50%;background:#98ffc1;box-shadow:0 0 12px #80ffb0}
.fx-console[data-signal=off]>summary i{background:#829087;box-shadow:none}
.fx-console[open]>summary{border-color:#a7ffcb;background:#122d1f}
.fx-console>summary:focus-visible,.fx-console button:focus-visible{outline:2px solid #c9ffdd;outline-offset:3px}
.fx-panel{position:absolute;bottom:61px;left:0;width:360px;max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;border:1px solid #88edb477;background:linear-gradient(120deg,#123121ee,#07140ff5 40%,#07100bf8);box-shadow:18px 18px 65px #000a,inset 0 0 55px #56ff9e08;backdrop-filter:blur(14px);scrollbar-width:thin;scrollbar-color:#42785a #08150e}
.fx-panel-head{position:relative;min-height:135px;overflow:hidden;padding:23px 22px 17px;border-bottom:1px solid #8bf4b52b;background:repeating-linear-gradient(0deg,transparent,transparent 4px,#73ffb004 5px)}
.fx-panel-head small{font-size:8px;letter-spacing:.16em;color:#87b99a}
.fx-panel-head h2{font:400 28px/1.04 Arial,sans-serif;letter-spacing:-.06em;margin:19px 0 0;color:#e0f4e7;position:relative;z-index:1}
.fx-panel-head h2 em{font-style:normal;color:#8fffba}
.fx-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#bce8cb;cursor:pointer;min-width:36px;min-height:36px;font:24px monospace;z-index:3}
.fx-orbit{position:absolute;right:32px;top:50px;width:83px;height:83px;border:1px solid #7dfcac52;border-radius:50%;transform:rotateX(24deg) rotateZ(-20deg);color:#9bf6b8;opacity:.65}
.fx-orbit:before,.fx-orbit:after{content:"";position:absolute;inset:8px;border:1px dashed #91ffc47a;border-radius:50%}
.fx-orbit:after{inset:-10px;border-style:solid;border-color:transparent #8affb68a;animation:fx-orbit 16s linear infinite}
.fx-orbit i{position:absolute;inset:24px -12px;border:1px solid #70d99488;transform:rotate(45deg)}
.fx-orbit b{position:absolute;inset:0;display:grid;place-items:center;font:20px monospace}
@keyframes fx-orbit{to{transform:rotate(360deg)}}
.motion-paused .fx-orbit:after{animation-play-state:paused}
.fx-telemetry{display:flex;justify-content:space-between;gap:8px;padding:10px 22px;color:#78a98b;font-size:8px;letter-spacing:.07em;background:#020b0655}
.fx-status{color:#97f6ba}
.fx-master{display:flex;align-items:center;justify-content:space-between;margin:17px 22px 14px;padding:0 0 15px;border-bottom:1px solid #80f4a928;cursor:pointer;font:16px Arial,sans-serif}
.fx-master small{display:block;margin-top:5px;font:9px monospace;color:#8aa997}
.fx-master input{position:absolute;right:22px;width:44px;height:26px;opacity:0;cursor:pointer}
.fx-master>i{display:block;width:44px;height:26px;box-sizing:border-box;border:1px solid #6b947b;background:#12271b;pointer-events:none}
.fx-master>i:before{content:"";display:block;width:16px;height:16px;margin:4px;background:#74897c;transition:transform .2s,background .2s}
.fx-master input:checked+i{border-color:#88ffb8}
.fx-master input:checked+i:before{transform:translateX(18px);background:#a0ffbf;box-shadow:0 0 12px #8affb955}
.fx-master:focus-within{outline:1px solid #afffd0;outline-offset:5px}
.fx-profiles{display:flex;gap:6px;margin:0 22px 17px}
.fx-profiles button{flex:1;padding:9px 4px;border:1px solid #80f4a933;background:#092015;color:#a9d8b9;font:9px monospace;cursor:pointer}
.fx-profiles button[aria-pressed=true]{background:#95f7b6;color:#08200e;border-color:#95f7b6}
.fx-channel{border:0;margin:0 22px 17px;padding:0;min-width:0}
.fx-channel legend{padding:0;color:#d2efdd;font:12px Arial,sans-serif}
.fx-channel legend b{font:9px monospace;margin-right:9px;color:#7cf1a6}
.fx-channel p{margin:5px 0 9px;color:#84a991;font:9px/1.5 monospace}
.fx-segments{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.fx-segments label{position:relative;cursor:pointer;min-width:0}
.fx-segments input{position:absolute;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.fx-segments span{display:grid;place-items:center;min-height:35px;border:1px solid #7ddfa438;background:#091a11;color:#92bca2;font:9px monospace;letter-spacing:.06em}
.fx-segments input:checked+span{border-color:#a7ffcc;color:#deffeb;background:linear-gradient(135deg,#225036,#12291c);box-shadow:inset 0 -2px #a1ffc6}
.fx-segments input[value="3"]:checked+span{background:#b1ffd0;color:#082615;box-shadow:0 0 17px #80f4a91c}
.fx-segments input:focus-visible+span{outline:2px solid #d3ffe4;outline-offset:2px}
.fx-aux{border-block:1px solid #80f4a922;margin:0 22px;padding:10px 0}
.fx-aux label{display:flex;align-items:center;gap:9px;min-height:33px;font-size:10px;cursor:pointer}
.fx-aux input{width:15px;height:15px;accent-color:#91ffb6}
.fx-aux i{margin-left:auto;width:3px;height:3px;background:#365c44}
.fx-aux input:checked~i{background:#8bffb2;box-shadow:0 0 6px #91ffb5}
.fx-actions{display:flex;gap:8px;margin:14px 22px}
.fx-actions button{flex:1;border:1px solid #80f4a938;background:transparent;color:#b2d9bf;padding:10px 5px;font:9px monospace;cursor:pointer}
.fx-panel footer{display:flex;justify-content:space-between;gap:8px;padding:11px 22px;padding-bottom:11px!important;margin:0;border-top:1px solid #80f4a91e;font:8px/1.5 monospace;color:#6b967c}
.fx-panel .fx-reduced{margin:12px 22px;font:10px/1.6 monospace;color:#acd5b8}
.fx-effects-off #code-rain,.fx-effects-off #dataflow,.fx-effects-off #signal-particles,.fx-effects-off .mouse-light,.fx-effects-off .pointer-hud,.fx-effects-off .hud-pings,.fx-hud-off .mouse-light,.fx-hud-off .pointer-hud,.fx-hud-off .hud-pings,.fx-data-off #dataflow{display:none!important}
body:has(.fx-console:hover) .pointer-hud{opacity:0}
@media(max-width:700px){.fx-console{left:12px;bottom:max(12px,env(safe-area-inset-bottom))}.fx-console>summary{min-height:44px;padding:10px 13px;font-size:9px}.fx-panel{width:min(350px,calc(100vw - 40px));bottom:55px;max-height:calc(100dvh - 84px)}.fx-panel-head{min-height:115px;padding-top:17px}.fx-panel-head h2{font-size:26px}.fx-panel footer{flex-direction:row;align-items:center}.fx-segments span{min-height:40px}}
@media(prefers-reduced-motion:reduce){.fx-orbit:after{animation:none}.fx-master>i:before{transition:none}}

