@charset "UTF-8";
@import url("/styles/fonts.css");
@import url("/styles/public.css");
@import url("/styles/admin.css");
@import url("/styles/community.css");

:root {
  color-scheme:dark;
  --font-body:"Golos Text","Segoe UI",sans-serif;
  --font-display:"Roboto Condensed","Arial Narrow",sans-serif;
  --bg:#0d1012; --surface:#171c1f; --surface-raised:#20272b;
  --border:#343e40; --text:#e6e8e4; --muted:#a6b0ad;
  --accent:#b7b88a; --danger:#d47f75; --good:#9eb391;
  --coal:var(--surface); --coal-deep:var(--bg); --bone:var(--text);
  --olive:#899888; --olive-bright:#bbc7b7; --amber:var(--accent);
  --amber-bright:#d0d1aa; --red:var(--danger); --green:var(--good);
  --line:var(--border); --dim:#7a8784; --sans:var(--font-body); --display:var(--font-display);
  font-family:var(--font-body); font-synthesis:none; text-rendering:optimizeLegibility;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; color:var(--text); background:var(--bg); font:14px/1.6 var(--font-body); }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; outline:none; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
button:disabled,input:disabled,select:disabled,textarea:disabled { cursor:not-allowed; opacity:.48; }
button,a { transition:background-color .16s,border-color .16s,color .16s; }
button:active:not(:disabled) { transform:translateY(1px); }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { line-height:1.16; font-weight:600; letter-spacing:-.025em; }
h1 em,h2 em { font-style:normal; }
svg { flex:none; }
img { max-width:100%; }
::selection { background:#b7b88a; color:#101513; }
.muted { color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:200; padding:12px 18px; background:var(--accent); color:#101513; font-weight:600; }
.skip-link:focus { top:16px; }
.wordmark { display:inline-block; white-space:nowrap; font:700 28px/1 var(--font-display); letter-spacing:.025em; }
.wordmark>span:not(.brand-slash) { color:var(--accent); }
.wordmark small { display:block; margin-top:7px; color:var(--muted); font:500 10px/1.4 var(--font-body); letter-spacing:.13em; }
.brand-slash { display:none; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:500; letter-spacing:.055em; line-height:1.6; }
.button { display:inline-flex; min-width:0; max-width:100%; min-height:44px; align-items:center; justify-content:center; gap:14px; padding:11px 19px; border:1px solid #465052; border-radius:3px; background:#252d30; color:var(--text); font-size:14px; font-weight:600; line-height:1.4; box-shadow:inset 0 1px 0 #ffffff07; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.button:hover:not(:disabled) { background:#2d373a; border-color:#65726e; }
.button.amber { background:var(--accent); border-color:var(--accent); color:#141914; }
.button.amber:hover:not(:disabled) { background:#cdcea5; border-color:#cdcea5; }
.button.outline { background:#1b2224; border-color:#465250; color:var(--text); }
.button.outline:hover:not(:disabled) { background:#283230; border-color:#76816f; }
.button.danger-outline { color:#e7a69c; border-color:#784f49; background:#2a2020; }
.button.danger-outline:hover:not(:disabled) { background:#3a2926; border-color:#a36c60; }
.button.small { min-height:40px; padding:8px 14px; font-size:13px; }
.plain-button,.text-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:4px 0; border:0; background:transparent; color:#c1cbc3; font-size:13px; font-weight:500; line-height:1.5; }
.plain-button:hover:not(:disabled),.text-link:hover { color:#e4e8cb; }
.text-link svg { width:21px; height:21px; fill:currentColor; }
.account-area { display:flex; align-items:center; justify-content:flex-end; gap:13px; min-width:0; }
.account-person { display:flex; align-items:center; flex:none; }
.account-avatar { width:36px; height:36px; object-fit:cover; border-radius:3px; border:1px solid #5b6860; }
.account-name { max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:500; }
.account-links { display:flex; align-items:center; gap:16px; }
.account-links a { font-size:13px; white-space:nowrap; }
.account-links a:hover { color:var(--accent); }
.signal { display:inline-block; flex:none; width:7px; height:7px; background:var(--good); border-radius:50%; }
.signal.pending { background:#c2b57f; }
.signal.offline { background:var(--danger); }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; margin-bottom:20px; }
.field label { color:#ced5ce; font-size:13px; font-weight:500; line-height:1.5; }
.field small { color:var(--muted); font-size:12px; line-height:1.6; }
input:not([type="checkbox"]):not([type="radio"]),select,textarea { width:100%; min-width:0; min-height:44px; padding:10px 13px; border:1px solid #3e494d; border-radius:3px; background:#101619; color:var(--text); font-size:14px; line-height:1.5; }
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled) { border-color:#61716b; }
input::placeholder,textarea::placeholder { color:#7e8c89; opacity:1; }
textarea { min-height:108px; resize:vertical; }
select { padding-right:32px; }
input[type="checkbox"],input[type="radio"] { width:17px; height:17px; flex:none; margin:0; accent-color:var(--accent); vertical-align:middle; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.checkbox-field { display:flex; align-items:center; gap:10px; font-size:14px; color:#c4cdc6; }
.section-explainer { max-width:84ch; font-size:14px; line-height:1.7; color:var(--muted); }
.data-note { max-width:85ch; font-size:12px; line-height:1.7; color:var(--muted); }
.table-scroll { width:100%; max-width:100%; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#56645c #151c1e; }
.editorial-table { width:100%; border-collapse:collapse; font-size:14px; }
.editorial-table th { padding:14px 16px; border-bottom:1px solid #45524e; color:#aebbb2; font-size:12px; font-weight:500; letter-spacing:.035em; text-align:left; white-space:nowrap; }
.editorial-table td { padding:16px; border-bottom:1px solid #303b3c; vertical-align:middle; }
.editorial-table tbody tr:hover { background:#ffffff02; }
.editorial-table th:first-child,.editorial-table td:first-child { padding-left:0; }
.editorial-table th:last-child,.editorial-table td:last-child { padding-right:0; }
.editorial-table .number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.table-player { display:flex; align-items:center; gap:12px; min-width:180px; }
.table-avatar { width:36px; height:36px; object-fit:cover; flex:none; border:1px solid #52624f; border-radius:3px; }
.avatar-fallback { display:grid; place-items:center; background:#2b3730; color:#bcc7ad; font:600 17px/1 var(--font-body); }
.player-link { color:#e7ebe4; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.player-link:hover { color:var(--accent); }
.player-small-id { display:block; margin-top:4px; font-size:12px; color:#91a08f; font-variant-numeric:tabular-nums; }
.rank-column { width:58px; }
.ranking-number { color:#9cae97; font-size:16px; font-weight:500; }
.empty-table { padding:40px 20px !important; color:var(--muted); font-size:14px; text-align:center !important; line-height:1.8; }
.empty-inline { padding:24px 0; color:var(--muted); font-size:14px; }
.row-action { display:inline-flex; align-items:center; justify-content:center; min-height:40px; gap:7px; border:1px solid #46534f; border-radius:3px; background:#20292b; color:#d0d9d0; padding:8px 12px; font-size:13px; font-weight:500; white-space:nowrap; }
.row-action:hover:not(:disabled) { background:#303b37; border-color:#6b7b65; }
.row-action.danger { border-color:#754e47; background:#2a2020; color:#dfa398; }
.toast-stack { position:fixed; z-index:100; right:24px; bottom:24px; display:flex; flex-direction:column; gap:10px; width:min(420px,calc(100vw - 32px)); pointer-events:none; }
.toast { display:flex; align-items:flex-start; gap:12px; padding:17px; border:1px solid #56614d; border-left:3px solid var(--accent); border-radius:4px; background:#232d28; box-shadow:0 16px 48px #0007; pointer-events:auto; }
.toast.error { background:#302321; border-color:#815a51; border-left-color:var(--danger); }
.toast-icon { flex:none; font-size:18px; color:#c5d3ad; line-height:1.3; }
.toast.error .toast-icon { color:#eca89b; }
.toast>div { flex:1; min-width:0; }
.toast strong { display:block; color:#edf0e8; font-size:14px; line-height:1.5; font-weight:600; }
.toast p { color:#bac5b7; font-size:13px; line-height:1.65; margin-top:4px; overflow-wrap:anywhere; }
.toast button { flex:none; width:30px; min-height:30px; padding:0; border:0; background:transparent; color:#bec8bb; font-size:23px; line-height:1; }
.command-dialog { position:fixed; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 48px); overflow:auto; padding:30px; border:1px solid #55635b; border-top:2px solid var(--accent); border-radius:4px; background:#1a2224; color:var(--text); box-shadow:0 30px 100px #000a; }
.command-dialog::backdrop { background:#070b0de0; }
.command-dialog h2 { margin:14px 30px 16px 0; font:600 27px/1.2 var(--font-body); letter-spacing:-.03em; }
.command-dialog p { color:#bdc8c0; font-size:14px; line-height:1.75; white-space:pre-line; }
.command-dialog .field { margin-top:20px; }
.dialog-close { position:absolute; top:12px; right:12px; width:36px; min-height:36px; padding:0; border:0; background:transparent; color:#a5b2a9; font-size:26px; line-height:1; }
.dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; border-top:1px solid var(--border); margin-top:24px; padding-top:22px; }
.film-grain { display:none !important; }
.js-ready .reveal { opacity:0; transform:translateY(10px); transition:opacity .45s,transform .45s; }
.js-ready .reveal.is-visible { opacity:1; transform:none; }
@media(max-width:740px) {
  .account-name { max-width:110px; }
  .account-area { gap:10px; }
  .account-links { gap:12px; }
  .account-links a,.account-links .plain-button { font-size:12px; }
  .field-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .toast-stack { right:16px; bottom:16px; }
  .command-dialog { padding:24px; }
  .command-dialog h2 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .js-ready .reveal { opacity:1; transform:none; }
}
