:root{color-scheme:dark;--bg:#0b1220;--panel:#111d30;--panel2:#16243a;--line:#26364e;--text:#f4f7fc;--muted:#9baac0;--accent:#79e0b2;--gold:#ffcf70}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;background:radial-gradient(ellipse at 12% 0%,#1a3150 0,transparent 40%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}.topbar{height:88px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;gap:14px;border-bottom:1px solid #ffffff13;background:#09111edb}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:#092119;font-weight:950;font-size:25px;box-shadow:0 0 30px #79e0b224}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.16em;font-weight:850}.brand-copy h1{font-size:22px;margin:2px 0 0;letter-spacing:-.03em}.live-pill{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;display:flex;gap:8px;align-items:center}.live-pill span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}main{width:min(1600px,100%);margin:auto;padding:clamp(22px,4vw,54px)}.intro h2{font-size:clamp(30px,4vw,52px);line-height:1.04;letter-spacing:-.055em;margin:12px 0}.subhead{margin:0;color:var(--muted);font-size:clamp(14px,1.5vw,18px);max-width:660px}.controls{margin:32px 0 30px;display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:17px;background:#111d30d9;border:1px solid var(--line);border-radius:17px}.control-group{display:flex;flex-direction:column;gap:8px;min-width:155px;flex:1}.control-group label{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:850}select,.refresh{min-height:47px;border:1px solid #354861;border-radius:10px;background:#0c1728;color:var(--text);padding:0 13px;font:inherit;font-size:14px;outline:none}select{width:100%}.refresh{padding:0 20px;font-weight:800;background:var(--accent);color:#092119;border-color:var(--accent);cursor:pointer}.summary-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px}.summary-title{font-size:clamp(21px,2.5vw,30px);font-weight:850;letter-spacing:-.04em;margin-top:5px}.season-label{color:var(--muted);font-size:13px;text-align:right}.status{min-height:22px;color:var(--muted);font-size:13px;margin:0 0 10px}.table-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto;background:#0d1829;box-shadow:0 20px 50px #0002}table{width:100%;border-collapse:collapse;white-space:nowrap}thead{background:#17263b}th{height:49px;text-align:left;color:#a9b8cc;font-size:10px;letter-spacing:.1em;font-weight:850;padding:0 15px}td{height:61px;padding:0 15px;border-top:1px solid #24344a;font-size:14px}tbody tr:nth-child(even){background:#ffffff03}tbody tr:hover{background:#79e0b20b}.num{text-align:right;font-variant-numeric:tabular-nums}.rank{font-weight:900;color:var(--gold);font-size:16px}.player-name{font-weight:800}.player-sub{font-size:11px;color:var(--muted);margin-top:3px}.position{font-weight:850;background:#24374f;border-radius:6px;padding:5px 7px;font-size:11px}.points{font-size:16px;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);height:100px}.footnote{color:#71829a;font-size:12px;margin:14px 2px}.error{color:#ff9e9e}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 6px #ffcf7022}button,select{scroll-margin:100px}@media(max-width:700px){.topbar{height:72px;padding:0 18px}.brand-mark{width:38px;height:38px}.brand-copy h1{font-size:19px}.live-pill{font-size:9px;padding:8px}.live-pill span{display:none}main{padding:25px 15px}.controls{display:grid;grid-template-columns:1fr 1fr;margin:24px 0;padding:13px}.control-group{min-width:0}.refresh{grid-column:span 2}.summary-row{align-items:start;flex-direction:column}.season-label{text-align:left}.table-wrap{border-radius:12px}th,td{padding:0 12px}.stat-col{display:none}table{min-width:500px}thead th.stat-col{display:none}tbody td.stat-col{display:none}}@media(min-width:1000px){.intro{max-width:900px}.controls{flex-wrap:nowrap}.control-group{min-width:170px}}

/* Player details overlay */
.player-row{cursor:pointer}
.player-row:hover,.player-row:focus{background:rgba(70,145,255,.12);outline:2px solid rgba(95,170,255,.35);outline-offset:-2px}
.profile-backdrop[hidden]{display:none!important}
.profile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.76);z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}
.profile-panel{position:relative;background:#132139;color:#f4f7ff;border:1px solid #354866;border-radius:18px;padding:26px;width:min(900px,100%);max-height:90vh;overflow:auto;box-shadow:0 18px 80px rgba(0,0,0,.5)}
.profile-panel h2{font-size:clamp(24px,4vw,38px);margin:8px 48px 4px 0}
.profile-panel h3{margin:24px 0 12px;font-size:18px}
.profile-close{position:absolute;right:18px;top:16px;border:1px solid #50627d;border-radius:10px;background:#243756;color:white;font-size:20px;min-width:44px;min-height:44px;cursor:pointer}
.profile-meta{color:#b7c6dd;margin:0 0 12px}
.profile-points{font-size:20px;font-weight:800;color:#80e0ba}
.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.profile-stat{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;background:#1c2d48}
.profile-stat span{font-size:12px;color:#b7c6dd}
.profile-stat strong{font-size:20px}
.profile-weeks-wrap{overflow-x:auto}
.profile-weeks{width:100%;border-collapse:collapse;white-space:nowrap}
.profile-weeks th,.profile-weeks td{padding:12px;text-align:left;border-bottom:1px solid #344761}
.profile-weeks th{font-size:12px;color:#b7c6dd}
.modal-open{overflow:hidden}
@media(max-width:600px){.profile-backdrop{padding:6px}.profile-panel{padding:18px;max-height:96vh}}

/* Search and player ranking details */
.search-section{margin:22px 0;padding:20px;border:1px solid rgba(160,183,220,.25);border-radius:16px;background:rgba(15,27,46,.65)}
.search-section label{display:block;font-size:.76rem;letter-spacing:.1em;font-weight:700;margin-bottom:10px;color:#b9c8e4}
.search-line{display:flex;gap:10px}.search-line input{flex:1;min-width:0;border:1px solid #52637e;border-radius:9px;background:#0e192a;color:white;padding:13px 14px;font:inherit}
.search-line input:focus{outline:2px solid #6daaff}.search-results{margin-top:12px;display:grid;gap:6px}
.search-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:9px;border:1px solid #43516b;background:#17263c;color:#fff;cursor:pointer;font:inherit}
.search-result:hover,.search-result:focus{background:#253b5a;outline:2px solid #6daaff}.search-result span{display:grid;gap:4px}.search-result small{font-size:.76rem;color:#b8c9df}.search-ranks{text-align:right}
.profile-ranks{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.profile-ranks div{border:1px solid #43516b;border-radius:10px;padding:12px;display:grid;gap:3px}.profile-ranks strong{font-size:1.45rem}.profile-ranks span{font-size:.8rem;color:#b8c9df}
@media(max-width:560px){.search-line{flex-wrap:wrap}.search-line button{width:100%}.search-result{align-items:flex-start}.search-ranks{min-width:95px}}

.page-nav{display:flex;gap:10px;margin:8px 0 24px;flex-wrap:wrap}.page-tab{background:#14243b;color:#cbd8ea;border:1px solid #39516e;border-radius:11px;padding:13px 20px;font:inherit;font-weight:750;cursor:pointer}.page-tab.active{background:#79e0b2;color:#0b2220;border-color:#79e0b2}
#games-view[hidden],#rankings-view[hidden],.game-detail[hidden]{display:none!important}
.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.game-card{background:#111e32;border:1px solid #34475f;border-radius:14px;padding:16px}
.game-card-top,.game-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#a9bad1;font-size:12px}
.game-card-top{padding-bottom:14px;border-bottom:1px solid #2a3a52}.live-game{color:#7fe6b6;font-weight:900}
.team-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;font-weight:750}.team-row strong{font-size:24px}.team-row small{display:block;color:#9eb2ca;font-weight:400}
.game-card-foot{border-top:1px solid #2a3a52;padding-top:12px;flex-wrap:wrap}.game-details{background:#253b55;border:1px solid #547092;color:white;border-radius:8px;padding:9px 12px;cursor:pointer}
.td-title{margin-top:35px}.td-list{display:grid;gap:10px}.td-item{display:flex;align-items:start;gap:14px;background:#122239;border:1px solid #34475f;border-radius:12px;padding:14px}.td-item strong{font-size:14px}.td-item small{display:block;color:#9eb2ca;margin-top:5px}.td-ball{background:#79e0b2;color:#102820;padding:7px;border-radius:8px;font-size:12px;font-weight:900}
.game-detail{margin-top:15px;border-top:1px solid #42546e;padding-top:14px;max-height:460px;overflow:auto}.game-detail h3{margin:12px 0}.game-detail h4{margin:12px 0 6px}.box-category{margin:12px 0}.box-player{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:6px 0;border-bottom:1px solid #2a3a52}.box-player span:last-child{text-align:right;color:#b8cce4}

.live-feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;flex-wrap:wrap}.live-feed-indicator{font-weight:800;letter-spacing:.05em;color:#79e0b2}.td-item small+small{margin-top:4px}

/* Three continuously scrolling tickers */
.ticker-stack{width:100%;background:#0c1727;border-bottom:1px solid #354963;padding:7px max(14px,calc((100vw - 1180px)/2));box-sizing:border-box;display:grid;gap:6px}
.ticker-row{display:flex;align-items:center;min-height:35px;border:1px solid #304761;border-radius:8px;overflow:hidden;background:#14243a}
.ticker-label{flex:0 0 142px;background:#233a54;color:#9ff0c7;font-size:11px;letter-spacing:.09em;font-weight:900;padding:12px 10px;text-align:center;white-space:nowrap;z-index:1}
.ticker-window{flex:1;overflow:hidden;min-width:0;white-space:nowrap}
.ticker-track{display:flex;width:max-content;min-width:100%;align-items:center;gap:32px;animation:ticker-scroll 40s linear infinite;font-size:13px;font-weight:700;color:#f1f6fc;padding-left:18px}
.ticker-content{display:inline-flex;gap:32px;align-items:center;white-space:nowrap}
.ticker-entry{display:inline-block;padding:8px 0}.ticker-separator{color:#71d7aa;font-size:10px}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-row:hover .ticker-track{animation-play-state:paused}
.new-td-alert{position:fixed;z-index:10000;right:18px;top:20px;max-width:min(520px,calc(100vw - 36px));padding:18px 24px;background:#176345;border:2px solid #8df1bd;color:#fff;border-radius:14px;font-weight:900;font-size:17px;box-shadow:0 12px 40px #0008;animation:td-pop .3s ease-out}
.new-td-alert[hidden]{display:none!important}@keyframes td-pop{from{transform:translateY(-15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:650px){.ticker-label{flex-basis:93px;font-size:9px;padding:11px 4px}.ticker-track{font-size:12px}.new-td-alert{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;max-width:100%;overflow-x:auto}.new-td-alert{animation:none}}

/* Smooth continuous ticker: each identical half spans exactly 50% of track. */
.ticker-track{gap:0;padding-left:0;min-width:0}
.ticker-content{flex:0 0 auto;padding-right:32px;box-sizing:border-box}

/* Ticker motion fix: a true seamless marquee that does not pause on hover. */
.ticker-row:hover .ticker-track{animation-play-state:running}
.ticker-track{animation-name:ticker-scroll;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}
.ticker-content{display:inline-flex;flex-shrink:0;align-items:center;gap:32px;white-space:nowrap}
@media(prefers-reduced-motion:reduce){
  .ticker-track{animation:ticker-scroll 45s linear infinite;max-width:none;overflow:visible}
}

/* Fantasy league integrations */
.integration-view{padding-bottom:24px}.integration-form{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:16px 0 26px}.integration-form label{font-size:12px;font-weight:700;letter-spacing:.08em}.integration-form input,.integration-form select{width:100%;min-height:43px;padding:10px 13px;border:1px solid #35485e;border-radius:8px;background:#17263a;color:#f3f7fc}.integration-form .search-line{display:flex;gap:10px}.integration-list{display:grid;gap:12px;margin:14px 0 26px}.integration-card{border:1px solid #34465d;background:#162338;border-radius:12px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.integration-meta{color:#b2c1d1;font-size:13px;margin-top:5px}.integration-actions{display:flex;gap:8px;flex-wrap:wrap}.page-nav{flex-wrap:wrap}
