:root{--bg:#0a0c0b;--panel:#111412;--panel2:#171a17;--line:#292d28;--text:#f4f5ee;--muted:#939990;--lime:#c9fa4a;--red:#ff5f57;--font:'Alexandria',Tahoma,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.hidden{display:none!important}.lime{color:var(--lime)}.topbar{height:76px;padding:0 6.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;position:sticky;top:0;z-index:5;background:#0a0c0bf2;backdrop-filter:blur(12px)}.brand{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none;font-size:17px;font-weight:900;line-height:1.25}.brand small{display:block;font-weight:400;font-size:9px;color:var(--muted);letter-spacing:.03em}.brand-mark{width:39px;height:39px;background:var(--lime);color:#111;border-radius:12px 4px 12px 4px;display:grid;place-items:center;font-size:24px;font-weight:900}.main-nav{display:flex;gap:32px}.nav-link,.admin-trigger,.menu-toggle{border:0;background:none;font-size:12px;color:#afb4ab}.nav-link.active,.nav-link:hover{color:var(--lime)}.admin-trigger{border:1px solid #454a42;border-radius:5px;padding:10px 15px;color:var(--text)}.admin-trigger span{color:var(--lime);padding-right:10px}.menu-toggle{display:none}.hero{height:555px;min-height:530px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 73% 48%,#222a1e 0%,#111511 25%,#0a0c0b 61%);padding:83px 10% 52px;display:flex;align-items:center}.hero:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(130deg,transparent 0 45px,#ffffff04 46px 47px);mask-image:linear-gradient(90deg,transparent,#000 70%)}.hero-copy{position:relative;z-index:2;width:53%}.eyebrow{text-transform:uppercase;color:#a5ad9f;font-size:10px;font-weight:600;letter-spacing:.14em;display:inline-flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px var(--lime)}h1,h2,h3,p{margin-top:0}.hero h1{font-weight:900;font-size:clamp(62px,8vw,110px);line-height:.98;letter-spacing:-.07em;margin:24px 0 19px}.hero-copy p{font-size:14px;color:#aab0a5;line-height:2;max-width:410px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.btn{border:0;padding:13px 19px;border-radius:4px;font-size:12px;font-weight:700}.lime-btn{background:var(--lime);color:#14180e}.lime-btn span{font-size:17px;padding-right:13px}.text-btn{background:none;border:0;color:#e9ece2;font-size:11px;padding:8px 0}.text-btn span{color:var(--lime);padding-right:8px}.hero-art{position:absolute;width:49%;height:100%;right:5%;top:0;display:grid;place-items:center;z-index:1}.orbit{position:absolute;border:1px solid #c9fa4a22;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:400px;height:500px}.orbit-two{width:290px;height:420px;border-color:#fff2;transform:rotate(28deg)}.hero-ball{width:235px;height:235px;border-radius:50%;display:grid;place-items:center;font-size:130px;color:#1a2014;background:radial-gradient(circle at 34% 26%,#e4ff9a,#a6d930 63%,#547914);box-shadow:0 30px 90px #a6d9303d, inset -20px -30px 45px #29370b66;transform:rotate(-22deg);filter:saturate(.85)}.hero-stamp{position:absolute;right:11%;bottom:20%;width:106px;height:106px;border-radius:50%;border:1px solid #e9ffd75c;color:var(--lime);font-size:27px;font-weight:900;display:grid;align-content:center;justify-items:center;transform:rotate(11deg)}.hero-stamp small{font-size:8px;line-height:1.5;text-align:center;color:#d0d6c6}.hero-vertical{position:absolute;left:2%;top:50%;writing-mode:vertical-rl;letter-spacing:.24em;color:#ffffff54;font-size:8px}.hero-bottom{position:absolute;z-index:2;bottom:22px;left:10%;right:10%;display:flex;align-items:center;gap:15px;color:#92978f;font-size:9px}.hero-line{width:60px;height:1px;background:#62665e}.scroll-note{margin-right:auto}.scroll-note b{color:var(--lime);padding-right:9px}.section{padding:86px 9%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-head h2{font-size:34px;font-weight:800;letter-spacing:-.05em;margin:8px 0 0}.outline-btn{background:transparent;border:1px solid #434941;color:#e3e7dc;padding:10px 14px;border-radius:4px;font-size:10px}.outline-btn span{color:var(--lime);padding-right:12px}.subtle{color:var(--muted);font-size:10px}.matches-section{background:#101310}.match-list{display:grid;gap:10px}.match-card{display:grid;grid-template-columns:1fr minmax(145px,.4fr) 1fr;align-items:center;background:var(--panel);border:1px solid #ffffff0e;padding:19px 24px;min-height:100px}.match-team{display:flex;align-items:center;gap:13px}.match-team.away{justify-content:flex-start}.match-team.home{justify-content:flex-end}.match-team strong{font-size:13px}.match-team small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.team-emblem{width:43px;height:43px;display:grid;place-items:center;font-size:11px;font-weight:900;color:#111;border-radius:12px 4px 12px 4px;background:var(--teamcolor,var(--lime));overflow:hidden}.team-emblem img{width:100%;height:100%;object-fit:cover}.match-middle{text-align:center;border-right:1px solid var(--line);border-left:1px solid var(--line)}.match-middle b{font-size:15px;letter-spacing:.08em}.match-middle small{display:block;color:#9ca196;font-size:9px;margin-top:7px}.match-state{font-size:8px;color:var(--lime);margin-bottom:3px;display:block}.table-wrap{border:1px solid var(--line);overflow:auto}table{width:100%;border-collapse:collapse;min-width:600px;text-align:right}th,td{padding:14px 17px;border-bottom:1px solid #ffffff0b;font-size:10px}th{color:var(--muted);font-weight:500;background:#121512}td{color:#d9ded3}td:first-child{color:var(--muted)}.rank-team{display:flex;align-items:center;gap:10px;font-weight:700}.rank-team .team-emblem{width:29px;height:29px;font-size:8px}.points{color:var(--lime);font-weight:800}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.team-card{background:var(--panel);border:1px solid #ffffff0c;padding:24px 19px;position:relative;overflow:hidden;min-height:170px}.team-card:after{content:'';position:absolute;width:90px;height:90px;border-radius:50%;background:var(--teamcolor,var(--lime));filter:blur(70px);opacity:.13;left:-10px;bottom:-20px}.team-card-head{display:flex;align-items:center;justify-content:space-between}.team-card .team-emblem{width:51px;height:51px;font-size:13px}.team-card h3{font-size:15px;margin:19px 0 4px}.team-card p{font-size:9px;color:var(--muted);margin:0}.team-card .team-color-line{height:2px;width:28px;background:var(--teamcolor,var(--lime))}.rules-band{background:var(--lime);color:#10140a;padding:58px 10%;display:grid;grid-template-columns:.4fr 1.1fr 1fr .6fr;align-items:center;gap:24px}.rules-icon{font-size:44px}.rules-band .eyebrow{color:#36451c}.rules-band h2{font-size:35px;line-height:1.2;margin:10px 0}.rules-copy p{font-size:12px;line-height:2;max-width:330px}.rules-band .text-btn{color:#111;font-weight:700}.rules-band .text-btn span{color:#384b16}.rules-num{font-size:55px;font-weight:900;text-align:center;line-height:1}.rules-num small{display:block;font-size:9px;font-weight:500;line-height:1.7}footer{padding:28px 7%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.admin-view{max-width:1180px;margin:auto;padding:58px 6% 90px;min-height:80vh}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.admin-top h1{font-size:34px;margin:8px 0}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow:auto}.admin-tab{background:none;border:0;padding:14px 20px;color:var(--muted);font-size:11px;white-space:nowrap;border-bottom:2px solid transparent}.admin-tab.active{color:var(--lime);border-color:var(--lime)}.admin-panel{display:grid;gap:15px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card,.admin-card{background:var(--panel);border:1px solid #ffffff0d;padding:22px;border-radius:5px}.stat-card>span{color:var(--muted);font-size:10px;display:block}.stat-card>b{font-size:30px;display:block;margin:12px 0 2px}.stat-card small{font-size:9px;color:#747c72}.stat-card .next-stat{font-size:13px}.admin-card{padding:22px 24px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.card-head h3{font-size:15px;margin:0}.saved-note{color:#9ba295;font-size:9px}.admin-match-list{display:grid}.admin-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #ffffff0c;gap:12px}.admin-row-info{display:flex;align-items:center;gap:12px}.admin-row-info strong{font-size:11px}.admin-row-info small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.admin-row-actions{display:flex;gap:8px}.small-btn{background:#20241f;border:1px solid #3a3f38;padding:7px 10px;border-radius:3px;font-size:9px}.small-btn.danger{color:#ff827b}.settings-grid,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.form-grid{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:8px;color:#adb4a8;font-size:10px}input,select{width:100%;background:#0d100e;border:1px solid #333932;border-radius:4px;padding:11px;color:var(--text);outline:none;font-size:11px}input:focus,select:focus{border-color:var(--lime)}input[type=color]{height:40px;padding:4px}input[type=file]{padding:8px;font-size:9px}.settings-grid small{color:#666e65;font-size:8px}.form-submit{align-self:end;height:39px}.team-info-grid{grid-template-columns:repeat(4,1fr)}.players-entry{margin:20px 0}.players-entry h4{font-size:10px;color:var(--lime);margin:18px 0 8px}.player-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.player-fields input{padding:9px}.admin-team-grid{grid-template-columns:repeat(3,1fr)}.compact-select{max-width:330px}.empty-state{text-align:center;color:var(--muted);padding:38px 15px;background:#0c0e0c;border-radius:4px;font-size:11px}.live-scoreboard{background:#0c0e0c;border:1px solid var(--line);padding:26px;margin-top:14px}.score-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center}.score-team{display:grid;justify-items:center;gap:8px}.score-team strong{font-size:13px}.score-number{font-size:38px;font-weight:900;letter-spacing:.12em}.timer-block{text-align:center;padding:17px 0}.timer{font-size:40px;font-weight:900;letter-spacing:.06em;color:var(--lime);font-variant-numeric:tabular-nums}.phase-label{font-size:10px;color:#c2c8bb}.clock-actions{display:flex;justify-content:center;gap:8px;margin-top:10px}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.event-button{border:1px solid #343a33;background:#171b17;color:#e5e9df;padding:12px 5px;border-radius:4px;font-size:10px}.event-button:hover{border-color:var(--lime);color:var(--lime)}.event-button.red{color:#ff7770}.event-button.card{color:#e8cc53}.live-log{max-height:280px;overflow:auto;border-top:1px solid var(--line);margin-top:14px}.log-item{display:flex;justify-content:space-between;gap:8px;padding:10px 2px;border-bottom:1px solid #ffffff0a;font-size:9px;color:#b9c0b4}.log-item time{color:var(--lime);white-space:nowrap}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--lime);color:#10140b;font-size:12px;padding:12px 19px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s;z-index:50;font-weight:700;box-shadow:0 10px 30px #0009}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#000b;padding:20px}.modal{width:min(480px,100%);background:#141713;border:1px solid #3a4136;padding:24px;border-radius:5px}.modal h3{font-size:16px}.modal form{display:grid;gap:13px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.modal-close{float:left;background:none;border:0;color:var(--muted);font-size:20px}.badge{color:var(--lime);background:#c9fa4a18;padding:6px 8px;border-radius:3px;font-size:8px}

/* ============ Responsive (base) ============ */
@media(max-width:850px){.topbar{padding:0 5%}.main-nav{gap:15px}.hero{padding-right:7%;padding-left:7%}.hero-art{right:-8%;width:60%;opacity:.74}.hero-copy{width:62%}.section{padding:66px 6%}.team-grid{grid-template-columns:repeat(2,1fr)}.rules-band{padding:45px 7%;grid-template-columns:.3fr 1fr 1.2fr}.rules-num{display:none}.form-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar{height:65px}.brand{font-size:14px}.brand-mark{width:34px;height:34px}.main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:#101310;padding:14px 5%;border-bottom:1px solid var(--line);justify-content:space-between}.main-nav.open{display:flex}.nav-link{font-size:10px;padding:8px 3px}.admin-trigger{font-size:9px;padding:9px}.menu-toggle{display:block;font-size:18px;padding:5px}.hero{height:540px;min-height:0;align-items:flex-start;padding:86px 7% 55px}.hero-copy{width:100%}.hero h1{font-size:73px}.hero-copy p{max-width:290px;font-size:12px}.hero-art{top:170px;right:-21%;width:95%;height:350px;opacity:.38}.hero-ball{width:190px;height:190px;font-size:100px}.orbit-one{width:300px;height:360px}.orbit-two{width:220px;height:310px}.hero-stamp{right:13%;bottom:10%;width:80px;height:80px;font-size:20px}.hero-bottom{left:7%;right:7%}.hero-vertical{display:none}.section{padding:57px 5%}.section-head h2{font-size:27px}.section-head{align-items:center}.subtle{max-width:90px;text-align:left}.match-card{grid-template-columns:1fr .65fr 1fr;padding:13px 9px;min-height:82px}.team-emblem{width:34px;height:34px;font-size:9px}.match-team{gap:6px}.match-team strong{font-size:9px}.match-team small{font-size:7px}.match-middle b{font-size:12px}.match-middle small{font-size:7px}.team-grid{gap:8px}.team-card{padding:16px 13px;min-height:145px}.team-card h3{font-size:12px}.team-card .team-emblem{width:42px;height:42px}.rules-band{grid-template-columns:35px 1fr;gap:10px;padding:37px 7%}.rules-icon{font-size:30px}.rules-band h2{font-size:28px}.rules-copy{grid-column:2}.rules-copy p{font-size:10px}.rules-num{display:none}footer{padding:24px 5%;gap:12px;flex-wrap:wrap}footer>span{order:3;width:100%}.admin-view{padding:38px 4% 65px}.admin-top h1{font-size:27px}.admin-top .outline-btn{font-size:8px;padding:9px}.admin-tab{padding:12px 11px;font-size:9px}.stat-grid{gap:7px}.stat-card{padding:15px}.stat-card>b{font-size:24px}.admin-card{padding:17px 14px}.card-head h3{font-size:12px}.settings-grid,.form-grid,.team-info-grid{grid-template-columns:repeat(2,1fr)}.player-fields{grid-template-columns:repeat(2,1fr)}.admin-team-grid{grid-template-columns:repeat(2,1fr)}.admin-row{align-items:flex-start}.admin-row-actions{flex-direction:column}.score-number{font-size:27px}.score-team strong{font-size:10px}.timer{font-size:34px}.event-grid{grid-template-columns:repeat(2,1fr)}.compact-select{max-width:53%;font-size:9px;padding:9px}}

/* ============ Kings League theme overrides ============ */
:root{--bg:#0b0a08;--panel:#13110d;--panel2:#1c1912;--line:#383126;--text:#fff9e9;--muted:#aaa18c;--lime:#ffc928;--red:#ff604d}
.topbar{background:#0b0a08f2;border-color:#ffc92820}.brand-mark{background:transparent;border-radius:0;width:43px;height:43px;flex:none}.brand-mark img{width:100%;height:100%;object-fit:contain}.hero{background:radial-gradient(ellipse at 75% 48%,#70431780 0%,#29200f 20%,#0b0a08 63%)}.hero:after{background:repeating-linear-gradient(130deg,transparent 0 45px,#ffc92808 46px 47px)}.hero-ball{background:transparent;box-shadow:none;filter:none;width:280px;height:280px;transform:rotate(-8deg)}.hero-ball img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 35px #ffb00052)}.orbit-one{border-color:#ffc92832}.hero-stamp{border-color:#ffc92873;color:var(--lime)}.matches-section{background:#100e0a}.match-card,.team-card,.stat-card,.admin-card{border-color:#ffc92816}.btn.lime-btn{background:linear-gradient(105deg,#ffd939,#ff9e20);color:#171006}.rules-band{background:linear-gradient(110deg,#ffc928,#ff9824);color:#160f05}.live-dot{background:#ffb019;box-shadow:0 0 12px #ffb019}.admin-tabs{border-color:#383126}.admin-tab.active{color:#ffc928;border-color:#ffc928}.points,.text-btn span,.outline-btn span{color:#ffc928}.nav-link.active,.nav-link:hover{color:#ffc928}

/* ============ Rules details ============ */
.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.timeline-grid article,.secret-card-grid article{background:var(--panel);border:1px solid #ffc9281a;padding:19px;border-radius:4px}.timeline-grid b{display:block;color:var(--lime);font-size:11px;letter-spacing:.06em}.timeline-grid h3{font-size:13px;margin:9px 0 5px}.timeline-grid p,.secret-card-grid span{color:var(--muted);font-size:10px;line-height:1.9;margin:0}.cards-heading{font-size:16px;margin:35px 0 14px}.secret-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.secret-card-grid b{display:block;color:var(--lime);font-size:11px;margin-bottom:8px}.president-note{font-size:10px;color:var(--muted);margin-top:15px}.rules-details{background:#0e0d0a}
@media(max-width:700px){.timeline-grid{grid-template-columns:repeat(2,1fr)}.secret-card-grid{grid-template-columns:repeat(2,1fr)}.hero-ball{width:190px;height:190px}}

/* ============ Creator credit ============ */
.creator-credit{color:#ffc928;font-size:9px;letter-spacing:.05em}
@media(max-width:560px){.creator-credit{order:4;width:100%}}

/* ============ Auth gate ============ */
.auth-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:auto;padding:28px;background:radial-gradient(ellipse at 70% 35%,#613a1670,#0b0a08 58%)}.auth-gate.hidden{display:none!important}.auth-panel{width:min(480px,100%);padding:40px;background:#12100c;border:1px solid #ffc92835;box-shadow:0 24px 90px #0008;border-radius:8px}.auth-logo{width:78px;height:78px;margin-bottom:24px}.auth-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 15px #ffb00045)}.auth-panel h1{font-size:42px;line-height:1.25;margin:13px 0}.auth-panel>p{color:var(--muted);font-size:11px;line-height:1.8;margin-bottom:23px}.role-options{display:grid;gap:10px}.role-option{display:flex;align-items:center;gap:14px;width:100%;padding:16px;background:#19160f;border:1px solid #ffffff19;border-radius:5px;text-align:right}.role-option:hover{border-color:var(--lime);background:#211b0f}.role-icon{width:40px;height:40px;display:grid;place-items:center;color:#1a1200;background:linear-gradient(130deg,#ffd83e,#ff9a20);border-radius:4px;font-size:19px}.role-option b,.role-option small{display:block}.role-option b{font-size:12px}.role-option small{font-size:9px;color:var(--muted);margin-top:5px}.role-arrow{margin-right:auto;color:var(--lime);font-size:20px}.login-form{display:grid;gap:14px;margin-top:17px}.login-form .btn{width:100%}.login-error{min-height:15px;color:#ff7166;font-size:10px}.back-role{justify-self:start;color:#c7b992}.auth-footer{display:block;margin-top:22px;color:#736c5c;font-size:9px}.admin-top-actions{display:flex;gap:8px}
@media(max-width:560px){.auth-panel{padding:27px 22px}.auth-panel h1{font-size:35px}.auth-logo{width:64px;height:64px}.admin-top-actions{flex-direction:column}.admin-top-actions .outline-btn{font-size:8px}}

/* ============ Statistics & profiles ============ */
.statistics-section{background:#0e0d0a}.team-profile-picker{margin-bottom:14px;max-width:480px}.team-profile-picker label{grid-template-columns:1fr}.profile-heading{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.profile-heading>div{display:flex;align-items:center;gap:13px}.profile-emblem{width:55px;height:55px}.profile-heading h3{margin:0 0 4px;font-size:16px}.profile-heading small{color:var(--muted);font-size:9px}.profile-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}.profile-stats>div{background:var(--panel);border:1px solid #ffc9281a;border-radius:4px;padding:14px;text-align:center}.profile-stats b,.profile-stats small{display:block}.profile-stats b{font-size:22px;color:var(--lime)}.profile-stats small{font-size:9px;color:var(--muted);margin-top:5px}.profile-history{margin:14px 0}.profile-history h4{font-size:12px;margin:16px 0}.history-row{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #ffffff10;font-size:10px}.history-row time{color:var(--muted);font-size:9px}.result-tag{padding:5px 7px;text-align:center;border-radius:3px;font-size:8px}.result-tag.win{color:#bbf277;background:#bbf27718}.result-tag.loss{color:#ff827a;background:#ff827a16}.result-tag.draw{color:#f3cb58;background:#f3cb5818}.profile-roster{margin-top:16px}.stats-columns{display:grid;gap:14px;margin-top:14px}.stats-columns .admin-card{min-width:0}.statistics-section [data-player-profile],.statistics-section [data-team-profile],#publicTeams [data-team-profile]{cursor:pointer}.statistics-section [data-player-profile]:hover,.rank-team[data-team-profile]:hover{color:var(--lime)}.profile-hint{display:block;margin-top:10px;font-size:8px;color:var(--lime);opacity:.8}
@media(min-width:1100px){.stats-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.profile-stats{grid-template-columns:repeat(3,1fr)}.history-row{grid-template-columns:54px 1fr}.history-row time{grid-column:2}.profile-emblem{width:43px;height:43px}}

/* ============ Public player directory & stats switcher ============ */
.team-profile-picker{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;max-width:620px}
.player-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.directory-player{display:flex;align-items:center;gap:12px;min-width:0;padding:13px;background:var(--panel);border:1px solid #ffc9281a;border-radius:4px;cursor:pointer}
.directory-player:hover{border-color:var(--lime)}
.directory-player>img,.player-avatar-fallback{width:48px;height:56px;flex:none;object-fit:cover;border-radius:3px;background:#282216}
.player-avatar-fallback{display:grid;place-items:center;color:var(--lime);font-weight:800;font-size:20px}
.directory-player b,.directory-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-player b{font-size:11px}.directory-player small{font-size:8px;color:var(--muted);margin-top:5px}
.player-profile-head{display:flex;align-items:center;gap:14px;margin:12px 0 18px}
.player-profile-head img,.player-profile-head .player-avatar-fallback{width:72px;height:84px;object-fit:cover;border-radius:4px}
.player-profile-head h3{margin:0 0 5px}.player-profile-head p{margin:0}
#teamStatsView{display:grid;gap:14px}
@media(max-width:850px){.player-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.player-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-player{padding:9px;gap:8px}.directory-player>img,.player-avatar-fallback{width:38px;height:46px}.team-profile-picker{grid-template-columns:1fr}}

/* ============ Admin player photos ============ */
.admin-player-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.photo-edit{display:flex;align-items:center;gap:6px;background:#0d0b08;padding:6px;border:1px solid #ffc92818;border-radius:3px;min-width:0}
.photo-edit span{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.photo-edit img{width:25px;height:28px;object-fit:cover;border-radius:2px}
.photo-edit input[type=file]{width:82px;padding:4px;font-size:7px}
.photo-edit input[type=number]{width:48px;min-width:40px;padding:5px;font-size:8px;text-align:center}
@media(max-width:560px){.admin-player-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ============ Viewer page hiding + match details ============ */
.viewer-page-hidden{display:none!important}
.match-card[data-match-details]{cursor:pointer;transition:border-color .18s,transform .18s}
.match-card[data-match-details]:hover{border-color:#ffc92870;transform:translateY(-1px)}
.match-details-modal{max-height:min(86vh,760px);overflow:auto}
.match-detail-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center;margin:20px 0 10px}
.match-detail-score>div{display:grid;justify-items:center;gap:8px}
.match-detail-score b{font-size:11px}.match-detail-score>strong{font-size:29px;color:var(--lime);white-space:nowrap}
.match-detail-meta,.match-detail-shootout{text-align:center;color:var(--muted);font-size:10px;margin:8px 0 18px}
.match-details-modal h4{font-size:12px;margin:20px 0 8px}
.match-event-list{display:grid;gap:6px}.match-event-row{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:11px;background:#0e0c09;border:1px solid #ffc92815;border-radius:3px;font-size:10px}
.match-event-row time{color:var(--lime);font-weight:700}
@media(max-width:560px){.main-nav{flex-wrap:wrap;gap:6px;justify-content:flex-start}.nav-link{flex:0 0 auto}.match-detail-score>strong{font-size:23px}.match-detail-score b{font-size:9px}}

/* ============ Creator credit link ============ */
.creator-credit a{color:inherit;text-decoration:none;transition:color .15s ease}
.creator-credit a:hover,.creator-credit a:focus-visible{color:#ffe270;text-decoration:underline}

/* =================================================================
   MATCH CONTROL CONSOLE
   ================================================================= */
.match-control-overlay{
  position:fixed;inset:0;z-index:30;background:#090b0a;color:#f8f5eb;
  display:none;flex-direction:column;overflow:auto;
  font-family:var(--font);font-size:15px;line-height:1.55;
}
.match-control-overlay.show{display:flex}
.match-control-overlay .mc-head{
  height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:space-between;
  padding:0 18px;background:#100e0a;border-bottom:1px solid #ffc9282c;
}
.match-control-overlay .mc-brand{font-size:13px;font-weight:900;letter-spacing:.08em;color:#ffc928}
.match-control-overlay .mc-muted,
.match-control-overlay header small{font-size:10.5px;color:#aaa18c}

/* Main layout */
.match-control-overlay .mc-layout{
  flex:1;min-height:0;width:100%;
  display:grid;
  grid-template-rows:180px minmax(300px,1fr) auto;
  gap:10px;padding:10px;
}

/* --- Scoreboard --- */
.match-control-overlay .mc-scoreboard{
  direction:ltr;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,360px) minmax(0,1fr);
  gap:12px;align-items:stretch;background:#13110d;border:1px solid #ffc92826;
  border-radius:8px;padding:8px 18px 0;min-height:0;height:100%;overflow:visible;
}
.match-control-overlay .mc-score-team{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  text-align:center;border-bottom:3px solid var(--team-accent,#ffc928);min-height:0;height:100%;padding-bottom:9px;
}
.match-control-overlay .mc-score-team.home{--team-accent:#e84e4e}
.match-control-overlay .mc-score-team.away{--team-accent:#37c96d}
.match-control-overlay .mc-score-team b{font-size:clamp(15px,1.5vw,23px);font-weight:800;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}
.match-control-overlay .mc-score-team strong{font-size:clamp(34px,3.4vw,54px);line-height:1.05;font-variant-numeric:tabular-nums}
.match-control-overlay .mc-score-team small{font-size:10.5px;color:#aaa18c}
.match-control-overlay .mc-score-team>b,
.match-control-overlay .mc-score-team>strong,
.match-control-overlay .mc-score-team>small{transform:translateY(-4px)}
.match-control-overlay .mc-score-team.away{border-bottom-color:#37c96d}
.match-control-overlay .mc-score-team.home{border-bottom-color:#e84e4e}
.match-control-overlay .mc-score-team.away{border-bottom-color:#37c96d}
.match-control-overlay .mc-score-team>small{margin-top:3px}
.match-control-overlay .mc-score-team{position:relative;border-bottom-color:transparent!important}
.match-control-overlay .mc-score-team:after{content:'';position:absolute;left:0;right:0;bottom:6px;height:3px;background:var(--team-accent);border-radius:2px}
.match-control-overlay .mc-clock{
  display:flex;flex-direction:column;justify-content:center;text-align:center;
  border-inline:0;padding:0 10px;min-width:0;position:relative;z-index:2;overflow:visible;transform:none;
}
.match-control-overlay .mc-clock:before,.match-control-overlay .mc-clock:after{content:'';position:absolute;top:-8px;bottom:0;width:1px;background:#383126;pointer-events:none}.match-control-overlay .mc-clock:before{left:0}.match-control-overlay .mc-clock:after{right:0}
.match-control-overlay #mc-clock{font-size:clamp(30px,2.8vw,44px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;color:#ffc928}
.match-control-overlay .mc-phase{display:block;font-size:10.5px;color:#d2c8b0;margin:3px 0 7px}
.match-control-overlay .mc-clock-buttons{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;position:relative;z-index:3;pointer-events:auto}
.match-control-overlay .mc-clock-buttons .btn,
.match-control-overlay .mc-clock-buttons .small-btn{padding:6px 9px;font-size:10.5px;position:relative;z-index:3;min-height:34px;pointer-events:auto;touch-action:manipulation}
.match-control-overlay .mc-clock-buttons [data-action="clock"]{min-width:104px;padding:8px 14px;font-size:11px;font-weight:800}
.match-control-overlay .mc-clock-buttons button:disabled{opacity:.35}
.match-control-overlay .mc-time-slider{width:100%;height:12px;margin:0;accent-color:#ffc928}

/* --- Pitch: [home] [events] [away] --- */
.match-control-overlay .mc-pitch{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,1fr) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  gap:10px;min-height:0;direction:ltr;
}
.match-control-overlay .mc-team-panel{
  display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0;overflow:hidden;
  padding:9px;background:#11110e;border:1px solid #30291b;
  border-top:3px solid var(--team-accent,#ffc928);border-radius:6px;direction:rtl;
}
.match-control-overlay .mc-team-panel.home{--team-accent:#2fbe71;grid-column:1;grid-row:1}
.match-control-overlay .mc-team-panel.away{--team-accent:#df5651;grid-column:3;grid-row:1}
.match-control-overlay .mc-team-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;flex:none}
.match-control-overlay .mc-team-panel>header b{font-size:13px}
.match-control-overlay .mc-team-panel>header small{white-space:nowrap;font-size:10.5px}
.match-control-overlay .mc-player-list{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:5px;flex:1;min-height:0}
.match-control-overlay .mc-player-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px 38px;gap:5px;min-height:0}
.match-control-overlay .mc-player-name,
.match-control-overlay .mc-mini-btn{min-width:0;border:1px solid #302b21;border-radius:4px;background:#1b1914;color:#fff;font:inherit}
.match-control-overlay .mc-player-name{text-align:right;padding:5px 9px;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-control-overlay .mc-player-name small{margin-inline-start:7px;color:#b0a893;font-size:9.5px}
.match-control-overlay .mc-player-name .mc-count{
  display:inline-block;margin-inline-start:6px;padding:1px 6px;
  background:#ff604d;color:#2a120c;border-radius:10px;font-size:9.5px;font-weight:800;
  font-variant-numeric:tabular-nums;
}
.match-control-overlay .mc-mini-btn{font-size:15px;cursor:pointer}
.match-control-overlay .mc-mini-btn.goal:hover{border-color:#4ed58a}
.match-control-overlay .mc-mini-btn.yellow:hover{border-color:#f5d143}
.match-control-overlay .mc-mini-btn.red:hover{border-color:#f16b64}
.match-control-overlay .mc-mini-btn.pitch-toggle{color:#bdb7a8;font-size:17px}
.match-control-overlay .mc-mini-btn.pitch-toggle.on-pitch{color:#8de0a5;border-color:#37c96d55}
.match-control-overlay .mc-mini-btn:disabled{opacity:.28;cursor:not-allowed}
.match-control-overlay .mc-player-help{font-size:9.5px;color:#8f8879;flex:none}
.match-control-overlay .mc-player-name.not-entered{opacity:1;color:#fff;background:#1b1914}
.match-control-overlay .mc-player-name.not-entered small{color:#b0a893}
.settings-grid>label{grid-template-rows:20px 39px auto}.settings-grid>label>input{height:39px;min-height:39px;margin:0;padding:11px;align-self:start}@media(max-width:560px){.settings-grid>label{grid-template-rows:auto 39px auto}}
.fixture-note{margin:9px 0 0}
.admin-team-grid .team-card-head{gap:10px}
.admin-team-grid [data-delete-team]{margin-inline-start:auto}

/* --- Events zone (center) --- */
.match-control-overlay .mc-event-zone{
  grid-column:2;grid-row:1;min-width:0;min-height:0;overflow:hidden;padding:10px;
  background:#13110d;border:1px solid #ffc9284d;border-radius:6px;display:flex;flex-direction:column;
}
.match-control-overlay .mc-event-zone>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;flex:none}
.match-control-overlay .mc-event-zone>header b{font-size:12.5px}
.match-control-overlay .mc-events{display:flex;flex-direction:column;gap:5px;overflow:auto;flex:1;min-height:0;margin-top:0}
.match-control-overlay .mc-event{display:grid;grid-template-columns:44px 20px minmax(0,1fr);gap:6px;padding:6px 8px;background:#0e0d0a;border:1px solid #272218;border-radius:3px;font-size:10px;line-height:1.45}
.match-control-overlay .mc-event time{color:#ffc928;font-weight:800}
.match-control-overlay .mc-events-empty{padding:20px 5px;text-align:center;color:#938a77;font-size:11px}
.match-control-overlay .mc-undo-visible{padding:5px 9px;font-size:10px;white-space:nowrap}

/* --- Bottom: phase (right) + cards (left) --- */
.match-control-overlay .mc-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);
  gap:10px;min-height:230px;
}
.match-control-overlay .mc-phase-zone{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;
  min-width:0;min-height:0;padding:14px;background:#13110d;
  border:1px solid #ffc92855;border-radius:6px;text-align:center;
}
.match-control-overlay .mc-phase-zone>b{font-size:14px;color:#ffc928}
.match-control-overlay .mc-phase-zone>small{font-size:11px;line-height:1.6;color:#c4bba6}
.match-control-overlay .mc-phase-zone label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px}
.match-control-overlay .mc-phase-zone select{max-width:90px;padding:7px;font-size:11px}
.match-control-overlay .mc-phase-zone button{width:100%;padding:9px;font-size:11.5px}
.match-control-overlay .mc-phase-zone button:disabled{opacity:.45;cursor:wait}

/* Shootout controls inside phase zone */
.match-control-overlay .mc-phase-zone .mc-shootout{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  padding:10px;background:#211b11;border:1px solid #ffc92866;border-radius:5px;font-size:11px;
}
.match-control-overlay .mc-phase-zone .mc-shootout b{width:100%;color:#ffc928;font-size:12px}
.match-control-overlay .mc-phase-zone .mc-shootout small{width:100%;color:#c9c0aa;font-size:10.5px}
.match-control-overlay .mc-phase-zone .mc-shootout select{width:auto;max-width:170px;padding:7px 10px;font-size:11px}
.match-control-overlay .mc-phase-zone .mc-shootout button{padding:7px 12px;font-size:10.5px;width:auto}
.match-control-overlay .mc-phase-zone .mc-shootout .mc-shoot-history{
  width:100%;display:flex;flex-direction:column;gap:3px;margin-top:6px;max-height:120px;overflow:auto;
  background:#0e0d0a;border:1px solid #ffc92833;border-radius:4px;padding:6px;
}
.match-control-overlay .mc-phase-zone .mc-shoot-history .row{
  display:grid;grid-template-columns:60px 1fr 60px;gap:6px;font-size:10px;color:#d9cfb6;
}
.match-control-overlay .mc-phase-zone .mc-shoot-history .row b{color:#ffc928}
.match-control-overlay .mc-phase-zone .mc-shoot-history .row.goal b{color:#7ddf9e}
.match-control-overlay .mc-phase-zone .mc-shoot-history .row.miss b{color:#ff827a}

/* Cards zone */
.match-control-overlay .mc-card-zone{
  min-width:0;min-height:0;padding:11px;background:#13110d;
  border:1px solid #30291b;border-radius:6px;overflow:auto;
}
.match-control-overlay .mc-card-zone>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;flex:none}
.match-control-overlay .mc-card-zone>header b{font-size:12.5px}
.match-control-overlay .mc-card-zone>header small{max-width:60%;text-align:left;font-size:10px;color:#aaa18c;line-height:1.4}
.match-control-overlay .mc-card-select{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:10.5px;color:#c1b69a}
.match-control-overlay .mc-card-select select{width:auto;max-width:220px;padding:7px 10px;font-size:11px}
.match-control-overlay .mc-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;margin:8px 0;
}
.match-control-overlay .mc-card-tile{
  display:flex;min-width:0;min-height:72px;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:3px;padding:8px;background:#1b1914;color:#f9f2df;
  border:1px solid #373023;border-radius:4px;text-align:right;font:inherit;cursor:pointer;
}
.match-control-overlay .mc-card-tile b{font-size:10.5px;color:#ffc928;line-height:1.2}
.match-control-overlay .mc-card-tile small,
.match-control-overlay .mc-card-tile em{font-size:9px;line-height:1.3;color:#b3a98f;font-style:normal}
.match-control-overlay .mc-card-tile.active{border-color:#ffc928;background:#2c2512}
.match-control-overlay .mc-card-tile:disabled{opacity:.38;cursor:not-allowed}
.match-control-overlay [data-action="activate-card"]{width:100%;padding:8px;margin-top:6px;font-size:11px}
.match-control-overlay .mc-extra-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.match-control-overlay .mc-extra-actions .small-btn{padding:6px 9px;font-size:10px}
.match-control-overlay .mc-extra-actions label{display:flex;align-items:center;gap:5px;font-size:10px}
.match-control-overlay .mc-pending{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px;margin-top:6px;
  background:#28210f;border:1px solid #ffc92844;border-radius:4px;font-size:10px;
}
.match-control-overlay .danger{color:#ff827a}

.match-control-overlay .mc-dice-prompt{
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
  padding:6px;margin-top:4px;border:1px solid #ffc92855;border-radius:5px;background:#241e10;
}
.match-control-overlay .mc-dice-prompt>b{color:#ffc928;font-size:11.5px}
.match-control-overlay .mc-dice-prompt>small{width:100%;font-size:10px;color:#c9c0aa}
.match-control-overlay .mc-dice-prompt select{max-width:80px;padding:5px;font-size:10.5px}
.match-control-overlay .mc-dice-result{
  display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;
  border:1px solid #ffc92888;border-radius:6px;background:#241e10;
  color:#ffc928;font-size:15px;font-weight:900;
}
.match-control-overlay .mc-dice-result.rolling{animation:mc-dice-roll .18s linear infinite alternate}
@keyframes mc-dice-roll{from{transform:rotate(-8deg) scale(.96)}to{transform:rotate(8deg) scale(1.04)}}

/* ============ Special standalone actions zone ============ */
.match-control-overlay .mc-special-actions{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-top:8px;padding:8px;
  background:#1a1208;border:1px solid #ff9e2055;border-radius:5px;
}
.match-control-overlay .mc-special-actions>b{
  font-size:10.5px;color:#ffb347;width:100%;margin-bottom:4px;font-weight:700;
}
.match-control-overlay .mc-special-actions button{
  padding:7px 12px;font-size:10.5px;
  background:#2a1a08;border:1px solid #ff9e2070;color:#ffd28a;
  border-radius:4px;cursor:pointer;font-family:inherit;
}
.match-control-overlay .mc-special-actions button:hover{
  border-color:#ffd28a;background:#3a240a;
}
.match-control-overlay .mc-special-actions button:disabled{
  opacity:.35;cursor:not-allowed;
}
.match-control-overlay .mc-special-actions button.danger{
  border-color:#ff604d70;color:#ff827a;background:#2a0f0c;
}
.match-control-overlay .mc-special-actions button.danger:hover{
  border-color:#ff827a;background:#3a1410;
}

/* ============ Match control responsive ============ */
@media(max-width:1100px){
  .match-control-overlay .mc-pitch{
    grid-template-columns:minmax(0,1fr) minmax(240px,.9fr) minmax(0,1fr);
  }
  .match-control-overlay .mc-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .match-control-overlay .mc-bottom{grid-template-columns:1fr;min-height:0}
}

@media(max-width:950px){
  .match-control-overlay .mc-layout{grid-template-rows:auto auto auto}
  .match-control-overlay .mc-pitch{
    grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;direction:rtl;
  }
  .match-control-overlay .mc-team-panel.home{grid-column:1;grid-row:1;min-height:300px}
  .match-control-overlay .mc-event-zone{grid-column:1;grid-row:2;min-height:180px;order:2}
  .match-control-overlay .mc-team-panel.away{grid-column:1;grid-row:3;min-height:300px}
  .match-control-overlay .mc-events{max-height:220px}
  .match-control-overlay .mc-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:620px){
  .match-control-overlay{font-size:14px}
  .match-control-overlay .mc-head{height:auto;min-height:46px;padding:6px 10px}
  .match-control-overlay .mc-layout{padding:6px;gap:7px}
  .match-control-overlay .mc-scoreboard{grid-template-columns:1fr 1.15fr 1fr;padding:8px 5px;gap:4px;min-height:120px;height:auto;overflow:visible}
  .match-control-overlay .mc-score-team{min-height:100px}
  .match-control-overlay .mc-clock{padding:0 3px}
  .match-control-overlay #mc-clock{font-size:24px}
  .match-control-overlay .mc-score-team b{font-size:11px}
  .match-control-overlay .mc-score-team strong{font-size:28px}
  .match-control-overlay .mc-clock-buttons .btn,
  .match-control-overlay .mc-clock-buttons .small-btn{padding:5px;font-size:8.5px;min-height:28px}
  .match-control-overlay .mc-team-panel{min-height:auto}
  .match-control-overlay .mc-player-row{grid-template-columns:minmax(0,1fr) 34px 34px 34px}
  .match-control-overlay .mc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .match-control-overlay .mc-card-zone{overflow:visible}
  .match-control-overlay .mc-events{max-height:200px}
}
/* =========================================================================
   Final polish: mobile viewer experience + small optimizations
   (لوحة المنظم بتتفتح من PC، فالتحسينات هنا للمشاهد على الموبايل)
   ========================================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;-webkit-tap-highlight-color:transparent}
img{max-width:100%}
.topbar{padding-top:env(safe-area-inset-top,0)}
footer{padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}
button,.nav-link,.small-btn,.outline-btn{touch-action:manipulation}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(max-width:700px){
  .admin-trigger{display:none}                 /* المنظم بيدخل من الفوتر أو من الكمبيوتر */
  .topbar{justify-content:space-between}
  .menu-toggle{min-width:44px;min-height:44px;display:grid;place-items:center}
  .main-nav.open{flex-wrap:wrap;gap:4px 6px;padding:10px 5% 14px}
  .main-nav.open .nav-link{font-size:13px;padding:10px 12px;border-radius:10px;background:#ffffff0a;flex:1 1 calc(33% - 8px);text-align:center}
  .main-nav.open .nav-link.active{background:var(--lime);color:#14110a}

  .section{padding:44px 5%}
  .section-head{flex-wrap:wrap;gap:10px}
  .section-head .subtle{max-width:none;text-align:right;font-size:11px}
  .outline-btn{font-size:11px;padding:10px 14px}
  .hero{height:auto;min-height:520px;padding-bottom:70px}
  .hero-copy p{font-size:14px;max-width:320px;line-height:1.8}
  .hero-actions{gap:12px;flex-wrap:wrap}
  .hero-actions .btn{padding:14px 20px;font-size:13px}
  .hero-actions .text-btn{font-size:13px}

  /* كارت المباراة: أسماء وخطوط مقروءة */
  .match-card{grid-template-columns:1fr auto 1fr;gap:6px;padding:14px 10px;min-height:96px}
  .match-team strong{font-size:12px;line-height:1.35;word-break:break-word}
  .match-team small{font-size:10px}
  .match-team{gap:8px;min-width:0}
  .team-emblem{width:38px;height:38px;font-size:10px;flex:none}
  .match-middle{min-width:88px;gap:3px}
  .match-middle b{font-size:17px}
  .match-middle small{font-size:9.5px;line-height:1.5;text-align:center}
  .match-state{font-size:10px}

  /* الجداول: تتزنق عشان تظهر كل الأعمدة */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
  .table-wrap table{min-width:0;width:100%}
  .table-wrap th,.table-wrap td{padding:10px 5px;font-size:11.5px;white-space:nowrap}
  .table-wrap th{font-size:10.5px}
  .table-wrap td:nth-child(2),.table-wrap th:nth-child(2){white-space:normal;min-width:96px}
  .rank-team{gap:6px;font-size:12px}
  .rank-team .team-emblem{width:24px;height:24px;font-size:8px}
  .profile-roster table{min-width:520px}      /* جدول لاعبي الفريق فيه أعمدة كتير: سكرول أفقي */

  .team-card{min-height:130px}
  .team-card h3{font-size:13px}
  .team-card p{font-size:10.5px}
  .directory-player b{font-size:12px}
  .directory-player small{font-size:10px}
  .timeline-grid article,.secret-card-grid article{padding:16px}
  .timeline-grid article p,.secret-card-grid article span{font-size:12px;line-height:1.8}

  /* النوافذ المنبثقة (تفاصيل المباراة / ملف اللاعب) */
  .modal{width:calc(100% - 20px);max-height:88vh;overflow:auto;padding:20px 16px;border-radius:18px}
  .modal-close{width:40px;height:40px}
  .match-detail-score b{font-size:11px}
  .match-event-row{font-size:12px}
  .toast{max-width:calc(100% - 24px);font-size:12px;bottom:calc(16px + env(safe-area-inset-bottom,0))}
  .auth-panel{padding:26px 20px}
}

/* شاشات صغيرة جداً */
@media(max-width:360px){
  .hero h1{font-size:60px}
  .match-card{padding:12px 6px}
  .match-team strong{font-size:11px}
  .table-wrap th,.table-wrap td{padding:9px 3px;font-size:11px}
}

@media(max-width:700px){
  .match-card{grid-template-columns:1fr 1.15fr 1fr;align-items:center;padding:16px 8px}
  .match-team,.match-team.home,.match-team.away{flex-direction:column;text-align:center;justify-content:center;gap:6px}
  .match-team .team-emblem{order:-1;width:44px;height:44px;font-size:11px}
  .match-team>div{text-align:center;min-width:0}
  .match-team strong{font-size:12px;display:block}
  .match-middle{padding:0 4px;min-width:0}
  .match-middle small{display:block;max-width:100%;word-break:break-word}
}
.match-day-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}.match-day-filters button{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:9px 13px;border-radius:4px;font-size:10px}.match-day-filters button.active{border-color:var(--lime);color:#111;background:var(--lime);font-weight:700}.match-inline-edit{display:flex;gap:7px;align-items:center;max-width:500px}.match-inline-edit label,.bracket-schedule label{min-width:110px;font-size:8px}.match-inline-edit input,.bracket-schedule input{padding:7px;font-size:9px}.admin-row{flex-wrap:wrap}.qual-badge{display:inline-block;padding:6px 8px;border-radius:4px;font-size:8px;white-space:nowrap}.qual-badge.direct{color:#bfff8c;background:#a1f4501a;border:1px solid #a1f45055}.qual-badge.qualify{color:#d6ff79;background:#c9fa4a12;border:1px solid #c9fa4a33}.qual-badge.out{color:#ff8880;background:#ff5f5712;border:1px solid #ff5f5733}.public-bracket{background:#101310}.bracket-flow{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding:8px 0 16px}.bracket-round{flex:1 0 250px;min-width:250px;display:grid;align-content:start;gap:10px}.bracket-round>h4{color:var(--lime);margin:0;font-size:12px}.bracket-match{background:var(--panel);border:1px solid var(--line);padding:13px;border-radius:5px;display:grid;gap:8px}.bracket-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.bracket-teams b{font-size:9px}.bracket-teams b:last-child{text-align:left}.bracket-teams strong{color:var(--lime);font-size:10px}.bracket-match>small{color:var(--muted);font-size:8px}.bracket-arrow{align-self:center;color:var(--lime);font-size:20px}.bracket-schedule{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;border-top:1px solid var(--line);padding-top:8px}.bracket-schedule label{min-width:0}.team-card-head [data-edit-team]{margin-right:auto}.match-inline-edit{margin-right:auto}.match-inline-edit label{min-width:110px}@media(max-width:700px){.match-inline-edit{width:100%;max-width:none}.match-inline-edit label{min-width:0;flex:1}.bracket-round{flex-basis:220px;min-width:220px}.qual-badge{white-space:normal}}

.admin-team-grid .team-card-head{gap:10px}.admin-team-grid [data-delete-team]{margin-inline-start:auto}#standingsBody .rank-team:before{content:'';width:4px;height:30px;border-radius:5px;background:#888;flex:none;margin-inline-end:2px}#standingsBody tr.qual-direct .rank-team:before{background:#48c878}#standingsBody tr.qual-qf .rank-team:before{background:#c9fa4a}#standingsBody tr.qual-out .rank-team:before{background:#ed5c57}#standingsBody tr:first-child .rank-team:before{background:#48c878}#standingsBody tr:nth-child(n+2):nth-child(-n+7) .rank-team:before{background:#c9fa4a}#standingsBody tr:nth-child(n+8) .rank-team:before{background:#ed5c57}

/* Tournament bracket, compact calendar pager, and qualification schedule previews. */
.match-day-filters{display:flex;justify-content:center;align-items:center;padding:4px 0 14px;overflow:visible}
.day-page-buttons{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.match-day-filters button{flex:0 0 auto;white-space:nowrap}
.match-day-filters .day-page-arrow{width:38px;height:36px;padding:0;font-size:19px;color:var(--lime)}
.match-day-filters .day-page-arrow:disabled{opacity:.3;cursor:default}
.schedule-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #ffc92855;color:#ffc928;font-size:10px}
.schedule-preview-heading small{color:var(--muted);font-size:8px}
.match-schedule-placeholder{border-style:dashed;background:#14130f}
.match-schedule-placeholder .match-team strong{color:var(--lime)}
.match-schedule-placeholder .team-emblem{background:#24231d;color:var(--lime)}
.bracket-round-dates{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));gap:10px;margin:0 0 14px}
.bracket-round-dates label{display:grid;gap:5px;font-size:9px}
.bracket-round-dates input{height:34px;padding:7px;font-size:10px}
.bracket-flow{display:block;overflow:visible;padding:8px 0 16px}
.public-bracket{background:#101310;padding-top:30px;padding-bottom:30px}
.public-bracket .section-head{margin-bottom:16px}
.bracket-tree{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.9fr) minmax(200px,1fr) minmax(170px,.9fr) minmax(0,1fr);grid-template-rows:minmax(220px,auto);grid-template-areas:"leftInputs leftSemi final rightSemi rightInputs";gap:8px;direction:ltr;align-items:stretch}
.bracket-input-stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;min-width:0;position:relative;direction:rtl;align-content:center}
.bracket-upper-inputs{grid-area:rightInputs}.bracket-lower-inputs{grid-area:leftInputs}
.bracket-node{display:flex;align-items:center;justify-content:center;min-width:0;position:relative;direction:rtl}
.bracket-upper-semi{grid-area:rightSemi}.bracket-lower-semi{grid-area:leftSemi}
.bracket-final{grid-area:final;display:grid;align-content:center;gap:8px;min-width:0;position:relative;direction:rtl;border-inline:1px solid #ffc92838;padding:12px}
.bracket-final>h4{position:absolute;top:calc(50% - 78px);left:0;right:0}
.bracket-tree h4{color:var(--lime);margin:0;font-size:10px;text-align:center}
.bracket-node h4{position:absolute;top:calc(50% - 66px);left:0;right:0}
.bracket-match,.bracket-bye{background:var(--panel);border:1px solid var(--line);padding:9px 10px;border-radius:5px;display:grid;align-content:center;gap:6px;min-width:0;text-align:center;direction:rtl}
.bracket-match>small,.bracket-bye>small,.bracket-bye>span{color:var(--muted);font-size:9px;text-align:center}
.bracket-match>small:first-child{color:var(--lime);font-size:9px;font-weight:800;margin-top:2px;padding:3px 0 6px;border-bottom:1px solid #ffc92828}
.bracket-qualifier{display:grid;justify-items:center;gap:2px;line-height:1.4}
.bracket-qualifier small{color:var(--muted);font-size:8px}
.bracket-qualifier b{color:#f5f0dc;font-size:10px}
.bracket-bye{border-style:solid;border-color:var(--line)}
.bracket-bye b{font-size:12px;color:#e8ffd0;text-align:center}
.bracket-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px}
.bracket-teams b{font-size:9.5px;line-height:1.45;overflow-wrap:anywhere}
.bracket-teams b:last-child{text-align:center}
.bracket-teams strong{color:var(--lime);font-size:10px;white-space:nowrap}
.bracket-champion{text-align:center;color:#ffc928;font-weight:800;font-size:10px;padding-top:4px}
.bracket-upper-inputs:after,.bracket-upper-semi:after,.bracket-lower-inputs:after,.bracket-lower-semi:after{position:absolute;top:50%;transform:translateY(-50%);color:var(--lime);font-size:18px;z-index:2}
.bracket-upper-inputs:after{content:'←';left:-8px}.bracket-upper-semi:after{content:'←';left:-8px}
.bracket-lower-inputs:after{content:'→';right:-8px}.bracket-lower-semi:after{content:'→';right:-8px}
@media(max-width:900px){.bracket-tree{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"rightInputs rightSemi" "leftSemi leftInputs" "final final";gap:12px}.bracket-node{min-height:150px}.bracket-node h4{top:calc(50% - 60px)}.bracket-input-stack{min-height:220px}.bracket-final{min-height:190px}.bracket-final>h4{top:calc(50% - 72px)}.bracket-upper-inputs:after,.bracket-upper-semi:after,.bracket-lower-inputs:after,.bracket-lower-semi:after{display:none}}
@media(max-width:560px){.day-page-buttons{gap:5px}.match-day-filters button{padding:8px 9px;font-size:8px}.match-day-filters .day-page-arrow{width:32px}.bracket-round-dates{grid-template-columns:1fr 1fr}.bracket-tree{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"rightInputs" "rightSemi" "leftInputs" "leftSemi" "final"}.bracket-input-stack{min-height:190px}.bracket-final{min-height:190px}}

/* Keep knockout placeholders readable and lift quarter-final labels slightly. */
.bracket-pending .bracket-teams{grid-template-columns:minmax(0,1fr);gap:4px}
.bracket-pending .bracket-teams b,.bracket-pending .bracket-teams b:last-child{width:100%;text-align:center;font-size:10px;line-height:1.4;overflow-wrap:normal}
.bracket-pending .bracket-teams strong{line-height:1}
.bracket-input-stack .bracket-match>small:first-child{transform:translateY(-2px)}
/* Full-width tournament bracket connectors, matching the bracket sketch. */
.bracket-tree{grid-template-columns:minmax(0,1fr) 32px minmax(135px,.85fr) 32px minmax(190px,1fr) 32px minmax(135px,.85fr) 32px minmax(0,1fr);grid-template-areas:"leftInputs leftToSemi leftSemi leftToFinal final rightToSemi rightSemi rightToInputs rightInputs";gap:0}
.bracket-lower-inputs{grid-area:leftInputs}.bracket-lower-semi{grid-area:leftSemi}.bracket-final{grid-area:final}.bracket-upper-semi{grid-area:rightSemi}.bracket-upper-inputs{grid-area:rightInputs}
.bracket-connect-right{grid-area:leftToSemi}.bracket-connect-straight-left{grid-area:leftToFinal}.bracket-connect-straight-right{grid-area:rightToSemi}.bracket-connect-left{grid-area:rightToInputs}
.bracket-connector{display:flex;align-items:stretch;min-width:0;position:relative;z-index:2}
.bracket-connector svg{display:block;width:100%;height:100%;overflow:visible}
.bracket-connector path{fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bracket-upper-inputs:after,.bracket-upper-semi:after,.bracket-lower-inputs:after,.bracket-lower-semi:after{content:none}
@media(max-width:900px){.bracket-tree{min-width:760px;grid-template-columns:minmax(0,1fr) 20px minmax(115px,.85fr) 20px minmax(160px,1fr) 20px minmax(115px,.85fr) 20px minmax(0,1fr);grid-template-rows:minmax(220px,auto)}#publicBracket,#bracketAdminContent{max-width:100%;overflow-x:auto}.bracket-connector{display:flex}}
@media(max-width:560px){.bracket-tree{min-width:760px;grid-template-columns:minmax(0,1fr) 16px minmax(105px,.85fr) 16px minmax(145px,1fr) 16px minmax(105px,.85fr) 16px minmax(0,1fr)}#publicBracket,#bracketAdminContent{overflow-x:auto}}
/* Keep the lower-quarterfinal branch visibly joined over wide layouts. */
.bracket-connector{z-index:8;overflow:visible}
.bracket-connector svg{overflow:visible!important}
.bracket-connector path{stroke:#ffc928!important;stroke-width:3!important}

/* Keep semi-final and final headings in normal flow above their cards at every viewport size. */
.bracket-node{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px}
.bracket-final{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px}
.bracket-node h4,.bracket-final>h4{position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;width:100%;margin:0!important;padding:0 4px;flex:none;line-height:1.5;z-index:1}

