/* OSM Bet v4 - mobile-first betting-app UI. Dark green + yellow. No build step. */
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/barlow-sc-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/barlow-sc-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/barlow-sc-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/barlow-sc-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/barlow-sc-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/barlow-sc-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/barlow-sc-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/barlow-sc-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --bg:#04180f; --s1:#0a2c1b; --s2:#0f3a25; --s3:#154a2f; --line:#1c5238; --line2:#256646;
  --tx:#f1f8f3; --mu:#a4c2b0; --yl:#ffd21f; --yl2:#ffe27a; --ink:#1b1500;
  --red:#ff7468; --redbg:#3a1512; --pos:#52e08a; --blue:#6fb8ff;
  --top:54px; --tab:60px; --bar:62px; --r:12px;
  --font:'Barlow Semi Condensed','Arial Narrow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 56px)}
body{margin:0;background:var(--bg);color:var(--tx);font:500 16px/1.4 var(--font);overflow-x:hidden;min-height:100dvh;
  background-image:radial-gradient(120% 60% at 50% -10%,#0d4a2c 0,transparent 60%);background-repeat:no-repeat}
a{color:inherit;text-decoration:none}
h1{font-size:24px;line-height:1.15;margin:0;font-weight:700;letter-spacing:.2px}
h2{font-size:17px;margin:0;font-weight:700}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--yl);outline-offset:2px}
.muted{color:var(--mu)} .small{font-size:14px} .center{text-align:center} .grow{flex:1 1 auto}
.pos{color:var(--pos)} .neg{color:var(--red)} .pad{margin:14px 0 0}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.i.big{width:44px;height:44px;stroke-width:1.4;color:var(--mu)}
[hidden]{display:none!important}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#07351f,#052a19);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.top-in{height:var(--top);display:flex;align-items:center;gap:8px;padding:0 12px;max-width:1120px;margin:0 auto}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:21px;letter-spacing:.3px;min-height:44px}
.brand b{color:var(--yl);font-weight:700}
.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--yl);color:var(--ink)}
.logo .i{width:20px;height:20px;stroke-width:2.1}
.backbtn{display:flex;align-items:center;gap:8px;min-height:44px;min-width:44px;font-weight:700;font-size:18px;min-width:0;flex:1 1 auto}
.backbtn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.right{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
.bal{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:999px;background:#03140c;border:1px solid var(--line2);color:var(--yl);font-size:17px}
.bal b{font-weight:700;font-variant-numeric:tabular-nums}
.lang{display:flex;height:44px;border-radius:999px;border:1px solid var(--line2);overflow:hidden;font-size:13px;font-weight:700;min-width:44px}
.lang span{display:grid;place-items:center;padding:0 9px;color:var(--mu)}
.lang span.on{background:var(--yl);color:var(--ink)}
.dnav{display:none}

/* ---------- layout ---------- */
.layout{max-width:1120px;margin:0 auto;display:block}
main{padding:12px 12px calc(var(--tab) + var(--bar) + 36px + env(safe-area-inset-bottom));min-width:0}
body:not(.authed) main{padding-bottom:28px}
.foot{margin:28px 0 0;color:var(--mu);font-size:13px;text-align:center}
.pagehead{margin:6px 0 12px}
.pagehead p{margin:4px 0 0;font-size:14px}
.sect{margin:22px 0 10px;display:flex;align-items:baseline;gap:10px;font-size:18px}
.sect small{font-size:14px;font-weight:500}
.panel{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0 0 12px}
.panel.ok{border-color:var(--yl)}
.panel h2{margin-bottom:10px}
.notice{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#2a2a07;border:1px solid #5b5410;color:var(--yl2);font-size:14px;line-height:1.35}
.notice .i{margin-top:1px}
.alert{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;padding:11px 12px;border-radius:10px;background:var(--redbg);border:1px solid #7a2c25;color:#ffc9c3;font-size:15px;line-height:1.35}
.alert .i{margin-top:1px;color:var(--red)}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--mu);letter-spacing:.2px}
.tag.cup{color:var(--yl2)} .tag.bet{color:var(--ink);background:var(--yl);padding:2px 8px;border-radius:999px}
.tag .i{width:14px;height:14px}

/* ---------- buttons / chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;border:0;font-weight:700;font-size:17px;background:var(--s3);color:var(--tx)}
.btn.primary{background:var(--yl);color:var(--ink)}
.btn.primary:disabled{background:#4a5a30;color:#a9b690;cursor:not-allowed}
.btn.wide{width:100%}
.btn.ghostbtn{background:transparent;border:1px solid var(--line2);color:var(--tx)}
.smallbtn{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:transparent;font-weight:600;font-size:14px}
.smallbtn.danger{color:var(--red);border-color:#7a2c25}
.iconbtn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:0;background:transparent;color:var(--tx)}
.ghost{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;background:transparent;color:var(--mu);font-size:14px;font-weight:600}
.inl{display:inline;margin:0}
.chips{display:flex;gap:8px;margin:0 0 12px}
.scrollx{overflow-x:auto;overflow-y:hidden;margin-inline:-12px;padding:2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.scrollx::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--s1);border:1px solid var(--line);color:var(--tx);font-weight:600;font-size:15px;white-space:nowrap}
.chip em{font-style:normal;font-size:13px;color:var(--mu)}
.chip.on{background:var(--yl);border-color:var(--yl);color:var(--ink)}
.chip.on em{color:var(--ink)}
.chip.cur:not(.on){border-color:var(--yl);color:var(--yl)}
.seg{display:flex;background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:3px;margin:0 0 12px}
.seg a{flex:1;min-height:44px;display:grid;place-items:center;border-radius:9px;font-weight:600;font-size:15px;color:var(--mu);text-align:center}
.seg a.on{background:var(--s3);color:var(--yl)}
.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:36px 20px;background:var(--s1);border:1px dashed var(--line2);border-radius:var(--r);margin:8px 0}
.empty b{font-size:18px} .empty p{margin:0 0 10px;color:var(--mu);max-width:280px}

/* ---------- club / badge ---------- */
.badge{border-radius:50%;background:#0c2a1b;flex:none;object-fit:contain}
.club{display:inline-flex;align-items:center;gap:8px;min-width:0}
.club.human .cn,.club.human a{color:var(--yl2)}
.human .mgr{color:var(--yl2)}
.mgr{font-size:13px;font-weight:500;color:var(--mu)}
.fc{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;font-style:normal;font-size:13px;font-weight:700;margin-right:3px;color:#04180f}
.fc.W{background:var(--pos)} .fc.D{background:#c9cfc5} .fc.L{background:var(--red)}

/* ---------- odds ---------- */
.og{display:grid;gap:6px}
.og2{grid-template-columns:repeat(2,minmax(0,1fr))} .og3{grid-template-columns:repeat(3,minmax(0,1fr))} .og4{grid-template-columns:repeat(4,minmax(0,1fr))}
.og1,.og.rows{grid-template-columns:minmax(0,1fr)}
.odd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:50px;padding:6px 4px;border-radius:10px;border:1px solid var(--line);background:var(--s2);text-align:center;min-width:0;transition:background .12s,transform .08s}
.odd .ol{font-size:13.5px;color:var(--mu);line-height:1.15;max-width:100%;overflow-wrap:anywhere;font-weight:600}
.odd b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--yl)}
.odd:active{transform:scale(.97)}
.odd.big{min-height:54px;flex-direction:row;justify-content:space-between;padding:6px 14px}
.odd.big .ol{font-size:16px;color:var(--tx)} .odd.big b{font-size:20px}
.odd.small{min-height:46px} .odd.small .ol{font-size:13px} .odd.small b{font-size:16px}
.odd.wide,.odd.r{flex-direction:row;justify-content:space-between;gap:8px;padding:8px 12px;text-align:left}
.odd.wide .ol,.odd.r .ol{color:var(--tx);font-size:14.5px;text-align:left}
.odd.sel{background:var(--yl);border-color:var(--yl)}
.odd.sel .ol,.odd.sel b{color:var(--ink)}
.odd:disabled{opacity:.45;cursor:not-allowed}

/* ---------- match cards (bulletin) ---------- */
.dayhead{margin:18px 0 8px;font-size:14px;font-weight:700;color:var(--yl);text-transform:uppercase;letter-spacing:.8px}
.daygrp:first-of-type .dayhead{margin-top:6px}
.mcard{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:10px;margin:0 0 10px}
.mcard.closed{opacity:.8}
.mlink{display:block}
.mmeta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.mmeta .time{font-weight:700;font-size:16px;color:var(--tx);background:var(--s3);padding:1px 8px;border-radius:6px;font-variant-numeric:tabular-nums}
.closes{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--mu);font-weight:600}
.closes .i{width:14px;height:14px} .closes.shut{color:var(--red)}
.mteams{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.tm{display:flex;align-items:center;gap:10px;min-width:0;min-height:34px}
.tn{font-weight:700;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.tm.human .tn{color:var(--yl2)}
.tm .mgr{margin-left:auto;flex:none;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mcard .og+.og{margin-top:6px}
.more{display:flex;align-items:center;gap:6px;min-height:44px;margin:4px 0 -6px;padding:0 4px;font-size:14px;color:var(--mu);font-weight:600}
.more .plus{color:var(--yl);font-weight:700;font-size:15px}
.more .i{width:18px;height:18px}

/* result rows */
.rows{display:flex;flex-direction:column;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.resrow,.fxrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;padding:8px 12px;min-height:52px;border-bottom:1px solid var(--line)}
.resrow:last-child,.fxrow:last-child{border-bottom:0}
.resrow .wk{grid-column:1/-1;font-size:13px;color:var(--mu);margin-bottom:2px;font-weight:600}
.rt,.fx-t{display:flex;align-items:center;gap:8px;min-width:0}
.rt.h,.fx-t.h{justify-content:flex-end;text-align:right} 
.rn{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0;font-weight:600;font-size:15px;line-height:1.15;overflow-wrap:anywhere}
.sc{min-width:54px;text-align:center;font-size:18px;font-weight:700;background:var(--s3);padding:3px 8px;border-radius:7px;font-variant-numeric:tabular-nums}
.sc.pending{background:transparent;color:var(--mu);font-weight:600}
.fx-tags{grid-column:1/-1;display:flex;gap:10px;justify-content:center;margin-top:2px}
.fx-tags .tag.bet{font-size:13px;padding:1px 8px}
.fxrow.hh{background:linear-gradient(90deg,rgba(255,210,31,.08),transparent)}
.weeks .chip{min-width:48px;justify-content:center;padding:0 12px}

/* ---------- match page ---------- */
.mhero{background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--line);border-radius:var(--r);padding:14px 12px;margin-bottom:10px}
.mh-meta{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:center;font-size:13px;color:var(--mu);font-weight:600;margin-bottom:12px}
.mh-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:start}
.mh-team{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.mh-team b{font-size:16.5px;line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
.mh-team b.human{color:var(--yl2)}
.mh-team .form{display:flex;justify-content:center}
.mh-mid{display:flex;flex-direction:column;align-items:center;padding-top:14px;min-width:56px}
.mh-mid .ko{font-size:26px;font-variant-numeric:tabular-nums}
.mh-mid .score{font-size:30px;font-variant-numeric:tabular-nums}
.mh-mid small{color:var(--mu);font-size:13px}
.insight{margin-top:14px}
.probbar{display:flex;height:26px;border-radius:7px;overflow:hidden;font-size:13.5px;font-weight:700;color:var(--ink)}
.probbar span{display:grid;place-items:center;min-width:34px}
.p1{background:var(--yl)} .px{background:#cfd8c9} .p2{background:#7fd1a0}
.legend{display:flex;justify-content:space-between;font-size:13px;color:var(--mu);margin-top:3px;padding:0 4px}
.ins{margin:8px 0 0;text-align:center}
.status{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 0 0;font-size:14.5px;font-weight:600}
.status.open{color:var(--yl2)} .status.shut{color:var(--red)}
.catbar{position:sticky;top:calc(var(--top) + env(safe-area-inset-top));z-index:20;background:var(--bg);margin:0 -12px 8px;padding:6px 12px 2px}
.catbar .chips{margin-bottom:6px}
.mk{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);margin:0 0 8px;overflow:hidden}
.mk summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:0 14px;font-weight:700;font-size:16.5px;cursor:pointer}
.mk summary::-webkit-details-marker{display:none}
.mk .chev{transition:transform .15s;color:var(--mu)}
.mk[open] .chev{transform:rotate(180deg)}
.mk .og{padding:0 10px 10px}
.mk.hide{display:none}

/* ---------- bet slip ---------- */
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:70;opacity:0;transition:opacity .2s}
.backdrop.show{opacity:1}
.slipbar{position:fixed;left:0;right:0;bottom:calc(var(--tab) + env(safe-area-inset-bottom));z-index:55;padding:0 10px 8px;pointer-events:none}
.slipbar-btn{pointer-events:auto;width:100%;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;min-height:var(--bar);padding:6px 14px 6px 8px;border-radius:14px;border:0;background:var(--yl);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.2);text-align:left}
.sb-count{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--yl);font-weight:700;font-size:20px;flex:none}
.sb-mid{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}
.sb-mid b{font-size:17px} .sb-mid small{font-size:13.5px;font-weight:600} .sb-mid small b{font-size:14px}
.sb-win{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.sb-win small{font-size:13px;font-weight:600} .sb-win b{font-size:19px;font-variant-numeric:tabular-nums}
.slipbar .up{transform:rotate(180deg);flex:none}
.slip{position:fixed;left:0;right:0;bottom:0;z-index:80;max-height:90dvh;display:flex;flex-direction:column;background:var(--s1);border:1px solid var(--line2);border-bottom:0;border-radius:20px 20px 0 0;transform:translateY(105%);visibility:hidden;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s .26s;box-shadow:0 -10px 40px rgba(0,0,0,.6);padding-bottom:env(safe-area-inset-bottom)}
.slip.open{transform:none;visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.slip-grab{width:44px;height:5px;border-radius:3px;background:var(--line2);margin:8px auto 0;flex:none}
.slip-head{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 16px;flex:none}
.slip-head h2{font-size:20px}
.count{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--yl);color:var(--ink);font-weight:700;font-size:14px}
.slip-scroll{overflow-y:auto;overscroll-behavior:contain;padding:4px 14px 12px;flex:1 1 auto;-webkit-overflow-scrolling:touch}
.slip-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 20px;text-align:center;color:var(--mu)}
.slip-empty p{margin:0}
.sleg{position:relative;background:var(--s2);border:1px solid var(--line);border-radius:12px;padding:10px 48px 10px 12px;margin:0 0 8px}
.sleg.bad{border-color:#a8382f;background:#2c1512}
.sleg .m{font-size:13.5px;color:var(--mu);font-weight:600;overflow-wrap:anywhere}
.sleg .pick{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:3px;font-weight:700;font-size:16.5px}
.sleg .pick span.t{min-width:0;overflow-wrap:anywhere}
.sleg .o{color:var(--yl);font-size:18px;font-variant-numeric:tabular-nums;flex:none}
.sleg .e{margin-top:6px;color:#ffc9c3;font-size:14.5px;font-weight:600;display:flex;gap:6px;align-items:flex-start}
.sleg .e .i{width:18px;height:18px;color:var(--red);margin-top:1px}
.sleg .x{position:absolute;right:0;top:0;width:46px;height:46px;border:0;background:transparent;color:var(--mu);display:grid;place-items:center}
.switch{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 2px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:44px;height:30px;margin:0}
.knob{flex:none;width:46px;height:28px;border-radius:999px;background:var(--s3);border:1px solid var(--line2);position:relative;transition:background .15s}
.knob::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--mu);transition:transform .15s,background .15s}
.switch input:checked~.knob{background:var(--yl);border-color:var(--yl)}
.switch input:checked~.knob::after{transform:translateX(18px);background:var(--ink)}
.switch input:focus-visible~.knob{outline:2px solid var(--yl);outline-offset:2px}
.sw-t{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.sw-t b{font-size:15.5px} .sw-t small{color:var(--mu);font-size:13px;font-weight:500}
.sum{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.row-r b{color:var(--yl);font-size:19px;font-variant-numeric:tabular-nums}
.stakebox{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 8px;font-weight:700;font-size:16px}
.stakein{display:flex;align-items:center;gap:8px;flex:0 1 190px;min-width:0;background:var(--bg);border:2px solid var(--line2);border-radius:12px;padding:0 12px}
.stakein:focus-within{border-color:var(--yl)}
.stakein input#stake{width:100%;min-width:0;border:0;margin:0;padding:0;background:transparent;text-align:right;font-size:24px;font-weight:700;min-height:50px;outline:none;font-variant-numeric:tabular-nums}
.stakein em{font-style:normal;color:var(--mu);font-size:13px}
.stakebox.err .stakein{border-color:var(--red)}
.chips-stake{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.chips-stake button{min-height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--s2);font-weight:700;font-size:15px}
.chips-stake button:active{background:var(--s3)}
.hint{margin:8px 0 0;color:var(--mu);font-size:13.5px}
.field-err{margin:6px 0 0;color:#ffc9c3;font-weight:600;font-size:14.5px}
.pot{margin-top:12px;padding:12px;border-radius:12px;background:var(--s2);align-items:center}
.pot b{font-size:24px;color:var(--yl);font-variant-numeric:tabular-nums}
.slip-actions{padding:10px 14px 12px;flex:none;border-top:1px solid var(--line);background:var(--s1)}
.slip-ok{text-align:center;padding:22px 8px}
.slip-ok .i{width:56px;height:56px;color:var(--pos);stroke-width:1.6}
.slip-ok h3{margin:8px 0 4px;font-size:21px} .slip-ok p{margin:0 0 6px;color:var(--mu)}
.slip-ok .w{color:var(--yl);font-weight:700;font-size:20px}
.slip-ok .btn{margin-top:10px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tab) + var(--bar) + 22px + env(safe-area-inset-bottom));z-index:60;width:calc(100% - 24px);max-width:480px;background:#06130c;border:1px solid var(--line2);border-left:4px solid var(--yl);border-radius:12px;padding:12px 14px;font-weight:600;font-size:15px;box-shadow:0 8px 28px rgba(0,0,0,.6);display:flex;gap:10px;align-items:center}
.toast button{margin-left:auto;flex:none;min-height:44px;padding:0 14px;border-radius:10px;border:0;background:var(--yl);color:var(--ink);font-weight:700}
.toast.bad{border-left-color:var(--red)}
body.noscroll{overflow:hidden}

/* ---------- bottom tab bar ---------- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tab) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#031209;border-top:1px solid var(--line)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;color:var(--mu);font-size:13px;font-weight:600;position:relative}
.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
.tab .i{width:24px;height:24px}
.tab.on{color:var(--yl)}
.tab.on::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--yl)}

/* ---------- bets ---------- */
.bet{background:var(--s1);border:1px solid var(--line);border-left:4px solid var(--line2);border-radius:var(--r);margin:0 0 10px;overflow:hidden}
.bet.open{border-left-color:var(--blue)} .bet.won{border-left-color:var(--pos)} .bet.lost{border-left-color:var(--red)} .bet.void{border-left-color:var(--mu)}
.bhead{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}
.bid{font-size:16px} .kind{color:var(--mu);font-size:14px;font-weight:600}
.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:700;background:var(--s3);white-space:nowrap}
.pill .i{width:14px;height:14px;stroke-width:2.4}
.pill.sm{padding:1px 8px;font-size:13px}
.st-won,.st-win{background:rgba(82,224,138,.16);color:var(--pos)} .st-lost,.st-lose{background:rgba(255,116,104,.16);color:var(--red)}
.st-open{background:rgba(111,184,255,.16);color:var(--blue)} .st-void{background:#2b3a31;color:var(--mu)}
.blegs{padding:0 12px}
.bleg{padding:8px 0;border-top:1px solid var(--line)}
.bl-m{font-weight:700;font-size:15.5px;overflow-wrap:anywhere}
.bl-pick{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}
.bl-p{flex:1 1 140px;min-width:0;font-size:15px;overflow-wrap:anywhere}
.bl-o{color:var(--yl);font-variant-numeric:tabular-nums}
.bfoot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px;padding:10px 12px;background:var(--s2)}
.bfoot small{display:block;color:var(--mu);font-size:13px;font-weight:600}
.bfoot b{font-size:18px;font-variant-numeric:tabular-nums}
.bfoot .won b{color:var(--pos)}
.bdate{margin:0;padding:6px 12px 8px;background:var(--s2);font-size:13px}

/* ---------- leaderboard ---------- */
.lb{list-style:none;margin:0;padding:0}
.lbrow{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);margin:0 0 8px;padding:10px 12px}
.lbrow.me{border-color:var(--yl);background:linear-gradient(90deg,rgba(255,210,31,.1),var(--s1) 60%)}
.lb-main{display:flex;align-items:center;gap:10px}
.rk{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--s3);font-weight:700;font-size:15px}
.top1 .rk{background:var(--yl);color:var(--ink)} .top2 .rk{background:#d4dcd6;color:var(--ink)} .top3 .rk{background:#d99a5b;color:var(--ink)}
.av{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--s3)}
.av.big{width:68px;height:68px}
.ini{font-weight:700;font-size:18px;color:var(--yl)}
.who{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}
.nm{display:flex;align-items:center;gap:6px;min-width:0}
.who b{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who small{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.you{font-style:normal;font-size:12.5px;background:var(--yl);color:var(--ink);border-radius:5px;padding:0 6px;font-weight:700;flex:none}
.bal-col{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;flex:none}
.bal-col b{font-size:19px;color:var(--yl);font-variant-numeric:tabular-nums} .bal-col small{font-size:13px}
.lb-stats,.pstats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.lb-stats div,.pstats div{min-width:0;text-align:center}
.lb-stats dt,.pstats dt{font-size:13px;color:var(--mu);font-weight:600;line-height:1.15;min-height:28px;display:flex;align-items:flex-end;justify-content:center;overflow-wrap:anywhere}
.lb-stats dd,.pstats dd{margin:0;font-weight:700;font-size:15.5px;font-variant-numeric:tabular-nums}

/* ---------- tables ---------- */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);overscroll-behavior-x:contain}
.tbl{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:0 10px;height:46px;text-align:center;font-size:15px;white-space:nowrap;border-bottom:1px solid var(--line)}
.tbl th{height:40px;font-size:13px;color:var(--mu);font-weight:700;background:var(--s2);text-transform:uppercase;letter-spacing:.3px}
.tbl tr:last-child td{border-bottom:0}
.tbl .stick{position:sticky;left:0;z-index:2;text-align:left;background:var(--s1);box-shadow:1px 0 0 var(--line);min-width:150px;max-width:190px}
.tbl th.stick{background:var(--s2)}
.tbl .stick a{display:flex;align-items:center;gap:8px;min-height:44px}
.tbl .stick .cn{overflow:hidden;text-overflow:ellipsis;font-weight:600}
.tbl .pos{display:inline-block;min-width:18px;color:var(--mu);font-weight:700;font-size:14px;text-align:right}
.tbl td.pts b{color:var(--yl);font-size:17px}
.tbl tr.human td{background:rgba(255,210,31,.07)} .tbl tr.human td.stick{background:#16341f;box-shadow:inset 3px 0 0 var(--yl),1px 0 0 var(--line)}
.tbl td.fm{text-align:left}
.legend-note{display:flex;align-items:center;gap:8px;color:var(--mu);font-size:13.5px;margin:10px 2px}
.swatch{width:14px;height:14px;border-radius:4px;background:rgba(255,210,31,.5);border:1px solid var(--yl)}
.plist{list-style:none;margin:0 0 8px;padding:0;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.prow{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0} .prow.human{background:rgba(255,210,31,.07)}
.prow .rk{background:transparent;color:var(--mu);width:24px;height:auto}
.pn{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}
.pn b{font-size:16.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .pn small{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv{font-size:24px;font-weight:700;color:var(--yl);min-width:34px;text-align:right}

/* ---------- team / profile / video / forms ---------- */
.thero{text-align:center;padding:14px 8px 4px}
.thero h1{margin:8px 0 2px} .thero p{margin:2px 0}
.tstat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0 8px}
.tstat div{background:var(--s1);border:1px solid var(--line);border-radius:10px;padding:8px 2px}
.tstat dt{font-size:13px;color:var(--mu);font-weight:600} .tstat dd{margin:0;font-size:19px;font-weight:700;color:var(--yl)}
.thero .form{display:flex;justify-content:center;margin:6px 0 0}
.phero{display:flex;align-items:center;gap:14px;margin:6px 0 14px}
.phero p{margin:2px 0 0}
.pstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0}
.pstats div{background:var(--s1);border:1px solid var(--line);border-radius:12px;padding:10px 4px}
.pstats dd{font-size:21px}
.menu{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.menu a{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;border-bottom:1px solid var(--line);font-weight:600;font-size:16.5px}
.menu a:last-child{border-bottom:0} .menu a>span{flex:1;min-width:0} .menu .go{color:var(--mu)}
.vidbox{background:#000;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.vidbox video{display:block;width:100%;height:auto;max-height:70dvh;background:#000;aspect-ratio:16/9}
.vmeta{margin:8px 2px 12px}
label{display:block;font-weight:600;font-size:15px}
.authform label,.h2hform label{margin-bottom:12px}
input:not([type=checkbox]):not([type=hidden]),select{display:block;width:100%;min-height:50px;margin-top:6px;padding:0 14px;background:var(--bg);border:2px solid var(--line2);border-radius:12px;font-size:17px;font-weight:500}
input:focus,select:focus{border-color:var(--yl);outline:none}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mu) 50%),linear-gradient(135deg,var(--mu) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.h2hform label span{color:var(--yl);margin-right:4px}
.linkbox{font-size:15px!important;margin:10px 0!important}
.authcard{max-width:420px;margin:18px auto 0;padding:22px 16px;background:var(--s1);border:1px solid var(--line);border-radius:18px}
.authlogo{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 10px;border-radius:18px;background:var(--yl);color:var(--ink)}
.authlogo .i{width:38px;height:38px;stroke-width:1.8}
.authcard h1{text-align:center;font-size:30px} .authcard h1 b{color:var(--yl)}
.authcard>p{margin:6px 0 14px}
.invfor{display:flex;gap:8px;align-items:center;justify-content:center;font-weight:600;flex-wrap:wrap}
.arow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);min-height:56px}
.arow:last-child{border-bottom:0}
.a-main{display:flex;flex-direction:column;min-width:0;line-height:1.25} .a-main b{overflow-wrap:anywhere} .a-main small{overflow-wrap:anywhere}
.a-st{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}

/* ---------- >=640 tablet ---------- */
@media (min-width:640px){
  .og4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mk .og.og3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- desktop ---------- */
@media (min-width:900px){
  :root{--top:60px}
  .dnav{display:flex;gap:4px;margin-left:18px}
  .dnav a{min-height:44px;display:flex;align-items:center;padding:0 14px;border-radius:10px;font-weight:600;color:var(--mu)}
  .dnav a:hover{background:var(--s2)} .dnav a.on{color:var(--ink);background:var(--yl)}
  .tabbar,.slipbar,.backdrop{display:none!important}
  .layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start;padding:8px 12px}
  body:not(.authed) .layout{display:block}
  main{padding:12px 0 40px}
  .scrollx{margin-inline:0;padding-inline:0}
  .catbar{margin-inline:0;padding-inline:0}
  .slip{position:sticky;top:calc(var(--top) + 16px);transform:none;visibility:visible;max-height:calc(100dvh - var(--top) - 32px);border:1px solid var(--line2);border-radius:16px;box-shadow:none;margin-top:12px;z-index:10}
  .slip-grab,#slip-close{display:none}
  .toast{bottom:24px}
  .backbtn{flex:0 1 auto}
  .back-hide{display:none}
}
@media (max-width:359px){
  .tn{font-size:16px} .tab{font-size:12.5px} .bal{padding:0 9px;font-size:16px} .lang span{padding:0 7px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- training camp marker ---------- */
.camp{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:rgba(255,210,31,.16);color:var(--yl);cursor:help}
.camp .i{width:15px;height:15px;stroke-width:2.2}
.mh-camp{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--yl2)}
.tbl td.cp{color:var(--mu)}

/* =====================================================================
   v5 polish layer: scale, surfaces, states, desktop composition
   spacing scale 4/8/12/16/24/32 · radii 8/12/16 · one shadow recipe
   ===================================================================== */
:root{--sh:0 1px 0 rgba(255,255,255,.04) inset,0 8px 20px -8px rgba(0,0,0,.55);--card:linear-gradient(180deg,#0d3422 0%,#0a2c1b 100%);--yl-glow:0 0 0 3px rgba(255,210,31,.18)}
body{background-image:radial-gradient(90% 420px at 50% -80px,#106038 0,transparent 70%),linear-gradient(180deg,#04180f,#031009 100%);background-attachment:scroll,fixed}
.badge{border-radius:0;background:transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.top{box-shadow:0 6px 16px -10px rgba(0,0,0,.8);background:linear-gradient(180deg,#08391f,#052a19)}
.panel,.mcard,.mhero,.mk,.rows,.tblwrap,.plist,.lbrow,.bet,.menu,.pstats div,.tstat div,.authcard,.empty{box-shadow:var(--sh)}
.panel,.mcard,.mk,.rows,.tblwrap,.plist,.lbrow,.bet,.menu{background:var(--card)}
h1{letter-spacing:.1px}
.pagehead h1{display:flex;align-items:center;gap:10px}
.pagehead h1::before{content:"";width:5px;height:24px;border-radius:3px;background:var(--yl);flex:none}
.sect{font-size:18px;margin:28px 0 12px}
.sect::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--yl);align-self:center;flex:none}
.dayhead{display:flex;align-items:center;gap:10px}
.dayhead::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}

/* closed matches stay legible */
.mcard.closed{opacity:1}
.mcard.closed .odd:disabled{opacity:.62}
.mcard.closed .odd:disabled b{color:var(--yl2)}

/* hover / active (pointer devices only) */
@media (hover:hover){
  .odd:not(:disabled):hover{background:var(--s3);border-color:var(--yl);box-shadow:var(--yl-glow)}
  .odd.sel:hover{background:var(--yl2);border-color:var(--yl2)}
  .mcard:hover{border-color:var(--line2)}
  .mlink:hover .tn{text-decoration:underline;text-decoration-color:rgba(255,210,31,.5);text-underline-offset:3px}
  .resrow:hover,.fxrow:hover,.prow:hover,.menu a:hover,.arow:hover{background:rgba(255,255,255,.04)}
  .tbl tbody tr:hover td{background:#12402a} .tbl tbody tr:hover td.stick{background:#12402a}
  .chip:not(.on):hover{border-color:var(--yl);color:var(--yl)}
  .btn:not(:disabled):hover{filter:brightness(1.08)} .btn.primary:not(:disabled):hover{background:var(--yl2);filter:none}
  .smallbtn:hover,.ghost:hover,.iconbtn:hover{background:rgba(255,255,255,.07);color:var(--tx)}
  .tab:hover{color:var(--tx)} .lbrow:hover{border-color:var(--line2)}
  .more:hover span:last-of-type{color:var(--tx)} .brand:hover .logo{transform:rotate(-8deg)}
}
.logo{transition:transform .2s}
.odd,.chip,.btn,.mcard,.lbrow{transition:background .12s,border-color .12s,box-shadow .12s,transform .08s,color .12s}
.btn.primary{box-shadow:0 6px 16px -6px rgba(255,210,31,.5)}
.btn.primary:disabled{box-shadow:none}
.mmeta .time{background:#06251a;border:1px solid var(--line)}
.tbl th{position:sticky;top:0}
.tbl tbody tr:nth-child(even) td:not(.stick){background:rgba(255,255,255,.015)}
.lbrow.me{box-shadow:var(--sh),0 0 0 1px rgba(255,210,31,.25)}
.empty{background:radial-gradient(120% 100% at 50% 0,#0e3a25,var(--s1))}
.empty .i.big{color:var(--yl);opacity:.85}
.slip-empty .i.big{color:var(--yl);opacity:.7}
.slip-empty{padding:28px 20px}
.slip-empty p{max-width:230px}
.slip{background:var(--card)}
.pagehead p{max-width:60ch}
.foot{padding-top:14px;border-top:1px solid var(--line);opacity:.85}

/* ---------- desktop composition ---------- */
@media (min-width:900px){
  :root{--top:64px}
  .top-in,.layout{max-width:1200px;padding-inline:20px}
  .top-in{gap:12px}
  .layout{grid-template-columns:minmax(0,1fr) 380px;gap:28px;padding-top:12px}
  h1{font-size:30px} .pagehead{margin:10px 0 16px}
  .dnav{margin-left:28px;gap:2px}
  .dnav a{position:relative;background:transparent!important;color:var(--mu);padding:0 16px}
  .dnav a.on{color:var(--yl)}
  .dnav a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:-9px;height:3px;border-radius:3px 3px 0 0;background:var(--yl)}
  .dnav a:hover{color:var(--tx)}
  .top-in{height:var(--top)}
  .chips.scrollx{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}
  .chips.scrollx.weeks{flex-wrap:nowrap;overflow-x:auto}
  .catbar{top:var(--top)}
  .slip{top:calc(var(--top) + 16px)}
  .slip-scroll{min-height:150px}
  /* bulletin cards: teams left, odds right */
  .mcard{display:grid;grid-template-columns:minmax(0,1fr) 372px;column-gap:20px;align-items:center;padding:12px 16px}
  .mcard .mlink{grid-column:1;grid-row:1/3}
  .mcard .og3{grid-column:2;grid-row:1}
  .mcard .og4{grid-column:2;grid-row:2;margin-top:6px}
  .mcard .more{grid-column:1/-1;margin:4px 0 -6px;border-top:1px solid var(--line);padding-top:2px;min-height:40px}
  .mcard .notice{grid-column:1/-1} .mcard .og2{grid-column:1/-1}
  .mcard .mteams{margin-bottom:0;gap:8px} .mcard .mmeta{margin-bottom:12px}
  .mcard .tn{font-size:18px}
  .mcard .odd.big{min-height:50px}
  .odd b{font-size:18px}
  .mhero{padding:22px 24px}
  .mh-team b{font-size:20px} .mh-mid .ko{font-size:34px} .mh-mid .score{font-size:40px}
  .mk summary{min-height:54px}
  .mk .og3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rows .resrow,.rows .fxrow{padding:12px 18px}
  .rn{font-size:16px}
  .tbl th,.tbl td{padding:0 14px}
  .lbrow{padding:14px 18px}
  .lb-main{gap:14px}
  main{padding-bottom:48px}
  body.authed .foot{margin-top:36px}
}
@media (min-width:1280px){
  .layout{grid-template-columns:minmax(0,1fr) 400px}
}
@media (min-width:900px){
  .catbar{position:static;background:none;padding-top:0;margin-bottom:12px}
  .slip-head{padding-top:12px}
}
.mh-camp{white-space:nowrap;padding:2px 10px 2px 3px;border-radius:999px;background:rgba(255,210,31,.1);border:1px solid rgba(255,210,31,.3)}
.mh-camp .camp{background:transparent}
.camp .i{width:16px;height:16px;stroke-width:1.9}
.tstat{grid-template-columns:repeat(5,minmax(0,1fr))}
.tstat div{text-align:center}
.tstat dd{font-size:18px}
@media (min-width:900px){.tstat dd{font-size:22px}.tstat div{padding:10px 4px}}
