:root { color-scheme: light; --bg:#f6f7f9; --paper:#fff; --text:#20252d; --muted:#525b69; --line:#d5dbe3; --accent:#1753a6; --alert:#9c2626; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.5 system-ui, sans-serif; }
a { color:var(--accent); text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
::selection { background:#bfd7fa; color:#14243c; }
header { padding:20px max(20px,calc((100% - 1360px)/2)); background:var(--paper); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; align-items:center; flex-wrap:wrap; }
.brand { font-size:22px; font-weight:700; color:var(--text); text-decoration:none; }
.brand span { font-size:16px; font-weight:400; color:var(--muted); }
nav, .toolbar, .judge-nav, .actions { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; }
.judge-nav { background:#e7edf5; padding:12px max(20px,calc((100% - 1360px)/2)); }
.judge-nav form { margin-left:auto; }
main { max-width:1400px; min-height:70vh; margin:auto; padding:28px 20px 56px; }
h1 { font-size:clamp(26px,4vw,36px); line-height:1.2; margin:0 0 16px; }
h2 { font-size:24px; line-height:1.3; margin:40px 0 16px; }
h3 { font-size:18px; margin:24px 0 12px; }
p { max-width:75ch; }
.lead { font-size:18px; color:var(--muted); }
.muted, small { color:var(--muted); }
small { display:block; font-size:13px; }
.toolbar { margin:24px 0; }
.table-scroll { width:100%; overflow:auto; border:1px solid var(--line); background:var(--paper); }
table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; text-align:left; }
th, td { padding:13px 15px; border-bottom:1px solid var(--line); vertical-align:top; min-width:80px; }
th { font-size:14px; background:#edf0f4; }
tr:last-child td { border-bottom:0; }
td.actions { min-width:170px; }
td a { overflow-wrap:anywhere; }
.empty { padding:28px 16px; color:var(--muted); }
.notice { max-width:none; padding:14px 18px; background:#e6eef9; border:1px solid #b8cce9; }
.notice.error, .errorlist { color:var(--alert); }
.notice.error, .notice.warning { background:#fff1e8; border-color:#cfb3a4; }
button { padding:10px 18px; border:1px solid var(--accent); border-radius:5px; color:white; background:var(--accent); font:inherit; cursor:pointer; }
button:hover { background:#113d7b; }
button:disabled { opacity:.65; cursor:wait; }
.text-button { border:0; color:var(--accent); padding:0; background:none; text-decoration:underline; text-underline-offset:3px; }
.text-button:hover { background:none; }
input, textarea, select { font:inherit; padding:9px 11px; border:1px solid #8b96a7; border-radius:4px; background:var(--paper); color:var(--text); max-width:100%; caret-color:var(--accent); }
input::placeholder, textarea::placeholder { color:var(--muted); opacity:1; }
input[type=checkbox] { width:20px; height:20px; accent-color:var(--accent); }
input[type=hidden] { display:none; }
label { font-weight:600; }
.field { display:grid; gap:6px; margin-bottom:20px; max-width:740px; }
.field:has(input[type=checkbox]) { display:flex; flex-wrap:wrap; align-items:center; }
.editor { max-width:960px; }
.editor input:not([type=checkbox]), .editor textarea, .editor select { width:100%; }
.editor select[multiple] { min-height:140px; }
.filters { display:flex; gap:16px; flex-wrap:wrap; align-items:end; margin:24px 0; }
.filters label { display:grid; gap:6px; font-size:14px; }
.filters input { max-width:180px; }
.search-form { max-width:740px; margin:24px 0; }
.inline { display:flex; gap:10px; margin-top:8px; }
.inline input { flex:1; min-width:0; }
.member-editor, .event { background:var(--paper); padding:16px; border:1px solid var(--line); margin:12px 0; }
summary { cursor:pointer; font-weight:600; }
details[open] > summary { margin-bottom:16px; }
.pagination { margin:24px 0; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:600px; overflow:auto; padding:16px; background:#e9edf2; font:13px/1.5 ui-monospace,monospace; }
.results { list-style:none; padding:0; }
.results li { padding:16px 0; border-bottom:1px solid var(--line); }
.results span { display:block; color:var(--muted); }
.bracket { display:flex; gap:24px; overflow:auto; padding:0 0 16px; }
.bracket section { flex:0 0 240px; }
.bracket article { padding:16px; margin:14px 0; background:var(--paper); border:1px solid var(--line); }
.bracket p { margin:10px 0; overflow-wrap:anywhere; }
.match-score { display:flex; gap:24px; flex-wrap:wrap; align-items:center; font-size:22px; padding:24px 0; }
dl { display:grid; grid-template-columns:minmax(120px,220px) 1fr; gap:12px; max-width:780px; }
dt { font-weight:600; }
dd { margin:0; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:24px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.skip { position:absolute; left:12px; top:-100px; background:var(--paper); padding:12px; z-index:10; }
.skip:focus { top:8px; }
[hidden] { display:none !important; }
@media(max-width:640px) { header { padding:16px; gap:14px; } nav { gap:10px 16px; font-size:14px; } main { padding:24px 14px 40px; } .judge-nav { padding:12px 14px; font-size:14px; } th,td { padding:10px; } .match-score { display:grid; gap:12px; } .filters label { flex:1 1 140px; } .filters select,.filters input { width:100%; max-width:none; } dl { grid-template-columns:1fr; } dd { margin-bottom:10px; } }
