/* HHBA shared styles: tokens, site nav, buttons, forms, dialogs, brackets */
:root{
  --bg:#EEF0F7; --surface:#FFFFFF; --sunk:#E2E5F0; --ink:#141A3A; --muted:#565D7E; --line:#CDD2E3;
  --pin:#D92B24; --pin-ink:#FFFFFF; --gold:#E9A800; --lane:#1F2A6B; --lane-ink:#F4F5FB;
  --good:#1D8A54; --warn:#B7791F; --bad:#C0261F; --info:#2C6FD6;
  --display:"Bungee","Arial Black",Impact,sans-serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r:10px; color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E1330; --surface:#161C42; --sunk:#1D2452; --ink:#EEF0F7; --muted:#A5ABCB; --line:#2C3466;
  --pin:#FF5A4E; --pin-ink:#140A0A; --gold:#FFC83D; --lane:#0A0E26; --lane-ink:#EEF0F7;
  --good:#4CC98A; --warn:#F0B44C; --bad:#FF6B61; --info:#6EA2FF; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance;margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.muted{color:var(--muted)}
.nw{white-space:nowrap}

/* site nav */
.sitenav{background:var(--lane);color:var(--lane-ink);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(255,255,255,.08)}
.sitenav .wrap{display:flex;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap}
.sitenav .brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-weight:700;font-size:14px}
.sitenav .brand img{display:block;flex:none}
.sitenav .wm{font-family:var(--display);font-size:18px;letter-spacing:.04em;font-weight:400}
.sitenav .badge{font-family:var(--display);font-size:13px;background:var(--pin);color:#fff;padding:3px 8px;border-radius:6px;letter-spacing:.04em;font-weight:400}
.sitenav nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}
.sitenav nav a{color:var(--lane-ink);text-decoration:none;font-weight:600;font-size:14px;padding:6px 11px;border-radius:999px;opacity:.78}
.sitenav nav a:hover{opacity:1}
.sitenav nav a[aria-current="page"]{background:var(--lane-ink);color:var(--lane);opacity:1}
.sitenav nav a.cta{background:var(--pin);color:#fff;opacity:1}
@media (max-width:640px){.sitenav nav{margin-left:0;width:100%}.sitenav .brand span.full{display:none}}

/* page header band */
.band{background:var(--lane);color:var(--lane-ink)}
.band .wrap{padding-block:26px 30px;display:grid;gap:10px}
.band h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,6vw,48px);line-height:1;letter-spacing:.01em}
.band h1 em{font-style:normal;color:var(--gold)}
.band p{margin:0;max-width:60ch;opacity:.86}

main.page{padding-block:24px 64px;display:grid;gap:18px}
main.page > *,.tlist > *,.tour > *{min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.panel > h2,.panel > h3.k{font-family:var(--display);font-weight:400;font-size:20px;margin-bottom:10px}
.k{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;font-size:15px;cursor:pointer;background:var(--pin);color:var(--pin-ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.sm{padding:6px 12px;font-size:13px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.link{background:none;border:0;padding:0;cursor:pointer;color:var(--pin);font-weight:600;font-size:14px;text-decoration:underline}

.fld{display:grid;gap:5px;font-weight:600;font-size:14px;min-width:0}
.fld .hint{font-weight:400;font-size:13px;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=url],select,textarea{
  width:100%;min-width:0;border:1.5px solid var(--line);background:var(--bg);border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400}
textarea{min-height:90px;resize:vertical}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fgrid .full{grid-column:1/-1}
@media (max-width:600px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.ferr{color:var(--bad);font-weight:600;font-size:14px}
.ferr:empty{display:none}
.ok{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good);border-radius:8px;padding:10px 14px;font-weight:600}
.note{background:var(--sunk);border-radius:var(--r);padding:12px 14px;color:var(--muted);font-size:15px}
.note.bad{color:var(--bad);font-weight:600}

.chip{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
.c-good{color:var(--good)} .c-warn{color:var(--warn)} .c-bad{color:var(--bad)} .c-muted{color:var(--muted)} .c-pin{color:var(--pin)}

.empty{text-align:center;padding:26px 16px;color:var(--muted);border:1.5px dashed var(--line);border-radius:var(--r)}
.empty b{display:block;color:var(--ink);margin-bottom:2px}

/* avatar */
.av{width:56px;height:56px;border-radius:50%;flex:none;object-fit:cover;background:var(--sunk);display:grid;place-items:center;font-family:var(--display);color:#fff;font-size:18px;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover;display:block}

/* dialog */
dialog.sheet{border:0;border-radius:14px;padding:0;background:var(--surface);color:var(--ink);width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
dialog.sheet::backdrop{background:rgba(10,14,38,.6)}
.sheet-body{display:grid;gap:16px;padding:22px;overflow:auto;max-height:calc(100dvh - 32px)}
.x{margin-left:auto;background:var(--sunk);border:0;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1;cursor:pointer;color:var(--ink);flex:none}

/* bracket */
.bracket{display:flex;gap:28px;overflow-x:auto;padding:4px 2px 10px}
.round{display:flex;flex-direction:column;justify-content:space-around;gap:14px;min-width:210px;flex:none}
.round > .k{margin-bottom:2px}
.match{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;font-size:14px}
.match .p{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 10px}
.match .p + .p{border-top:1px solid var(--line)}
.match .seed{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}
.match .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match .sc{font-family:var(--mono);font-variant-numeric:tabular-nums}
.match .p.win{font-weight:700;background:color-mix(in srgb,var(--gold) 16%,transparent)}
.match .p.lose{color:var(--muted)}
.match .p.tbd .nm{color:var(--muted);font-style:italic}
.champ{display:flex;align-items:center;gap:10px;border:2px solid var(--gold);border-radius:10px;padding:10px 14px;font-weight:700}
.champ .k{color:var(--gold)}

.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:600;font-size:14px;z-index:30;max-width:calc(100vw - 32px)}
.toast.bad{background:var(--bad);color:#fff}
footer.site{padding-block:0 40px;color:var(--muted);font-size:13px}
@media (prefers-reduced-motion:no-preference){.btn,.sitenav nav a{transition:background .12s,filter .12s,opacity .12s}}
