.player-avatar { width: 64px; height: 64px; flex: 0 0 64px; overflow: hidden; background: #254f3a; }
.player-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.player-name { cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
.player-name:hover, .player-name:focus { text-decoration-color: currentColor; }
.player-detail-hero { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.player-detail-hero .player-avatar { width: 104px; height: 104px; flex-basis: 104px; }
.player-detail-status { padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.player-detail-status p { margin: 8px 0 0; }
.player-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
.player-facts div { padding: 12px; background: var(--surface-2, #183126); border-radius: 8px; }
.player-facts dt { color: var(--muted); font-size: .75rem; }
.player-facts dd { margin: 5px 0 0; }
.player-detail-section { margin-top: 20px; }
.weekly-out-panel { margin: 26px 0; }
.weekly-out-list { display: grid; gap: 10px; }
.weekly-out-row { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(180px, 1fr) auto; gap: 18px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.weekly-out-player { display: flex; align-items: center; gap: 12px; min-width: 0; }
.weekly-out-player strong, .weekly-out-player span { display: block; }
.weekly-out-player span { margin-top: 4px; color: var(--muted); font-size: 12px; }
@media (max-width: 720px) { .weekly-out-row { grid-template-columns: 1fr; gap: 10px; } .weekly-out-row .button { justify-self: start; } }
@media (max-width: 520px) { .player-facts { grid-template-columns: 1fr; } .player-detail-hero .player-avatar { width: 84px; height: 84px; flex-basis: 84px; } }
:root{color-scheme:dark;--bg:#0b1110;--ink:#edf3ed;--muted:#a4b1a7;--line:#2a3a30;--green:#244d33;--lime:#d6f77f;--white:#141f19;--surface:#141f19;--surface-raised:#1b2a21;--radius:14px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d6f77f;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:86px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.brand{display:flex;align-items:center;font-size:21px;font-weight:750;letter-spacing:-.8px}.brand-light{font-weight:400}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;background:var(--green);color:white;border-radius:11px;margin-right:12px;font-size:22px;letter-spacing:-2px}.brand-icon span{color:var(--lime)}.edition,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750}.edition{color:var(--muted)}.button{border:1px solid transparent;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:650;display:inline-flex;gap:20px;align-items:center;justify-content:center}.light{border-color:var(--line);background:var(--surface)}.lime{background:var(--lime);color:#193a28}.dark{background:var(--green);color:white}.layout{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:calc(100vh - 86px)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:100px}.sidebar .eyebrow{color:#9aa99d;font-size:9px;margin:5px 10px 22px;letter-spacing:1.4px}nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;text-align:left;padding:14px 13px;font-size:13px;border-radius:8px;color:#a8b7ad}.nav-item>span:first-child{font-size:19px;width:20px;text-align:center}.nav-item.selected{background:#273d28;color:#d6f77f;font-weight:650}.count{margin-left:auto;background:var(--surface);border-radius:5px;padding:2px 6px;font-size:10px}.sidebar-bottom{padding:0 10px}.small-label{font-size:8px;letter-spacing:1px;color:#a4b395}.sidebar-bottom p{font-size:16px;line-height:1.5;font-weight:600}.field-mini{display:flex;justify-content:space-around;align-items:center;height:65px;border:1px solid var(--line);border-radius:6px;background:repeating-linear-gradient(90deg,transparent 0,transparent 31px,#344636 32px,#344636 33px);font-size:8px;color:#9fae95;margin:20px 0}.version{font-size:9px;color:#9aa99d}main{padding:25px 40px 0;max-width:1500px;width:100%;margin:auto}.mode-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:11px;line-height:1.6;border-bottom:1px solid var(--line);padding:0 0 17px;color:#a5b59a}.text-button{border:0;background:none;font-size:12px;font-weight:650;white-space:nowrap;padding:8px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:31px 0 25px}.eyebrow{color:#adc18f;margin:0 0 13px}h1{font-size:clamp(27px,3.1vw,43px);line-height:1.15;letter-spacing:-1.7px;font-weight:650;margin:0 0 12px}h1>span{color:#d6f77f}.muted{color:var(--muted);font-size:12px;line-height:1.7;margin:0}h2{font-size:18px;letter-spacing:-.5px;margin:0 0 10px}.sport-tag{font-size:9px;letter-spacing:1px;white-space:nowrap;border:1px solid #334837;border-radius:30px;padding:10px 13px;color:#b7c5a7}.sport-tag span{color:#badc86;margin:0 8px}.hero{background:linear-gradient(125deg,#173c2a,#10271e);color:white;border-radius:var(--radius);display:grid;grid-template-columns:1.15fr 1fr;position:relative;overflow:hidden;min-height:284px}.hero-copy{padding:32px 35px;z-index:1}.hero-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.8px;color:#c5d3b9}.dot{width:6px;height:6px;border-radius:50%;background:var(--lime)}.hero h2{font-size:34px;letter-spacing:-1px;font-weight:550;line-height:1.15;margin:18px 0 12px}.hero p{font-size:12px;color:#b9c9bd;max-width:310px;line-height:1.65;margin:0 0 22px}.hero .button{font-size:12px}.field{position:relative;opacity:.85;background:repeating-linear-gradient(90deg,transparent 0,transparent 23%,#48705855 23.2%,transparent 23.5%);margin:25px 25px 25px 0;border:1px solid #52745945;transform:skewY(-7deg)}.field:before,.field:after{content:"";position:absolute;top:25%;left:0;right:0;border-top:2px dashed #718c5f44}.field:after{top:75%}.yard{position:absolute;top:44%;font-size:35px;color:#6f89614d;font-weight:750;transform:rotate(90deg)}.y1{left:14%}.y2{left:39%}.y3{left:64%}.play-route{position:absolute;left:24%;top:20%;width:45%;height:53%;border-right:2px dashed #d6f77f;border-top:2px dashed #d6f77f;transform:rotate(-12deg);border-radius:0 35px 0 0}.play-route:before{content:"";position:absolute;left:-3px;top:-5px;width:8px;height:8px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(45deg)}.play-dot{position:absolute;font-size:33px;color:var(--lime)}.d1{left:59%;top:70%}.d2{left:75%;top:39%}.d3{left:25%;top:50%;opacity:.45}.field-caption{position:absolute;bottom:0;right:12px;text-align:right;font-size:9px;letter-spacing:2px;color:#b1c19c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0 34px}.stats .stat-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:20px 23px;display:grid;gap:11px}.stats .stat-card>span{font-size:11px;color:#b5c0ae}.stats strong{font-size:31px;font-weight:550;letter-spacing:-1px}.stats small{font-size:10px;color:#a4b099}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.section-heading h2{font-size:20px}.subtle-count{font-size:10px;vertical-align:middle;border:1px solid var(--line);border-radius:5px;padding:3px 6px;margin-left:7px}.segmented{display:flex;background:#101a14;padding:4px;border-radius:8px}.segmented button{background:none;border:0;border-radius:5px;font-size:11px;padding:8px 12px;color:#afbaa5}.segmented .selected{background:var(--surface);color:#d6f77f;box-shadow:0 1px 4px #0004}.roster{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.player-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(120px,1fr) minmax(140px,1fr) 32px;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid #25352b}.player-row:last-child{border:0}.player-info{display:flex;align-items:center;gap:12px;min-width:0}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:44px;border-radius:8px;background:#2a3b29;color:#c1d29f;font-size:12px;font-weight:750}.player-name{font-size:13px;font-weight:650;margin-bottom:6px}.player-meta{font-size:10px;color:#a8b69e}.pill{display:inline-block;padding:6px 9px;font-size:10px;font-weight:600;border-radius:5px;white-space:nowrap;background:#29372e;color:#c1ccb8}.pill.active{background:#253d25;color:#c8eda2}.pill.questionable,.pill.doubtful{background:#40331e;color:#f3ce81}.pill.out,.pill.inactive{background:#442a29;color:#f5aaa0}.source{font-size:9px;color:#a3afa0;margin-top:7px;line-height:1.5;overflow-wrap:anywhere}.game-time{font-size:11px}.remove{border:0;background:transparent;color:#b0bfa4;font-size:18px;padding:8px}.note{display:flex;gap:11px;font-size:10px;line-height:1.8;color:#a5b49d;margin:19px 0 30px}.note>span{font-size:15px}.note p{margin:0}.note strong{font-weight:650}.empty{padding:42px 24px;text-align:center}.empty h3{font-size:17px;margin:0 0 10px}.empty p{max-width:410px;margin:auto;font-size:12px;line-height:1.7;color:var(--muted)}footer{padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#a4b198}.view:not(#team-view){padding-top:36px;min-height:70vh}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0}.panel p{font-size:12px;color:var(--muted);line-height:1.8;margin:15px 0}.panel .button{margin-top:14px;width:100%}.channel-icon,.platform-logo{display:block;font-size:30px;font-weight:750;margin-bottom:24px}.yahoo{color:#bd99ff}.espn{color:#ff938a;font-style:italic}.check{font-size:11px;line-height:1.8}.check input{width:auto;margin:0 8px 0 0}.alert-list{margin:30px 0}.alert-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:12px;display:flex;gap:16px;align-items:flex-start}.alert-card p{font-size:12px;line-height:1.7}.alert-card h3{font-size:14px;margin:0 0 10px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;width:min(480px,calc(100% - 28px));max-height:85vh;color:var(--ink);background:var(--surface);box-shadow:0 25px 90px #0008}dialog::backdrop{background:#020806bb;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-header .eyebrow{margin:0}.close{border:0;background:none;font-size:25px;color:var(--muted)}dialog h2{font-size:25px;margin-bottom:25px}label{display:block;font-size:12px;font-weight:550;margin:15px 0}input{display:block;color:var(--ink);width:100%;border:1px solid #3b4d3e;background:#0f1913;border-radius:7px;padding:13px;margin-top:8px;min-width:0}dialog .button{width:100%;margin-top:15px}dialog .text-button{display:block;margin:12px auto}.form-error{font-size:12px;color:#ffaea0;line-height:1.6}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:#264832;color:white;padding:16px 24px;border-radius:10px;box-shadow:0 5px 30px #0002;font-size:12px;z-index:10}.search-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.search-row .button{width:auto;margin:0;padding:8px 10px}.search-row p{font-size:12px}.search-row small{color:var(--muted)}@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.hero{min-height:320px}.hero h2{font-size:42px}.hero-copy{padding:38px 42px}}@media(max-width:1100px){.edition,.sport-tag{display:none}.layout{grid-template-columns:190px minmax(0,1fr)}main{padding:22px 25px 0}.sidebar{padding:30px 12px}.hero h2{font-size:29px}.hero-copy{padding:28px}.player-row{grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) 28px}.game-time{grid-column:1 / 3;padding-left:52px}.remove{grid-column:3;grid-row:1}.player-row{position:relative}.player-row>.remove{grid-row:auto}.settings-grid{grid-template-columns:1fr}.stats .stat-card{padding:17px}.stats small{line-height:1.5}.sidebar-bottom{padding:0 5px}}@media(max-width:720px){.topbar{height:70px;padding:0 18px}.brand{font-size:17px}.brand-icon{width:33px;height:33px;margin-right:8px}.topbar .button{font-size:11px;padding:10px}.layout{display:block}.sidebar{padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.sidebar .eyebrow,.sidebar-bottom{display:none}nav{display:flex;justify-content:space-between;gap:3px}.nav-item{font-size:10px;padding:9px 7px;gap:5px}.nav-item>span:first-child{font-size:15px;width:auto}.count{display:none}main{padding:18px 17px 0}.mode-banner{font-size:10px;align-items:flex-start}.mode-banner .text-button{font-size:10px}.page-heading{margin:25px 0 23px}h1{font-size:32px}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero{grid-template-columns:1fr .55fr;min-height:270px}.hero-copy{padding:26px 23px}.hero h2{font-size:28px}.hero-label{font-size:7px;letter-spacing:1px;white-space:nowrap}.hero p{font-size:11px}.field{margin-right:12px;opacity:.6}.field-caption{font-size:6px}.yard{font-size:20px}.play-route{width:60%;left:10%}.stats{gap:8px;margin:14px 0 28px}.stats .stat-card{padding:14px 10px;gap:9px}.stats .stat-card>span{font-size:9px;min-height:24px}.stats strong{font-size:28px}.stats small{font-size:8px}.section-heading h2{font-size:18px}.section-heading .muted{font-size:10px}.segmented button{font-size:10px;padding:7px}.player-row{padding:17px 13px;gap:12px;grid-template-columns:minmax(120px,1fr) minmax(100px,.85fr) 20px}.player-info{gap:9px}.avatar{width:31px;height:38px;font-size:10px}.player-name{font-size:11px}.player-meta{font-size:9px}.pill{font-size:9px;padding:5px 7px}.source{font-size:8px}.game-time{font-size:10px;padding-left:40px}.remove{font-size:16px;padding:0}.note{font-size:9px}footer{flex-wrap:wrap;font-size:8px}footer span:nth-child(2){display:none}.settings-grid{margin:24px 0}.panel{padding:23px}.view:not(#team-view){padding-top:25px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.nav-item:hover{background:#223429}}

/* Public welcome and account setup. */
.welcome{max-width:1440px;margin:0 auto;padding:42px 52px 0}.welcome-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:56px;background:linear-gradient(125deg,#173c2a,#10271e);border-radius:22px;padding:62px 54px;color:white;overflow:hidden}.welcome-copy>.eyebrow{color:#c2d59e;font-size:10px}.welcome h1{font-size:clamp(34px,3.5vw,52px);line-height:1.11;font-weight:600;letter-spacing:-2px;margin:21px 0}.welcome h1 span{color:var(--lime)}.welcome-description{max-width:430px;font-size:15px;line-height:1.85;color:#cbd8cb}.welcome-actions{display:flex;align-items:center;gap:26px;margin:28px 0 18px}.welcome-actions .button{padding:15px 21px;font-size:14px}.welcome-demo{color:#eff7e9;font-size:13px}.welcome-footnote{font-size:10px;line-height:1.8;color:#acc4ad;max-width:370px;margin:0}.welcome-preview{background:#14221a;color:var(--ink);padding:28px 25px;border-radius:15px;box-shadow:0 28px 60px #071d2c33;transform:rotate(2deg)}.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.preview-heading .eyebrow{margin:0;font-size:9px}.preview-example{font-size:8px;letter-spacing:.7px;color:#a3b292}.welcome-preview h2{font-size:25px;line-height:1.25;letter-spacing:-.8px;margin:0 0 24px}.preview-player{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding:18px 0}.preview-player>div{flex:1;min-width:0}.preview-player strong{font-size:12px;display:block;margin-bottom:6px}.preview-player small{font-size:9px;color:var(--muted)}.preview-player .pill{font-size:8px;padding:6px}.preview-alert{display:flex;gap:12px;align-items:center;background:#233c26;border-radius:9px;padding:15px;margin:9px 0 14px}.preview-alert>span{font-size:25px;color:#d6f77f}.preview-alert p{font-size:10px;line-height:1.7;margin:0}.preview-alert strong{font-weight:650}.preview-caption{font-size:8px;line-height:1.6;color:#a5b49d;margin:0}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:50px 8px 42px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#293e26;color:#d6f77f;font-size:11px;font-weight:700;flex-shrink:0}.welcome-steps .step-number{margin-bottom:18px}.welcome-steps h2{font-size:20px;margin-bottom:12px}.welcome-steps p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.welcome-availability{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:28px 30px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:40px}.welcome-availability>div{max-width:690px}.welcome-availability .eyebrow{font-size:8px}.welcome-availability h2{font-size:19px}.welcome-availability p:last-child{font-size:11px;color:var(--muted);line-height:1.85;margin:12px 0 0}.welcome-availability .button{white-space:nowrap}.welcome footer{align-items:center}.welcome footer .text-button{font-size:10px}.setup-guide{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px}.setup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-heading .eyebrow{font-size:8px;margin-bottom:10px}.setup-heading h2{margin-bottom:0}.setup-steps{display:grid;grid-template-columns:1fr 1fr;gap:28px}.setup-steps article{display:flex;align-items:flex-start;gap:13px}.setup-steps h3{font-size:13px;margin:3px 0 8px}.setup-steps p{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 7px}.setup-steps .text-button{display:block;font-size:11px;padding:5px 0;text-align:left;white-space:normal}.team-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;gap:0 16px;align-items:end;margin:14px 0 22px;padding-bottom:19px;border-bottom:1px solid var(--line)}.team-form label{margin:10px 0;font-size:11px}.team-form input,.team-form select{font-size:12px;height:43px}.team-form .button{font-size:11px;margin-bottom:10px;padding:13px;white-space:nowrap}.team-form-note{grid-column:1/-1;font-size:10px;line-height:1.7;color:var(--muted);margin:3px 0 0}select{display:block;width:100%;border:1px solid #3b4d3e;background:#0f1913;border-radius:7px;padding:11px 28px 11px 11px;margin-top:8px;min-width:0;font:inherit;color:inherit}select:focus-visible{outline:3px solid #d6f77f;outline-offset:3px}.catalog-credit{font-size:10px;line-height:1.7;color:var(--muted)}.catalog-credit a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1100px){.welcome{padding:28px 28px 0}.welcome-hero{gap:28px;padding:42px 32px}.welcome h1{font-size:39px}.welcome-preview{padding:25px 20px}.preview-player{gap:7px;flex-wrap:wrap}.preview-player .pill{margin-left:auto}.welcome-steps{gap:28px;padding:36px 4px}.welcome-availability{gap:24px}.team-form{grid-template-columns:1fr 1fr}.team-form .button{grid-column:1/-1;justify-self:start}.team-form-note{margin-top:0}}
@media(max-width:720px){.welcome{padding:18px 17px 0}.welcome-hero{grid-template-columns:1fr;gap:30px;padding:30px 24px;border-radius:15px}.welcome h1{font-size:36px;letter-spacing:-1.5px;line-height:1.15}.welcome-copy>.eyebrow{font-size:8px;letter-spacing:1px}.welcome-description{font-size:13px;line-height:1.8}.welcome-actions{gap:24px;flex-wrap:wrap;margin:23px 0 14px}.welcome-actions .button{font-size:12px;padding:14px 17px}.welcome-demo{font-size:11px}.welcome-footnote{font-size:9px}.welcome-preview{transform:none;padding:23px 20px}.welcome-preview h2{font-size:23px}.preview-heading{gap:8px;margin-bottom:20px}.preview-player strong{font-size:11px}.preview-player small{font-size:8px}.preview-player .pill{font-size:8px}.welcome-steps{grid-template-columns:1fr;gap:27px;padding:32px 7px}.welcome-steps article{position:relative;padding-left:46px}.welcome-steps .step-number{position:absolute;left:0;top:0}.welcome-steps h2{font-size:18px;margin-bottom:8px}.welcome-steps p{font-size:12px}.welcome-availability{display:block;padding:24px 23px;margin-bottom:18px}.welcome-availability .eyebrow{line-height:1.7;letter-spacing:1px}.welcome-availability h2{font-size:20px;line-height:1.4}.welcome-availability .button{width:100%;margin-top:20px;font-size:12px}.setup-guide{padding:20px 17px}.setup-heading{align-items:flex-start}.setup-heading h2{font-size:17px;line-height:1.4}.setup-heading .pill{font-size:8px}.team-form{grid-template-columns:1fr;margin:14px 0 20px}.team-form .button{width:100%;margin-top:4px}.team-form input,.team-form select{font-size:16px;height:46px}.setup-steps{grid-template-columns:1fr;gap:24px}.setup-steps h3{font-size:12px}.setup-steps p{font-size:11px}.setup-steps .text-button{font-size:11px}dialog input{font-size:16px}}
@media(max-width:370px){.topbar{gap:8px;padding:0 12px}.brand{font-size:15px}.brand-icon{width:29px;height:29px;margin-right:6px}.topbar .button{font-size:10px;padding:9px 7px}.welcome-hero{padding:25px 18px}.welcome h1{font-size:31px}.welcome-actions{gap:16px}.welcome-preview{padding:20px 15px}.preview-player .pill{margin-left:40px}.welcome-availability{padding:22px 18px}.nav-item{font-size:9px;padding:9px 5px}}


/* Dark surfaces, accessible states, and the persistent language controls. */
html {
  scrollbar-color: #536746 var(--bg);
}
::selection {
  background: var(--lime);
  color: #173422;
}
.topbar {
  height: auto;
  min-height: 86px;
  padding-top: 17px;
  padding-bottom: 17px;
  background: #101a14;
}
.brand {
  flex-shrink: 0;
  white-space: nowrap;
}
.brand-icon {
  background: #253e29;
  box-shadow: inset 0 0 0 1px #3a5231;
}
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
}
.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0c1510;
}
.language-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 35px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #adbcaf;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.language-button[aria-pressed="true"] {
  background: #263e2a;
  border-color: #45603a;
  color: #e0fbb0;
}
.lang-flag {
  display: block;
  width: 19px;
  height: 13px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px #ffffff14;
}
#account-button {
  flex-shrink: 0;
  white-space: nowrap;
}
.light {
  background: var(--surface-raised);
  border-color: #3b4e3e;
}
.dark {
  border-color: #426643;
}
.lime {
  border-color: #d6f77f;
}
.sidebar {
  background: #101a14;
}
.nav-item.selected {
  box-shadow: inset 3px 0 0 var(--lime);
}
.segmented .selected {
  background: #2b412c;
}
.hero,
.welcome-hero {
  border: 1px solid #31553b;
  box-shadow: 0 18px 70px #0002;
}
.welcome-preview {
  border: 1px solid #3a5138;
  box-shadow: 0 28px 60px #030d0a66;
}
.welcome-preview,
.welcome-copy,
.hero-copy,
.section-heading > div,
.page-heading > div,
.player-info > div,
.search-row > div {
  min-width: 0;
}
.preview-alert {
  border: 1px solid #37523a;
  color: #d7e5ce;
}
.stats .stat-card,
.panel,
.setup-guide,
.welcome-availability {
  box-shadow: 0 8px 24px #0000000d;
}
.channel-icon {
  color: var(--lime);
}
.player-name,
.search-row p,
.alert-card p {
  overflow-wrap: anywhere;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}
input,
select {
  box-shadow: inset 0 1px 2px #0002;
}
input::placeholder {
  color: #889b8b;
  opacity: 1;
}
input[type="checkbox"] {
  display: inline-block;
  accent-color: var(--lime);
  vertical-align: middle;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink);
  -webkit-box-shadow: 0 0 0 1000px #0f1913 inset;
  caret-color: var(--ink);
}
select option {
  background: #14221a;
  color: var(--ink);
}
dialog {
  overscroll-behavior: contain;
}
.toast {
  border: 1px solid #4c6a40;
  box-shadow: 0 10px 35px #0007;
  line-height: 1.6;
}
@media (hover: hover) {
  .light:hover:not(:disabled),
  .language-button:hover:not([aria-pressed="true"]),
  .segmented button:hover:not(.selected) {
    background: #263b2c;
  }
  .dark:hover:not(:disabled) {
    background: #305d3e;
  }
  .lime:hover:not(:disabled) {
    background: #e3ff9d;
  }
  .text-button:hover,
  .close:hover {
    color: var(--lime);
  }
  .nav-item:hover:not(.selected) {
    background: #223429;
    color: var(--ink);
  }
  .remove:hover {
    color: #f5aaa0;
  }
}
@media (max-width: 1220px) {
  .edition {
    display: none;
  }
}
@media (max-width: 720px) {
  .topbar {
    flex-wrap: wrap;
    gap: 13px;
    padding: 16px 18px 14px;
    min-height: 0;
  }
  .header-actions {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
  }
  .language-button {
    min-height: 34px;
    padding: 8px 9px;
  }
  .topbar #account-button {
    min-height: 44px;
    padding: 10px 13px;
  }
  .layout {
    min-height: calc(100vh - 120px);
  }
  .page-heading h1,
  .welcome h1,
  .view h1 {
    overflow-wrap: break-word;
  }
}
@media (max-width: 520px) {
  .sidebar {
    padding: 8px;
  }
  .sidebar nav {
    gap: 4px;
  }
  .nav-item {
    flex: 1;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 9px 3px;
    font-size: 10px;
  }
  .nav-item.selected {
    box-shadow: inset 0 -2px 0 var(--lime);
  }
  .nav-item > span:first-child {
    font-size: 17px;
  }
  .hero {
    grid-template-columns: minmax(0, 1fr) 65px;
  }
  .hero-copy {
    padding: 26px 20px;
  }
  .hero h2 {
    font-size: 27px;
  }
  .hero-label {
    white-space: normal;
    line-height: 1.7;
  }
  .hero .button {
    font-size: 11px;
    padding: 12px;
    white-space: nowrap;
  }
  .field {
    margin-left: -18px;
    opacity: .5;
  }
  .section-heading {
    align-items: flex-start;
    gap: 10px;
  }
  .segmented {
    flex-shrink: 0;
  }
  .player-row {
    grid-template-columns: minmax(0, 1fr) minmax(88px, .85fr) 18px;
    gap: 10px;
    padding: 17px 12px;
  }
  .player-row .pill {
    max-width: 100%;
    white-space: normal;
    line-height: 1.5;
  }
  .preview-player .pill {
    white-space: normal;
    line-height: 1.5;
  }
}
@media (max-width: 370px) {
  .topbar {
    padding: 14px 12px 12px;
  }
  .topbar #account-button {
    font-size: 10px;
    padding: 10px;
    gap: 8px;
  }
  .language-button {
    font-size: 10px;
    padding: 8px;
    gap: 5px;
  }
  .lang-flag {
    width: 18px;
    height: 12px;
  }
  .hero {
    grid-template-columns: minmax(0, 1fr) 38px;
  }
  .hero h2 {
    font-size: 25px;
  }
  .field-caption {
    display: none;
  }
  .preview-player > div {
    flex: 1 1 calc(100% - 49px);
  }
  .preview-player .pill {
    margin-left: 42px;
  }
  .section-heading h2 {
    font-size: 16px;
  }
  .segmented button {
    font-size: 9px;
    padding: 7px 6px;
  }
}

/* Game-day details: yard lines stay behind content and out of the accessibility tree. */
.welcome-hero {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 95% 5%, #86ca5b22 0%, transparent 55%), linear-gradient(120deg, #1a442f, #10271e);
  border-color: #436540;
}
.welcome-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('/art/field-lines.svg') center / cover no-repeat;
  opacity: .78;
  mask-image: linear-gradient(90deg, #0002, #0007 47%, #000 75%);
}
.welcome-hero::after {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: -1;
  border: 1px solid #d6f77f18;
  border-radius: 15px;
  pointer-events: none;
}
.welcome-copy { position: relative; }
.welcome-copy > .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 11px;
  border: 1px solid #b8db8c35;
  border-radius: 6px;
  background: #10271ed9;
  line-height: 1.6;
}
.welcome-copy > .eyebrow::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 10px;
  border: 1.5px solid var(--lime);
  border-radius: 2px;
  background: linear-gradient(90deg, transparent 45%, var(--lime) 45%, var(--lime) 55%, transparent 55%);
}
.welcome-preview {
  position: relative;
  border-top: 3px solid #c0e986;
  box-shadow: 0 25px 60px #030e0a66, 0 0 45px #c0e98608;
}
.welcome-football {
  position: absolute;
  right: -18px;
  bottom: -44px;
  width: 120px;
  height: 84px;
  object-fit: contain;
  transform: rotate(-14deg);
  filter: drop-shadow(0 9px 9px #020d0999);
  pointer-events: none;
  user-select: none;
}
.yardline-divider {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: center;
  position: relative;
  height: 66px;
  margin-top: 24px;
  border-block: 1px solid #aacd8538;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / 9 - 1px), #bedba62e calc(100% / 9 - 1px), #bedba62e calc(100% / 9)), linear-gradient(90deg, #15281a66, #24412c88, #15281a66);
  border-radius: 6px;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
}
.yardline-divider::before, .yardline-divider::after {
  content: "";
  position: absolute;
  inset: 5px 0 auto;
  height: 6px;
  background: repeating-linear-gradient(90deg, transparent 0 14px, #c2dd975c 14px 15px, transparent 15px 28px);
}
.yardline-divider::after { top: auto; bottom: 5px; }
.yardline-divider span {
  text-align: center;
  font-family: "Arial Black", "Impact", ui-monospace, monospace;
  font-size: 21px;
  font-weight: 800;
  font-style: italic;
  letter-spacing: 2px;
  color: #a8c395;
  text-shadow: 1px 1px 0 #061b0a;
}
.yardline-divider .midfield-number { color: var(--lime); font-size: 25px; }
.welcome-steps { position: relative; }
.welcome-steps article { position: relative; }
.welcome-steps article:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 14px;
  left: 48px;
  right: -28px;
  border-top: 1px dashed #9fc27a50;
}
.welcome-steps .step-number {
  background: #304b2c;
  border: 1px solid #799c5066;
  box-shadow: 0 0 0 5px #c2e98c06;
}
.welcome-availability {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-left: 3px solid #bbdf7c;
}
.welcome-availability::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 380px;
  height: 100%;
  right: 0;
  top: 0;
  background: url('/art/field-lines.svg') center / cover no-repeat;
  opacity: .25;
  mask-image: linear-gradient(90deg, transparent, #000);
  pointer-events: none;
}
.field {
  border-color: #d6f77f38;
  border-radius: 7px;
  background: repeating-linear-gradient(90deg, #8fce6d08 0, #8fce6d08 23%, #d7edb740 23.2%, transparent 23.5%, transparent 46.5%);
  box-shadow: inset 0 0 0 7px #a6ca7910;
}
.field .yard { color: #d2eab478; font-family: "Arial Black", "Impact", sans-serif; }
.field::before, .field::after { border-color: #bedb9973; }
.field .play-dot { text-shadow: 0 0 20px #d6f77f38; }
.field-mini { border-color: #a6cd7338; color: #bfda95; }
.hero { border-top: 2px solid #91bf63; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .welcome-preview { transition: transform .25s ease, box-shadow .25s ease; }
  .welcome-preview:hover { transform: rotate(0deg) translateY(-3px); box-shadow: 0 28px 64px #030e0a80, 0 0 50px #c0e98612; }
  .welcome-actions .lime { transition: box-shadow .2s, transform .2s; }
  .welcome-actions .lime:hover { box-shadow: 0 0 22px #d6f77f28; }
}
@media (max-width: 1100px) {
  .welcome-football { width: 98px; height: 70px; bottom: -34px; right: -10px; }
}
@media (max-width: 720px) {
  .welcome-hero { padding-bottom: 53px; }
  .welcome-hero::before { background-size: auto 680px; background-position: 64% bottom; mask-image: linear-gradient(#0003, #0005 40%, #000); opacity: .66; }
  .welcome-hero::after { inset: 7px; border-radius: 10px; }
  .welcome-copy > .eyebrow { padding: 6px 8px; font-size: 7px; letter-spacing: .8px; }
  .welcome-football { right: -8px; bottom: -35px; width: 98px; height: 68px; }
  .yardline-divider { height: 52px; margin-top: 18px; }
  .yardline-divider span { font-size: 13px; letter-spacing: 0; }
  .yardline-divider .midfield-number { font-size: 18px; }
  .welcome-steps article:not(:last-child)::after { top: 39px; bottom: -18px; left: 14px; right: auto; border-top: 0; border-left: 1px dashed #9fc27a50; }
  .welcome-steps { gap: 30px; }
}
@media (max-width: 370px) {
  .welcome-copy > .eyebrow { font-size: 6.5px; letter-spacing: .5px; }
  .welcome-copy > .eyebrow::before { flex-basis: 13px; width: 13px; }
}

/* Roster plans and personal notification preferences. */
.welcome-pricing,
.plan-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 30px;
  border: 1px solid #3a5437;
  border-radius: 14px;
  background: linear-gradient(115deg, #192b1e, #132019);
  margin-bottom: 28px;
}
.welcome-pricing > div:first-child,
.plan-copy {
  min-width: 0;
  max-width: 690px;
}
.welcome-pricing h2,
.plan-panel h2 {
  font-size: 22px;
  line-height: 1.3;
}
.welcome-pricing p:not(.eyebrow),
.plan-copy > p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  margin: 10px 0 0;
}
.welcome-price,
.plan-purchase {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-shrink: 0;
  gap: 10px;
  width: 220px;
}
.welcome-price > strong,
.plan-purchase > strong {
  font-size: 36px;
  letter-spacing: -1.4px;
  font-weight: 600;
  color: var(--lime);
}
.welcome-price > strong span,
.plan-purchase > strong span {
  font-size: 12px;
  letter-spacing: 0;
  font-weight: 400;
  color: #b3c0ae;
  margin-left: 5px;
}
.welcome-price small,
.price-currency {
  font-size: 9px;
  line-height: 1.7;
  color: var(--muted);
}
.price-currency {
  margin-top: -8px;
}
.plan-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 17px;
}
.plan-state {
  font-size: 10px;
  color: #bdc9b3;
}
.plan-state.plan-active {
  color: var(--lime);
}
.plan-copy > .plan-readiness {
  font-size: 10px;
  max-width: 580px;
}
#checkout-button[aria-busy="true"] {
  cursor: progress;
  opacity: .7;
}
.player-avatar {
  position: relative;
  overflow: hidden;
  width: 45px;
  height: 55px;
  align-self: flex-start;
  isolation: isolate;
}
.player-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  background: #293b29;
}
.player-notify {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  color: #bcccb0;
  font-size: 9px;
  line-height: 1.5;
  cursor: pointer;
}
.player-notify input {
  display: inline-block;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  margin: 0;
  accent-color: var(--lime);
}
.player-notify:has(input:checked) {
  color: var(--lime);
}
.player-notify:has(input:disabled) {
  cursor: default;
}
.practice-summary {
  margin-top: 12px;
  font-size: 9px;
  line-height: 1.6;
  color: #d0d9c7;
}
.practice-summary .source {
  display: block;
  margin-top: 3px;
}
.practice-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a8c888;
  margin-right: 6px;
  vertical-align: middle;
}
.search-player {
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-player > div {
  min-width: 0;
}
.search-player p {
  margin-top: 0;
  margin-bottom: 7px;
}
.source-link {
  display: inline-block;
  margin-top: 8px;
  color: var(--lime);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.preference-panel,
.security-panel {
  margin-bottom: 24px;
}
.preference-panel fieldset {
  border: 0;
  padding: 0;
  margin: 25px 0 16px;
  min-width: 0;
}
.preference-panel legend,
.preference-panel h3 {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 12px;
  padding: 0;
}
.preference-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.preference-options .check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101b14;
  cursor: pointer;
}
.preference-options .check input {
  width: 15px;
  height: 15px;
  margin: 0;
  flex-shrink: 0;
}
.preference-options .check:has(input:checked) {
  border-color: #49663c;
  background: #1d3220;
}
.preference-divider {
  margin: 24px 0;
  border-top: 1px solid var(--line);
}
.day-options {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
  margin: 16px 0 20px;
}
.day-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 13px 5px;
  font-size: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101b14;
  cursor: pointer;
}
.day-option input {
  width: 15px;
  height: 15px;
  accent-color: var(--lime);
  margin: 0;
}
.day-option:has(input:checked) {
  border-color: #5b7841;
  background: #243b25;
  color: #dbf4bc;
}
.timezone-label {
  max-width: 320px;
}
.preference-panel .button,
.security-panel form .button {
  width: auto;
  min-width: 190px;
}
.security-panel > label,
.security-panel > form,
.security-panel > .muted {
  max-width: 530px;
}
.security-panel #security-feedback {
  color: #ffaea0;
}
.social-providers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.social-button {
  background: #1b2a21;
  border: 1px solid #3b4e3e;
  padding: 12px;
  gap: 10px;
  min-width: 0;
  line-height: 1.5;
}
.panel .social-button {
  margin-top: 0;
  width: 100%;
}
.provider-mark {
  font-size: 17px;
  line-height: 1;
  width: 21px;
  flex-shrink: 0;
  text-align: center;
}
.provider-mark.google {
  color: #b6d2ff;
}
.provider-mark.microsoft {
  color: #bddc96;
}
#auth-providers {
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0 0 12px;
}
#auth-providers .button {
  margin: 0;
}
#auth-provider-status {
  font-size: 10px;
}
.auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 10px;
  margin: 20px 0;
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--line);
}
#mfa-login-code,
#security-code {
  max-width: 230px;
  font-size: 22px;
  letter-spacing: 9px;
}
@media (max-width: 1100px) {
  .plan-panel {
    gap: 24px;
    padding: 24px;
  }
  .day-options {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .welcome-pricing,
  .plan-panel {
    flex-direction: column;
    align-items: stretch;
    padding: 24px 22px;
    gap: 24px;
  }
  .welcome-price,
  .plan-purchase {
    width: 100%;
  }
  .welcome-price > strong,
  .plan-purchase > strong {
    font-size: 33px;
  }
  .welcome-pricing h2,
  .plan-panel h2 {
    font-size: 21px;
  }
  .plan-panel .eyebrow {
    font-size: 8px;
  }
  .player-avatar {
    width: 34px;
    height: 44px;
  }
  .player-notify {
    font-size: 8px;
    gap: 4px;
  }
  .player-notify input {
    width: 12px;
    height: 12px;
  }
  .preference-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .preference-options .check {
    font-size: 10px;
    padding: 11px 9px;
  }
  .social-providers {
    grid-template-columns: 1fr;
  }
  .preference-panel .button,
  .security-panel form .button {
    width: 100%;
    min-width: 0;
  }
  .timezone-label,
  .timezone-label select {
    max-width: none;
    font-size: 16px;
  }
  .security-panel input {
    font-size: 16px;
  }
}
@media (max-width: 370px) {
  .preference-options {
    grid-template-columns: 1fr;
  }
  .day-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .preference-panel .section-heading {
    flex-direction: column;
  }
  .welcome-pricing,
  .plan-panel {
    padding: 22px 18px;
  }
}
.player-news-link {
  display: block;
  margin: 10px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lime);
  font-size: 9px;
  line-height: 1.6;
  text-align: left;
}
.player-update-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.player-update-heading h2 {
  font-size: 22px;
  margin-bottom: 5px;
}
.player-news {
  padding: 20px 0;
  border-top: 1px solid var(--line);
}
.player-news h3 {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 10px;
}
.player-news p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.player-news .source-link {
  font-size: 11px;
}
.update-disclaimer {
  margin: 18px 0;
  font-size: 10px;
}
.recovery-panel {
  margin-top: 25px;
  padding: 20px;
  border: 1px solid #5a7441;
  border-radius: 10px;
  background: #20321f;
}
.recovery-panel h3 {
  color: var(--lime);
  font-size: 16px;
  margin: 0 0 12px;
}
.recovery-panel textarea {
  display: block;
  width: 100%;
  max-width: 520px;
  resize: vertical;
  background: #0e1911;
  color: #e3f1d8;
  border: 1px solid #526844;
  border-radius: 7px;
  padding: 13px;
  margin-top: 10px;
  font: 12px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.recovery-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.recovery-actions .button {
  width: auto;
}
#mfa-recovery-toggle {
  white-space: normal;
  line-height: 1.7;
}
@media (max-width: 720px) {
  .recovery-panel {
    padding: 15px 12px;
  }
  .recovery-panel textarea {
    font-size: 10px;
    padding: 10px 6px;
  }
  .recovery-actions {
    gap: 8px;
  }
  .recovery-actions .button {
    width: 100%;
  }
}
@media (max-width: 370px) {
  .recovery-panel {
    padding: 15px 9px;
  }
  .recovery-panel textarea {
    font-size: 9px;
  }
}

/* A touch-friendly playbook built from the existing field and football artwork. */
.playbook{margin:28px 0 0;border:1px solid #aacd8538;border-radius:18px;background:linear-gradient(140deg,#192d20,#101d16);overflow:hidden}
.playbook-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px 0}
.playbook-heading h2{margin:8px 0 0;font-size:clamp(22px,3vw,32px);letter-spacing:-.8px}
.playbook-heading .button{min-height:44px;flex-shrink:0;font-size:12px}
.playbook-pitch{position:relative;margin:22px 28px 0;overflow:hidden;border-radius:10px;background:linear-gradient(110deg,#244831,#152e20);min-height:132px}
.playbook .yardline-divider{height:132px;margin:0;border:0;border-radius:10px;align-items:start;padding-top:21px}
.playbook .yardline-divider span{opacity:.6}
.ball-lane{position:absolute;inset:52px 12% 22px 6%;pointer-events:none}
.moving-football{position:absolute;left:0;top:0;filter:drop-shadow(0 12px 5px #0008);animation:football-drive 7s ease-in-out infinite;will-change:transform}
.pitch-label{position:absolute;bottom:10px;left:14px;font:9px ui-monospace,monospace;letter-spacing:2px;color:#c7dab0a0}
@keyframes football-drive{0%,12%{left:0;transform:translateY(2px) rotate(-20deg)}45%{transform:translateY(-25px) rotate(175deg)}78%,88%{left:90%;transform:translateY(2px) rotate(340deg)}100%{left:0;transform:translateY(2px) rotate(340deg)}}
.playbook-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:20px 28px 0}
.play-choice{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;text-align:left;border:1px solid #405941;border-radius:10px;background:#102017;color:var(--muted);font-size:14px;transition:background .2s,color .2s,transform .2s}
.play-choice>span:first-child{font:12px ui-monospace,monospace;color:#9dbb8a}
.play-choice[aria-pressed="true"]{background:var(--lime);color:#172b1b;border-color:var(--lime)}
.play-choice[aria-pressed="true"]>span:first-child{color:#304c22}
.playbook-info{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 28px 20px;min-height:105px}
.playbook-info p{max-width:650px;line-height:1.7;font-size:14px;color:#c1d0c0}
.playbook-info .text-button{color:var(--lime);min-height:44px;white-space:normal;text-align:left}
.playbook[data-selected="1"] .playbook-pitch{background:linear-gradient(110deg,#1a3727,#315238)}
.playbook[data-selected="2"] .playbook-pitch{background:linear-gradient(110deg,#203b34,#143c2b)}
.dashboard-football{position:absolute;top:38%;left:20%;filter:drop-shadow(0 10px 4px #0008);animation:dashboard-pass 7s ease-in-out infinite}
@keyframes dashboard-pass{0%,15%,100%{transform:translate(0,25px) rotate(-20deg)}60%,80%{transform:translate(90px,-45px) rotate(340deg)}}
.motion-paused .moving-football,.motion-paused .dashboard-football{animation-play-state:paused}
#forgot-password{display:block;color:var(--lime);min-height:44px;margin-top:6px}
#password-dialog{max-height:calc(100dvh - 32px);overflow:auto}
#password-dialog form .button{width:100%;min-height:48px;margin-top:14px}
#password-description,#password-feedback{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#password-feedback{color:var(--lime)}
#password-back{min-height:44px;white-space:normal}
@media(hover:hover){.play-choice:hover{transform:translateY(-2px);border-color:var(--lime)}}
@media(max-width:720px){
 .playbook{margin-top:20px;border-radius:14px}
 .playbook-heading{padding:20px 16px 0;align-items:flex-start;flex-direction:column;gap:12px}
 .playbook-heading .button{padding:9px 12px}
 .playbook-pitch{margin:16px 12px 0;min-height:118px}
 .playbook .yardline-divider{height:118px;padding-top:19px}
 .moving-football{width:52px;height:auto}
 .playbook-controls{padding:14px 12px 0;gap:6px}
 .play-choice{flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:12px 9px;font-size:12px;min-height:78px;line-height:1.35}
 .playbook-info{padding:4px 16px 14px;display:block;min-height:158px}
 .playbook-info p{font-size:13px;margin-bottom:0}
 .playbook-info .text-button{font-size:13px}
 .welcome-actions .button,.welcome-demo{min-height:48px}
 dialog{max-height:calc(100dvh - 24px);overflow:auto}
}
@media(prefers-reduced-motion:reduce){
 .moving-football,.dashboard-football{animation:none;left:45%;transform:rotate(-15deg)}
 .play-choice{transition:none}
}
#email-security-panel .check{align-items:flex-start;gap:12px;line-height:1.6;padding:12px 0;min-height:48px}
#email-security-panel input[type=checkbox]{flex-shrink:0;margin-top:4px}
#email-security-dialog .button{width:100%;min-height:48px;margin-top:18px}
#email-security-dialog .text-button{min-height:44px;white-space:normal}
#email-security-dialog .muted{line-height:1.65;font-size:14px}

/* 2026 stadium collage: original artwork, with opaque reading surfaces. */
:root{--bg:#071118;--surface:#102029;--surface-raised:#152b32;--line:#2c444b;--green:#265747;--lime:#ccf48c}
body{background:var(--bg);position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#07111848 0%,#071118b8 58%,#071118f2 100%),url('/art/nfl-2026-collage.webp') 65% top/cover no-repeat;opacity:.52}
body::after{content:"10      20      30      40      50      40      30      20      10";position:fixed;inset:0;z-index:-1;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:0 4vw 8vh;color:#d9f5cb18;font:700 clamp(24px,4vw,68px)/1 Georgia,serif;letter-spacing:.18em;white-space:pre;transform:perspective(500px) rotateX(54deg) scale(1.18);transform-origin:center bottom;text-align:center;background:repeating-linear-gradient(90deg,transparent 0 9.7%,#e4f7d014 9.7% 9.85%,transparent 9.85% 19.7%);mask-image:linear-gradient(transparent 0%,#000 42%,#000 100%)}
.topbar{background:#09151eea;border-color:#aac9cb25;backdrop-filter:blur(16px)}
.welcome{max-width:1600px;margin:auto}
.welcome-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;min-height:620px;padding:64px 54px;background:linear-gradient(90deg,#06111cef 0%,#07121fc9 37%,#07121f15 69%),url('/art/nfl-2026-collage.webp') center/cover no-repeat;border:1px solid #93c7c63b;border-radius:24px;box-shadow:0 24px 80px #0005;overflow:hidden}
.welcome-hero::before{background:repeating-linear-gradient(90deg,transparent 0 79px,#ddf4ff12 79px 80px);opacity:.3;mask-image:none}
.welcome-hero::after{border-color:#d6f6ff0c;border-radius:17px}
.welcome h1{font-size:clamp(40px,4.5vw,68px);letter-spacing:-2.6px;line-height:1.07;text-wrap:balance}
.welcome h1>span{color:var(--lime)}
.welcome-description{color:#d2dfe6;max-width:440px;font-size:16px;line-height:1.8}
.welcome-copy>.eyebrow{background:#0c2734b8;border-color:#76c8c847;color:#c2eee3;border-radius:30px;padding:10px 14px;font-size:9px;letter-spacing:1.5px}
.welcome-footnote{color:#b5c6cf;max-width:420px}
.welcome-actions .lime{box-shadow:0 8px 30px #b9ed7030;min-height:50px}
.season-showcase{min-height:450px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;position:relative;padding:0 0 8px}
.season-chip{display:flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #bae7ea44;border-radius:25px;background:#081722d4;font-size:9px;font-weight:700;letter-spacing:1.4px;box-shadow:0 8px 30px #0003}
.season-pulse{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px #c5fa85}
.season-signature{display:flex;flex-direction:column;align-items:flex-end;text-shadow:0 4px 22px #000;background:linear-gradient(90deg,transparent,#071118a6);border-right:3px solid var(--lime);padding:4px 18px 8px 24px}
.season-year{font-family:Impact,'Arial Black',sans-serif;font-size:86px;line-height:1;letter-spacing:2px;font-style:italic;color:#f3f8f2}
.season-caption{font-size:9px;letter-spacing:2px;color:#deecdf;font-weight:700;margin-top:7px}
.playbook{background:linear-gradient(135deg,#112b30ed,#0b1921f5);border-color:#8bbbae35;box-shadow:0 12px 35px #0002}
.welcome-pricing,.welcome-availability{background:#102028e8;border-color:#8bbbae35}
.welcome-steps article{padding-top:4px}
.panel,.plan-panel,.setup-guide{box-shadow:0 10px 30px #0002}
.hero{background:linear-gradient(90deg,#10251fed,#123228a8),url('/art/nfl-2026-collage.webp') center 42%/cover no-repeat}
.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.admin-metric{padding:20px 22px;border:1px solid #90b7ba36;border-radius:14px;background:linear-gradient(135deg,#17343b,#102027)}
.admin-metric>span{display:block;font-size:12px;color:#b8cdd0;line-height:1.5}
.admin-metric>strong{display:block;font-size:36px;letter-spacing:-1px;color:var(--lime);margin-top:10px;font-weight:700}
.admin-chart-panel{margin-bottom:20px;padding:22px}
#admin-chart svg{display:block;width:100%;max-height:150px;overflow:visible}
#admin-chart rect{fill:#bde688;opacity:.8}
#admin-chart rect:hover{fill:#e8ffc1;opacity:1}
.admin-chart-dates{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:6px}
.admin-directory{padding:24px;min-width:0}
.admin-search-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) auto;align-items:end;gap:12px;margin:18px 0 24px}
.admin-search-form label{margin:0;min-width:0;font-size:12px}
.admin-search-form input,.admin-search-form select{width:100%;min-width:0;min-height:44px}
.admin-search-form .button{min-height:44px}
.admin-users-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
.admin-users-table th{text-align:left;color:#a8c0c1;font-weight:500;padding:12px 8px;border-bottom:1px solid var(--line)}
.admin-users-table td{padding:18px 8px;border-bottom:1px solid #8bbbae23;vertical-align:middle;overflow-wrap:anywhere;line-height:1.55}
.admin-users-table th:first-child{width:27%}.admin-users-table th:nth-child(3){width:20%}
.admin-users-table td strong{font-size:12px;font-weight:600}
.admin-users-table small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.admin-users-table .pill{font-size:9px}
.admin-users-table .text-button{font-size:11px;white-space:normal;color:var(--lime);min-height:44px;text-align:left}
.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;font-size:12px}
.admin-pagination .button{min-height:44px}
.admin-empty{padding:35px 0;text-align:center}
#admin-user-dialog{width:min(660px,calc(100% - 24px));max-width:660px}
.admin-detail-email{font-size:18px;overflow-wrap:anywhere;color:var(--lime)}
.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#0a1820;padding:18px;border-radius:12px}
.admin-detail-grid dt{font-size:11px;color:var(--muted)}
.admin-detail-grid dd{margin:5px 0 0;font-size:13px;overflow-wrap:anywhere;line-height:1.5}
.admin-player-list{list-style:none;padding:0}
.admin-player-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
.admin-player-list small{display:block;color:var(--muted);margin-top:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1101px){
 .layout{grid-template-columns:226px minmax(0,1fr)}
 .layout>main{grid-column:2;grid-row:1}
 .sidebar{grid-column:1;grid-row:1;border-left:0;border-right:1px solid var(--line);background:#0b1922ed}
 .sidebar nav{position:sticky;top:20px}
}
@media(max-width:1100px){
 .welcome-hero{padding:42px 32px;min-height:580px;gap:20px}
 .season-showcase{min-height:440px}
 .admin-search-form{grid-template-columns:minmax(0,1fr) minmax(140px,.7fr)}
 .admin-search-form .button{grid-column:1/-1}
}
@media(max-width:720px){
 body::before{background-position:70% top;opacity:.2}
 .welcome-hero{display:flex;flex-direction:column;align-items:stretch;padding:30px 24px 22px;gap:0;min-height:0;border-radius:18px;background-image:linear-gradient(180deg,#06111cea 0%,#07121ee8 42%,#07121f25 71%,#06111c65),url('/art/nfl-2026-collage.webp');background-position:center,67% bottom;background-size:cover,auto 100%;}
 .welcome h1{font-size:clamp(36px,8vw,52px);letter-spacing:-1.4px;line-height:1.1}
 .welcome-description{font-size:14px;line-height:1.8}
 .welcome-copy>.eyebrow{font-size:8px;letter-spacing:1px;padding:9px 11px}
 .season-showcase{min-height:270px;padding-top:24px}
 .season-year{font-size:64px}.season-chip{font-size:8px;padding:8px 12px}
 .season-signature{padding-right:12px}.season-caption{font-size:8px;letter-spacing:1.3px}
 .welcome-footnote{font-size:10px;max-width:270px}
 .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .admin-metric{padding:16px 13px}.admin-metric>span{font-size:11px}.admin-metric>strong{font-size:28px}
 .admin-chart-panel,.admin-directory{padding:16px}
 .admin-search-form{grid-template-columns:1fr;gap:14px}
 .admin-users-table,.admin-users-table tbody,.admin-users-table tr,.admin-users-table td{display:block;width:100%}
 .admin-users-table thead{display:none}
 .admin-users-table tr{background:#0a1921;border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px}
 .admin-users-table td{border:0;padding:8px 0}
 .admin-users-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;color:#91afad;margin-bottom:4px;text-transform:uppercase;letter-spacing:.8px}
 .admin-users-table td:first-child strong{font-size:14px}.admin-users-table td .text-button{width:100%;font-size:12px}
 .admin-pagination{font-size:10px;gap:6px}.admin-pagination .button{font-size:11px;padding:10px}
 .admin-detail-grid{padding:14px;gap:14px}.admin-detail-email{font-size:16px}
 #admin-view .page-heading{align-items:flex-start;flex-direction:column}
 .sidebar nav:has(#admin-nav:not([hidden])) .nav-item{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.season-showcase,.season-signature{animation:none;transition:none}}
.admin-management{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}
.admin-management form{margin:16px 0 24px}.admin-management label{display:block;margin:14px 0;font-size:12px}.admin-management input{max-width:100%}
.admin-management .admin-checkbox{display:flex;gap:10px;align-items:center}.admin-checkbox input{width:auto;margin:0}
.admin-danger{background:#962f3e;color:#fff}.admin-audit{list-style:none;padding:0;font-size:12px}.admin-audit li{padding:10px 0;border-bottom:1px solid var(--line)}.admin-audit small{display:block;color:var(--muted);margin-top:4px}
#admin-action-help{margin:12px 0}#admin-action-status{margin-top:12px}
.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:24px}.profile-form label{min-width:0}.profile-form #profile-status{grid-column:1/-1}.profile-form button{align-self:end;justify-self:start;margin:15px 0}.profile-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}#profile-view>.panel{margin-bottom:22px}
.notification-diagnostics{margin:24px 0}.notification-checks{list-style:none;padding:0}.notification-checks li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.catalog-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px}.catalog-filters label{min-width:0;font-size:12px}#players-dialog{width:min(920px,calc(100vw - 24px));max-width:920px}#search-results{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#search-results .search-row{min-width:0}#search-results .search-player{min-width:0}#search-results .search-player p{overflow-wrap:anywhere}#search-results .button{flex-shrink:0;padding:10px}.player-avatar{flex-shrink:0}
@media(max-width:720px){.profile-form{grid-template-columns:1fr}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters>label:last-child{grid-column:1/-1}#search-results{grid-template-columns:1fr}.sidebar nav{display:flex;overflow-x:auto;justify-content:flex-start}.sidebar nav .nav-item{flex:0 0 auto;min-width:70px}.sidebar nav:has(#admin-nav:not([hidden])) .nav-item{font-size:10px}}
#players-dialog .admin-pagination .button{width:auto;flex:0 0 auto;margin:0}#catalog-count{flex:1;min-width:0;text-align:center;line-height:1.6}#players-dialog .admin-pagination{margin-bottom:12px}

.stats .stat-card{text-align:left;font:inherit;color:inherit;min-width:0;cursor:pointer}.stats .stat-card.selected{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}.stats .stat-card:hover{background:var(--surface-raised)}#roster-heading{scroll-margin-top:100px}#roster-heading:focus{outline:none}
@media(max-width:480px){#roster-heading{flex-wrap:wrap;gap:12px}#roster-heading .segmented{margin-left:auto}}

/* Shared compact action size; labels can wrap on narrow screens. */
body .button {
  width: fit-content !important;
  max-width: 100%;
  min-height: 44px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  line-height: 1.4;
  gap: 8px;
  flex: 0 1 auto;
  justify-self: start;
  align-self: start;
  white-space: normal;
  overflow-wrap: anywhere;
}

.activity-following { margin: 24px 0; min-width: 0; }
.activity-table-scroll { overflow-x: auto; margin-top: 16px; }
.activity-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.activity-table th, .activity-table td { padding: 14px 12px; border-bottom: 1px solid var(--line); }
.activity-table thead th { color: var(--muted); font-size: 12px; }
.activity-table tbody th { font-weight: 600; }
.activity-table td:first-child { min-width: 155px; }
.activity-table .pill { white-space: nowrap; }
.activity-sort { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
.activity-table th[aria-sort="ascending"], .activity-table th[aria-sort="descending"] { color: var(--lime); }
@media (max-width: 370px) {
  .topbar #account-button {
    flex-shrink: 1;
    min-width: 0;
    white-space: normal;
  }
}

/* Embedded Stripe payment stays inside the signed-in account. */
#checkout-dialog{width:min(1040px,calc(100vw - 24px));max-width:1040px;max-height:calc(100dvh - 24px);padding:28px;overflow:auto}
.checkout-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}
.checkout-heading h2{margin:0 0 8px;font-size:24px;line-height:1.25}
.checkout-heading p{margin:0}
.checkout-price{color:var(--lime);font-size:32px;white-space:nowrap}
.checkout-price span{display:block;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:0}
.checkout-status{line-height:1.6;margin:24px 0;color:var(--muted)}
.embedded-checkout{min-width:0;background:#fff;border-radius:12px;overflow:hidden}
.checkout-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:600px){#checkout-dialog{padding:20px 14px}.checkout-heading{align-items:flex-start;gap:12px;flex-direction:column}.checkout-heading h2{font-size:22px}.checkout-price{font-size:28px}.checkout-actions .button{flex:1}}

/* Saved NFL overview: tables scroll within their cards on small screens. */
#nfl-view{min-width:0;max-width:100%}
#nfl-team{max-width:100%;margin:12px 12px 20px 0;padding:10px;border-radius:8px}
.nfl-section{margin-top:20px;min-width:0;max-width:100%}
.nfl-provenance{font-size:.8rem;line-height:1.6;overflow-wrap:anywhere}
.nfl-table-scroll{overflow:auto;max-height:520px;max-width:100%}
.nfl-table-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}
.nfl-table-scroll th,.nfl-table-scroll td{padding:12px;border-bottom:1px solid #ffffff20;white-space:nowrap}

.nfl-subnav{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0;border-bottom:1px solid var(--line,#ffffff20);padding-bottom:12px}
.nfl-subnav button{padding:12px 18px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.nfl-subnav button[aria-selected="true"],.nfl-shortcuts button[aria-pressed="true"]{background:#c6ef7620;border-color:#b8e76b;color:#d8fc9a}
.nfl-subnav button:focus-visible,.nfl-card:focus-visible,.nfl-season:focus-visible{outline:2px solid #d8fc9a;outline-offset:3px}
.nfl-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nfl-toolbar #nfl-team{width:auto;min-width:180px;max-width:100%;margin:0}.nfl-toolbar label{margin:0}
.nfl-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:18px 0}
.nfl-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;background:#11232bf2;color:inherit;border:1px solid #375044;border-radius:14px;text-align:left;font:inherit;min-width:0;overflow-wrap:anywhere}
button.nfl-card{cursor:pointer;transition:border-color .15s,background .15s}button.nfl-card:hover{border-color:#c6ef76;background:#1b3333}
.nfl-card strong{font-size:1.05rem}.nfl-card small{color:#adbcba;line-height:1.5}.nfl-card p{margin:3px 0}.nfl-card-action{color:#c6ef76;font-size:.8rem;margin-top:auto;padding-top:10px}
.nfl-card-kicker{font-size:1.8rem;font-weight:800;color:#c6ef76}.nfl-team-abbr{display:inline-grid;place-items:center;min-width:60px;height:44px;padding:0 8px;background:#c6ef7615;border-radius:9px;color:#d8fc9a;font-weight:800;letter-spacing:.08em}
.nfl-shortcuts,.nfl-pagination{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.nfl-shortcuts a{margin-right:12px}
.nfl-team-heading{display:flex;gap:20px;align-items:center}.nfl-team-heading h2{margin:0}.nfl-team-heading p{margin-bottom:0}
.nfl-search-form{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.nfl-search-form label{flex:1;min-width:min(100%,180px)}
.nfl-facts{width:100%;font-size:.8rem;margin:0}.nfl-facts div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #ffffff12}.nfl-facts dd{margin:0}.nfl-facts dt{color:#adbcba}
.nfl-season-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px}.nfl-season{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #375044;border-radius:9px;background:#11232b;color:inherit;text-align:left;cursor:pointer}.nfl-season strong{color:#c6ef76;font-size:1.15rem}
.nfl-bowl-score{font-size:1.3rem;font-weight:700}.nfl-attribution{font-size:.75rem;color:#adbcba;line-height:1.7;margin-top:28px}.nfl-attribution a{color:#c6ef76}
@media(max-width:540px){.nfl-subnav{gap:2px}.nfl-subnav button{padding:10px;font-size:.83rem}.nfl-team-heading{align-items:flex-start}.nfl-toolbar #nfl-team{width:100%}.nfl-card{padding:18px}}

/* NFL explorer: scorecards and compact league context. */
.nfl-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.nfl-summary>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #375044;border-radius:12px;background:linear-gradient(145deg,#1b3333,#11232b)}.nfl-summary strong{font-size:2rem;color:#d8fc9a}.nfl-summary span{font-size:.85rem;color:#adbcba}
.nfl-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;max-height:680px;overflow:auto;padding:4px}.nfl-matchup{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%}.nfl-matchup strong{font-size:1.4rem;color:#d8fc9a}.nfl-game-card{gap:14px}.nfl-game-card small{font-size:.78rem}
#nfl-game-dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:24px;border:1px solid #375044;border-radius:16px;background:#11232b;color:#edf3ed}#nfl-game-dialog::backdrop{background:#000a}#nfl-game-dialog form{display:flex;justify-content:flex-end}#nfl-game-dialog h2{overflow-wrap:anywhere}#nfl-game-detail .source-link{color:#c6ef76}
@media(max-width:540px){.nfl-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.nfl-summary>div{padding:16px}}

/* Real player buttons retain the roster typography and visible keyboard focus. */
button.player-name{padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-weight:700;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}button.player-name:hover{color:var(--lime);text-decoration-color:currentColor}.player-notify small{max-width:200px;font-size:.7rem;line-height:1.4}.player-notify{flex-wrap:wrap}#account-load-notice{flex-wrap:wrap}#account-load-notice p{flex:1;min-width:180px}

.help-page { max-width: 880px; margin: 32px auto; padding: 0 20px; }
.help-page .panel { margin: 18px 0; }
.help-page p { line-height: 1.7; }
footer a { color: inherit; text-underline-offset: 3px; }
.fantasy-injury{margin-bottom:12px}.fantasy-injury .pill{margin:4px 0}.roster-data-note{max-width:78ch;line-height:1.5}
