/* Simulator-specific overrides -- uses shared/simulator-theme.css */

/* Hybrid UV+EC accent colors */
:root{ --uv:#b388ff;--ec:#ffc107;--hy:#00e676;--hy2:#00c853; }

/* Grid layout */
#main{display:grid;grid-template-columns:240px 1fr 245px;gap:4px;padding:4px;height:calc(100vh - 43px);}

/* Hybrid accent theming */
#header{border-bottom-color:var(--hy2);}
.htitle{color:var(--hy);}
.hbadge{background:rgba(0,230,118,.07);border-color:var(--hy);color:var(--hy);}
.ph{color:var(--hy);}
.phdot.uv{background:var(--uv);}
.phdot.ec{background:var(--ec);}
.phdot.hy{background:var(--hy);}

/* Hybrid-specific keyframes */
@keyframes uvglow{0%,100%{box-shadow:0 0 6px rgba(179,136,255,.3)}50%{box-shadow:0 0 18px rgba(179,136,255,.7)}}
@keyframes ecglow{0%,100%{box-shadow:0 0 6px rgba(255,193,7,.3)}50%{box-shadow:0 0 18px rgba(255,193,7,.7)}}
@keyframes hyglow{0%,100%{box-shadow:0 0 6px rgba(0,230,118,.3)}50%{box-shadow:0 0 20px rgba(0,230,118,.8)}}

/* Gauge bar hybrid accents */
.g-bar.uv{background:var(--uv);}
.g-bar.ec{background:var(--ec);}
.g-bar.hy{background:var(--hy);}

/* Status block hybrid variants */
.status-block{border:1px solid var(--b1);border-radius:3px;padding:6px 8px;margin-bottom:5px;}
.status-block.uv{border-color:rgba(179,136,255,.5);background:rgba(179,136,255,.04);animation:uvglow 2.5s infinite;}
.status-block.ec{border-color:rgba(255,193,7,.5);background:rgba(255,193,7,.04);animation:ecglow 2.5s infinite;}
.status-block.hy{border-color:rgba(0,230,118,.5);background:rgba(0,230,118,.04);animation:hyglow 2.5s infinite;}

/* Sub-block layout */
.sb-title{font-size:9px;font-family:var(--font-mono);letter-spacing:.5px;margin-bottom:4px;display:flex;justify-content:space-between;}
.sb-val{font-family:var(--font-mono);}
.sb-sub{font-size:9px;color:var(--muted);margin-top:2px;}
.sb-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:4px;}
.sb-item .lbl{font-size:9px;color:var(--muted);}
.sb-item .val{font-family:var(--font-mono);font-size:11px;color:var(--white);}

/* Hybrid-specific button states */
.cb-btn.uv-on{background:rgba(179,136,255,.15);border-color:var(--uv);color:var(--uv);animation:uvglow 2s infinite;}
.cb-btn.ec-on{background:rgba(255,193,7,.15);border-color:var(--ec);color:var(--ec);animation:ecglow 2s infinite;}
.btn-bal{background:rgba(68,138,255,.1);border-color:#448aff;color:#448aff;}
.btn-bal:hover,.btn-bal.active{background:rgba(68,138,255,.25);}
.btn-deb{background:rgba(0,188,212,.1);border-color:#00bcd4;color:#00bcd4;}
.btn-deb:hover,.btn-deb.active{background:rgba(0,188,212,.25);}
.btn-stp{background:rgba(255,68,68,.1);border-color:var(--red);color:var(--red);}
.btn-stp:hover{background:rgba(255,68,68,.25);}
.btn-uv{background:rgba(179,136,255,.1);border-color:var(--uv);color:var(--uv);}
.btn-uv:hover,.btn-uv.active{background:rgba(179,136,255,.25);}
.btn-ec{background:rgba(255,193,7,.1);border-color:var(--ec);color:var(--ec);}
.btn-ec:hover,.btn-ec.active{background:rgba(255,193,7,.25);}
.btn-neut{background:rgba(0,188,212,.08);border-color:#00bcd4;color:#00bcd4;}
.btn-neut:hover,.btn-neut.active{background:rgba(0,188,212,.2);}

/* Tank hybrid accents */
.tank-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:5px;}
.tank-box{border:1px solid var(--b2);border-radius:3px;padding:4px;background:rgba(255,255,255,.02);}
.tank-box.sel{border-color:var(--hy);}
.tank-box.filling{border-color:#448aff;}
.tank-box.dischg{border-color:#00bcd4;}
.tank-name{font-size:9px;font-family:var(--font-mono);color:var(--hy);margin-bottom:2px;}
.tank-bar{height:28px;background:rgba(255,255,255,.04);border-radius:2px;border:1px solid var(--b1);position:relative;overflow:hidden;}
.tank-fill{position:absolute;bottom:0;left:0;right:0;background:rgba(0,230,118,.15);border-top:1px solid var(--hy);transition:height .8s;}
.tank-fill.treated{background:rgba(0,230,118,.3);border-top-color:var(--hy);}
.tank-pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:10px;text-shadow:0 0 4px #000;}
.tank-meta{font-size:9px;color:var(--muted);}

/* Mode buttons */
.mode-btn.active-uv{border-color:var(--uv);color:var(--uv);background:rgba(179,136,255,.1);}
.mode-btn.active-ec{border-color:var(--ec);color:var(--ec);background:rgba(255,193,7,.1);}
.mode-btn.active-hy{border-color:var(--hy);color:var(--hy);background:rgba(0,230,118,.1);}

/* Tab hybrid accent */
.tab-btn.active{border-color:var(--hy);color:var(--hy);background:rgba(0,230,118,.06);}

/* D-2 compliance */
.d2-table{width:100%;border-collapse:collapse;font-size:9px;font-family:var(--font-mono);}
.d2-table th{padding:3px 5px;color:var(--muted);text-align:left;border-bottom:1px solid var(--b1);}
.d2-table td{padding:3px 5px;border-bottom:1px solid rgba(255,255,255,.04);}
.d2-pass{color:var(--green);}
.d2-fail{color:var(--red);animation:blink .8s infinite;}

/* Log item variants */
.log-item.op{color:#00bcd4;}
.log-item.alert{color:var(--amber);}
