/* ---------- панели ---------- */
.panel{position:fixed;top:calc(var(--th) + 8px);bottom:8px;width:var(--pw);background:var(--pn);
  border:1px solid var(--bd);border-radius:10px;display:flex;flex-direction:column;z-index:4;
  backdrop-filter:blur(5px);transition:transform .2s;box-shadow:0 8px 30px rgba(0,0,0,.45)}
#left{left:8px}#right{right:8px}
#left.col{transform:translateX(calc(-100% - 10px))}
#right.col{transform:translateX(calc(100% + 10px))}
.colbtn{position:absolute;top:50%;width:19px;height:56px;margin-top:-28px;background:var(--pn);
  border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--mu);z-index:2}
.colbtn:hover{color:var(--ac)}
#left .colbtn{right:-20px;border-radius:0 6px 6px 0;border-left:0}
#right .colbtn{left:-20px;border-radius:6px 0 0 6px;border-right:0}
#left.col .colbtn{right:-30px}#right.col .colbtn{left:-30px}
.tabs{display:flex;border-bottom:1px solid var(--bd);flex:none}
.tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:.62em .2em;
  cursor:pointer;color:var(--mu);font-weight:600;position:relative;font-size:.96em}
.tabs button:hover{color:var(--tx)}
.tabs button.on{color:var(--tx);border-bottom-color:var(--ac)}
.tabs button i{font-style:normal;background:var(--rd);color:#fff;border-radius:8px;padding:0 .4em;font-size:.74em;margin-left:.3em}
.pc{flex:1;overflow-y:auto;overflow-x:hidden;padding:.6em;min-height:0;overscroll-behavior:contain}
.pc::-webkit-scrollbar{width:7px}
.pc::-webkit-scrollbar-thumb{background:#294050;border-radius:4px}
.pc::-webkit-scrollbar-track{background:transparent}

/* ---------- эфир ---------- */
.log .ln{padding:.32em 0;border-bottom:1px solid #15212b;line-height:1.38;word-wrap:break-word}
.log .tm{color:var(--mu);font:.86em ui-monospace,Consolas,monospace;margin-right:.45em}
.log .who{color:var(--bl);font-weight:600;cursor:pointer}
.log .who.hqw{color:var(--ac);cursor:default}
.ln.w{color:#ffb7a8}.ln.g{color:#b8f0c8}.ln.q{color:#ffe1a0}.ln.m{color:var(--mu)}
.ln.hq{color:#e8eef2}
.ln.crit{color:#fff;background:#4e0f18;padding:.4em .5em;border-radius:5px;border:0;margin:.2em 0;font-weight:600}
.gr{display:inline-block;font:600 .78em ui-monospace,monospace;border:1px solid #3a4c5a;border-radius:3px;
  padding:0 .3em;margin-right:.4em;color:var(--mu);cursor:help}

/* ---------- запросы расчётов ---------- */
.req{border:1px solid #6b5220;border-left:4px solid var(--ac);background:#1b1710;border-radius:6px;
  padding:.6em;margin-bottom:.6em;animation:pulse2 2.2s infinite}
@keyframes pulse2{50%{border-color:#a07a2a}}
.req .rb{display:flex;flex-wrap:wrap;gap:.35em;margin-top:.5em}
.req .rt{color:var(--mu);font-size:.85em;float:right}
.req .rqt{margin-top:.3em;line-height:1.4}
.req .who{color:var(--bl);cursor:pointer}

/* ---------- карточки ---------- */
.card h3{margin:0 0 .2em;font-size:1.14em;line-height:1.25}
.card .sub{color:var(--mu);margin-bottom:.55em;line-height:1.3}
.bar{height:6px;background:#18242e;border-radius:3px;overflow:hidden;margin:.15em 0 .5em}
.bar>div{height:100%;border-radius:3px;transition:width .3s}
.row{display:flex;justify-content:space-between;gap:.5em;padding:.1em 0;line-height:1.35}
.row.mu,.row .mu{color:var(--mu)}
.lbl{color:var(--mu);font-size:.84em;margin:.75em 0 .3em;text-transform:uppercase;letter-spacing:.06em;
  border-top:1px solid var(--bd);padding-top:.5em}
.acts{display:flex;flex-wrap:wrap;gap:.35em;margin-top:.5em}
.hint{color:var(--mu);line-height:1.5}
.hint b{color:var(--tx)}
.good{color:var(--gn)}.bad{color:var(--rd)}.ac{color:var(--ac)}.mu{color:var(--mu)}
.fl{display:flex;align-items:center;gap:.5em;padding:.4em .3em;border-bottom:1px solid #15212b;cursor:pointer;border-radius:4px}
.fl:hover{background:#15212b}
.fl .dot{width:8px;height:8px;border-radius:50%;flex:none}
.fl .nm{flex:1;min-width:0;line-height:1.3}
.fl .mu{white-space:nowrap;font-size:.9em}
.gh{color:var(--ac);font-size:.86em;text-transform:uppercase;letter-spacing:.06em;margin:.85em 0 .25em}
.shop{border:1px solid var(--bd);border-radius:7px;padding:.55em;margin-bottom:.5em;background:#0c141b}
.shop.poor{opacity:.55}
.shop.gift{border-color:#2f6b45;background:#0d1a13}
.shop .row b{font-size:1.02em}
.shop p{margin:.3em 0 .45em;color:var(--mu);line-height:1.4}
