/* style.css - HackerDash by SWC
   British English throughout. Aesthetic: gradient glow, vivid colours. */
:root{
  --bg:#05060a;
  --panel:rgba(255,255,255,0.03);
  --glass:rgba(255,255,255,0.02);
  --accent1:#7df9ff;
  --accent2:#9b59ff;
  --accent3:#ff6b6b;
  --text:#e6eef6;
  --mono: 'Courier New', Courier, monospace;
}
*{box-sizing:border-box}
html,body,#app{height:100%;margin:0;background:linear-gradient(135deg,var(--bg) 0%, #071123 100%);font-family:Inter, system-ui, -apple-system, sans-serif;color:var(--text)}
.full{display:flex;flex-direction:column;height:100vh;overflow:hidden}

/* header and footer */
.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:linear-gradient(90deg,rgba(255,255,255,0.02),rgba(255,255,255,0));backdrop-filter: blur(6px);border-bottom:1px solid rgba(255,255,255,0.03)}
.brand{font-weight:700;letter-spacing:1px}
.controls button, .controls input{margin-left:10px;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--text);font-weight:600}
.controls label{font-size:13px;margin-left:12px;opacity:0.9}

/* main grid */
.grid{flex:1;display:grid;grid-template-columns:320px 1fr 340px;gap:12px;padding:12px}
.panel{background:var(--panel);border-radius:10px;padding:12px;box-shadow:0 6px 30px rgba(0,0,0,0.6);overflow:hidden;border:1px solid rgba(255,255,255,0.02)}
.left, .right{display:flex;flex-direction:column;gap:12px}
.centre{display:flex;flex-direction:column;gap:12px}

/* widgets */
.widget{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.02)}
.widget.small{height:140px;overflow:auto}
.widget h3{margin:0 0 8px 0;font-size:13px}

/* terminal */
.terminal{background:#000000;color:#00ff99;padding:12px;border-radius:8px;height:100%;overflow:auto;font-family:var(--mono);font-size:13px;line-height:1.35;box-shadow: inset 0 0 40px rgba(0,255,153,0.02)}
.terminal .line{white-space:pre-wrap;word-break:break-word}
.warning{color:var(--accent3);font-weight:700;animation:flash 1s linear infinite}
.warn2{color:#ffd43b}
.warn3{color:#7df9ff}
@keyframes flash{0%{opacity:1}50%{opacity:0.25}100%{opacity:1}}

/* alerts */
.alerts{display:flex;flex-direction:column;gap:6px}
.alert{padding:6px;border-radius:6px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.02);font-weight:600}
.alert.red{color:var(--accent3)}
.alert.yellow{color:#ffd43b}
.alert.blue{color:#7df9ff}

/* targets and lists */
.targets{display:flex;flex-direction:column;gap:6px}
.targets .t{padding:8px;border-radius:6px;background:linear-gradient(90deg, rgba(0,0,0,0.3), rgba(255,255,255,0.01));font-family:var(--mono);font-size:13px}

/* bars */
.bars{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  justify-content:space-evenly;
}
.bar{height:12px;background:rgba(255,255,255,0.03);border-radius:6px;overflow:hidden}
.bar > i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent1),var(--accent2));box-shadow:0 0 12px rgba(123,249,255,0.12)}
.stat{font-size:13px}

/* marquee footer */
.bottombar{height:34px;background:linear-gradient(90deg, rgba(255,255,255,0.015), rgba(255,255,255,0.01));display:flex;align-items:center;padding:0 14px;border-top:1px solid rgba(255,255,255,0.02)}
.marquee{width:100%;overflow:hidden;white-space:nowrap}

/* responsive */
@media(max-width:1000px){.grid{grid-template-columns:1fr;grid-auto-rows:min-content}}
