@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');

:root{
  --ink:#172430;
  --ink-soft:#4b5a66;
  --deep-lake:#10303f;
  --deep-lake-2:#163d4e;
  --lake:#1f5c73;
  --lake-light:#2f7891;
  --gold:#c99a3b;
  --gold-light:#e4c374;
  --gold-dim:#a87f2c;
  --parchment:#faf6ee;
  --parchment-2:#f3ecdc;
  --card:#ffffff;
  --line:#e3d9c4;
  --line-strong:#cdbf9e;
  --good:#3c7a52;
  --danger:#a73f3f;
  --chord-color:#a87f2c;
  --radius:10px;
  --shadow:0 1px 2px rgba(16,48,63,.06), 0 6px 18px -8px rgba(16,48,63,.18);
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Inter', -apple-system, Segoe UI, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, Menlo, monospace;
}
:root[data-theme="dark"]{
  --ink:#eee6d3;
  --ink-soft:#a9b0b5;
  --parchment:#11181d;
  --parchment-2:#1a2227;
  --card:#181f24;
  --line:#2b3338;
  --line-strong:#3c454b;
  --chord-color:#e4c374;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 6px 18px -8px rgba(0,0,0,.5);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  background:var(--parchment);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}

.chord{
  color:var(--chord-color);
  font-weight:700;
  font-size:.62em;
  vertical-align:text-top;
  margin-right:1px;
  letter-spacing:.01em;
}

.section-tag{
  display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  background:var(--gold-light);color:#2c2008;padding:2px 9px;border-radius:999px;
  margin-bottom:6px;font-weight:700;
}

.theme-toggle{
  background:transparent;border:1px solid rgba(244,234,208,.25);color:#f4ead0;
  border-radius:999px;padding:6px 10px;cursor:pointer;font-size:13px;line-height:1;
}
.theme-toggle:hover{background:rgba(244,234,208,.1);}

header.top{
  background:radial-gradient(120% 180% at 15% -10%, var(--deep-lake-2) 0%, var(--deep-lake) 55%, #0b232e 100%);
  color:#f4ead0;
  padding:16px 22px;
  display:flex;align-items:center;gap:14px;
}
header.top .brand-eyebrow{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-light);font-weight:600;margin-bottom:2px;
}
header.top .brand-title{
  font-family:var(--font-display);font-weight:600;
  font-size:20px;margin:0;color:#fbf3dd;
}
header.top .status-pill{
  margin-left:auto;font-size:12px;color:#dfe9ea;background:rgba(244,234,208,.08);
  border:1px solid rgba(244,234,208,.18);padding:6px 12px;border-radius:999px;white-space:nowrap;
}
.status-pill.online{border-color:rgba(60,122,82,.6); color:#bfe9cd;}
.status-pill.offline{border-color:rgba(167,63,63,.6); color:#f0c6c6;}

.btn{
  font-family:var(--font-body);font-size:13.5px;font-weight:600;
  border:1px solid var(--line-strong);background:var(--card);color:var(--ink);
  padding:9px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;
  transition:background .15s,border-color .15s,transform .05s;
}
.btn:hover{background:var(--parchment-2);}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.45;cursor:not-allowed;}
.btn-gold{background:var(--gold);border-color:var(--gold-dim);color:#2c2008;}
.btn-gold:hover{background:var(--gold-light);}
.btn-lake{background:var(--lake);border-color:var(--deep-lake-2);color:#fff;}
.btn-lake:hover{background:var(--lake-light);}

input[type="search"], input[type="text"], input[type="file"]{
  font-family:var(--font-body);border:1px solid var(--line-strong);
  background:var(--card);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--ink);
}

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px;}
