:root { --bg:#0a0d0e; --panel:#111718; --panel-2:#172022; --line:#2a3536; --ink:#f3f7f5; --muted:#99a6a4; --green:#98cfa2; --blue:#07509e; }
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(circle at 15% 0%,#14211b 0,transparent 27rem),var(--bg); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
button { font:inherit; }
.app-shell { max-width:1440px; min-height:100vh; margin:auto; padding:0 40px; }
.topbar { position:relative; height:94px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line); }
.brand { width:124px; height:64px; display:flex; align-items:center; justify-content:center; overflow:hidden; color:var(--ink); text-decoration:none; }
.brand img { width:470px; max-width:none; height:auto; object-fit:initial; }
.client-label { position:absolute; left:0; margin:0; color:var(--green); font:500 10px 'DM Mono',monospace; letter-spacing:.12em; }
.private-label { position:absolute; right:0; color:var(--muted); font:500 10px 'DM Mono',monospace; letter-spacing:.13em; }
.private-label span,.status-dot { display:inline-block; width:7px; height:7px; background:var(--green); border-radius:50%; margin-right:8px; box-shadow:0 0 16px var(--green); }
.hero { display:grid; grid-template-columns:74px 1fr auto; gap:22px; align-items:center; padding:34px 0; }
.club-mark { width:68px; height:68px; display:grid; place-items:center; }
.club-mark img { max-width:100%; max-height:100%; }
.eyebrow { margin:0 0 8px; color:var(--green); font:500 10px 'DM Mono',monospace; letter-spacing:.12em; }
h1,h2,p { margin-top:0; } .hero h1 { margin-bottom:10px; font-size:clamp(35px,4.4vw,57px); line-height:.98; letter-spacing:-.06em; }
h2 { margin-bottom:0; font-size:21px; letter-spacing:-.04em; }.match-meta { margin:0; color:var(--muted); font-size:15px; }
.hero-actions { display:flex; align-items:center; gap:24px; }.pdf-actions { display:flex; gap:8px; }.pdf-download { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 17px; border:1px solid #65876d; border-radius:9px; color:#d2e8d6; font:500 11px 'DM Mono',monospace; letter-spacing:.065em; text-decoration:none; white-space:nowrap; transition:background .18s,border-color .18s; }.pdf-view { border-color:var(--line); color:#b8c7c4; }.pdf-download span { font-size:18px; line-height:1; }.pdf-download:hover { border-color:var(--green); background:rgba(152,207,162,.1); }.report-count { display:flex; align-items:center; gap:12px; padding:11px 0 11px 24px; border-left:1px solid var(--line); }.report-count strong { color:var(--green); font:500 33px 'DM Mono',monospace; }.report-count span { color:var(--muted); font-size:10px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.workspace { display:grid; grid-template-columns:minmax(0,1.72fr) minmax(320px,.72fr); overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.player-panel { min-width:0; padding:22px; }.now-playing { display:flex; align-items:center; min-height:20px; color:var(--muted); font:500 10px 'DM Mono',monospace; letter-spacing:.1em; }.now-category { margin-left:auto; color:var(--green); }
.video-frame { width:100%; aspect-ratio:16/9; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#050607; }.video-frame iframe { border:0; width:100%; height:100%; }.video-placeholder { text-align:center; color:var(--muted); }.play-symbol { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 14px; padding-left:3px; border:1px solid #4b5a59; border-radius:50%; color:var(--green); }.video-placeholder p { max-width:250px; margin:auto; font-size:13px; line-height:1.5; }
.player-info { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:24px 2px 2px; }.controls { display:flex; gap:8px; }.controls button { width:42px; height:42px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--ink); cursor:pointer; }.controls button:hover { border-color:var(--green); color:var(--green); }
.playlist-panel { border-left:1px solid var(--line); }.playlist-heading { display:flex; justify-content:space-between; align-items:end; min-height:103px; padding:22px; border-bottom:1px solid var(--line); }.playlist-heading h2 { font-size:19px; }.playlist-heading > span { color:var(--muted); font:500 11px 'DM Mono',monospace; }.playlist { max-height:504px; overflow:auto; }.playlist-item { width:100%; display:grid; grid-template-columns:30px 1fr 20px; align-items:center; gap:10px; padding:18px 20px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; cursor:pointer; }.playlist-item:hover { background:var(--panel-2); }.playlist-item.active { background:linear-gradient(90deg,rgba(152,207,162,.15),transparent); }.item-number,.item-play { font:500 11px 'DM Mono',monospace; color:var(--muted); }.active .item-number,.active .item-play { color:var(--green); }.item-copy { display:grid; gap:4px; }.item-copy strong { font-size:14px; font-weight:600; }.item-copy small { color:var(--muted); font-size:11px; }
footer { display:flex; justify-content:space-between; gap:20px; padding:22px 0; color:#5f706d; font:10px 'DM Mono',monospace; letter-spacing:.06em; text-transform:uppercase; }
.season-hero { display:grid; grid-template-columns:74px 1fr auto; gap:22px; align-items:center; padding:38px 0 30px; }.season-hero h1 { margin:0 0 9px; font-size:clamp(35px,4.4vw,57px); line-height:.98; letter-spacing:-.06em; }.season-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:15px; }.season-stat { display:flex; align-items:center; gap:12px; padding:11px 0 11px 24px; border-left:1px solid var(--line); }.season-stat strong { color:var(--green); font:500 33px 'DM Mono',monospace; }.season-stat span { color:var(--muted); font-size:10px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.featured-report { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid #496451; border-radius:18px; background:linear-gradient(105deg,rgba(152,207,162,.13),rgba(17,23,24,.3) 55%); }.featured-report h2 { font-size:23px; }.featured-report p:not(.eyebrow) { margin:7px 0 0; color:var(--muted); font-size:13px; }.featured-report > a { flex:0 0 auto; display:inline-flex; align-items:center; gap:13px; padding:15px 17px; border:1px solid #71957a; border-radius:9px; color:#d2e8d6; font:500 11px 'DM Mono',monospace; letter-spacing:.065em; text-decoration:none; }.featured-report > a span { font-size:17px; }
.library-head { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:42px 0 17px; }.library-head h2 { font-size:25px; }.library-help { margin:7px 0 0; color:var(--muted); font-size:13px; }.result-count { margin:0; color:var(--green); font:500 11px 'DM Mono',monospace; letter-spacing:.07em; }.filter-panel { display:grid; grid-template-columns:1.55fr 1.2fr 1fr .85fr .72fr auto; gap:8px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }.search { display:flex; align-items:center; gap:9px; padding:0 13px; border:1px solid var(--line); border-radius:9px; color:var(--muted); }.search input { width:100%; height:46px; border:0; outline:0; background:transparent; color:var(--ink); font:13px Manrope,Arial,sans-serif; }.search input::placeholder { color:#71807e; }.competition-select { position:relative; display:grid; gap:2px; min-width:0; padding:7px 12px 5px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font:500 8px 'DM Mono',monospace; letter-spacing:.07em; }.competition-select select { appearance:none; border:0; outline:0; padding:0 18px 0 0; background:transparent; color:var(--ink); font:12px Manrope,Arial,sans-serif; }.competition-select::after { position:absolute; right:12px; bottom:10px; content:'⌄'; color:var(--green); font-size:13px; pointer-events:none; }.clear-filters { min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:9px; background:transparent; color:#9eadab; font:500 9px 'DM Mono',monospace; letter-spacing:.06em; cursor:pointer; }.clear-filters:hover { color:#d2e8d6; border-color:#6f9978; }
.report-grid { display:grid; gap:7px; padding-top:14px; }.report-row { display:grid; grid-template-columns:98px minmax(180px,1.5fr) minmax(170px,1fr) auto; align-items:center; gap:18px; padding:14px 16px; border:1px solid var(--line); border-radius:11px; background:var(--panel); transition:border-color .18s,background .18s; }.report-row:hover { border-color:#597961; background:var(--panel-2); }.row-date { color:#8e9b99; font:500 10px 'DM Mono',monospace; letter-spacing:.04em; }.row-match { display:grid; gap:3px; }.row-match strong { font-size:14px; }.row-match span { color:var(--muted); font-size:11px; }.report-type { color:#c7e4cc; font:700 12px Manrope,Arial,sans-serif; letter-spacing:-.015em; }.report-type.post { color:var(--green); }.card-actions { display:flex; align-items:center; justify-content:flex-end; gap:13px; flex-wrap:wrap; }.card-action { color:#9eadab; font:500 9px 'DM Mono',monospace; letter-spacing:.05em; text-decoration:none; white-space:nowrap; }.card-action.primary { color:#d2e8d6; }.card-action span { margin-left:4px; font-size:12px; }.empty { color:var(--muted); padding:35px 0; }
.card-status { color:#e4c78d; font:500 9px 'DM Mono',monospace; letter-spacing:.06em; white-space:nowrap; }
.competition-select select { color-scheme:dark; }
.competition-select select option { background:#111718; color:#f3f7f5; }
@media (max-width:900px) { .hero-actions { gap:14px; flex-direction:column; align-items:stretch; }.pdf-actions { justify-content:stretch; }.pdf-download { flex:1; }.report-count { border-left:0; border-top:1px solid var(--line); padding:11px 0 0; } }
@media (max-width:800px) { .app-shell { padding:0 16px; }.hero,.season-hero { grid-template-columns:56px 1fr; gap:15px; padding:28px 0; }.club-mark { width:54px; height:54px; }.hero-actions { grid-column:1/-1; flex-direction:row; align-items:center; }.pdf-download { flex:1; }.report-count,.season-stat { border-top:0; padding:0 0 0 14px; border-left:1px solid var(--line); }.season-stat { grid-column:1/-1; border-left:0; border-top:1px solid var(--line); padding:14px 0 0; }.workspace { grid-template-columns:1fr; }.playlist-panel { border-left:0; border-top:1px solid var(--line); }.playlist { max-height:none; }.player-panel { padding:14px; }.player-info { padding-top:16px; }.client-label,.private-label { display:none; }.featured-report,.library-head { align-items:flex-start; flex-direction:column; }.featured-report > a { width:100%; justify-content:center; }.filter-panel { grid-template-columns:1fr; }.competition-select { min-height:47px; width:100%; }.report-row { grid-template-columns:1fr; gap:9px; padding:15px; }.card-actions { justify-content:flex-start; padding-top:5px; } footer { align-items:flex-start; flex-direction:column; } }
