:root{
  --bg1:#1b2a3a;
  --bg2:#0f1720;
  --card1:#2b3f55;
  --card2:#1c2a3a;

  --text:#ffffff;
  --muted:rgba(255,255,255,0.75);

  --border:rgba(255,255,255,0.14);
  --border-strong:rgba(255,255,255,0.22);

  --shadow:0 8px 20px rgba(0,0,0,0.35);
  --shadow-hover:0 14px 28px rgba(0,0,0,0.45);

  --accent:#4f86f7;
  --accent2:#2f6df5;

  --input-bg:rgba(0,0,0,0.22);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

@supports (overflow: clip){
  html, body{ overflow-x:clip; }
}

body{
  margin:0;
  font-family:"Segoe UI", Roboto, Arial, sans-serif;
  background:radial-gradient(circle at top, var(--bg1), var(--bg2));
  color:var(--text);
}

a{ color:rgba(255,255,255,0.92); text-decoration:none; }
a:hover{ text-decoration:underline; }

header{
  background:linear-gradient(135deg, var(--card1), var(--card2));
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow);
}

.title-row{ flex-wrap:wrap; }

.logo{ height:42px; width:auto; }

.container{
  max-width:1100px;
  margin:0 auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

h1{
  text-align:center;
  margin:22px 0 10px;
  padding:0 14px;
  font-size:2.05rem;
  font-weight:750;
  letter-spacing:0.5px;
}

label{
  display:block;
  margin-top:10px;
  font-weight:900;
}

input, select, textarea{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--input-bg);
  color:var(--text);
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);
}

select{
  appearance:auto;
  color-scheme:dark;
}

/* FIX: dropdown option text visibility */
select option{
  background:#0f1720;
  color:#ffffff;
}

input:focus, select:focus, textarea:focus{
  border-color:rgba(79,134,247,0.8);
  box-shadow:0 0 0 3px rgba(79,134,247,0.25), inset 0 0 0 1px rgba(0,0,0,0.08);
}

.node{
  display:flex;
  flex-direction:column;
  padding:14px;
  background:linear-gradient(135deg, var(--card1), var(--card2));
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.node:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-hover);
  border-color:var(--border-strong);
}

.node-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.node-name{ font-weight:900; }
.node-tgs{ color:var(--muted); }
.node-time p{ margin:6px 0 0; color:var(--muted); font-size:0.95rem; }

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.86rem;
  font-weight:900;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(0,0,0,0.18);
}

.btn,
button,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  color:var(--text);
  background:linear-gradient(135deg, rgba(79,134,247,0.95), rgba(47,109,245,0.95));
  box-shadow:0 10px 22px rgba(0,0,0,0.35);
  cursor:pointer;
  font-weight:950;
  letter-spacing:0.2px;
  transition:transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,0.45);
  filter:brightness(1.05);
}

.btn.secondary{
  background:linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  border-color:rgba(255,255,255,0.18);
}

.info-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.06);
  box-shadow:var(--shadow);
  font-weight:900;
  text-decoration:none;
}

footer{
  text-align:center;
  padding:18px 10px;
  margin-top:20px;
  color:rgba(255,255,255,0.68);
  border-top:1px solid rgba(255,255,255,0.12);
  background:transparent;
  font-size:0.95rem;
}

@media (max-width:768px){
  .container{ padding:12px; }
  h1{ font-size:1.65rem; }
  .logo{ height:36px; }
  .btn, button, input[type="submit"], .info-link{ width:100%; }
}
