/* ElroiHub — app.css  (Huba-style structure, red palette) */
:root{
  --bg:#080506;--bg2:#0d0809;--surface:#150c0f;--surface2:#1c1115;--surface3:#2a1b21;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);
  --red:#ff3347;--red-solid:#e50914;--red-deep:#b4000c;--red-dim:rgba(255,51,71,.14);--red-glow:rgba(255,51,71,.45);--grad:linear-gradient(135deg,#e8182c,#b4000c);
  --text:#f6eff1;--muted:#b4a5ab;--dim:#8a7b81;--green:#3ddc84;
  --font:'Rajdhani','Segoe UI',system-ui,-apple-system,sans-serif;
  --safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
  --top-h:56px;--bnav-h:70px;
  /* aliases (older markup / admin) */
  --bg3:var(--surface2);--bg4:var(--surface3);--card:var(--surface);--border:var(--line);--border2:var(--line2);--red2:#ff1e2d;--display:var(--font);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);font-weight:500;font-size:16px;line-height:1.35;color:var(--text);background:var(--bg);min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(800px 460px at -5% -8%,rgba(255,40,60,.17),transparent 62%),radial-gradient(640px 460px at 105% 108%,rgba(255,40,60,.11),transparent 62%),linear-gradient(180deg,#0b0608,#070405)}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:6px}
body.lock{overflow:hidden}

/* ── cut-corner helper: opaque fill + 1px edge, top-left & bottom-right chamfer ── */
.cut{--c:10px;position:relative;isolation:isolate;background:var(--edge,var(--line2));
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c))}
.cut::before{content:"";position:absolute;inset:1px;z-index:-1;background:var(--fill,var(--surface2));
  clip-path:polygon(calc(var(--c) - .59px) 0,100% 0,100% calc(100% - var(--c) + .59px),calc(100% - var(--c) + .59px) 100%,0 100%,0 calc(var(--c) - .59px))}

/* live pulse dot */
.ld{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 var(--red-glow);animation:pulse 1.6s infinite;margin-right:6px;flex-shrink:0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,51,71,.6)}70%{box-shadow:0 0 0 7px rgba(255,51,71,0)}100%{box-shadow:0 0 0 0 rgba(255,51,71,0)}}

/* progress bar on navigation */
.bar{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--red-deep),var(--red));box-shadow:0 0 10px var(--red);z-index:300;transition:width .5s ease}

/* ── top bar ── */
.top{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:var(--safe-t);background:rgba(9,5,7,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.top-in{height:var(--top-h);max-width:1240px;margin:0 auto;padding:0 8px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center}
.ibtn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:19px;color:var(--text);transition:background .2s,color .2s}
.ibtn:hover{background:var(--red-dim);color:var(--red)}
.brand{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:21px;letter-spacing:.4px}
.mark{--c:7px;--edge:rgba(255,51,71,.8);--fill:var(--grad);width:30px;height:30px;display:grid;place-items:center;font-size:15px;color:#fff;flex-shrink:0}
.dnav{display:none}

/* ── drawer (diagonal cut edge) ── */
.scrim{position:fixed;inset:0;z-index:70;background:rgba(4,2,3,.66);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(82vw,330px);z-index:80;transform:translateX(104%);visibility:hidden;
  transition:transform .38s cubic-bezier(.3,.8,.2,1),visibility 0s .38s;filter:drop-shadow(-1px 0 0 var(--red)) drop-shadow(-10px 0 28px rgba(255,51,71,.18))}
.drawer-in{height:100%;overflow-y:auto;padding:calc(var(--safe-t) + 26px) 22px calc(var(--safe-b) + 24px) 74px;background:linear-gradient(180deg,#120a0d,#0a0507);clip-path:polygon(54px 0,100% 0,100% 100%,0 100%)}
.drawer h3{font-size:26px;font-weight:700;text-align:center;padding-bottom:12px;margin-bottom:10px;position:relative;letter-spacing:.5px}
.drawer h3::after{content:"";position:absolute;left:50%;bottom:0;width:70%;height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--red),transparent)}
.drawer nav a,.drawer nav button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 4px;font-size:17px;font-weight:600;border-bottom:1px solid var(--line);color:var(--text);transition:color .2s,padding .2s}
.drawer nav a:hover,.drawer nav button:hover{color:var(--red);padding-left:10px}
.drawer nav i{width:22px;text-align:center;color:var(--red)}
.drawer .x{position:absolute;top:calc(var(--safe-t) + 8px);left:64px}
body.menu-open .scrim,body.search-open .scrim{opacity:1;visibility:visible;transition:opacity .3s}
body.menu-open .drawer{transform:none;visibility:visible;transition-delay:0s}

/* ── search sheet ── */
.sheet{position:fixed;inset:0;z-index:90;padding:calc(var(--safe-t) + 14px) 16px 16px;background:rgba(8,4,6,.97);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility 0s .25s}
body.search-open .sheet{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.sheet-f{display:flex;align-items:center;gap:10px;max-width:700px;margin:0 auto;padding:4px 4px 4px 16px;border:1px solid var(--line2);border-radius:16px;background:var(--surface2)}
.sheet-f:focus-within{border-color:var(--red);box-shadow:0 0 0 3px var(--red-dim)}
.sheet-f>i{color:var(--red)}
.sheet-f input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:20px;padding:10px 0}
.sheet-h{max-width:700px;margin:26px auto 10px;color:var(--dim);font-size:13px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600}
.sheet .chips{max-width:700px;margin:0 auto;flex-wrap:wrap}

/* ── bottom nav ── */
.bnav{--c:16px;--edge:rgba(255,51,71,.6);--fill:rgba(12,6,8,.94);position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe-b));width:min(calc(100% - 20px),500px);display:flex;padding:7px 4px 6px}
.bnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--dim);letter-spacing:.3px;transition:color .2s}
.bnav .ic{width:42px;height:34px;display:grid;place-items:center;border-radius:11px;font-size:18px;transition:all .25s}
.bnav a:active .ic{transform:scale(.9)}
.bnav a.on{color:var(--red)}
.bnav a.on .ic{color:#fff;background:var(--grad);box-shadow:0 0 20px var(--red-glow)}

/* ── layout ── */
.main{max-width:1240px;margin:0 auto;padding:calc(var(--top-h) + var(--safe-t) + 18px) 14px calc(var(--bnav-h) + var(--safe-b) + 34px);min-height:78vh}
.ptitle{font-size:32px;font-weight:700;line-height:1.05;letter-spacing:.6px}
.sub{color:var(--muted);font-size:15px;margin-top:4px}
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.upd{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--red);padding:5px 11px;border:1px solid rgba(255,51,71,.4);border-radius:30px;background:var(--red-dim)}
.sec{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 12px}
.tag{--c:9px;--edge:rgba(255,51,71,.45);--fill:linear-gradient(135deg,#271318,#1a0e12);display:inline-flex;align-items:center;padding:7px 16px 7px 14px;font-size:16px;font-weight:700;color:var(--red);letter-spacing:.4px}
.more{color:var(--text);font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.more i{font-size:11px;transition:transform .2s}.more:hover{color:var(--red)}.more:hover i{transform:translateX(3px)}

/* chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;margin-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar,.rail::-webkit-scrollbar,.days::-webkit-scrollbar{display:none}
.chip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 15px;border-radius:30px;background:var(--surface2);border:1px solid var(--line);color:var(--muted);font-size:15px;font-weight:600;transition:all .2s}
.chip:hover{color:var(--text);border-color:rgba(255,51,71,.5)}
.chip.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 6px 18px -6px var(--red-glow)}
.chip .tile{margin:-4px 0 -4px -9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:12px;background:var(--grad);color:#fff;font-weight:700;font-size:16px;letter-spacing:.3px;box-shadow:0 8px 22px -8px var(--red-glow);transition:transform .15s,filter .2s}
.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.97)}

/* ── crest tiles + skeleton shimmer ── */
.tile{position:relative;overflow:hidden;display:inline-grid;place-items:center;flex-shrink:0;width:var(--s,52px);height:var(--s,52px);border-radius:calc(var(--s,52px)*.28);background:linear-gradient(145deg,#33232a,#241820);border:1px solid var(--line)}
.tile img{width:68%;height:68%;object-fit:contain}
.tile .ph{font-size:calc(var(--s,52px)*.3);font-weight:700;color:var(--muted);letter-spacing:.5px}
.ctile{background:linear-gradient(145deg,#3a1219,#240b10);border-color:rgba(255,51,71,.3)}.ctile .ph{color:var(--red)}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.13) 50%,transparent 70%);background-size:220% 100%;animation:shim 1.3s infinite}
@keyframes shim{from{background-position:130% 0}to{background-position:-130% 0}}
.crest{object-fit:contain;flex-shrink:0}
.crest-ph{display:inline-block;border-radius:50%;background:var(--surface3);flex-shrink:0}

/* ── match card ── */
.mcard{position:relative;display:block;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#1f1318,#150c0f);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.mcard:hover{transform:translateY(-3px);border-color:rgba(255,51,71,.5);box-shadow:0 14px 34px -16px var(--red-glow)}
.mcard.is-live{border-color:rgba(255,51,71,.55);box-shadow:0 0 0 1px rgba(255,51,71,.15),0 12px 34px -18px var(--red-glow)}
.flag{position:absolute;top:10px;right:14px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--red)}
.flag.soft{color:var(--muted)}.flag.soft i{font-size:9px;margin-right:6px}
.mc-body{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:26px 12px 12px}
.mc-team{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.mc-team b{font-size:16px;font-weight:600;line-height:1.1;max-width:100%;overflow-wrap:anywhere;min-height:2.2em;display:flex;align-items:center;justify-content:center}
.mc-team small{font-size:12.5px;color:var(--dim);margin-top:-3px}
.mc-mid{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:76px}
.vs{font-size:34px;font-weight:700;line-height:1;color:var(--red);letter-spacing:1px;text-shadow:0 0 20px var(--red-glow)}
.score{display:flex;align-items:center;gap:6px;font-size:36px;font-weight:700;line-height:1;letter-spacing:1px;white-space:nowrap}
.score i{font-style:normal;color:var(--dim);font-size:26px}
.is-live .score{color:#fff;text-shadow:0 0 20px var(--red-glow)}
.mc-sub{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:var(--muted)}
.mc-sub i{font-size:12px;color:var(--red)}.mc-sub.live{color:var(--red)}.mc-sub .ld{margin-right:2px}
.is-done .mc-sub{color:var(--red)}
.mc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 8px 8px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.055);font-size:14px;font-weight:600}
.mc-foot .lg{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);padding-left:8px;border-left:2px solid var(--red)}
.mc-foot .dt{color:var(--muted);white-space:nowrap}
/* boxed countdown digits */
.cd{display:inline-flex;gap:4px;flex-shrink:0}
.cd b{display:inline-grid;place-items:center;min-width:30px;padding:1px 5px;border-radius:6px;background:#f7f1f2;color:#1a0b0f;font-size:13.5px;font-weight:700;line-height:1.5}
.cd b.go{background:var(--red-solid);color:#fff;padding:1px 10px}

/* carousel */
.rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 6px;margin:0 -14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0 14px}
.rail>*{flex:0 0 min(88%,372px);scroll-snap-align:start}
.dots{display:flex;justify-content:center;gap:6px;min-height:8px;margin-top:6px}
.dots button{width:7px;height:7px;border-radius:7px;background:rgba(255,255,255,.22);transition:all .25s;padding:0}
.dots button.on{width:22px;background:var(--red);box-shadow:0 0 10px var(--red-glow)}
.dots[hidden]{display:none}
.grid{display:grid;grid-template-columns:1fr;gap:12px}
.grp{margin-bottom:22px}
.grp-h{display:flex;align-items:center;gap:10px;margin:18px 0 12px;font-size:19px;font-weight:700}
.grp-h em{font-style:normal;font-size:13px;color:var(--red);background:var(--red-dim);border-radius:20px;padding:1px 9px}
.grp-h>i{margin-left:auto;font-size:12px;color:var(--dim)}.grp-h:hover{color:var(--red)}
.empty{--c:14px;--fill:var(--surface);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:38px 20px;margin:12px 0;color:var(--muted)}
.empty>i{font-size:34px;color:var(--red);margin-bottom:4px}.empty b{font-size:20px;color:var(--text)}.empty .btn{margin-top:10px}

/* date strip */
.days{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 10px;margin-bottom:4px;scrollbar-width:none;scroll-snap-type:x proximity}
.day{--c:9px;--fill:var(--surface);flex:0 0 66px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0;color:var(--muted);scroll-snap-align:center;transition:color .2s}
.day b{font-size:16px;font-weight:700;line-height:1.1}.day span{font-size:13px}
.day:hover{color:var(--text)}
.day.on{--edge:var(--red);--fill:#2a1015;color:var(--text)}
.day.today{--edge:var(--red);--fill:var(--grad);color:#fff;box-shadow:0 0 24px -4px var(--red-glow)}
.day.today.on{filter:none}
.day:not(.today):not(.on){opacity:.9}
.mdbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:6px;border-radius:14px;background:var(--surface2);border:1px solid var(--line)}
.mdbar a{width:42px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--muted)}.mdbar a:hover{background:var(--red-dim);color:var(--red)}
.mdbar b{font-size:18px}

/* tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 16px;overflow-x:auto;scrollbar-width:none}
.tabs a{padding:11px 18px;color:var(--muted);font-size:16px;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tabs a.on{color:var(--red);border-color:var(--red);text-shadow:0 0 16px var(--red-glow)}

/* tables */
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:16px;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:15.5px;min-width:100%}
.tbl th{color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;text-align:center;padding:12px 8px;background:var(--surface2)}
.tbl td{padding:10px 8px;text-align:center;border-top:1px solid var(--line);font-weight:600}
.tbl th:nth-child(2),.tbl td.team,.tbl td.pl{text-align:left}
.tbl td.team a{display:flex;align-items:center;gap:10px;white-space:nowrap}.tbl td.team a:hover{color:var(--red)}
.tbl td.pts{font-weight:700;color:var(--red);font-size:17px}
.tbl tr.zone td:first-child{box-shadow:inset 3px 0 var(--green)}
.tbl tbody tr{transition:background .2s}.tbl tbody tr:hover{background:rgba(255,255,255,.03)}
.tbl-wrap .tbl td:nth-child(2){position:sticky;left:0;background:var(--surface);z-index:1}
.tbl-wrap .tbl th:nth-child(2){position:sticky;left:0;background:var(--surface2);z-index:1}
.tbl-title{font-size:14px;color:var(--red);margin:18px 0 8px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.two{display:grid;grid-template-columns:1fr;gap:0 18px}

/* leagues */
.comp-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
.comp-card{--c:12px;--fill:var(--surface);display:flex;align-items:center;gap:14px;padding:14px 16px;transition:transform .2s,--edge .2s}
.comp-card b{display:block;font-size:19px}.comp-card small{color:var(--muted);font-size:14px}
.comp-card>span:nth-child(2){flex:1}.comp-card>i{color:var(--dim);font-size:12px}
.comp-card:hover{--edge:var(--red);transform:translateY(-2px)}
.comp-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}

/* match page */
.mhero{--c:18px;--edge:rgba(255,51,71,.4);--fill:linear-gradient(160deg,#241218,#140a0d 70%);padding:22px 14px 18px;text-align:center}
.mhero.is-live{--edge:var(--red)}
.mhero-comp{color:var(--muted);font-size:15px;margin-bottom:16px;font-weight:600}.mhero-comp a:hover{color:var(--red)}
.mhero-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.mhero-team{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:700;font-size:18px;line-height:1.1;min-width:0}
.mhero-team small{font-size:13px;color:var(--dim);font-weight:600;margin-top:-4px}.mhero-team:hover span{color:var(--red)}
.mhero-mid{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:90px}
.mhero-score{display:flex;align-items:center;gap:8px;font-size:60px;font-weight:700;letter-spacing:2px;line-height:1}
.mhero-score i{font-style:normal;color:var(--dim);font-size:40px}
.mhero-score.vs{color:var(--red);text-shadow:0 0 28px var(--red-glow)}
.mhero-cd{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16px}.mhero-cd small{color:var(--muted);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600}
.mhero-cd .cd b{min-width:38px;font-size:18px;padding:3px 7px}
.mhero-meta{margin-top:16px;color:var(--muted);font-size:14.5px;display:flex;gap:10px 16px;justify-content:center;align-items:center;flex-wrap:wrap}
.mhero-meta i{color:var(--red);margin-right:3px}
.mhero-meta .chip{padding:5px 13px;font-size:14px}
.player{--c:14px;--fill:#000;aspect-ratio:16/9;margin:0 auto 14px;max-width:960px}
.player iframe{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);border:0}
.player-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--muted);text-align:center;padding:20px;background:radial-gradient(circle at 50% 30%,#2a1016,#0b0507)}
.player-empty i{font-size:38px;color:var(--red);margin-bottom:4px}.player-empty b{color:var(--text);font-size:19px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden}
.box h3{display:flex;justify-content:space-between;padding:11px 16px;background:var(--surface2);font-size:14px;letter-spacing:1.3px;text-transform:uppercase;color:var(--red);font-weight:700}
.box h3 em{font-style:normal;color:var(--dim)}
.evt{display:flex;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid var(--line);font-size:16px}.evt:first-child{border-top:0}
.evt .min{width:36px;color:var(--red);font-weight:700}
.ev-t small{color:var(--dim)}.ev-t small.sc{color:var(--muted)}
.ev-ic{width:22px;display:grid;place-items:center;flex-shrink:0;color:var(--text)}
.ev-ic.red,.ev-ic.yellow{width:13px;height:18px;border-radius:3px;margin:0 4.5px}
.ev-ic.red{background:#e50914}.ev-ic.yellow{background:#f5c518}
.squad .row{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--line);font-size:16px}
.squad .row small{color:var(--muted);font-size:14px}
.squad-grid{display:grid;grid-template-columns:1fr;gap:0 14px}

/* docs / admin / notices */
.page-doc{max-width:760px;line-height:1.7;color:var(--muted);font-size:17px}.page-doc .ptitle{margin-bottom:12px;color:var(--text)}.page-doc h2{color:var(--text);margin:22px 0 6px}
.admin-login{display:flex;gap:8px;max-width:360px;margin-top:12px}
.admin-form{display:grid;gap:10px;padding:16px}
.inp{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--surface2);color:var(--text);font:inherit;font-size:16px}
.inp:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px var(--red-dim)}
.admin-form .btn{justify-self:start}
.lnk{color:var(--red)}.url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.chip.del:hover{border-color:var(--red);color:var(--red)}
.f-notice{background:var(--red-dim);border:1px solid var(--red);border-radius:12px;padding:12px 16px;margin:12px 0}

/* footer */
.footer{border-top:1px solid var(--line);background:rgba(8,4,6,.7);padding:38px 18px calc(var(--bnav-h) + var(--safe-b) + 26px)}
.footer-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.f-brand{grid-column:1/-1}.f-brand .brand{justify-content:flex-start}
.f-brand p{color:var(--muted);font-size:15px;margin-top:12px;max-width:340px}
.f-col h4{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.f-col a{display:block;color:var(--muted);font-size:15.5px;padding:5px 0;transition:color .2s}.f-col a:hover{color:var(--text)}
.f-bot{max-width:1240px;margin:26px auto 0;padding-top:18px;border-top:1px solid var(--line);color:var(--dim);font-size:13.5px;display:flex;flex-direction:column;gap:6px}

.toast{position:fixed;left:50%;bottom:calc(var(--bnav-h) + var(--safe-b) + 24px);transform:translate(-50%,20px);z-index:200;background:#1d0f14;border:1px solid var(--red);color:#fff;padding:10px 18px;border-radius:12px;font-weight:600;opacity:0;pointer-events:none;transition:all .3s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ── tablet ── */
@media(min-width:700px){
  .main{padding-left:22px;padding-right:22px}
  .rail{padding:4px 22px 6px;margin:0 -22px;scroll-padding:0 22px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .comp-grid{grid-template-columns:repeat(2,1fr)}
  .squad-grid{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr 1fr}
  .footer-in{grid-template-columns:2fr 1fr 1fr 1fr}.f-brand{grid-column:auto}
  .f-bot{flex-direction:row;justify-content:space-between}
  .mhero-score{font-size:76px}.mhero{padding:28px 24px 22px}
}
/* ── desktop: inline nav, no bottom bar ── */
@media(min-width:960px){
  :root{--top-h:64px;--bnav-h:0px}
  .top-in{grid-template-columns:auto 1fr 48px;gap:26px;padding:0 18px}
  .brand{font-size:23px}
  .dnav{display:flex;gap:4px}
  .dnav a{display:inline-flex;align-items:center;padding:9px 16px;border-radius:10px;font-size:17px;font-weight:600;color:var(--muted);position:relative;transition:color .2s,background .2s}
  .dnav a:hover{color:var(--text);background:rgba(255,255,255,.05)}
  .dnav a.on{color:#fff}.dnav a.on::after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
  .top-in .ibtn[data-open=search]{order:3;justify-self:end;margin-right:-4px}
  .top-in .brand{order:1}.top-in .dnav{order:2}.top-in .ibtn[data-open=menu]{order:4}
  .top-in{grid-template-columns:auto 1fr 44px 44px}
  .bnav{display:none}
  .main{padding-top:calc(var(--top-h) + var(--safe-t) + 28px);padding-bottom:50px}
  .footer{padding-bottom:30px}
  .toast{bottom:30px}
  .grid{grid-template-columns:repeat(3,1fr)}
  .comp-grid{grid-template-columns:repeat(3,1fr)}
  .squad-grid{grid-template-columns:repeat(4,1fr)}
  .rail>*{flex-basis:360px}
  .ptitle{font-size:40px}
  .day{flex-basis:78px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
