/* Shared styles for every page. Page-specific styles live in each page's <style>. */
:root{
  --ink:#0d0d0d;
  --gold:#CFB87C;
  --gold-deep:#a68f4e;
  --paper:#141414;
  --row:#1c1b18;
  --line:#2c2a24;
  --text:#f0ece0;
  --dim:#9a937f;
  --good:#5cc98a;
  --good-bg:rgba(92,201,138,.14);
  --bad:#ef6b62;
  --bad-bg:rgba(239,107,98,.14);
  --bar-h:52px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html{background:var(--ink)}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  background:var(--ink);color:var(--text);
  padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

/* Top bar on feature pages: Home link, page title, optional right-side status */
.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;
  height:calc(var(--bar-h) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) 8px 0;
  background:rgba(13,13,13,.96);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar .home,.topbar .right{flex:0 0 84px}
.topbar .home{
  display:inline-flex;align-items:center;gap:2px;height:44px;padding:0 8px;
  color:var(--gold);text-decoration:none;font-size:15px;font-weight:600;
}
.topbar .home svg{width:20px;height:20px}
.topbar .title{flex:1;text-align:center;font-size:16px;font-weight:700;letter-spacing:.02em}
.topbar .right{padding-right:8px;text-align:right;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}
.topbar .progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--gold);transition:width .25s}

/* Page header */
header.page{padding:18px 16px 14px;border-bottom:3px solid var(--gold)}
header.page h1{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--gold)}
header.page h1 span{color:var(--text);font-weight:600}
.meta{font-size:12px;color:var(--dim);margin-top:4px}

/* Segmented control */
.seg{display:flex;border:1.5px solid var(--gold-deep);border-radius:10px;overflow:hidden}
.seg button{
  flex:1;padding:11px 0;font-size:14px;font-weight:600;
  background:transparent;color:var(--dim);border:none;cursor:pointer;font-family:inherit;
}
.seg button+button{border-left:1.5px solid var(--gold-deep)}
.seg button.on{background:var(--gold);color:var(--ink)}
.seg button:focus-visible{outline:2px solid var(--text);outline-offset:-3px}

/* Player rows (roster list, missed-player lists) */
ul.players{list-style:none}
.grp{
  padding:14px 16px 6px;font-size:13px;font-weight:700;color:var(--gold);
  border-bottom:1px solid var(--line);background:var(--paper);
}
li.p{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}
li.p:nth-child(even){background:var(--row)}
.num{
  width:44px;min-width:44px;text-align:center;
  font-size:22px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums;
}
.who{flex:1;min-width:0}
.nm{font-size:15px;font-weight:600;line-height:1.2}
.sub{font-size:12px;color:var(--dim);margin-top:2px;line-height:1.3}
.prev{font-size:12px;color:var(--gold-deep);margin-top:2px;line-height:1.3}
.pos{min-width:52px;text-align:right;font-size:13px;font-weight:700;color:var(--text)}

/* Buttons */
.btn{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;
  border-radius:12px;border:1.5px solid var(--gold);background:var(--gold);color:var(--ink);
  font:inherit;font-size:17px;font-weight:800;text-decoration:none;cursor:pointer;
}
.btn.ghost{background:transparent;color:var(--gold);border-color:var(--gold-deep)}
.btn:active{transform:scale(.99)}
.btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}

footer{padding:16px;font-size:11px;color:var(--dim);text-align:center;line-height:1.5}
footer a{color:var(--dim)}
