html{min-height:100%;background:#fff}
body{min-height:100dvh;margin:0;display:flex;flex-direction:column;background:#fff;color:#111}
#main{flex:1;display:grid;place-items:center;min-height:240px;padding:32px 16px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 32% 50%,#37201866,transparent 60%),radial-gradient(ellipse at 70% 45%,#17233777,transparent 60%),#07090e;color:#fff}
#plugins-visualizer{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1;pointer-events:none;opacity:.95}
#plugins-session-status{position:relative;z-index:1;margin:0;text-align:center;font:400 16px/1.5 "Segoe UI",Arial,sans-serif;color:#fff;text-shadow:0 1px 3px #000,0 0 16px #000,0 0 32px #000}
[hidden]{display:none!important}
.site-header,.site-footer{flex-shrink:0}
.visualizer-controls{position:absolute;z-index:2;bottom:24px;left:50%;transform:translateX(-50%);width:min(260px,calc(100% - 32px));display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px 16px;border-radius:8px;background:#07090eaa;backdrop-filter:blur(8px);color:#fff;font:600 12px/1.4 "Segoe UI",Arial,sans-serif}
.visualizer-controls label{text-transform:uppercase;letter-spacing:.06em}
.visualizer-controls output{font-variant-numeric:tabular-nums}
.visualizer-controls input[type=range]{grid-column:1/-1;width:100%;margin:0;height:20px;padding:0;accent-color:#edbd78;cursor:pointer}
.visualizer-controls input[type=range]:disabled{cursor:default;opacity:.4}
.visualizer-controls{width:min(380px,calc(100% - 32px));max-height:calc(100% - 40px);overflow:auto;scrollbar-width:thin}
.visualizer-controls>details{grid-column:1/-1}
.visualizer-controls summary{cursor:pointer;padding:4px 0;color:#edbd78}
.visualizer-advanced{display:grid;gap:10px;padding-top:12px}
.control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.visualizer-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.visualizer-colors label{display:grid;gap:6px;font-size:10px}
.visualizer-colors input[type=color]{width:100%;height:28px;padding:2px;border:1px solid #ffffff40;background:transparent;cursor:pointer}
.visualizer-controls select,.visualizer-controls input[type=text]{width:100%;min-width:0;box-sizing:border-box;border:1px solid #ffffff35;border-radius:3px;background:#10121a;color:#fff;padding:6px;font:12px/1.4 Consolas,monospace}
.equation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding-top:10px}
.equation-fields>label[for],.equation-fields>input,.equation-fields>p,.equation-fields>button{grid-column:1/-1}
.equation-fields>label:not([for]){display:grid;gap:6px;font-size:10px}
.equation-help{font-weight:400;text-transform:none;color:#c9cad1;margin:4px 0;font-size:11px}
.visualizer-controls button{justify-self:end;min-width:100px;padding:6px 10px;border:1px solid #edbd78;border-radius:3px;background:#edbd78;color:#111;cursor:pointer;font:600 12px/1.4 "Segoe UI",sans-serif}
#visualizer-feedback{margin:0;color:#dedee6;font-weight:400;overflow-wrap:anywhere}
#visualizer-feedback:empty{display:none}
.layer-actions{display:flex;gap:8px;justify-content:flex-end}
.visualizer-controls button:disabled{opacity:.4;cursor:default}
