:root{
  --bg: #0a0e13;
  --panel: #10161d;
  --panel-2: #141c25;
  --line: #22303c;
  --amber: #ffb020;
  --amber-dim: #8a5f16;
  --teal: #3ee0c8;
  --teal-dim: #1c6e63;
  --text: #e7ecf1;
  --text-dim: #8296a6;
  --red: #ff5d5d;
  --good: #57e08c;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background: radial-gradient(1200px 700px at 50% -10%, #121a22 0%, var(--bg) 60%);
  color:var(--text);
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace;
  min-height:100vh;
  display:flex; flex-direction:column; align-items:center;
  padding:20px 14px 40px;
}
.app{ width:100%; max-width:1120px; }

header{
  display:flex; justify-content:space-between; align-items:flex-end;
  border-bottom:2px solid var(--line);
  padding-bottom:12px; margin-bottom:24px;
  flex-wrap:wrap; gap:10px;
  position:relative;
}
.brand{ display:flex; flex-direction:column; }
.brand .kicker{ color:var(--teal); font-size:11px; letter-spacing:.35em; font-weight:700; }
.brand h1{
  margin:2px 0 0; font-size:28px; letter-spacing:.06em; color:var(--amber);
  font-weight:800; text-shadow:0 0 18px rgba(255,176,32,.25);
}
.home-link{
  position:absolute; top:-4px; left:0;
  font-size:11px; letter-spacing:.1em; color:var(--text-dim);
  text-decoration:none; padding:4px 0;
}
.home-link:hover{ color:var(--amber); }

.card{ background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:16px; }
.card .cardlabel{ font-size:10px; letter-spacing:.25em; color:var(--text-dim); margin-bottom:10px; }

.btn{
  display:inline-block;
  padding:12px 20px; border:none; border-radius:4px;
  background:var(--amber-dim); color:#1a1206; font-weight:800;
  letter-spacing:.12em; font-size:13px; cursor:pointer; text-transform:uppercase;
  text-decoration:none; transition:filter .15s, transform .05s;
}
.btn:hover{ filter:brightness(1.15); }
.btn:active{ transform:translateY(1px); }
.btn.primary{ background:var(--amber); }
.btn.ghost{ background:transparent; border:1px solid var(--teal-dim); color:var(--teal); }
.btn:disabled{ background:#2a2f34; color:#5b6570; cursor:not-allowed; }

.hidden{ display:none !important; }
