/* public/styles.css */
:root{
  --bg: #03060d;
  --panel: #0b1324;
  --ink: #eaf1ff;
  --muted: #a6b7ff;
  --line: #151f35;
  --accent-1: #7c4dff;
  --accent-2: #00e5ff;
  --glow: 0 0 40px rgba(124,77,255,.25), 0 0 60px rgba(0,229,255,.12);
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0; color:var(--ink); background: radial-gradient(1200px 800px at 20% -10%, #0b1022, transparent), radial-gradient(1000px 700px at 120% 20%, #041a2e, transparent), var(--bg);
  background-attachment: fixed;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
  letter-spacing:.2px;
}
.frame{ min-height:100%; display:flex; flex-direction:column; }
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px; border-bottom:1px solid var(--line); backdrop-filter: blur(10px);
  background: linear-gradient( to right, rgba(10,18,36,.65), rgba(5,10,20,.35) );
  position: sticky; top:0; z-index:10;
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.4px; }
.logo{ width:22px; height:22px; border-radius:7px; background:linear-gradient(135deg,var(--accent-1),var(--accent-2)); box-shadow: var(--glow); display:grid; place-items:center; }
.logo .dot{ width:6px; height:6px; border-radius:999px; background:white; opacity:.9; }
.title{ font-size:16px; color:var(--ink); }
.title .accent{ color:var(--accent-2); }
.meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.chip{
  border:1px solid var(--line); padding:8px 10px; border-radius:10px; background: rgba(14,23,45,.45);
  color:var(--muted); font-size:12px;
}
select{
  appearance:none; background: rgba(14,23,45,.7);
  color:var(--ink); border:1px solid var(--line); border-radius:10px; padding:8px 12px; font-size:13px;
}

.hero{ width:100%; max-width:1100px; margin:60px auto; padding:0 22px; text-align:center; }
.headline{
  margin:0 0 10px;
  font-weight:800; font-size:clamp(28px,6vw,56px);
  background: linear-gradient(90deg,var(--ink),#a7b7ff); -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow: 0 10px 60px rgba(0,229,255,.15);
}
.sub{ margin:0 0 26px; color:var(--muted) }

.grid{
  display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:18px; margin:20px auto 26px;
}
@media (max-width:800px){ .grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.cell{
  position:relative; padding:22px 18px; border-radius:16px;
  background: radial-gradient(100% 180% at 0% 0%, rgba(124,77,255,.20), rgba(0,0,0,0) 40%),
             radial-gradient(100% 160% at 100% 0%, rgba(0,229,255,.16), rgba(0,0,0,0) 40%),
             linear-gradient(180deg, rgba(15,26,47,.75), rgba(10,18,36,.65));
  border: 1px solid rgba(94,135,255,.18);
  box-shadow: var(--glow), inset 0 0 0 1px rgba(255,255,255,.02);
}
.value{
  font-weight:900; letter-spacing:.5px;
  font-size: clamp(34px, 7vw, 76px);
  line-height:1; color:#f3f6ff;
  text-shadow: 0 0 30px rgba(124,77,255,.25), 0 0 26px rgba(0,229,255,.15);
}
.label{ margin-top:8px; color:var(--muted); text-transform:uppercase; letter-spacing:.4px; font-size:12px }

.info .bar{
  margin: 10px auto 0; max-width:760px; display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  color:var(--muted);
  border:1px solid var(--line); border-radius:14px; padding:12px 14px; background: rgba(12,20,38,.45);
}
.info a{ color:#a9c8ff; text-decoration: none; border-bottom:1px dashed rgba(169,200,255,.35); }
.success{
  margin:16px auto 0; max-width:760px; padding:14px 16px; border-radius:14px;
  border:1px solid rgba(0,229,255,.25);
  background: linear-gradient(180deg, rgba(0,229,255,.10), rgba(124,77,255,.10));
  color:#dff8ff; text-align:center; letter-spacing:.3px; box-shadow: var(--glow);
}

/* Fireworks canvas sits behind UI */
#fx{ position:fixed; inset:0; pointer-events:none; z-index:0; display:none; }
