:root{--bg:#08131f;--bg2:#0e1c2c;--card:#13263a;--card2:#1a3049;--line:#244059;--text:#f3f1ea;--muted:#a3b1bf;--dim:#6f8396;--accent:#2fae6b;--warm:#f2a541;--live:#e5484d;--win:#ffffff;--radius:16px;--shadow:0 2px 10px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit;color:inherit}
.top{position:sticky;top:0;z-index:10;background:rgba(8,19,31,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.brand{display:flex;align-items:center;justify-content:center;padding:10px 16px 4px}
.brand a{display:flex;align-items:center;gap:8px}
.mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#2fae6b,#16673f);display:grid;place-items:center;font-weight:900;font-size:16px}
.word{font-weight:900;letter-spacing:.18em;font-size:16px}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:6px 10px 0;justify-content:flex-start}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:0 0 auto;padding:10px 12px;color:var(--muted);font-weight:600;font-size:14px;border-bottom:3px solid transparent}
.tabs a.on{color:var(--text);border-color:var(--text)}
@media (min-width:760px){.tabs{justify-content:center}}
main{flex:1;width:100%;max-width:980px;margin:0 auto;padding:12px 12px 24px}
.foot{color:var(--dim);font-size:12px;text-align:center;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.loading,.empty{color:var(--muted);text-align:center;padding:40px 10px}
.err{background:#3a1d22;border:1px solid #6b2a33;color:#ffd5d8;padding:12px;border-radius:12px;margin:10px 0}
.note{color:#ffd58a;background:#2e2615;border:1px solid #5a4824;font-size:12px;padding:6px 10px;border-radius:10px;margin:0 0 10px;display:inline-block}
h1{font-size:22px;margin:6px 0 12px}h2{font-size:17px;margin:20px 0 10px}h3{font-size:14px;margin:14px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
/* pickers */
.bar{display:flex;align-items:center;gap:8px;margin:4px 0 12px;flex-wrap:wrap}
.weekpick{display:flex;align-items:center;justify-content:space-between;background:var(--bg2);border-radius:var(--radius);padding:6px;flex:1;min-width:260px}
.arrow{width:40px;height:40px;border-radius:12px;border:0;background:var(--card);font-size:20px;cursor:pointer}
.arrow:disabled{opacity:.3}
.weekpick select{background:transparent;border:0;font-weight:700;font-size:16px;text-align:center;text-align-last:center;appearance:none;-webkit-appearance:none;padding:6px;flex:1;cursor:pointer}
.weekpick select option,.sel option{background:var(--bg2)}
.sel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-weight:600}
.seg{display:flex;background:var(--bg2);border-radius:999px;padding:4px;gap:2px}
.seg button{border:0;background:transparent;padding:8px 14px;border-radius:999px;color:var(--muted);font-weight:600;cursor:pointer}
.seg button.on{background:var(--card2);color:var(--text)}
/* game cards */
.day{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:16px 4px 8px}
.grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.gcard{display:block;background:var(--card);border-radius:var(--radius);padding:12px 14px 10px;box-shadow:var(--shadow);transition:background .15s}
.gcard:active,.gcard:hover{background:var(--card2)}
.trow{display:flex;align-items:center;gap:10px;padding:5px 0}
.logo{width:30px;height:30px;flex:0 0 30px;object-fit:contain}
.badge{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff}
.tname{flex:1;min-width:0;display:flex;flex-direction:column}
.tname b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tname small{color:var(--dim);font-size:12px}
.score{font-size:22px;font-weight:500;color:var(--muted);min-width:38px;text-align:right;font-variant-numeric:tabular-nums;position:relative}
.score.w{color:var(--win);font-weight:800}
.score.w::after{content:"";position:absolute;right:-12px;top:50%;margin-top:-5px;border:5px solid transparent;border-right:6px solid var(--win);border-left:0}
.trow .poss{font-size:11px;margin-left:4px}
.gfoot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-size:12px;color:var(--muted);font-weight:600}
.gfoot .live{color:var(--live)}
.gcard .scorewrap{padding-right:12px}
.byes{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:flex;align-items:center;gap:6px;background:var(--card);border-radius:999px;padding:5px 10px 5px 5px;font-size:13px;font-weight:600}
.chip .logo,.chip .badge{width:22px;height:22px;flex-basis:22px;font-size:8px}
/* tables */
.tcard{background:var(--card);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;box-shadow:var(--shadow)}
.tcard .thead{padding:12px 14px 6px;font-weight:800;font-size:15px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:11px;color:var(--dim);font-weight:700;text-align:right;padding:6px 8px;text-transform:uppercase}
td{padding:9px 8px;text-align:right;border-top:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left;padding-left:14px}
th:last-child,td:last-child{padding-right:14px}
td.team{display:flex;align-items:center;gap:8px;min-width:0}
td.team .logo,td.team .badge{width:24px;height:24px;flex-basis:24px;font-size:9px}
td.team span{overflow:hidden;text-overflow:ellipsis}
.rank{color:var(--dim);width:18px;display:inline-block;font-size:12px}
.wide{display:none}
@media (min-width:640px){.wide{display:table-cell}}
.short{display:inline}.long{display:none}
@media (min-width:640px){.short{display:none}.long{display:inline}}
.clinch{color:var(--accent);font-size:11px;margin-left:3px}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* game detail */
.hero{background:var(--card);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center}
.hero .side{display:flex;flex-direction:column;align-items:center;gap:6px}
.hero .logo,.hero .badge{width:56px;height:56px;flex-basis:56px;font-size:14px}
.hero .big{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums}
.hero .big.l{color:var(--muted);font-weight:500}
.hero .mid{color:var(--muted);font-weight:700;font-size:13px}
.hero small{color:var(--dim)}
.sub{color:var(--muted);font-size:13px;text-align:center;margin:8px 0}
.two{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:760px){.two{grid-template-columns:1fr 1fr}}
.statrow td:first-child{color:var(--muted)}
.stattbl td{text-align:center}.stattbl td:first-child,.stattbl th:first-child{text-align:left}
.list a,.list .it{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--line)}
.list a:first-child,.list .it:first-child{border-top:0}
.list .r{margin-left:auto;color:var(--muted);font-size:13px;text-align:right}
.res-W{color:#3ccf7a;font-weight:800}.res-L{color:#ff6b6b;font-weight:800}.res-T{color:var(--muted);font-weight:800}
.teamhead{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius);margin-bottom:12px}
.teamhead .logo,.teamhead .badge{width:64px;height:64px;flex-basis:64px;font-size:16px}
.teamhead h1{margin:0}
.teamhead .rec{font-size:15px;opacity:.9}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
@media (min-width:640px){.kpis{grid-template-columns:repeat(6,1fr)}}
.kpi{background:var(--card);border-radius:14px;padding:10px;text-align:center}
.kpi b{display:block;font-size:20px}.kpi small{color:var(--muted);font-size:11px;text-transform:uppercase}
.search{width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:16px}
.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;color:#fff}
.cards3{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.cards3{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.cards3{grid-template-columns:1fr 1fr 1fr}}
.evt{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:10px;display:flex;gap:14px;align-items:center}
.evt .d{background:var(--bg2);border-radius:12px;padding:8px 10px;text-align:center;min-width:58px}
.evt .d b{display:block;font-size:20px}.evt .d small{color:var(--muted);font-size:11px;text-transform:uppercase}
.tag{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}
.champ{background:linear-gradient(135deg,#2a2210,#13263a);border:1px solid #5b4a1c}
.more{display:block;text-align:center;color:var(--accent);font-weight:600;padding:10px}
.pill{display:inline-block;background:var(--card2);padding:3px 8px;border-radius:999px;font-size:12px;color:var(--muted);margin-left:6px}
.pill{white-space:nowrap;flex:0 0 auto}
.list .r{white-space:nowrap;flex:0 0 auto;padding-left:8px}
.list .it>span:not(.r){flex:1;min-width:0}
/* Game Outlook */
#outlook{max-width:760px;margin:0 auto}
.olhead{background:var(--card);border-radius:var(--radius);padding:14px;margin:14px 0 10px;box-shadow:var(--shadow)}
.olt{font-weight:800;font-size:17px;margin-bottom:10px}
.wp{display:flex;align-items:center;gap:10px}
.wpside{display:flex;flex-direction:column;align-items:center;min-width:56px}.wpside b{font-size:20px}.wpside small{color:var(--muted);font-size:11px}
.wpside .logo{width:28px;height:28px;flex-basis:28px}
.wpbar{flex:1;display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg2);gap:2px}.wpbar span{display:block;height:100%}
.olstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.olstats div{background:var(--card2);border-radius:12px;padding:8px;text-align:center}.olstats small{display:block;color:var(--muted);font-size:11px}.olstats b{font-size:13px}
.olwhy{color:var(--dim);font-size:11.5px;margin:10px 0 0}
.olctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;max-width:100%}.chips::-webkit-scrollbar{display:none}
.chips button{flex:0 0 auto;border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.chips button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.tog{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;cursor:pointer}
.olcol{display:flex;flex-direction:column;gap:8px}
.olc{background:var(--card);border-radius:14px;padding:12px;border-left:4px solid var(--tc);box-shadow:var(--shadow)}
.olc1{display:flex;justify-content:space-between;align-items:center;gap:10px}
.olname{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.olname .logo,.olname .badge{width:22px;height:22px;flex:0 0 22px;font-size:8px}
.olp{font-size:20px;font-weight:800;min-width:52px;text-align:right}
.olbar{height:6px;background:var(--bg2);border-radius:999px;margin:8px 0 6px;overflow:hidden}.olbar span{display:block;height:100%;background:var(--accent);border-radius:999px}
.lad{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.lad span{font-size:12px;color:var(--muted);background:var(--bg2);border-radius:8px;padding:3px 8px}.lad span.on{color:var(--text);outline:1px solid var(--line)}
.olmeta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px;margin-top:3px}
.conf{font-weight:700}.conf.cHigh{color:#5ad18a}.conf.cMed{color:#ffd58a}.conf.cLow{color:#ff9b8a}
.flag{color:#111;background:#ffd58a;border-radius:6px;padding:0 6px;font-weight:700}
.olnote{color:var(--muted);font-size:12px;background:var(--bg2);border-radius:12px;padding:10px 12px;margin:14px 0}
/* Pick Lists */
.olc{cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.olc:hover,.olc:active{background:var(--card2)}
.olc.saved{box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,213,138,.45)}
.addl{margin-left:auto;color:var(--accent);font-weight:700}.olc.saved .addl{color:#ffd58a}
.btn{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;font-size:14px;white-space:nowrap}
.btn.sm{padding:6px 10px;font-size:12.5px;border-radius:10px}.btn.ghost{background:var(--card2);color:var(--text)}.btn.danger{color:#ff9b8a}
.sheetwrap{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:50;display:flex;align-items:flex-end;justify-content:center;transition:background .18s}
.sheetwrap.open{background:rgba(0,0,0,.55)}
.sheet{background:var(--bg2);width:100%;max-width:480px;border-radius:20px 20px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .18s ease-out;max-height:85vh;overflow:auto;box-shadow:0 -6px 30px rgba(0,0,0,.4)}
.sheetwrap.open .sheet{transform:none}
@media (min-width:640px){.sheetwrap{align-items:center}.sheet{border-radius:20px;transform:scale(.96);opacity:0;transition:transform .15s,opacity .15s}.sheetwrap.open .sheet{opacity:1}}
.grab{width:40px;height:4px;border-radius:9px;background:var(--line);margin:0 auto 10px}
.shead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.shead small{display:block;color:var(--muted);font-size:12px}.shead b{font-size:15px}
.lvl{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.lvl button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:10px;padding:6px 10px;font-weight:600;cursor:pointer}.lvl button.on{border-color:var(--accent);color:var(--text);background:var(--card2)}
.slists{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.sl{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:12px;padding:12px;cursor:pointer;font-weight:600}.sl input{width:20px;height:20px;accent-color:var(--accent)}
.snew{display:flex;gap:8px;margin-bottom:10px}.snew input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:16px;color:var(--text)}
.snew.top{max-width:760px;margin:0 auto 12px}
.sclose{width:100%}
#toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#f2f4f8;color:#08131f;font-weight:700;border-radius:999px;padding:10px 18px;opacity:0;transition:.2s;z-index:60;pointer-events:none;font-size:14px;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:#e5484d;color:#fff}
.plist{background:var(--card);border-radius:var(--radius);margin:0 auto 12px;max-width:760px;box-shadow:var(--shadow);overflow:hidden}
.plh{display:flex;align-items:center;gap:8px;padding:12px 14px}
.pltog{flex:1;text-align:left;background:none;border:0;color:var(--text);cursor:pointer;padding:0;min-width:0}.pltog b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pltog small{color:var(--muted)}
.pltog b::after{content:' ▾';color:var(--dim);font-size:12px}.plist.open .pltog b::after{content:' ▴'}
.plbtn{display:flex;gap:6px}
.snew.ren{padding:10px 14px;margin:0}
.kpis.pks{grid-template-columns:repeat(4,1fr);padding:0 14px 10px;margin:0;gap:6px}.kpis.pks .kpi{background:var(--card2);padding:8px 4px}.kpis.pks small{font-size:10.5px}
.hist{display:flex;gap:3px;flex-wrap:wrap;padding:0 14px 10px}.hist span{width:10px;height:10px;border-radius:3px}
.rhit{background:#2f9e62;color:#fff}.rmiss{background:#c2413f;color:#fff}.rvoid{background:var(--card2);color:var(--muted)}.rpend{background:var(--bg2);color:var(--muted)}
.plbody{display:none;border-top:1px solid var(--line)}.plist.open .plbody{display:block}
.pkg{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg2);font-size:13px}.pkg .r{margin-left:auto;color:var(--muted)}.pkg .logo,.pkg .badge{width:20px;height:20px;flex:0 0 20px;font-size:8px}
.pk{padding:10px 14px;border-top:1px solid var(--line);transition:opacity .2s}.pk.gone{opacity:.3}
.pk1{display:flex;justify-content:space-between;gap:10px}.pkt{font-weight:700;font-size:14px}
.pkr{display:flex;align-items:flex-start;gap:6px}.res{font-size:11.5px;font-weight:800;border-radius:8px;padding:3px 8px;white-space:nowrap}
.x{background:var(--card2);border:0;color:var(--muted);border-radius:8px;width:28px;height:26px;cursor:pointer}
.now{font-weight:700}.now.up{color:#5ad18a}.now.dn{color:#ff9b8a}
.note{width:100%;margin-top:8px;background:transparent;border:1px dashed var(--line);border-radius:10px;padding:7px 10px;color:var(--text);font-size:16px}
@media (min-width:640px){.note{font-size:13px}}
/* accounts */
.brand{position:relative}
.acct{position:absolute;right:12px;top:50%;transform:translateY(-35%)}
.acbtn{display:flex;align-items:center;gap:6px;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;font-weight:700;font-size:13px;cursor:pointer;color:var(--text)}
button.acbtn{padding:7px 14px}
.acn{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:420px){.acn{display:none}a.acbtn{padding:4px}}
.av{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#2fae6b,#16673f);display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff}.av.lg{width:44px;height:44px;font-size:20px}
.aform{display:flex;flex-direction:column;gap:6px}.aform label{font-size:13px;color:var(--muted);font-weight:600;margin-top:4px}
.aform input{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:16px;color:var(--text)}.aform input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.aform .btn{margin-top:8px}.btn.full{width:100%;padding:13px;display:block}.btn:disabled{opacity:.6}
.hint{color:var(--dim);font-size:12px}.aerr{color:#ff9b8a;font-size:13px;min-height:0}.aerr:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aswap{color:var(--muted);text-align:center;margin:12px 0 6px}.lnk{background:none;border:0;color:var(--accent);font-weight:700;cursor:pointer;padding:0}
.olnote a,.foot a{color:var(--accent)}
.gate{background:var(--card);border-radius:var(--radius);padding:22px 18px;max-width:520px;margin:10px auto;text-align:center;box-shadow:var(--shadow)}.gate h2{margin:0 0 6px}.gate p{color:var(--muted);margin:0 0 14px}.gbtn{display:flex;gap:8px;justify-content:center}
.acard{background:var(--card);border-radius:var(--radius);padding:16px;max-width:520px;margin:0 auto 12px;box-shadow:var(--shadow)}.acard h3{margin:0 0 8px}
.acrow{display:flex;align-items:center;gap:12px;margin-bottom:12px}.acrow b{font-size:17px}
.acard.danger{border:1px solid #5a2a30}.dangerbtn{background:#c2363c}
.doc{max-width:720px;margin:0 auto;line-height:1.6}.doc h1{margin-top:10px}.doc p,.doc li{color:#d8dde8}

/* PWA */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.pwabar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;max-width:480px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--card2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 10px 10px 12px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.pwabar img{width:40px;height:40px;border-radius:10px}
.pwabar .t{flex:1;display:flex;flex-direction:column;font-size:13px;color:var(--muted)}.pwabar .t b{color:var(--text);font-size:14px}
.pwabar .btn{width:auto;padding:8px 14px;margin:0}
.pwabar .x{background:none;border:0;color:var(--muted);font-size:22px;line-height:1;padding:4px 8px;cursor:pointer}
.pwabar.upd{bottom:calc(76px + env(safe-area-inset-bottom))}
.offbar{position:sticky;top:0;z-index:11;background:#5a3d0a;color:#ffe2a8;text-align:center;font-size:13px;font-weight:600;padding:6px 12px}
#appVer{color:var(--dim)}
/* First-use tour */
.helpbtn{position:absolute;left:12px;top:50%;transform:translateY(-35%);width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:800;font-size:16px;cursor:pointer}
.helpbtn:focus-visible,.tourcard .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.foot .lnk{color:var(--accent);font-size:12px}
.oltip{margin:2px 0 8px;color:var(--muted);font-size:12px;text-align:center}
.tourwrap{position:fixed;inset:0;z-index:70;opacity:0;transition:opacity .18s}
.tourwrap.open{opacity:1}
.tourwrap.dim{background:rgba(0,0,0,.65)}
.tourspot{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.65),0 0 0 2px var(--accent);pointer-events:none;transition:top .25s,left .25s,width .25s,height .25s}
.tourcard{position:fixed;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 16px 14px;box-shadow:0 10px 30px rgba(0,0,0,.5);color:var(--text);max-width:calc(100vw - 24px)}
.tourcard.center{top:50%;left:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 24px))}
.tourcard h2{margin:2px 0 6px;font-size:19px}
.tourcard p{margin:0 0 10px;font-size:14.5px;line-height:1.45;color:var(--text)}
.tourcard .tourstep{color:var(--muted);font-size:12px;margin:0;text-transform:uppercase;letter-spacing:.06em}
.tourdots{display:flex;gap:6px;justify-content:center;margin:4px 0 12px}
.tourdots span{width:7px;height:7px;border-radius:50%;background:var(--line)}
.tourdots span.on{background:var(--accent);width:18px;border-radius:4px}
.tourbtns{display:flex;gap:8px;align-items:center}
.tourbtns .sp{flex:1}
.tourbtns .btn{min-height:44px;min-width:64px}
@media (max-width:640px){.tourcard:not(.center){left:12px!important;right:12px;width:auto!important}.tourcard.center{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tourwrap,.tourspot{transition:none}}
/* ---- The Dugout additions ---- */
.word{color:var(--text)}.word b{color:var(--warm)}
.mark{background:none;border-radius:8px}
.day.big{font-size:15px;color:var(--text);text-transform:none;letter-spacing:0;margin:4px 4px 10px}
input[type=date].sel{flex:1;text-align:center;background:transparent;border:0;color-scheme:dark;font-size:16px}
.phase{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#16673f,#0e1c2c);border:1px solid #2a6a4a;border-radius:var(--radius);padding:14px 16px;margin:0 0 12px}
.phase.post{background:linear-gradient(135deg,#6b3d10,#0e1c2c);border-color:#7a5524}
.phase small{display:block;color:var(--warm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.phase b{display:block;font-size:18px}.phase span{color:var(--muted);font-size:13px}
.cd{text-align:center;min-width:76px}.cd b{font-size:34px;line-height:1;color:var(--warm)}.cd small{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}
.bases{display:inline-block;position:relative;width:26px;height:18px;vertical-align:middle;margin-right:4px}
.bases i{position:absolute;width:8px;height:8px;border:1.5px solid var(--muted);transform:rotate(45deg)}
.bases i:nth-child(1){left:9px;top:1px}.bases i:nth-child(2){left:2px;top:8px}.bases i:nth-child(3){left:16px;top:8px}.bases i.on{background:var(--warm);border-color:var(--warm)}
.gnote{font-size:12px;color:var(--warm);margin:2px 0 0}
.ppd{color:#ffd58a}
.olmini{margin:8px 0 2px}.olmini small{color:var(--muted);font-size:12px}
.wpbar.sm{height:8px;margin:2px 0 6px}
.olm2{display:flex;justify-content:space-between;font-size:13px;margin-bottom:2px}.olm2 span{color:var(--muted)}
.chipsrow{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding-bottom:4px}
.chip{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;white-space:nowrap}.chip small{color:var(--warm);font-weight:700}
.chips.wrap{flex-wrap:wrap;margin-bottom:12px}
tr.cut td{border-bottom:2px dashed var(--warm)}
.pill.dt{min-width:52px;text-align:center}
table.line td,table.line th{text-align:center;padding:6px 7px}table.line td.team{text-align:left;white-space:nowrap}
table.box td.sub{padding-left:22px}table.box td small{color:var(--muted)}
.lad{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 2px}.lad span{font-size:12px;background:var(--bg2);border-radius:8px;padding:3px 7px;color:var(--muted)}.lad span.on{color:var(--text);outline:1px solid var(--accent)}
.olc.ro{cursor:default}
.avatar.ph{object-fit:cover;background:var(--card2)}
.olchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;margin:8px 0 4px}
.olchip{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px}
.olchip small{color:var(--muted);font-size:11px;font-weight:600}.olchip b{font-size:16px}.olchip i{font-style:normal;font-size:11px;color:var(--muted)}
.olchip:disabled{cursor:default;opacity:1}.olchip.saved{border-color:var(--warm)}.olchip.hit{border-color:#2fae6b;background:#123a28}.olchip.miss{opacity:.6}
.olrow .olname a{font-weight:700}
@media (min-width:900px){.olcol{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.olcol .day{grid-column:1/-1}}
