:root{--cy:#6fe4ff;--am:#ffd88a;--bg:#03040a;--line:#6fe4ff47;--fc:#6fe4ff;--fs:#ffd88a;--bad:#ff6b6b;--ok:#8ef2b0;--pane:#060d1670;--pane-hi:#0914209e;--ink:#bcd6e4;--cond:"Bahnschrift Condensed", "Bahnschrift SemiCondensed", "DIN Condensed", "Arial Narrow", "Roboto Condensed", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}body{font:12px/1.4 var(--cond);color:var(--ink);-webkit-font-smoothing:antialiased;user-select:none;cursor:crosshair}#app{position:fixed;inset:0}#viewport{width:100%;height:100%;display:block}#ui-root{pointer-events:none;position:absolute;inset:0}#ui-root>*{pointer-events:auto}#ui-canvas{pointer-events:none;z-index:5;position:absolute;inset:0}#boot{text-align:center;z-index:50;background:radial-gradient(at 50% 40%,#0a1420,#03040a 70%);place-content:center;gap:14px;transition:opacity .6s;display:grid;position:absolute;inset:0}#boot.done{opacity:0;pointer-events:none}.boot-title{letter-spacing:.5em;color:var(--cy);text-shadow:0 0 26px #6fe4ff8c;font-size:34px}.boot-sub{letter-spacing:.3em;text-transform:uppercase;opacity:.6}.boot-bar{background:#ffffff1a;width:260px;height:2px;margin:0 auto}.boot-bar i{background:var(--cy);width:30%;height:100%;animation:1.1s ease-in-out infinite sweep;display:block}@keyframes sweep{0%{margin-left:-30%}to{margin-left:100%}}#boot.error{background:#180608}#boot.error .boot-title{color:#ff8080;text-shadow:none}.boot-err{text-align:left;color:#ffb3b3;background:#0006;border:1px solid #57202a;max-width:70vw;max-height:50vh;padding:12px;font:11px/1.5 ui-monospace,monospace;overflow:auto}#hud{pointer-events:none;z-index:10;text-transform:uppercase;letter-spacing:.13em;position:absolute;inset:0}#hud>*{pointer-events:auto}.pane{background:var(--pane);border:1px solid color-mix(in srgb, var(--fc) 20%, transparent);backdrop-filter:blur(3px)saturate(.85);position:absolute}.pane:before,.pane:after{content:"";pointer-events:none;opacity:.75;width:9px;height:9px;position:absolute}.pane:before{border-left:1px solid var(--fc);border-top:1px solid var(--fc);top:-1px;left:-1px}.pane:after{border-right:1px solid var(--fc);border-bottom:1px solid var(--fc);bottom:-1px;right:-1px}.pane-hd{letter-spacing:.22em;color:color-mix(in srgb, var(--fc) 72%, #fff 0%);border-bottom:1px solid color-mix(in srgb, var(--fc) 16%, transparent);background:linear-gradient(to right, color-mix(in srgb, var(--fc) 9%, transparent), transparent 65%);align-items:center;gap:8px;padding:5px 9px 4px;font-size:9px;display:flex}.pane-hd em{opacity:.5;font-style:normal}.pane-hd .ru{color:var(--fs);opacity:.85;margin-left:auto}.pane-ft{letter-spacing:.16em;opacity:.42;border-top:1px solid color-mix(in srgb, var(--fc) 12%, transparent);gap:12px;padding:4px 9px;font-size:9px;display:flex}.pane-ft em,.hints em,.cbtn em,.ind em{border:1px solid color-mix(in srgb, var(--fc) 34%, transparent);color:var(--fc);margin-right:4px;padding:0 3px;font-size:8px;font-style:normal;line-height:12px;display:inline-block}.empty{letter-spacing:.2em;opacity:.3;padding:10px 9px;font-size:9px}.pane.top{border:0;border-bottom:1px solid color-mix(in srgb, var(--fc) 22%, transparent);backdrop-filter:none;background:linear-gradient(#040910e0,#04091080);align-items:stretch;height:30px;display:flex;top:0;left:0;right:0}.pane.top:before,.pane.top:after{display:none}.pane.top .tag{letter-spacing:.34em;color:var(--fc);border-right:1px solid color-mix(in srgb, var(--fc) 14%, transparent);background:color-mix(in srgb, var(--fc) 7%, transparent);align-items:center;padding:0 14px;font-size:11px;font-style:normal;display:flex}.grp{border-right:1px solid color-mix(in srgb, var(--fc) 10%, transparent);align-self:center;align-items:baseline;gap:6px;padding:0 13px;display:flex}.grp .lbl{letter-spacing:.2em;opacity:.42;font-size:8px;font-weight:400}.grp .val{letter-spacing:.06em;color:#dff1fb;font-variant-numeric:tabular-nums;font-size:13px}.grp.ru .val{color:var(--fs)}.grp.warn .val{color:var(--bad)}.delta{letter-spacing:.1em;min-width:26px;font-size:9px}.delta.up{color:var(--ok)}.delta.dn{color:var(--bad)}.delta.rate{color:var(--ink);opacity:.45}.sp{flex:1}.perf{border-right:0}.perf .val{letter-spacing:.11em;opacity:.45;color:var(--ink);font-size:9px}.hints{border-right:0;gap:9px;padding-right:14px;display:flex}.hints span{letter-spacing:.16em;opacity:.5;font-size:8px}.pane.top.paused{border-bottom-color:color-mix(in srgb, var(--fs) 55%, transparent)}.pane.roster{flex-direction:column;width:244px;max-height:46vh;display:flex;bottom:14px;left:14px}.roster .rows{padding:4px 0;overflow-y:auto}.roster .row{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;letter-spacing:.16em;background:0 0;border:0;grid-template-rows:auto 3px;grid-template-columns:32px 1fr auto;align-items:center;gap:3px 8px;padding:4px 9px;display:grid}.roster .row:hover{background:var(--pane-hi)}.roster .row .ico{opacity:.9;background:50%/contain no-repeat;grid-row:1/3;width:32px;height:24px}.roster .row .nm{font-size:10px}.roster .row .ct{color:var(--fc);font-variant-numeric:tabular-nums;font-size:11px}.meter{background:#ffffff12;grid-column:2/4;height:3px;position:relative;overflow:hidden}.meter i{background:var(--fc);height:2px;position:absolute;top:0;left:0}.meter i.sh{background:#96dcffcc;height:1px;top:2px}.meter:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 6px,#060d16f2 6px 7px);position:absolute;inset:0}.roster .row.hurt .hp{background:var(--fs)}.roster .row.crit .hp{background:var(--bad)}.pane.cmd{width:256px;padding-bottom:6px;bottom:14px;right:14px}.cmd .ind{border:0;border-bottom:1px solid color-mix(in srgb, var(--fc) 10%, transparent);width:100%;font:inherit;color:inherit;cursor:pointer;letter-spacing:.18em;text-align:left;background:0 0;align-items:center;gap:8px;padding:6px 9px;display:flex}.cmd .ind:hover{background:var(--pane-hi)}.cmd .ind b{opacity:.42;font-size:8px;font-weight:400}.cmd .ind span{color:var(--fc);font-size:11px}.cmd .ind em{margin-left:auto;margin-right:0}.cmd .ind.off span{color:var(--ink);opacity:.3}.pal{grid-template-columns:repeat(3,1fr);gap:1px;padding:6px 6px 0;display:grid}.cbtn{font:inherit;color:inherit;cursor:pointer;letter-spacing:.14em;opacity:.28;background:#ffffff05;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:5px 2px;font-size:9px;display:flex}.cbtn em{opacity:.8;margin:0}.cbtn.on{opacity:1;border-color:color-mix(in srgb, var(--fc) 26%, transparent)}.cbtn.on:hover{background:color-mix(in srgb, var(--fc) 12%, transparent)}.pane.dock{width:226px;top:46px;right:14px}.pane.dock.hide{display:none}.dock .qrows{padding:4px 0}.qrow{grid-template-rows:auto 2px;grid-template-columns:26px 1fr auto;align-items:center;gap:3px 8px;padding:4px 9px;display:grid}.qrow .ico{opacity:.85;background:50%/contain no-repeat;grid-row:1/3;width:26px;height:20px}.qrow .nm{letter-spacing:.16em;font-size:9px}.qrow .eta{color:var(--fs);font-variant-numeric:tabular-nums;opacity:.8;font-size:9px}.qrow .bar{background:#ffffff14;grid-column:2/4;height:2px;position:relative}.qrow .bar i{background:var(--fc);transition:width .16s linear;position:absolute;inset:0 auto 0 0}.qrow.waiting{opacity:.5}.qrow.waiting .eta{color:var(--ink)}.feed{pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;width:max-content;display:flex;position:absolute;bottom:122px;left:50%;transform:translate(-50%)}.fr{letter-spacing:.2em;border-left:2px solid var(--fc);background:#04090f8c;align-items:center;gap:7px;padding:3px 12px 3px 9px;font-size:10px;transition:opacity 1.1s linear;animation:.16s ease-out fr-in;display:flex}.fr i{background:var(--fc);width:3px;height:3px}.fr.bad{border-left-color:var(--bad);color:#ffcaca}.fr.bad i{background:var(--bad)}.fr.ok{border-left-color:var(--ok)}.fr.ok i{background:var(--ok)}.fr.hint{border-left-color:var(--fs);color:#ffe8c2}.fr.hint i{background:var(--fs)}.fr.out{opacity:0}@keyframes fr-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pane.build{z-index:20;background:#050b13e6;flex-direction:column;width:min(680px,92vw);max-height:72vh;display:flex;top:54px;left:50%;transform:translate(-50%)}.pane.build.in{animation:.14s ease-out bm-in}@keyframes bm-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)}}.blist{overflow-y:auto}.bgrp{letter-spacing:.28em;color:var(--fc);opacity:.5;border-bottom:1px solid color-mix(in srgb, var(--fc) 10%, transparent);background:color-mix(in srgb, var(--fc) 5%, transparent);backdrop-filter:blur(3px);padding:6px 10px 3px;font-size:8px;position:sticky;top:0}.bitem{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff0a;grid-template-columns:46px 1fr auto 92px;align-items:center;gap:10px;padding:6px 10px;display:grid}.bitem:hover{background:var(--pane-hi)}.bitem .ico{background:50%/contain no-repeat;width:46px;height:30px}.bitem .col{flex-direction:column;gap:2px;min-width:0;display:flex}.bitem .nm{letter-spacing:.2em;font-size:11px}.bitem .ds{letter-spacing:.02em;text-transform:none;opacity:.42;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.bitem .stats{gap:12px;display:flex}.bitem .stats span{letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:10px}.bitem .stats b{opacity:.4;margin-right:4px;font-size:8px;font-weight:400}.bitem .flag{letter-spacing:.14em;color:var(--bad);text-align:right;font-size:8px}.bitem.cur{background:color-mix(in srgb, var(--fc) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fc) 45%, transparent)}.bitem.poor,.bitem.capped{cursor:not-allowed}.bitem.poor .nm,.bitem.poor .stats,.bitem.capped .nm,.bitem.capped .stats,.bitem.poor .ico,.bitem.capped .ico{opacity:.34}body.sensors .pane{border-color:color-mix(in srgb, var(--fc) 26%, transparent);background:#03080e9e}body.sensors .pane.top{background:linear-gradient(#03080ecc,#03080e66)}body.sensors .feed{opacity:.85}.rows,.blist,.qrows{scrollbar-width:thin;scrollbar-color:var(--fc) transparent}.rows::-webkit-scrollbar{width:4px}.blist::-webkit-scrollbar{width:4px}.rows::-webkit-scrollbar-track{background:0 0}.blist::-webkit-scrollbar-track{background:0 0}.rows::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--fc) 35%, transparent)}.blist::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--fc) 35%, transparent)}@media (prefers-reduced-motion:reduce){.pane.build.in,.fr{animation:none}.boot-bar i{animation-duration:3s}}
