
:root{
  --bg:#080a12; --bg2:#0a0e18; --fg:#eaf2ff; --muted:#a3b1d7;
  --glass:rgba(255,255,255,.06); --border:rgba(255,255,255,.12);
  --accent:#3b82f6; --accent2:#22d3ee; --accent3:#f59e0b;
  --shadow:0 15px 40px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
*{box-sizing:border-box}
html,body{
  margin:0;
  background:
    radial-gradient(1200px 600px at -10% -10%, rgba(59,130,246,.18), transparent 60%),
    radial-gradient(900px 400px at 110% 10%, rgba(34,211,238,.14), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--fg);
  font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.65
}
a{color:#9cc9ff;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:28px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.header,.footer{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 22px;border-bottom:1px solid var(--border)
}
.footer{border-top:1px solid var(--border);border-bottom:none;font-size:12px;color:var(--muted);background:transparent}
.section{padding:22px 24px}
.grid2{display:grid;grid-template-columns:1fr;gap:18px}
.grid3{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:860px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr 1fr}}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--glass);color:#cfe0ff;font-size:12px}
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;
  background:linear-gradient(180deg, rgba(59,130,246,.45), rgba(34,211,238,.32));
  color:#fff; cursor:pointer; box-shadow:var(--shadow); transition:transform .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-1px); filter:brightness(1.06)}
.title{font-weight:800;font-size:26px;letter-spacing:.02em}
.sub{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.hero{
  position:relative; height:110px; padding:12px 0;
  background:radial-gradient(ellipse at center, rgba(59,130,246,.18), transparent 60%),
             radial-gradient(ellipse at 70% 30%, rgba(34,211,238,.12), transparent 60%);
  border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#e2eeff; letter-spacing:.16em; font-size:20px;
}
.small{font-size:12px;color:var(--muted)}
.input{display:flex;gap:10px;flex-wrap:wrap}
input[type=url],input[type=text],textarea{
  flex:1;min-width:260px;background:rgba(7,9,16,.85);border:1px solid var(--border);color:var(--fg);
  border-radius:14px;padding:12px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)
}
pre{white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,Consolas,monospace;
  background:rgba(7,9,16,.75);border:1px solid var(--border);border-radius:14px;padding:12px;color:#dbeafe}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px;font-size:14px}
.tag{display:inline-block;margin:4px 8px 0 0;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--glass);color:#d6e0ff;font-size:12px}
nav{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 14px}
nav a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--glass)}
.toolcard{position:relative;overflow:hidden}
.toolcard:hover{outline:1px solid rgba(59,130,246,.35)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-top:1px solid var(--border);font-size:13px}
.footerlinks a{color:#cddcff}
@keyframes pulsekey{0%{box-shadow:0 0 0 0 rgba(59,130,246,.5)}70%{box-shadow:0 0 0 14px rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}
.btn.primary{background:linear-gradient(180deg, rgba(59,130,246,.6), rgba(34,211,238,.5)); animation:pulsekey 2.2s infinite}
/* Tool pages compact (above the fold) */
body.is-tool .hero{height:90px;padding:8px 0;font-size:18px}
body.is-tool .header{padding:20px}
body.is-tool .section{padding:20px}
