/* ============================================================
   base.css — design tokens (dark blue theme), global layout,
   header, toast
   ============================================================ */

:root{
  --paper:#0b1220;        /* deep navy background */
  --card:#141e33;         /* card surface */
  --surface:#0f1830;      /* inputs, nested surfaces */
  --line:#28395c;         /* borders */
  --text:#e8edf8;         /* primary text */
  --text-soft:#93a2c4;    /* secondary text */
  --header:#080e1a;       /* top bar */
  --accent:#ff4d6d;       /* hot coral */
  --accent-ink:#ffffff;
  --ok:#3ecf94;
  --warn:#ff7a6e;
  --chip:#1b2740;         /* hover / placeholder surfaces */
  --radius:14px;
  --font-display:'Unbounded',sans-serif;
  --font-body:'Space Grotesk',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper)}
body{
  font-family:var(--font-body);
  color:var(--text);
  min-height:100vh;
  padding-bottom:120px;
}
button{font-family:var(--font-body);cursor:pointer}
input{font-family:var(--font-body)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:var(--header);color:var(--text);
  padding:14px 20px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 24px rgba(0,0,0,.45);
}
header h1{
  font-family:var(--font-display);
  font-size:clamp(15px,2.4vw,20px);
  font-weight:700;letter-spacing:.02em;
}

.header-spacer{flex:1}
.count-pill{
  font-size:13px;color:var(--text-soft);
  border:1px solid var(--line);
  padding:5px 12px;border-radius:99px;white-space:nowrap;
}

/* ---------- buttons ---------- */
.btn{
  border:none;border-radius:10px;
  padding:9px 16px;font-size:14px;font-weight:600;
  transition:transform .08s ease, box-shadow .12s ease, background .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--text-soft)}
.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 #b02347}
.btn-accent:hover{background:#ff5f7c}
.btn-accent:active{box-shadow:0 1px 0 #b02347}

/* ---------- layout ---------- */
main{max-width:860px;margin:0 auto;padding:28px 18px 0}

.settings{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);
  margin-bottom:22px;overflow:hidden;
}
.settings summary{
  cursor:pointer;padding:13px 18px;font-weight:600;font-size:14px;color:var(--text-soft);
  list-style:none;display:flex;align-items:center;gap:8px;user-select:none;
}
.settings summary::before{content:"▸";transition:transform .15s;font-size:12px}
.settings[open] summary::before{transform:rotate(90deg)}
.settings .settings-body{padding:0 18px 16px;font-size:14px;color:var(--text-soft);line-height:1.55}
.settings a{color:var(--accent)}
.settings input{
  width:100%;margin-top:8px;
  border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;
  background:var(--surface);color:var(--text);
}
.settings input::placeholder{color:var(--text-soft)}
.settings input:focus{border-color:var(--accent);outline:none}

/* ---------- add-track footer ---------- */
.add-track-wrap{max-width:860px;margin:6px auto 0;padding:0 18px}
.add-track{
  width:100%;padding:16px;
  border:2px dashed var(--line);border-radius:var(--radius);
  background:transparent;color:var(--text-soft);
  font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:border-color .12s,color .12s;
}
.add-track:hover{border-color:var(--accent);color:var(--accent)}
.add-track .plus{
  width:22px;height:22px;border-radius:50%;
  background:var(--accent);color:var(--accent-ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;
}

.empty{
  text-align:center;color:var(--text-soft);padding:40px 20px;font-size:15px;line-height:1.6;
}
.empty strong{color:var(--text)}

/* ---------- toast ---------- */
#toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--card);color:var(--text);
  border:1.5px solid var(--line);
  padding:12px 20px;border-radius:12px;
  font-size:14px;box-shadow:0 8px 30px rgba(0,0,0,.55);
  transition:transform .25s ease;z-index:100;max-width:90vw;text-align:center;
}
#toast.show{transform:translateX(-50%) translateY(0)}
