/* RLF Arena — shared light/ dark visual system, Stage 1BA. */
@font-face{font-family:'RLF UI';src:url('ui-fonts/rlf-ui.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RLF UI';src:url('ui-fonts/rlf-ui-bold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:'RLF Arena';src:url('ui-fonts/rlf-arena.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
html[data-theme=light]{--bg:#f1f7ff;--panel:#fff;--panel2:#eaf2ff;--text:#0a1c46;--muted:#4d6281;--accent:#165aca;--accent2:#a717c6;--line:#cddcf0;--danger:#ae2348;--success:#08734d;--warning:#805b08;--field:#b9e6fa;--stripe:#a2d9f4;--field-line:#fff;--shadow:0 8px 30px #153e7810;--arena-glow:#1c8fff17;--arena-glass:#fffffff2;--arena-stripe:#1850b506;--arena-hero:#e1f0ff;--arena-button:linear-gradient(115deg,#155dd2,#6332d3 64%,#ad16c4)}
html[data-theme=dark]{--bg:#050b22;--panel:#101b39;--panel2:#172548;--text:#f1f6ff;--muted:#b5c5df;--accent:#63d4ff;--accent2:#f180e7;--line:#30476a;--danger:#ff92ad;--success:#70e4b6;--warning:#ffdb80;--field:#073164;--stripe:#092653;--field-line:#5dcaff;--shadow:0 10px 35px #0003;--arena-glow:#268bff1f;--arena-glass:#0b1533f5;--arena-stripe:#5386ff06;--arena-hero:#102759;--arena-button:linear-gradient(115deg,#1455c4,#6730c8 64%,#a80db8)}
html[data-theme]{--brand-gradient:var(--arena-button);--radius:16px;scroll-padding-top:100px}
html[data-theme] body{font-family:'RLF UI',Arial,sans-serif;font-size:15px;line-height:1.55;background-color:var(--bg);background-image:radial-gradient(ellipse at 100% 0,var(--arena-glow),transparent 50%),radial-gradient(ellipse at 0 30%,color-mix(in srgb,var(--accent2) 5%,transparent),transparent 55%),repeating-linear-gradient(125deg,transparent 0 85px,var(--arena-stripe) 85px 112px,transparent 112px 175px);background-attachment:scroll;color:var(--text);-webkit-font-smoothing:antialiased}
html[data-theme] body:before{pointer-events:none}
html[data-theme] :is(button,input,select,textarea,.action,.btn,.button){font-family:'RLF UI',Arial,sans-serif}
html[data-theme] :is(h1,h2,h3,.brand-name,.rlf-brand b,.stat-value,.score,.match-score){font-family:'RLF Arena','RLF UI',sans-serif;font-weight:700;letter-spacing:.01em;color:var(--text)}
html[data-theme] h1{font-size:clamp(30px,3.6vw,48px);line-height:1.12;margin-block:12px 24px;text-wrap:balance}
html[data-theme] h2{font-size:clamp(23px,2.3vw,31px);line-height:1.2;text-wrap:balance}
html[data-theme] h3{font-size:22px;line-height:1.25}
html[data-theme] :is(p,li,td,th,label,a){overflow-wrap:break-word}
html[data-theme] :is(.eyebrow,.kicker,.tor-eyebrow,.section-kicker){font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
html[data-theme] a{color:var(--accent);text-underline-offset:4px}
html[data-theme] :is(header,.site-header,.topbar,.rlf-header,.rlf-theme-toolbar){background:var(--arena-glass);border-color:var(--line);box-shadow:0 3px 18px #00000007}
html[data-theme] :is(.site-header,.topbar,.rlf-header){border-bottom:1px solid var(--line)}
html[data-theme] :is(.brand,.rlf-brand){color:var(--text)}
html[data-theme] :is(.brand-logo,.rlf-brand img){width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 5px #0001)}
html[data-theme] :is(.main-nav,.rlf-public-nav,.topbar nav,.admin-nav){gap:6px}
html[data-theme] :is(.main-nav a,.rlf-public-nav a,.admin-nav a,.rlf-admin-sidebar a,.side-link){border-radius:10px;transition:background .16s,color .16s;border-color:transparent;color:var(--muted);font-size:13px;font-weight:700}
html[data-theme] :is(.main-nav a,.rlf-public-nav a,.admin-nav a,.rlf-admin-sidebar a,.side-link):hover{background:var(--panel2);color:var(--text)}
html[data-theme] :is(.rlf-public-nav a[aria-current=page],.main-nav a[aria-current=page],.rlf-admin-sidebar a[aria-current=page],.rlf-admin-sidebar a.active,.side-link.active,.admin-nav a.active){color:var(--accent);background:var(--panel2);border-color:var(--line);box-shadow:inset 3px 0 var(--accent)}
html[data-theme] :is(.sidebar,.rlf-admin-sidebar){background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px}
html[data-theme] :is(.rlf-admin-sidebar a,.side-link){min-height:46px;display:flex;align-items:center;padding:11px 14px;margin:3px 0;text-decoration:none}
html[data-theme] :is(.panel,.panel-card,.card,.form-card,.admin-card,.home-box,.standings-card,.tor-field-panel,.tor-aside>section,.calendar-panel,.protocol-section,.news-card,.team-card,.result-card,.metric-card,.stat-card,.profile-hero,.match-hero){background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
html[data-theme] :is(.panel,.form-card,.admin-card,.protocol-section){padding:clamp(18px,2.4vw,30px)}
html[data-theme] :is(.panel,.card,.form-card):before{background:linear-gradient(90deg,#279fff,#7341e6,#e219de);box-shadow:none;height:3px;opacity:.85}
html[data-theme] :is(.section-heading,.panel-heading,.tor-field-head){padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:18px;gap:12px}
html[data-theme] :is(.section-heading h2,.panel-heading h2,.tor-field-head h2){margin:0}
html[data-theme] :is(.form-section,.form-details,.editor-section,.field-group,fieldset){border-color:var(--line);border-radius:12px}
html[data-theme] :is(.form-details,.form-section){background:var(--panel)}
html[data-theme] label{font-size:13px;font-weight:700;line-height:1.5;color:var(--text)}
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea){font-size:16px;line-height:1.4;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:inset 0 1px 2px #00000003;max-width:100%;transition:border-color .15s,box-shadow .15s}
html[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}
html[data-theme] :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px var(--arena-glow)}
html[data-theme] :is(input[type=checkbox],input[type=radio]){width:21px;height:21px;min-height:21px;accent-color:var(--accent);flex-shrink:0}
html[data-theme] :is(input,select,textarea):disabled{opacity:.65;background:var(--panel2);cursor:not-allowed}
html[data-theme] :is(.hint,.help,.form-hint,.field-help){font-size:12px;line-height:1.6;font-weight:400;color:var(--muted)}
html[data-theme] :is(button,.btn,.button,.action){min-height:44px;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700;line-height:1.4;border:1px solid var(--line);background:var(--panel2);color:var(--text);box-shadow:none;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
html[data-theme] :is(button,.btn,.button,.action):hover:not(:disabled){border-color:var(--accent);box-shadow:0 3px 12px var(--arena-glow)}
html[data-theme] :is(button,.btn,.button,.action):disabled{opacity:.5;cursor:not-allowed}
html[data-theme] :is(.btn-primary,.button.primary,button[type=submit],.protocol-savebar>button,#round-publish,#save-protocol,#approve-protocol,#round-export){background:var(--arena-button);color:#fff;border-color:transparent;box-shadow:0 4px 13px #512cc323}
html[data-theme] :is(.btn-danger,button.danger,[data-delete-player]){background:var(--panel);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}
html[data-theme] :is(button[aria-pressed=true],.tabs button.active,.view-switch button[aria-pressed=true]){background:var(--accent);color:var(--bg);border-color:var(--accent);box-shadow:0 3px 12px var(--arena-glow)}
html[data-theme=light] :is(button[aria-pressed=true],.tabs button.active){color:#fff}
html[data-theme] :is(.tabs,.protocol-section-nav,.view-switch,.tor-view-switch){background:var(--panel2);border:1px solid var(--line);padding:5px;border-radius:12px;gap:5px}
html[data-theme] :is(.table-wrap,.table-scroll,.registry-table-wrap){border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow-x:auto}
html[data-theme] table{border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text)}
html[data-theme] :is(th,td){padding:14px 16px;border-color:var(--line);vertical-align:middle}
html[data-theme] th{background:var(--panel2);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.035em;white-space:nowrap}
html[data-theme] tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel2) 40%,var(--panel))}
html[data-theme] tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
html[data-theme] :is(.stat-value,.metric strong,.summary-item strong,.match-score){font-variant-numeric:tabular-nums}
html[data-theme] :is(.badge,.status,.status-badge,.tag,.version-badge){border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:11px;font-weight:700;background:var(--panel2);color:var(--accent)}
html[data-theme] :is(.status-error,.error,.danger,[role=alert]){color:var(--danger)}
html[data-theme] :is(.status-success,.success){color:var(--success)}
html[data-theme] :is(.home-hero,.match-hero,.profile-hero){position:relative;isolation:isolate;overflow:hidden}
html[data-theme] :is(.match-hero,.profile-hero){background:radial-gradient(ellipse at 100% 0,var(--arena-glow),transparent 65%),linear-gradient(120deg,var(--panel),var(--panel2));border-top:3px solid var(--accent)}
html[data-theme] .home-hero{border-bottom:3px solid #8239dc;background:#091635}
html[data-theme] .home-hero h1{font-family:'RLF Arena',sans-serif;font-size:clamp(66px,9vw,138px);font-style:italic;letter-spacing:-.015em;line-height:.92;color:#fff;text-shadow:0 3px 0 #1479ba,0 0 40px #1483ff55}
html[data-theme] .home-hero :is(h2,p,.home-kicker){color:#f7fbff}
html[data-theme] .home-hero h2{font-size:clamp(22px,3vw,38px);max-width:650px}
html[data-theme] .home-kicker{letter-spacing:.14em;font-size:11px;font-weight:700}
html[data-theme] .league-banner{border-top:2px solid #29a3ee;border-bottom:2px solid #b32ee0}
html[data-theme] .league-banner strong{font-family:'RLF Arena',sans-serif;font-style:italic;letter-spacing:.02em}
html[data-theme] :is(.football-pitch,.tor-field-panel .round-pitch){background:repeating-linear-gradient(0deg,var(--field) 0 12.5%,var(--stripe) 12.5% 25%);border-color:var(--field-line);box-shadow:inset 0 0 35px #158cfb18,0 0 15px var(--arena-glow)}
html[data-theme] :is(.protocol-savebar,.admin-mobile-nav,.mobile-bottom-nav,.bottom-nav){background:var(--arena-glass);border-top:1px solid var(--line);box-shadow:0 -6px 24px #0000000c;padding-bottom:max(12px,env(safe-area-inset-bottom))}
html[data-theme] .protocol-savebar{gap:10px}
html[data-theme] :is(.squad-player,.event-row,.protocol-event-card){border:1px solid var(--line);background:var(--panel);border-radius:12px}
html[data-theme] .squad-circles button{border-radius:50%;padding:0;min-width:44px;min-height:44px}
html[data-theme] :is(.event-yellow,.player-actions .event-yellow){background:#f8d858;color:#422d00;border-color:#c9a52b}
html[data-theme] :is(.event-red,.player-actions .event-red){background:#af2148;color:#fff;border-color:#af2148}
html[data-theme] :is(.calendar-day,.calendar-event,.notice,.export-controls){background:var(--panel2);border-color:var(--line);border-radius:10px;color:var(--text)}
html[data-theme] .calendar-day[aria-pressed=true]{background:var(--accent);color:var(--bg)}
html[data-theme] :is(dialog,.modal-content){padding:24px;border-radius:18px;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:0 20px 80px #0006;max-width:calc(100vw - 24px)}
html[data-theme] dialog::backdrop{background:#020a24aa;backdrop-filter:blur(5px)}
html[data-theme] :is(.site-footer,footer){border-color:var(--line);color:var(--muted)}
html[data-theme] :is(.rlf-theme-toolbar [data-theme-toggle],.compact-theme){border-radius:24px;background:var(--panel2);font-family:'RLF UI',sans-serif}
html[data-theme] :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:760px){
 html[data-theme] body{font-size:14px}
 html[data-theme] h1{font-size:30px;margin-bottom:20px}
 html[data-theme] :is(.panel,.form-card,.admin-card,.protocol-section){padding:16px;border-radius:13px}
 html[data-theme] :is(.rlf-header,.site-header,.topbar){gap:10px}
 html[data-theme] :is(.brand-logo,.rlf-brand img){width:45px;height:45px}
 html[data-theme] :is(.main-nav a,.rlf-public-nav a,.rlf-admin-sidebar a,.side-link){min-height:44px}
 html[data-theme] :is(th,td){padding:12px 10px}
 html[data-theme] :is(.tabs,.protocol-section-nav){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
 html[data-theme] :is(.tabs button,.protocol-section-nav button){white-space:nowrap;padding:10px 12px}
 html[data-theme] .protocol-savebar>button{padding:10px 8px;font-size:12px;min-height:48px}
 html[data-theme] :is(.home-hero h1){font-size:76px}
 html[data-theme] :is(.home-hero h2){font-size:25px}
 html[data-theme] :is(dialog,.modal-content){padding:16px;max-height:calc(100dvh - 24px);overflow:auto}
}
@media(prefers-reduced-motion:reduce){html[data-theme] *,html[data-theme] *:before,html[data-theme] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html[data-theme] body{background:#fff!important;color:#111!important}html[data-theme] :is(.rlf-theme-toolbar,.mobile-bottom-nav,.admin-mobile-nav,.protocol-savebar){display:none!important}}
html[data-theme] [hidden]{display:none!important}
