@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#080910;--panel:#131421;--raised:#1b1d30;--line:#292b42;--text:#f4f2ff;--muted:#a5a6bc;--accent:#a783ff;--accent-strong:#8050f6;--secondary:#46d9d5;--good:#66ddba;--bad:#fb8ca5;--amber:#eabd77;--glow:#6d39ec;--shadow:#0004;--radius:18px;color-scheme:dark;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
[data-theme=blue]{--accent:#76a9ff;--accent-strong:#377eea;--glow:#2755bd;--secondary:#62e5d3}[data-theme=teal]{--accent:#64ded0;--accent-strong:#168e85;--glow:#116f6b;--secondary:#91b8ff}[data-theme=emerald]{--accent:#7ae1a4;--accent-strong:#238357;--glow:#1c683b;--secondary:#d2c574}[data-theme=rose]{--accent:#ff9bbd;--accent-strong:#ba4774;--glow:#8a2955;--secondary:#89c9ee}[data-theme=amber]{--accent:#eec077;--accent-strong:#a47231;--glow:#8c551f;--secondary:#7dd3cf}[data-theme=crimson]{--accent:#ff8d89;--accent-strong:#b44748;--glow:#8c272b;--secondary:#dcba8d}[data-theme=arctic]{--bg:#eef3fa;--panel:#fff;--raised:#f0f4fc;--line:#dbe3ef;--text:#152642;--muted:#5d6c81;--accent:#325dbd;--accent-strong:#2854af;--glow:#7d9ed7;--secondary:#027d84;--good:#087a55;--bad:#b02d4b;--shadow:#16375512;color-scheme:light}[data-theme=ivory]{--bg:#f4f0e9;--panel:#fffcf6;--raised:#eee9e2;--line:#ded6ca;--text:#352d28;--muted:#776a60;--accent:#8a5b38;--accent-strong:#7c4c2b;--glow:#b4a090;--secondary:#397374;--good:#347656;--bad:#a53e48;--shadow:#291d1210;color-scheme:light}[data-theme=graphite]{--accent:#d6d8e4;--accent-strong:#646b83;--glow:#50576b;--secondary:#93bbbd}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;min-height:100dvh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}a{color:var(--accent);text-decoration:none}button{border:0}button svg{width:20px;height:20px;flex:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h2{font-size:21px;font-weight:650}h3{font-size:16px}em{color:var(--accent);font-style:normal}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{z-index:100;clip-path:none;width:auto;height:auto;background:var(--panel);padding:10px}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 60% -25%,color-mix(in srgb,var(--glow) 25%,transparent),transparent 58%)}.app-shell{position:relative;max-width:1900px;margin:auto;display:flex;min-height:100dvh}.rail{width:78px;flex-shrink:0;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;padding:28px 14px 20px;display:flex;align-items:center;flex-direction:column;background:color-mix(in srgb,var(--panel) 45%,transparent)}.brand{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}.brand svg{width:37px}.rail-links{margin-top:65px;display:grid;gap:16px}.nav-icon{background:transparent;color:var(--muted);display:grid;place-items:center;width:44px;height:44px;border-radius:12px}.nav-icon.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.rail-bottom{margin-top:auto;display:grid;gap:20px;justify-items:center}.season-stamp{border:1px solid var(--line);color:var(--muted);font-family:'Barlow Condensed',sans-serif;font-size:24px;border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.app-content{width:calc(100% - 78px);padding:0 34px}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--muted);display:block}.league-label{margin-top:5px;font-size:15px;font-weight:550}.top-actions{display:flex;align-items:center;gap:12px}.live-indicator{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-right:14px}.live-indicator i,.status-dot{width:6px;height:6px;border-radius:50%;background:var(--good);display:inline-block;flex:none;box-shadow:0 0 10px color-mix(in srgb,var(--good) 35%,transparent)}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);border-radius:11px;flex-shrink:0}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.small-button{width:32px;height:32px}.small-button svg{width:16px}.top-logout{display:none}.theme-anchor{position:relative}.theme-menu{position:absolute;top:49px;right:0;width:270px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;z-index:20;box-shadow:0 15px 40px #0005}.menu-title{font-weight:650;display:flex;justify-content:space-between;margin-bottom:14px}.menu-title span{font-size:11px;font-weight:400;color:var(--muted)}#themeOptions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.theme-choice{min-height:38px;border:1px solid transparent;display:flex;align-items:center;gap:8px;border-radius:8px;padding:8px;background:var(--raised);text-align:left;font-size:12px}.theme-choice[aria-pressed=true]{border-color:var(--accent)}.theme-choice i{width:14px;height:14px;border-radius:50%;flex:none}.connect-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;min-height:calc(100dvh - 167px);max-width:1200px;margin:auto}.connect-intro{position:relative;padding:55px 0;isolation:isolate}.connect-intro h1{font-size:clamp(40px,4.8vw,69px);letter-spacing:-.06em;font-weight:600;line-height:1.06;margin:25px 0 24px}.connect-intro>p{max-width:365px;color:var(--muted);font-size:15px;line-height:1.7}.intro-features{margin:26px 0 29px;display:flex;flex-wrap:wrap;gap:9px}.intro-features span{font-size:10px;border:1px solid var(--line);padding:6px 9px;border-radius:20px;background:var(--bg)}.pill{display:inline-flex;border-radius:20px;padding:6px 10px;font-size:9px;letter-spacing:.13em;font-weight:650}.pill.accent{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.intro-ball{position:absolute;inset:2% auto auto -3%;width:110%;height:100%;opacity:.2;z-index:-1;pointer-events:none}.connect-card{padding:28px}.panel{background:color-mix(in srgb,var(--panel) 95%,transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 9px 24px var(--shadow)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.section-heading h2{margin-top:6px}.step-circle{height:34px;width:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:12px}label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}input,select{border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);min-height:43px;padding:10px 11px;min-width:0;max-width:100%;font-size:14px}input{width:100%}input::placeholder{color:var(--muted);opacity:.65}.input-with-button{display:flex;gap:8px}.input-with-button input{font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 16px;border-radius:9px;font-size:12px;font-weight:650;white-space:nowrap}.primary{background:var(--accent);color:#100c1c}.subtle{background:var(--raised);color:var(--text);border:1px solid var(--line)}[data-theme=arctic] .primary,[data-theme=ivory] .primary{color:white}.full{width:100%}.text-button{color:var(--accent);background:transparent;font-size:12px;padding:4px 0;display:inline-flex;gap:14px;align-items:center}.text-button:hover{text-decoration:underline}.message{font-size:12px;line-height:1.6;margin-top:9px;overflow-wrap:anywhere;min-height:0}.message:empty{margin:0}.message.error{color:var(--bad)}.message.success{color:var(--good)}.found-league{display:flex;align-items:center;gap:10px;background:var(--raised);border:1px solid var(--line);padding:12px;border-radius:10px;margin:20px 0}.found-league strong{font-size:13px}.found-league small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.login-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.small{font-size:11px;line-height:1.65}.muted{color:var(--muted)}.connect-card .small{margin-top:13px}.connect-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;display:flex;gap:12px;justify-content:space-between;font-size:10px;color:var(--muted)}#verifySection{margin-top:20px}#verifiedTeam{width:100%;margin-bottom:14px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:29px 0 22px}.workspace-toolbar h1{font-size:30px;font-weight:600;margin-top:6px}.workspace-tools{display:flex;align-items:center;gap:10px}.select-inline{margin:0;position:relative;display:flex;align-items:center;gap:8px}.select-inline>span{font-size:10px}.select-inline select{font-size:11px;min-height:37px;padding:7px 25px 7px 9px}.select-inline:first-child select{max-width:170px}.workspace-tools .icon-button{height:36px;width:36px}.open-league{margin-left:8px;white-space:nowrap}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding-bottom:24px;align-items:start}.hero{position:relative;grid-column:1/-1;min-height:322px;overflow:hidden;display:flex;align-items:center;isolation:isolate;background:linear-gradient(115deg,var(--panel),color-mix(in srgb,var(--glow) 11%,var(--panel)))}.hero-content{position:relative;z-index:2;padding:30px 32px}.hero h2{font-size:34px;line-height:1.1;font-weight:550;letter-spacing:-.045em;margin-top:15px}.hero-numbers{display:flex;align-items:center;gap:25px;margin-top:22px}.large-number{font-size:35px;line-height:1.2;font-weight:650;letter-spacing:-.04em}.metric-label{display:block;font-size:10px;color:var(--muted);margin:5px 0 0}.hero-numbers strong{font-size:24px}.hero-divider{height:40px;width:1px;background:var(--line)}.hero-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-top:24px}#footballCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-mini{margin-left:auto;align-self:flex-end;margin:0 32px 27px auto;background:color-mix(in srgb,var(--raised) 75%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:12px;padding:18px 20px;width:196px}.hero-mini strong{display:block;font-size:31px;letter-spacing:-.04em;margin:7px 0 0}.hero-mini>span:last-of-type{font-size:10px;color:var(--muted)}.tiny-line{display:flex;gap:4px;align-items:center;margin-top:15px;height:28px}.tiny-line i{height:60%;width:4px;border-radius:4px;background:var(--accent)}.tiny-line i:nth-child(3n){height:100%;background:var(--secondary)}.tiny-line i:nth-child(2n){height:35%}.tiny-line i:nth-child(4n){height:80%}.stats-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-card{padding:18px 20px;display:flex;align-items:center;gap:15px}.stat-icon{height:43px;width:43px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.stat-icon svg{width:21px}.stat-icon.secondary{background:color-mix(in srgb,var(--secondary) 12%,transparent);color:var(--secondary)}.stat-icon.amber{background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--amber)}.stat-card strong{display:block;font-size:26px;font-weight:600;letter-spacing:-.03em}.stat-card .metric-label{margin:0;font-size:10px}.stat-card small{font-size:9px;color:var(--muted)}.performance-panel{grid-column:1;padding:23px 24px;position:relative}.chart-legend{display:flex;gap:15px;align-items:center;font-size:10px;color:var(--muted)}.chart-legend>span{display:flex;align-items:center;gap:6px}.chart-legend i{height:6px;width:14px;border-radius:6px;background:var(--accent)}.chart-legend .proj-dot{background:var(--secondary)}.chart{width:100%;min-height:202px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{font-size:10px;fill:var(--muted);font-family:inherit}.chart .gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.chart-note{color:var(--muted);font-size:9px;margin-top:12px;line-height:1.6}.chart-tooltip{position:absolute;background:var(--raised);border:1px solid var(--line);border-radius:8px;padding:9px 12px;pointer-events:none;font-size:11px;z-index:4;top:57px;right:24px}.news-panel{grid-column:2;grid-row:3 / span 2;padding:23px 20px}.news-panel .section-heading{margin-bottom:15px}.news-filter-row select{width:100%;font-size:11px;min-height:34px;padding:7px}.news-list{margin-top:7px;max-height:790px;overflow:auto;scrollbar-width:thin}.news-item{padding:15px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border:0}.news-player{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;margin-bottom:7px}.news-player img{width:27px;height:27px;border-radius:8px;object-fit:cover;background:var(--raised)}.news-item a{font-size:11px;line-height:1.65;color:var(--text);display:block}.news-item a:hover{color:var(--accent)}.news-item .source{font-size:9px;display:block;margin-top:7px;color:var(--muted)}.injury-label{font-size:8px;padding:3px 6px;border-radius:4px;color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);display:inline-block;margin-left:5px}.injury-label.danger{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.news-panel>p{margin-top:16px;font-size:9px}.lineup-panel{padding:24px;grid-column:1}.soft-badge{background:var(--raised);border:1px solid var(--line);border-radius:5px;font-size:9px;font-weight:500;letter-spacing:0;padding:4px 7px;display:inline-block;vertical-align:middle;margin-left:8px;color:var(--muted)}.saved-status{color:var(--muted);font-size:9px;white-space:nowrap}.saved-status.dirty{color:var(--amber)}.saved-status.success{color:var(--good)}.lineup-controls{display:flex;align-items:center;gap:10px;justify-content:space-between}.segmented{display:flex;background:var(--bg);padding:3px;border-radius:8px;border:1px solid var(--line);gap:2px}.segmented button{padding:6px 10px;background:transparent;border-radius:5px;font-size:10px;color:var(--muted)}.segmented button.active{background:var(--raised);color:var(--text)}.search-label{margin:0;max-width:150px}.search-label input{min-height:31px;font-size:10px;padding:7px 10px}.slots{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.slot{font-size:9px;background:var(--raised);border:1px solid var(--line);padding:4px 8px;border-radius:5px;color:var(--muted)}.slot.met{color:var(--good);border-color:color-mix(in srgb,var(--good) 30%,transparent)}.slot.warn{color:var(--amber)}.roster-table-head,.player-row{display:grid;grid-template-columns:minmax(140px,1fr) 85px 42px 42px 69px;align-items:center;gap:9px}.roster-table-head{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:8px 0 11px}.roster-table-head>span:nth-child(n+3){text-align:right}.player-row{padding:12px 0;border-bottom:1px solid var(--line)}.player-row:last-child{border:0}.player-button{padding:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;min-width:0}.headshot-wrap{width:34px;height:38px;flex:none;border-radius:8px;background:linear-gradient(155deg,var(--raised),color-mix(in srgb,var(--accent) 15%,var(--raised)));overflow:hidden;display:grid;place-items:center;color:var(--accent);font-size:11px;font-weight:700}.headshot-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top}.player-name{font-size:11px;line-height:1.35;display:block;font-weight:600;overflow-wrap:anywhere}.player-meta{font-size:9px;color:var(--muted);margin-top:4px;display:block}.position-chip{color:var(--accent);font-size:8px;border-right:1px solid var(--line);padding-right:5px;margin-right:5px}.player-game{font-size:10px;color:var(--text)}.player-game small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.player-score{text-align:right;font-size:11px;font-variant-numeric:tabular-nums}.player-score.projected{color:var(--accent)}.toggle-starter{background:transparent;border:1px solid var(--line);border-radius:6px;font-size:9px;min-height:30px;width:100%;color:var(--muted)}.toggle-starter.selected{background:color-mix(in srgb,var(--accent) 13%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.toggle-starter:disabled{opacity:.5}.locked-mark{font-size:8px;color:var(--amber);display:inline-block;margin-top:4px}.lineup-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:20px;margin-top:0;border-top:1px solid var(--line)}.lineup-bottom>p{font-size:10px;color:var(--muted);max-width:280px}.lineup-bottom+ p{margin-top:14px;font-size:9px}.outlook-panel{grid-column:2;padding:22px 20px}.outlook-panel .section-heading select{font-size:11px;min-height:32px;padding:5px}.outlook-panel .section-heading{margin-bottom:15px}.recommendation{border:1px solid var(--line);border-radius:9px;margin-bottom:9px;padding:11px}.recommendation strong{font-size:11px}.recommendation p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.recommendation .recommend-type{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:4px;display:block}.compare-panel{grid-column:1;padding:24px}.compare-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.compare-selects select{width:100%;font-size:11px}.compare-table-scroll{overflow:auto}.compare-table{border-collapse:collapse;width:100%;font-size:11px;min-width:390px}.compare-table th,.compare-table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:right}.compare-table th:first-child,.compare-table td:first-child{text-align:left;color:var(--muted);font-size:10px}.compare-player{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.compare-player img{height:47px;width:47px;object-fit:cover;border-radius:10px;background:var(--raised)}.compare-plot{margin-top:20px}.compare-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;margin-top:12px}.compare-legend span{display:flex;align-items:center;gap:5px}.compare-legend i{width:7px;height:7px;border-radius:50%}.calculator{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.calculator summary{font-size:11px;font-weight:600;cursor:pointer}.calculator p{margin-top:10px}.calc-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px}.calc-fields input,.calc-fields select{width:100%;font-size:11px;min-height:35px;margin-top:4px}.calc-fields label{font-size:9px}.calc-result{display:flex;align-items:center;gap:15px;border-radius:9px;padding:12px;background:var(--raised);margin-top:8px}.calc-result span{color:var(--muted);font-size:11px}.calc-result strong{color:var(--accent);font-size:23px}.mobile-tabs{display:none}.preview-banner{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;margin-top:15px;border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);background:color-mix(in srgb,var(--amber) 7%,transparent);border-radius:9px;font-size:9px;color:var(--amber)}.preview-banner .text-button{font-size:10px}.empty{padding:30px 10px;color:var(--muted);font-size:12px;text-align:center;line-height:1.7}footer{display:flex;align-items:center;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font-size:9px;color:var(--muted);flex-wrap:wrap}.soft{opacity:.6;margin-left:5px}dialog{color:var(--text);border:1px solid var(--line);border-radius:20px;background:var(--panel);max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 40px 100px #0009}dialog::backdrop{background:#03040bd9;backdrop-filter:blur(8px)}.close-button{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--raised);color:var(--muted);font-size:23px;display:grid;place-items:center;z-index:5}.player-dialog{width:900px;overflow:auto}.detail-hero{position:relative;min-height:255px;padding:35px 30px 25px;overflow:hidden;background:radial-gradient(ellipse at 85% 90%,color-mix(in srgb,var(--glow) 27%,transparent),transparent 70%)}.detail-hero h2{font-size:36px;max-width:65%;margin:11px 0 8px}.detail-hero>.eyebrow{color:var(--accent)}.detail-hero .detail-photo{position:absolute;right:18px;bottom:-10px;width:210px;height:230px;object-fit:contain;object-position:center bottom}.detail-bio{display:grid;grid-template-columns:repeat(3,max-content);gap:14px 22px;margin-top:25px;position:relative;z-index:2}.detail-bio span{display:block;font-size:9px;color:var(--muted)}.detail-bio strong{font-size:12px;font-weight:500}.detail-content{padding:0 26px 26px}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative;margin-bottom:18px}.detail-summary div{border:1px solid var(--line);background:var(--raised);padding:14px;border-radius:10px}.detail-summary span{font-size:9px;color:var(--muted);display:block}.detail-summary strong{font-size:22px;display:block;margin-top:4px;font-weight:600}.detail-section{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:16px}.detail-section h3{font-size:15px;margin-bottom:14px}.detail-section .chart{min-height:160px}.detail-stats{overflow:auto}.detail-stats table{border-collapse:collapse;white-space:nowrap;font-size:10px;width:100%}.detail-stats th,.detail-stats td{padding:9px;border-bottom:1px solid var(--line);text-align:right}.detail-stats th{color:var(--muted);font-size:9px}.detail-attributes{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.attribute-header{display:flex;justify-content:space-between;font-size:10px}.attribute-meter{height:5px;background:var(--line);border-radius:5px;margin:7px 0}.attribute-meter i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--secondary),var(--accent))}.attribute-caption{font-size:9px;color:var(--muted)}.install-dialog{width:400px;padding:30px;text-align:center}.install-icon img{border-radius:20px;margin:9px 0 23px;box-shadow:0 7px 30px color-mix(in srgb,var(--glow) 25%,transparent)}.install-dialog h2{font-size:26px;margin:12px 0}.install-dialog p{color:var(--muted);font-size:12px;line-height:1.7}.install-dialog #installSteps{font-size:12px;line-height:1.8;background:var(--raised);padding:0;border-radius:10px;margin:16px 0;text-align:left}.install-dialog #installSteps:not(:empty){padding:13px}.install-dialog .text-button{justify-content:center;margin-top:10px}.confirm-dialog{width:400px;padding:30px}.confirm-dialog h2{font-size:24px;margin:12px 0}.confirm-dialog p{color:var(--muted);font-size:12px;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--raised);border:1px solid var(--line);box-shadow:0 8px 50px #0008;color:var(--text);padding:13px 20px;border-radius:12px;max-width:90%;font-size:12px;z-index:80}.offline-banner{position:fixed;bottom:0;left:0;right:0;background:var(--amber);color:#231607;padding:8px;text-align:center;z-index:90;font-size:11px}.loading{opacity:.65}.loading-spinner{display:inline-block;height:13px;width:13px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* News and outlook share one independent column beside the lineup. */
.dashboard-side{grid-column:2;grid-row:3 / span 2;display:flex;flex-direction:column;gap:20px;min-width:0;align-self:start}
.dashboard-side>.news-panel,.dashboard-side>.outlook-panel{grid-column:auto;grid-row:auto;width:100%}
.dashboard-side .news-list{max-height:330px;overflow:auto}
#comparePanel{display:none}
body[data-view=lineup] .dashboard-layout>*:not(#lineupPanel):not(#dashboardSide),body[data-view=compare] .dashboard-layout>*:not(#comparePanel),body[data-view=news] .dashboard-layout>*:not(#dashboardSide){display:none}
body[data-view=lineup] #lineupPanel{grid-column:1;grid-row:1}body[data-view=lineup] #dashboardSide{grid-column:2;grid-row:1}body[data-view=compare] #comparePanel,body[data-view=news] #dashboardSide{grid-column:1/-1;grid-row:auto}
body[data-view=compare] #comparePanel{display:block}
body[data-view=news] #outlookPanel{display:none}
body[data-view=news] #newsList{max-height:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
body[data-view=news] .news-item{border:1px solid var(--line);border-radius:10px;padding:17px}
.roster-table-head,.player-row{transition:background .12s}button:active:not(:disabled){filter:brightness(1.1)}
@media(min-width:1500px){.dashboard-layout{grid-template-columns:minmax(0,1fr) 355px}.hero{min-height:350px}.hero h2{font-size:41px}.large-number{font-size:43px}.hero-mini{width:225px}.player-row{padding:14px 0}.player-name{font-size:12px}.roster-table-head,.player-row{grid-template-columns:minmax(150px,1fr) 115px 60px 60px 80px}}
@media(max-width:1150px){.app-content{padding:0 22px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 260px;gap:15px}.lineup-panel,.performance-panel,.compare-panel{padding:20px}.news-panel,.outlook-panel{padding:20px 16px}.roster-table-head,.player-row{grid-template-columns:minmax(115px,1fr) 65px 35px 35px 56px;gap:7px}.player-button{gap:6px}.headshot-wrap{width:29px;height:34px}.player-name{font-size:10px}.player-meta{font-size:8px}.lineup-bottom .button{padding:9px 11px;font-size:10px}.hero-mini{margin-right:24px}.topbar{height:86px}.workspace-toolbar h1{font-size:26px}.calc-fields{grid-template-columns:repeat(2,1fr)}.open-league{display:none}}
@media(min-width:600px) and (max-width:920px){.rail{width:60px;padding:22px 8px}.app-content{width:calc(100% - 60px);padding:0 15px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 225px;gap:12px}.hero{min-height:285px}.hero-content{padding:25px}.hero h2{font-size:28px}.hero-mini{width:154px;padding:14px;margin:0 20px 25px auto}.hero-mini strong{font-size:27px}.stats-row{gap:10px}.stat-card{padding:12px;gap:9px}.stat-icon{width:32px;height:32px}.stat-card strong{font-size:22px}.stat-card small{font-size:8px}.stat-card .metric-label{font-size:9px}.roster-table-head,.player-row{grid-template-columns:minmax(125px,1fr) 38px 36px 52px;gap:7px}.roster-table-head>span:nth-child(2),.player-row>.player-game{display:none}.hero .eyebrow{font-size:9px}.lineup-controls{align-items:stretch;flex-direction:column}.search-label{max-width:none}.search-label input{width:100%}.section-heading h2{font-size:18px}.section-heading{gap:6px}.chart-legend{gap:6px;font-size:8px}.hero-numbers{gap:16px}.large-number{font-size:30px}.hero-numbers strong{font-size:21px}.workspace-toolbar{gap:8px}.workspace-tools{gap:6px}.select-inline>span{display:none}.select-inline:first-child select{max-width:110px}.live-indicator{margin-right:0;font-size:9px}.top-actions{gap:7px}.compare-selects{grid-template-columns:1fr;gap:6px}.compare-selects select{min-height:32px;font-size:10px}.lineup-bottom{align-items:stretch;flex-direction:column}.roster-table-head{font-size:7px}.headshot-wrap{width:27px;height:31px}.lineup-panel,.performance-panel,.compare-panel{padding:17px}.news-panel,.outlook-panel{padding:17px 13px}.detail-hero h2{font-size:29px}.connect-layout{gap:25px}.connect-card{padding:20px}.input-with-button{flex-direction:column}.connect-intro h1{font-size:45px}.login-fields{grid-template-columns:1fr}}
/* Portrait phones use the compact lineup; every tablet retains the dashboard. */
@media(max-width:599px) and (orientation:portrait){.rail{display:none}.app-content{width:100%;padding:0 15px}.topbar{height:80px;padding-top:env(safe-area-inset-top,0px)}.league-label{font-size:13px}.eyebrow{font-size:8px}.header-identity>.eyebrow{font-size:8px}.top-actions{gap:7px}.live-indicator{display:none}.icon-button{width:35px;height:35px;border-radius:10px}.top-logout{display:inline-flex}.connect-layout{grid-template-columns:1fr;gap:5px;min-height:auto}.connect-intro{padding:30px 3px 22px}.connect-intro h1{font-size:42px;margin:18px 0}.connect-intro>p{font-size:13px;max-width:310px}.intro-features{margin:19px 0 20px;gap:6px}.intro-features span{font-size:9px}.connect-card{padding:21px;margin-bottom:23px}.connect-card .section-heading h2{font-size:22px}.input-with-button{flex-direction:column}.input-with-button input,input,select{font-size:16px}.input-with-button .button{width:100%}.login-fields{grid-template-columns:1fr;gap:13px}.login-fields label{font-size:12px}.button{min-height:43px;font-size:12px}.connect-footer{font-size:9px}.workspace-toolbar{margin:20px 0 17px;align-items:flex-start}.workspace-toolbar h1{font-size:26px;margin-top:5px}.workspace-tools{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:155px}.select-inline>span{display:none}.select-inline select{font-size:12px;min-height:34px;padding:6px;max-width:100px}.select-inline:first-child select{max-width:95px}.workspace-tools>.select-inline:first-child:has(select option:only-child){display:none}.workspace-tools .icon-button{height:34px;width:34px}.workspace-toolbar .eyebrow{max-width:165px}.mobile-tabs{display:flex;align-items:center;gap:4px;background:var(--panel);padding:5px;border:1px solid var(--line);border-radius:12px;margin-bottom:17px}.mobile-tabs button{flex:1;background:transparent;border-radius:8px;padding:9px 5px;font-size:10px;color:var(--muted)}.mobile-tabs button.active{background:var(--raised);color:var(--accent)}.dashboard-layout{display:flex;flex-direction:column;gap:16px}.dashboard-layout>*{width:100%}.hero{min-height:258px}.hero-content{padding:23px}.hero h2{font-size:27px}.large-number{font-size:29px}.hero-numbers{gap:20px;margin-top:21px}.hero-note{font-size:9px;max-width:210px}.hero-mini{position:absolute;bottom:18px;right:15px;margin:0;width:112px;padding:12px}.hero-mini .eyebrow{font-size:7px}.hero-mini strong{font-size:24px}.hero-mini>span:last-of-type{font-size:8px}.tiny-line{gap:3px;height:17px;margin-top:10px}.tiny-line i{width:3px}.hero-numbers strong{font-size:22px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{display:block;padding:13px 11px}.stat-icon{height:26px;width:26px;border-radius:7px;margin-bottom:10px}.stat-icon svg{width:15px}.stat-card strong{font-size:25px}.stat-card .metric-label{font-size:8px}.stat-card small{font-size:7px}.performance-panel,.lineup-panel,.compare-panel{padding:19px 16px}.news-panel,.outlook-panel{padding:20px 18px}.lineup-panel .section-heading{margin-bottom:17px}.section-heading h2{font-size:19px}.saved-status{font-size:8px}.soft-badge{font-size:8px;margin-left:4px}.lineup-controls{gap:8px;align-items:stretch;flex-direction:column}.search-label{max-width:none}.search-label input{font-size:14px;min-height:35px}.segmented{width:max-content}.segmented button{font-size:10px;min-height:30px}.slots{margin:14px 0;gap:5px}.slot{font-size:8px;padding:4px 6px}.roster-table-head,.player-row{grid-template-columns:minmax(120px,1fr) 38px 43px 56px;gap:6px}.roster-table-head>span:nth-child(2),.player-row>.player-game{display:none}.player-button{gap:7px}.headshot-wrap{width:31px;height:36px}.player-name{font-size:11px}.player-meta{font-size:8px}.player-score{font-size:10px}.toggle-starter{font-size:9px;min-height:34px}.player-row{padding:13px 0}.lineup-bottom{flex-direction:column;align-items:stretch;padding-top:15px;gap:11px}.lineup-bottom>p{max-width:none}.lineup-bottom .button{font-size:12px}.lineup-bottom+p{font-size:9px}.chart-legend{font-size:9px;gap:9px}.chart{min-height:170px}.chart-note{font-size:8px}.news-list{max-height:none}.news-item a{font-size:12px}.news-player{font-size:11px}.news-player img{width:30px;height:30px}.news-filter-row select{font-size:14px}.compare-selects{grid-template-columns:1fr;gap:7px}.compare-selects select{min-height:39px;font-size:14px}.compare-panel>.section-heading{flex-wrap:wrap}.calc-fields{grid-template-columns:1fr 1fr}.calc-fields input,.calc-fields select{font-size:16px}.player-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.detail-hero{padding:55px 23px 25px;min-height:272px}.detail-hero h2{font-size:29px;max-width:65%}.detail-hero .detail-photo{width:160px;height:220px;right:0;opacity:.9}.detail-bio{grid-template-columns:repeat(2,max-content);gap:12px 20px;max-width:60%}.detail-content{padding:0 14px 24px}.detail-summary{grid-template-columns:1fr 1fr;gap:9px}.detail-summary div{padding:13px}.detail-summary strong{font-size:23px}.detail-section{padding:17px 14px}.detail-attributes{gap:17px}.close-button{right:14px;top:max(14px,env(safe-area-inset-top));height:36px;width:36px}.preview-banner{font-size:7px;padding:8px;gap:10px}.preview-banner .text-button{font-size:9px}.theme-menu{right:-43px;width:260px}.install-dialog{padding:27px;max-width:calc(100vw - 36px)}.install-dialog h2{font-size:25px}.install-dialog p{font-size:13px}.install-dialog #installSteps{font-size:13px}.confirm-dialog{padding:26px}.dialog-actions .button{min-height:43px}.connect-intro>.small{font-size:10px}.recommendation strong{font-size:12px}.recommendation p{font-size:11px}footer{gap:7px;font-size:8px;padding:17px 0 calc(17px + env(safe-area-inset-bottom,0px))}footer>span:last-child{width:100%}body[data-view=news] #newsList{grid-template-columns:1fr}}
/* Landscape phones retain the full dashboard at a smaller scale. */
@media(orientation:landscape) and (max-height:550px) and (pointer:coarse){.rail{width:51px;padding:12px 5px}.brand{width:36px;height:36px}.brand svg{width:29px}.rail-links{margin-top:22px;gap:5px}.nav-icon{height:35px;width:35px}.rail-bottom{gap:8px}.season-stamp{width:29px;height:29px;font-size:19px}.app-content{width:calc(100% - 51px);padding:0 max(14px,env(safe-area-inset-right)) 0 14px}.topbar{height:59px}.workspace-toolbar{margin:17px 0}.workspace-toolbar h1{font-size:23px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 215px;gap:11px}.hero{min-height:220px}.hero-content{padding:21px}.hero h2{font-size:26px;margin-top:10px}.hero-numbers{margin-top:15px}.hero-note{margin-top:15px}.hero-mini{margin-bottom:20px}.stats-row{gap:10px}.stat-card{padding:11px}.stat-card strong{font-size:22px}.live-indicator{font-size:8px}.input-with-button{flex-direction:column}.connect-layout{gap:25px;padding:15px 0}.connect-intro h1{font-size:36px}.connect-intro{padding:20px 0}.connect-card{padding:20px}.intro-features{margin:15px 0}.hero-mini .eyebrow{font-size:8px}.news-list{max-height:800px}.player-row{padding:11px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(orientation:landscape) and (pointer:coarse){input,select{font-size:16px}.select-inline select{font-size:13px}}

@media(max-width:599px) and (orientation:portrait){.dashboard-side{gap:16px;width:100%}.dashboard-side .news-list{max-height:360px}body[data-view=news] #newsList{max-height:none}.brand{cursor:default}}
/* MatchDay and league-wide player workspace */
.dashboard-layout{grid-template-areas:"hero hero" "metrics metrics" "matchday matchday" "performance insights" "lineup insights"}
#heroPanel{grid-area:hero}#statsRow{grid-area:metrics}#matchdayPanel{grid-area:matchday}#performancePanel{grid-area:performance}#lineupPanel{grid-area:lineup}#dashboardSide{grid-area:insights}
body[data-view=lineup] #lineupPanel{grid-area:auto;grid-column:1;grid-row:1}body[data-view=lineup] #dashboardSide{grid-area:auto;grid-column:2;grid-row:1}
body[data-view=compare] #comparePanel,body[data-view=news] #dashboardSide{grid-area:auto;grid-column:1/-1;grid-row:1}
body[data-view=lineup] .dashboard-layout,body[data-view=compare] .dashboard-layout,body[data-view=news] .dashboard-layout{grid-template-areas:none}
.matchday-panel{padding:24px}.matchday-pair{display:grid;grid-template-columns:1fr 32px 1fr;gap:20px;align-items:center}.matchday-team{background:var(--raised);border:1px solid var(--line);padding:18px;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:8px 16px}.matchday-team-name{display:flex;gap:11px;align-items:center;min-width:0}.matchday-logo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);overflow:hidden;background:var(--panel);flex:none}.matchday-logo img{width:100%;height:100%;object-fit:contain}.matchday-team-name strong{font-size:14px;display:block}.matchday-team-name small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.matchday-score{font-size:30px;font-weight:650;letter-spacing:-.04em}.matchday-team>span:last-child{grid-column:1/-1;font-size:10px}.your-team{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.versus{font-size:10px;letter-spacing:.12em;color:var(--muted);text-align:center}.matchday-needed{text-align:center;margin-top:15px;color:var(--accent);font-size:11px}.matchday-scoreboard{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.matchday-scoreboard summary{font-size:11px;color:var(--muted);cursor:pointer}.scoreboard-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:11px 0;gap:20px}.scoreboard-pair>span{display:grid;grid-template-columns:1fr auto;gap:2px 10px}.scoreboard-pair strong{font-size:11px}.scoreboard-pair small{font-size:9px;color:var(--muted);grid-column:1}.scoreboard-pair b{grid-column:2;grid-row:1/3;align-self:center;font-size:12px}.team-avatar{overflow:hidden;font-family:inherit;font-size:11px;font-weight:650}.team-avatar img{width:100%;height:100%;object-fit:contain}.injury-watch-list{font-size:9px;max-height:180px;overflow:auto;margin-top:8px}.injury-watch-list>div{border-top:1px solid var(--line);padding:8px 0}.injury-watch-list .player-button{font-size:10px;color:var(--text);display:inline;margin-right:5px;line-height:1.5}.injury-detail,.injury-return{display:block;color:var(--muted);font-size:9px;margin-top:3px}.stat-card:has(#healthNote){align-items:flex-start}.lineup-slot{font-weight:700;color:var(--secondary)}.photo-fallback{display:grid;place-items:center;width:100%;height:100%}.capability-notice{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 16px;background:color-mix(in srgb,var(--amber) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--amber) 25%,transparent);border-radius:10px;margin-bottom:19px;font-size:11px}.capability-notice span{color:var(--muted)}.capability-notice a{margin-left:auto;font-weight:650}.compare-browser{display:grid;grid-template-columns:1fr 130px;gap:12px;margin:18px 0 10px}.compare-browser input,.compare-browser select{width:100%;font-size:12px;margin-top:5px}.ownership-tag{font-size:9px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:5px;padding:4px 6px;display:inline-block;font-weight:400;white-space:normal}.ownership-tag.free{color:var(--good)}.watch-button{font-size:10px}.watch-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.watch-panel .section-heading{margin-bottom:10px}.watch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--raised);padding:11px;border-radius:9px;margin-top:9px}.watch-item strong{font-size:11px}.watch-item small{font-size:9px;display:block;color:var(--muted);margin-top:3px}.watch-item .text-button{font-size:22px;padding:8px}.detail-ownership{position:relative;margin-top:15px;z-index:3}.detail-ownership button{font-size:10px;margin-left:8px}
@media(max-width:920px){.matchday-panel{padding:19px}.matchday-pair{gap:10px;grid-template-columns:1fr 22px 1fr}.matchday-team{padding:13px;gap:7px}.matchday-score{font-size:25px}.matchday-team-name strong{font-size:12px}.matchday-logo{height:33px;width:33px}.matchday-team-name{gap:8px}}
@media(max-width:599px) and (orientation:portrait){.matchday-pair{grid-template-columns:1fr;gap:8px}.versus{padding:2px}.matchday-panel{padding:19px 16px}.matchday-team{padding:14px}.matchday-team-name strong{font-size:13px}.matchday-score{font-size:29px}.compare-browser{grid-template-columns:1fr 100px;gap:8px}.compare-browser input,.compare-browser select{font-size:16px}.compare-browser input{min-width:0}.scoreboard-pair{gap:12px}.scoreboard-pair strong{font-size:10px}.capability-notice{padding:12px;font-size:11px}.capability-notice a{margin-left:0;width:100%}.injury-watch-list{font-size:8px}.injury-watch-list .player-button{font-size:9px}.injury-watch-list .injury-label{font-size:7px}.injury-detail,.injury-return{font-size:8px}.stat-card:has(#healthNote){grid-column:1/-1;display:flex}.stat-card:has(#healthNote) .stat-icon{margin:0 10px 0 0}.stat-card:has(#healthNote)>div{flex:1}.stats-row{grid-template-columns:1fr 1fr}}

.matchday-odds{text-align:center;color:var(--secondary);font-size:11px;margin:12px 0}.matchday-odds small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.matchday-lineups{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.matchday-lineups summary{color:var(--muted);font-size:11px;cursor:pointer}.matchday-lineup-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:14px}.matchday-lineup-columns h4{font-size:12px;color:var(--accent);margin-bottom:9px}.matchday-player{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}.matchday-player small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.matchday-player b{font-weight:500}.feed-week-note{margin-bottom:14px}.matchday-player>strong{font-size:12px}.matchday-team-name{overflow-wrap:anywhere}.matchday-panel{min-width:0}@media(max-width:599px) and (orientation:portrait){.matchday-lineup-columns{gap:13px}.matchday-player{font-size:10px;gap:5px}.matchday-player>strong{font-size:11px}.matchday-player small{font-size:8px}}
