:root{font-family:var(--font-primary);color:var(--text-primary);background:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;--green:var(--accent);--muted:var(--text-muted);--line:var(--border-subtle);--orange:var(--warning)}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}.topbar{height:64px;background:var(--bg-card);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:fixed;inset:0 0 auto;z-index:10}.brand{font:800 19px var(--font-primary);color:var(--text-primary);text-decoration:none;letter-spacing:-.7px;display:flex;align-items:center;gap:9px}.brand-mark{width:27px;height:27px;border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);display:grid;place-items:center;font:700 15px var(--font-primary)}.brand-dot{color:var(--text-secondary)}.top-meta{display:flex;align-items:center;gap:11px;color:var(--text-secondary);font:10px var(--data-font),monospace;letter-spacing:.6px}.top-meta b{color:var(--text-secondary);background:var(--bg-card);border-radius:4px;padding:5px 7px;font-size:9px}.live-dot,.green-pip{width:6px;height:6px;border-radius:50%;background:var(--bg-card)}.top-divider{height:17px;border-left:1px solid var(--line);margin:0 5px}.top-meta>span:last-of-type{font:12px var(--font-primary);color:var(--text-secondary);letter-spacing:0}.avatar,.profile-pic{border:0;border-radius:50%;background:var(--bg-card);color:var(--green);font-size:11px;font-weight:700;width:30px;height:30px;margin-left:12px}.sidebar{position:fixed;top:64px;bottom:0;left:0;width:226px;background:var(--bg-card);border-right:1px solid var(--line);padding:29px 16px;display:flex;flex-direction:column;z-index:5}.side-label,.overline,.eyebrow,.match-meta,.venue,.match-details h4,.table-heading>span,.players-table th{font:10px var(--data-font),monospace;letter-spacing:.8px}.side-label{color:var(--text-secondary);margin:3px 0 14px 12px}.nav-item{height:42px;border:0;background:transparent;width:100%;text-align:left;border-radius:6px;padding:0 12px;color:var(--text-secondary);font-size:13px;margin-bottom:4px}.nav-item.active{background:var(--bg-card);color:var(--text-primary);font-weight:700}.nav-icon{font-size:16px;margin-right:12px}.nav-arrow{float:right}.sidebar-bottom{margin-top:auto}.data-card{position:relative;border:1px solid var(--border-subtle);border-radius:7px;padding:13px 11px;display:flex;gap:10px;margin:0 3px 21px}.data-icon{color:var(--text-secondary);font-size:17px}.data-card b,.profile b{font-size:11px;display:block;color:var(--text-primary)}.data-card small,.profile small{display:block;font-size:10px;line-height:1.5;color:var(--text-secondary);margin-top:4px}.green-pip{position:absolute;right:12px;top:15px}.side-footer{border:0;background:none;color:var(--text-secondary);text-align:left;padding:12px;font-size:12px;width:100%}.side-footer span{float:right;font:10px var(--data-font);color:var(--text-secondary)}.profile{border-top:1px solid var(--line);padding:18px 5px 0;display:flex;align-items:center;gap:10px}.profile-pic{margin:0;display:grid;place-items:center;background:var(--bg-card)}.dots{margin-left:auto;color:var(--text-secondary);font-size:12px}.main{margin:64px 0 0 226px;min-height:calc(100vh - 64px)}.content{max-width:1140px;margin:auto;padding:39px 42px 45px}.eyebrow{color:var(--text-secondary);font-size:9px}.eyebrow span{color:var(--text-secondary)}.eyebrow i{font-style:normal;color:var(--text-secondary);margin:0 8px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:13px 0 30px}.page-heading h1{font:700 28px var(--font-primary);letter-spacing:-1.1px;margin:0;color:var(--text-primary)}.page-heading p{margin:7px 0 0;font-size:13px;color:var(--text-secondary)}.subtle-btn,.outline-btn,.filter-btn{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:5px;padding:9px 12px;color:var(--text-secondary);font-size:11px}.week-row{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:16px}.overline{color:var(--text-secondary);font-size:9px}.week-selector{display:flex;align-items:center;gap:13px;margin-top:7px}.week-selector button{width:24px;height:24px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:4px;font-size:19px;color:var(--text-secondary);line-height:15px}.week-selector>b{font:700 18px var(--font-primary);color:var(--text-primary)}.week-selector>span{font:10px var(--data-font);color:var(--text-secondary);margin-left:2px}.week-info{display:flex;align-items:center;gap:13px;color:var(--text-secondary);font-size:10px;margin-bottom:5px}.league-tag{background:var(--bg-card);padding:7px;border-radius:3px;color:var(--text-secondary);font:9px var(--data-font)}.week-divider{height:16px;border-left:1px solid var(--border-subtle)}.filter-btn{margin-bottom:1px}.filter-btn span{margin-left:12px}.fixture-list{display:flex;flex-direction:column;gap:10px}.fixture-card{display:grid;grid-template-columns:minmax(420px,1fr) 330px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:7px;overflow:hidden}.match-main{padding:16px 20px 12px}.match-meta{color:var(--text-secondary);font-size:8px;display:flex;gap:8px;align-items:center}.meta-sep{color:var(--text-secondary)}.venue{margin-left:auto;color:var(--text-secondary);font-size:8px}.teams-score{display:flex;align-items:center;margin:17px 0 11px;position:relative}.team-name{width:41%;display:grid;grid-template-columns:31px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:9px}.team-name.away{justify-content:end;text-align:right}.team-name.away .crest{grid-column:2;grid-row:1/3}.team-name.away b{grid-column:1;grid-row:1}.team-name.away small{grid-column:1;grid-row:2}.team-name b{font:600 14px var(--font-primary);color:var(--text-primary)}.team-name small{font:8px var(--data-font);color:var(--text-secondary);letter-spacing:.5px}.crest{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--bg-card);color:var(--text-primary);font:700 12px var(--font-primary);grid-row:1/3}.crest-MCI,.crest-CHE{background:var(--bg-card);color:var(--text-secondary)}.crest-LIV,.crest-MUN{background:var(--bg-card);color:var(--text-secondary)}.crest-TOT,.crest-WHU{background:var(--bg-card);color:var(--text-secondary)}.score{width:18%;display:flex;justify-content:center;gap:9px;align-items:center;font:700 23px var(--font-primary);color:var(--text-primary)}.score span{font-size:15px;color:var(--text-secondary)}.expand-btn{margin-left:auto;width:24px;height:24px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:50%;color:var(--text-secondary);font-size:16px;line-height:18px}.match-summary{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:10px;padding-left:40px}.match-summary b{color:var(--text-secondary);font-weight:600}.xg-tag{border:1px solid var(--border-subtle);border-radius:3px;padding:4px 6px;color:var(--text-secondary);font:9px var(--data-font)}.sum-sep{color:var(--text-secondary)}.prediction-side{border-left:1px solid var(--border-subtle);padding:15px 19px;display:grid;grid-template-columns:1fr 99px;align-items:center;gap:20px}.prob-row{display:flex;flex-direction:column;gap:4px}.prob-label{display:flex;justify-content:space-between;font:8px var(--data-font);color:var(--text-secondary);letter-spacing:.4px}.prob-label b{font-weight:500;color:var(--text-primary)}.prob-track{height:3px;background:var(--bg-card);margin-bottom:4px;border-radius:4px;overflow:hidden}.prob-track i{display:block;height:3px;border-radius:4px}.confidence{border-left:1px solid var(--border-subtle);padding-left:17px;display:flex;flex-direction:column;gap:4px}.confidence>span{font:8px var(--data-font);letter-spacing:.5px;color:var(--text-secondary);white-space:nowrap}.confidence>b{font:700 20px var(--font-primary);color:var(--text-primary)}.confidence>b small{font:10px var(--font-primary);color:var(--text-secondary)}.confidence-meter,.budget-track{height:4px;background:var(--bg-card);border-radius:4px;overflow:hidden}.confidence-meter i,.budget-track i{display:block;height:100%;background:var(--bg-card);border-radius:4px}.match-details{grid-column:1/-1;border-top:1px solid var(--border-subtle);background:var(--bg-card);padding:17px 20px;display:grid;grid-template-columns:1fr .85fr 1.25fr;gap:22px}.match-details h4{font-size:8px;color:var(--text-secondary);margin:0 0 11px}.detail-line{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-secondary);margin:8px 0}.detail-line b{font-size:10px;color:var(--text-primary);text-align:right}.quiet{font-size:10px;color:var(--text-secondary)}.availability-line,.alert-line{font-size:10px;color:var(--text-secondary);line-height:1.5;margin:6px 0}.warning{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--warning-soft);color:var(--warning);font-weight:700;margin-right:6px}.alert-line{color:var(--text-secondary)}.reasons{margin:0;padding-left:14px;color:var(--text-secondary);font-size:9px;line-height:1.7}.footnote{font-size:10px;color:var(--text-secondary);margin-top:16px}.footnote span{margin-right:5px}.fantasy-top{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px;margin-bottom:25px}.budget-card,.stat-card{background:var(--bg-card);border:1px solid var(--line);border-radius:7px;padding:16px 18px}.budget-number{margin:8px 0 9px}.budget-number b{font:700 21px var(--font-primary);color:var(--text-primary)}.budget-number small{color:var(--text-secondary);font-size:10px}.budget-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);margin-top:7px}.budget-foot b{color:var(--text-secondary)}.stat-card{display:flex;flex-direction:column;gap:8px}.stat-card>b{font:700 22px var(--font-primary);color:var(--text-primary)}.stat-card>b small{font:10px var(--font-primary);color:var(--text-secondary)}.stat-note{font-size:10px;color:var(--text-secondary)}.squad-toolbar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 13px}.squad-toolbar h2,.players-table h2{font:700 16px var(--font-primary);color:var(--text-primary);margin:0}.squad-toolbar h2 span{color:var(--text-secondary);font:10px var(--font-primary);margin-left:5px}.squad-toolbar p{font-size:10px;color:var(--text-secondary);margin:5px 0 0}.outline-btn{font-size:10px;color:var(--text-primary)}.squad-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:13px}.pitch{position:relative;overflow:hidden;min-height:431px;padding:19px 17px 13px;border-radius:7px;background:linear-gradient(145deg,var(--bg-elevated),var(--bg-card));color:var(--text-secondary)}.pitch-lines{position:absolute;inset:30px 12%;border:1px solid var(--border-subtle);border-radius:100px;pointer-events:none}.pitch-center{position:absolute;width:105px;height:105px;border:1px solid var(--border-subtle);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.pitch-box{position:absolute;width:48%;height:56px;left:26%;border:1px solid var(--border-subtle)}.pitch-box.top{top:0;border-top:0}.pitch-box.bottom{bottom:0;border-bottom:0}.pitch-group,.bench{position:relative;z-index:1}.pitch-group>span,.bench>span{display:block;color:var(--text-secondary);font:8px var(--data-font);letter-spacing:1px;text-align:center;margin-bottom:8px}.pitch-slots{display:flex;flex-direction:column;gap:6px}.slot-row{display:flex;justify-content:center;gap:8px}.player-slot{position:relative;width:113px;min-height:53px;max-width:24%;padding:5px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:5px;text-align:center;display:flex;flex-direction:column;justify-content:center}.player-slot select{appearance:none;position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;cursor:pointer;z-index:2}.player-slot select option{color:var(--text-primary)}.slot-pos{position:absolute;left:5px;top:4px;font:7px var(--data-font);color:var(--text-secondary)}.slot-meta{display:flex;flex-direction:column;gap:2px;pointer-events:none}.slot-meta b{font-size:10px;color:var(--text-secondary)}.slot-meta span{font:8px var(--data-font);color:var(--text-secondary)}.player-slot:not(.filled){color:var(--text-secondary)}.player-slot:not(.filled):after{content:'＋';font-size:13px;color:var(--text-secondary)}.risk-dot{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--bg-card)}.bench{border-top:1px solid var(--border-subtle);margin-top:11px;padding-top:9px}.bench>span{text-align:left;margin-left:3px}.bench-row{justify-content:flex-start}.bench-row .player-slot{width:25%;max-width:none;min-height:46px}.squad-side{display:flex;flex-direction:column;gap:10px}.side-panel{background:var(--bg-card);border:1px solid var(--line);border-radius:7px;padding:14px}.side-panel h3{font:700 12px var(--font-primary);color:var(--text-primary);margin:0 0 6px}.side-panel p{font-size:9px;color:var(--text-secondary);line-height:1.5;margin:0 0 11px}.side-panel label{display:block;font:8px var(--data-font);color:var(--text-secondary);margin-top:9px}.side-panel select{display:block;width:100%;margin-top:5px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:4px;padding:7px 6px;font-size:10px;color:var(--text-secondary)}.rules h3{margin-bottom:12px}.rule-row{display:flex;justify-content:space-between;font-size:9px;color:var(--text-secondary);padding:6px 0;border-bottom:1px solid var(--border-subtle)}.rule-row b{color:var(--text-secondary);font-weight:600}.rule-row b.ok{color:var(--success)}.rule-row b.bad{color:var(--danger)}.valid-message{margin-top:10px;font-size:9px;color:var(--text-secondary);background:var(--bg-card);padding:8px;border-radius:4px}.valid-message.good{color:var(--success);background:var(--success-soft)}.saved h3 span{float:right;background:var(--bg-card);border-radius:10px;padding:2px 7px;font:9px var(--data-font);color:var(--text-secondary)}.saved>p{margin:10px 0 0}.draft-link{border:0;border-top:1px solid var(--border-subtle);background:none;text-align:left;width:100%;padding:9px 0 2px;font-size:10px;color:var(--text-primary)}.draft-link small{display:block;color:var(--text-secondary);font-size:8px;margin-top:3px}.players-table{background:var(--bg-card);border:1px solid var(--line);border-radius:7px;margin-top:16px;overflow:hidden}.table-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.table-heading h2{font-size:13px}.table-heading>span{font-size:8px;color:var(--text-secondary)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;padding:10px 12px;color:var(--text-secondary);font-size:8px;border-bottom:1px solid var(--border-subtle)}td{padding:11px 12px;border-bottom:1px solid var(--border-subtle);font-size:10px;color:var(--text-secondary);white-space:nowrap}td:first-child{padding-left:16px}td:first-child b{display:block;color:var(--text-primary);font-size:10px}td small{display:block;color:var(--text-secondary);font-size:8px;margin-top:3px}.points-cell{font-weight:700;color:var(--text-primary)}.club-label{display:flex;align-items:center;gap:5px}.crest-mini{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--bg-card);color:var(--text-secondary);font:8px var(--font-primary);font-style:normal}.risk-pill{font-size:8px;border-radius:10px;padding:4px 7px;background:var(--success-soft);color:var(--success)}.risk-pill.high{background:var(--danger-soft);color:var(--danger)}.risk-pill.med{background:var(--warning-soft);color:var(--warning)}.negative{color:var(--danger)}.neutral{color:var(--text-secondary)}@media(max-width:1100px){.content{padding:30px 24px}.fixture-card{grid-template-columns:minmax(360px,1fr) 280px}.prediction-side{gap:12px;padding:12px}.confidence{padding-left:10px}.squad-layout{grid-template-columns:1fr 220px}}@media(max-width:820px){.sidebar{width:64px;padding:22px 9px}.side-label,.nav-item:not(.active),.nav-item{font-size:0}.nav-item{height:44px;text-align:center;padding:0}.nav-icon{font-size:17px;margin:0}.nav-arrow,.sidebar-bottom .data-card,.side-footer,.profile>div:not(.profile-pic),.dots{display:none}.profile{justify-content:center;border:0;padding-top:0}.main{margin-left:64px}.fixture-card{grid-template-columns:1fr}.prediction-side{border-left:0;border-top:1px solid var(--border-subtle);grid-template-columns:1fr 130px}.match-details{grid-template-columns:1fr 1fr}.detail-cell:last-child{grid-column:1/-1}.squad-layout{grid-template-columns:1fr}.squad-side{display:grid;grid-template-columns:repeat(3,1fr)}.fantasy-top{grid-template-columns:1fr 1fr}.budget-card{grid-column:1/-1}.week-info{display:none}}@media(max-width:580px){.topbar{padding:0 15px}.top-meta>span:not(.live-dot),.top-meta b,.top-divider{display:none}.content{padding:25px 13px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px;max-width:250px;line-height:1.5}.subtle-btn{font-size:0}.subtle-btn:first-letter{font-size:14px}.match-main{padding:14px 12px}.team-name b{font-size:12px}.team-name{grid-template-columns:25px 1fr;column-gap:6px}.crest{width:24px;height:24px}.score{font-size:19px;gap:6px}.match-summary{padding-left:0;gap:6px;font-size:9px}.venue{display:none}.match-details{grid-template-columns:1fr;gap:16px}.detail-cell:last-child{grid-column:auto}.squad-side{grid-template-columns:1fr}.pitch{padding:16px 7px}.player-slot{max-width:25%;width:25%;min-height:49px}.slot-meta b{font-size:8px}.slot-meta span{font-size:7px}.bench-row .player-slot{width:25%}.fantasy-top{gap:7px}.stat-card,.budget-card{padding:12px}.week-row{padding-bottom:12px}.filter-btn{font-size:9px}}
.save-controls{display:flex;gap:7px}.save-controls input{width:132px;min-width:0;border:1px solid var(--border-subtle);border-radius:5px;padding:9px 10px;font:11px var(--font-primary);color:var(--text-secondary)}.primary-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;padding:9px 13px;color:var(--text-secondary);font-size:11px;font-weight:600}.primary-btn:hover{background:var(--bg-elevated)}
.rules-nav.has-custom{position:relative}.rules-badge{width:7px;height:7px;border-radius:50%;background:var(--bg-card);position:absolute;right:12px;top:10px}.rules-backdrop{position:fixed;inset:64px 0 0;background:var(--bg-elevated);z-index:20;display:flex;justify-content:flex-end}.rules-drawer{width:min(460px,100%);height:100%;overflow:auto;background:var(--bg-card);box-shadow:var(--shadow-sm);padding:24px}.rules-drawer header{display:flex;align-items:flex-start;justify-content:space-between}.rules-drawer h2{font:700 25px var(--font-primary);margin:5px 0 0;color:var(--text-primary)}.icon-btn{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:5px;font-size:20px;color:var(--text-secondary);width:33px;height:33px}.rules-intro{font-size:11px;color:var(--text-secondary);line-height:1.6;margin:12px 0 18px}.preset-box,.rule-controls,.profile-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:7px}.preset-box{padding:14px}.preset-head{display:flex;align-items:center;justify-content:space-between}.preset-head b,.rule-control b{display:block;color:var(--text-primary);font-size:12px}.preset-head small,.rule-control small{display:block;color:var(--text-secondary);font-size:9px;line-height:1.5;margin-top:4px}.preset-head strong{border-radius:4px;background:var(--bg-card);color:var(--text-secondary);padding:6px 9px;font-size:10px}.preset-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:15px}.preset-step{display:grid;justify-items:center;gap:4px;color:var(--text-secondary)}.preset-step input{position:absolute;opacity:0}.preset-step span{width:24px;height:24px;border:1px solid var(--border-subtle);border-radius:50%;display:grid;place-items:center;font:10px var(--data-font)}.preset-step small{font-size:8px}.preset-step input:checked+span{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}.preset-step:has(input:focus-visible){outline:var(--border-accent)}.preset-note{border-top:1px solid var(--border-subtle);margin-top:13px;padding-top:10px;color:var(--text-secondary);font-size:9px;line-height:1.5}.rule-controls{margin-top:12px;padding:2px 14px}.rule-control{min-height:65px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border-subtle);padding:10px 0}.rule-control:last-child{border:0}.rule-control>span:first-child{flex:1}.rule-input{display:flex;align-items:center;gap:7px;min-width:135px}.rule-input input{width:95px;accent-color:var(--accent)}.rule-input output{font:10px var(--data-font);min-width:28px;text-align:right;color:var(--text-primary)}.stepper{display:flex;align-items:center;gap:9px}.stepper button{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:4px;width:25px;height:25px;color:var(--text-primary)}.stepper output{font:12px var(--data-font);min-width:12px;text-align:center}.rules-drawer footer{display:flex;justify-content:space-between;align-items:center;padding:15px 0}.rules-saved{font-size:9px;color:var(--text-secondary)}.profile-page .content{max-width:1180px}.back-link{border:0;background:none;color:var(--text-secondary);font-size:11px;padding:0;margin-bottom:17px}.profile-hero{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:23px;display:flex;align-items:center;gap:16px;margin-bottom:19px}.profile-hero h1{font:700 26px var(--font-primary);letter-spacing:-.6px;margin:5px 0;color:var(--text-primary)}.profile-hero p{margin:0;color:var(--text-secondary);font-size:11px}.profile-hero>div{flex:1}.team-crest-large{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--bg-card);color:var(--text-primary);font:700 24px var(--font-primary)}.player-profile-hero-photo{position:relative;isolation:isolate;overflow:visible;display:block;flex:none;width:90px;height:108px}.player-profile-hero-photo>img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.player-hero>div small{display:block;color:var(--text-secondary);font-size:10px;margin-top:8px}.player-hero .player-card{max-width:225px;min-width:190px}.profile-section{margin:20px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:11px}.section-title h2,.profile-section h3{font:700 16px var(--font-primary);color:var(--text-primary);margin:5px 0 0}.section-title>span{font-size:9px;color:var(--text-secondary)}.roster-position{margin:14px 0}.roster-position h3,.split-rosters h3{font:700 11px var(--data-font);color:var(--text-secondary);letter-spacing:.6px;margin:0 0 8px}.roster-position h3 small,.split-rosters h3 small{font:10px var(--font-primary);color:var(--text-secondary)}.player-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px}.player-card{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-card);text-decoration:none;color:var(--text-primary)}.player-card>img{width:44px;height:52px;object-fit:cover;border-radius:4px;background:var(--bg-card)}.player-card-body{display:flex;flex-direction:column;gap:3px;min-width:0}.player-card-body>b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.player-card-body>small{font-size:8px;color:var(--text-secondary)}.player-card-body>span{font:9px var(--data-font);color:var(--text-secondary)}.player-card-body strong{color:var(--text-secondary);margin-left:4px}.club-badge{position:absolute;right:7px;top:7px;border-radius:50%;width:17px;height:17px;background:var(--bg-card);color:var(--text-primary);display:grid;place-items:center;font:8px var(--font-primary);font-style:normal}.split-rosters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-panel{padding:14px}.profile-panel h3{margin:0 0 12px}.transfer-group{border-top:1px solid var(--border-subtle);padding-top:9px;margin-top:9px}.transfer-group>b{font:9px var(--data-font);text-transform:uppercase;color:var(--text-secondary)}.transfer-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-subtle);font-size:10px;color:var(--text-secondary)}.transfer-row small{display:block;color:var(--text-secondary);font-size:8px;margin-top:3px}.transfer-row>span:last-child{font:9px var(--data-font);color:var(--text-secondary)}.form-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-panel>div:first-child{max-width:65%;font-size:11px;line-height:1.6;color:var(--text-primary)}.form-panel small{display:block;color:var(--text-secondary);font-size:9px;margin-top:4px}.sparkline{width:min(220px,35%);height:54px;overflow:visible}.history-table{margin-top:9px;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-card)}.history-table table{min-width:490px}.history-table th,.history-table td{padding:9px 12px}.history-table th{font:8px var(--data-font);color:var(--text-secondary)}.history-table td{font-size:10px}.result-w{color:var(--success)}.result-d{color:var(--warning)}.result-l{color:var(--danger)}.team-fixture-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.team-fixture{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary)}.team-fixture>span{font:9px var(--data-font);color:var(--text-secondary)}.team-fixture>b{font-size:10px}.team-fixture>small{font-size:8px;color:var(--text-secondary)}.team-fixture>i{margin-left:auto;font-style:normal;color:var(--text-secondary)}.profile-data-note{font-size:9px;color:var(--text-secondary);padding:10px 0}.player-stat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:12px 0 20px}.player-stat-grid>div{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:11px}.player-stat-grid span{display:block;font-size:8px;color:var(--text-secondary)}.player-stat-grid b{display:block;margin-top:5px;font:700 15px var(--font-primary);color:var(--text-primary)}.fantasy-player-stats{grid-template-columns:repeat(4,1fr)}.availability-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--text-secondary)}.availability-panel small{margin-left:auto;color:var(--text-secondary)}.connection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.connection-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:6px}.connection-card>a{font-size:11px;color:var(--text-primary);text-decoration:none}.connection-card>span,.connection-card>small{font-size:9px;color:var(--text-secondary)}.connection-card em{font-style:normal;color:var(--text-secondary);font-size:8px;line-height:1.5}.fantasy-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px;margin:15px 0}.profile-links{display:flex;flex-direction:column;gap:5px;margin:8px 0}.profile-links .player-card{max-width:260px}.text-profile-link{color:var(--text-secondary);font-size:10px}.score-explanation{font-size:10px;color:var(--text-secondary);line-height:1.6}.cap-note{font-size:9px;color:var(--text-secondary);padding:5px 0 0 40px}.team-link{border:0;background:none;padding:0;color:inherit;cursor:pointer}.team-link:hover b,.text-profile-link:hover{color:var(--text-secondary)}.table-player-link{display:flex;align-items:center;gap:7px;color:inherit;text-decoration:none}.table-player-link img{width:24px;height:27px;border-radius:3px;object-fit:cover}.table-player-link b{display:block}.club-link{border:0;background:none;padding:0;color:var(--text-secondary);font-size:10px}.rules-nav{margin-top:3px}
@media(max-width:720px){.player-stat-grid{grid-template-columns:repeat(4,1fr)}.profile-hero{flex-wrap:wrap;padding:16px}.player-hero .player-card{max-width:none}.split-rosters,.transfer-grid{grid-template-columns:1fr}.form-panel{align-items:flex-start;flex-direction:column}.form-panel>div:first-child{max-width:none}.sparkline{width:100%;max-width:300px}.preset-step small{font-size:7px}.rules-drawer{padding:17px}.rules-backdrop{inset:64px 0 0}}
@media(max-width:480px){.player-stat-grid{grid-template-columns:repeat(3,1fr)}.section-title{align-items:flex-start;gap:8px;flex-direction:column}.team-hero>div{flex:1 1 calc(100% - 80px)}.player-profile-hero-photo{width:65px;height:78px}.fantasy-card-grid{grid-template-columns:1fr}.rule-control{align-items:flex-start}.rule-input{min-width:110px}.rule-input input{width:75px}.availability-panel{align-items:flex-start}}
.profile-team-link{border:0;background:transparent;padding:0;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}.player-card:hover,.team-fixture:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.table-player-link:hover b{color:var(--text-secondary)}
.status{display:inline-flex;width:max-content;border-radius:14px;padding:5px 8px;background:var(--bg-card);color:var(--text-secondary);font-size:9px;text-transform:capitalize}.status.doubt{background:var(--warning-soft);color:var(--warning)}.status.out,.status.suspended{background:var(--danger-soft);color:var(--danger)}
.extremeness-slider{display:block;width:100%;margin:18px 0 3px;appearance:none;background:transparent;cursor:pointer}.extremeness-slider::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(145deg,var(--bg-elevated),var(--bg-card))}.extremeness-slider::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(145deg,var(--bg-elevated),var(--bg-card))}.extremeness-slider::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);margin-top:-5.5px}.extremeness-slider::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.preset-labels{display:flex;justify-content:space-between;margin:0 -7px}.preset-labels>span{display:grid;justify-items:center;gap:4px;color:var(--text-secondary)}.preset-labels i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--bg-card);font:8px var(--data-font);font-style:normal}.preset-labels small{font-size:7px}.preset-labels>span.selected{color:var(--text-primary)}.preset-labels>span.selected i{background:var(--bg-card);color:var(--text-primary);font-weight:700}
.source-pill{display:inline-block;margin-left:7px;vertical-align:middle;border:1px solid var(--border-subtle);border-radius:99px;padding:3px 7px;color:var(--text-secondary);font:700 8px var(--data-font),monospace;letter-spacing:.4px}.live-section{margin:10px 0 20px}.live-section .history-table{margin-top:0}.team-crest-large img{width:48px;height:48px;object-fit:contain}.live-section .team-fixture{cursor:default}
.profile-error{margin:48px auto;max-width:620px;padding:28px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px}.profile-error h1{font:700 23px var(--font-primary);color:var(--text-primary)}.profile-error p{font-size:13px;color:var(--text-secondary);line-height:1.6}

/* PremierVision design tokens. Add future themes by defining this same token set on [data-theme="name"]. */
:root{--font-primary:Roboto,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--font-primary);color:var(--text-primary);background:var(--bg-base);font-synthesis:none;text-rendering:optimizeLegibility;--data-font:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.25);--shadow-lg:0 8px 32px rgba(0,0,0,.35);--shadow-glow:0 0 24px var(--accent-glow);--green:var(--accent);--muted:var(--text-muted);--line:var(--border-subtle);--orange:var(--warning)}
[data-theme="dark"]{color-scheme:dark;--bg-base:#08090b;--bg-card:#121316;--bg-elevated:#1c1e22;--bg-glass:rgba(18,19,22,.72);--border-subtle:rgba(255,255,255,.06);--border-default:rgba(255,255,255,.10);--border-accent:rgba(212,175,55,.35);--text-primary:#f2f0ea;--text-secondary:#9a9a9f;--text-muted:#85858b;--accent:#d4af37;--accent-glow:rgba(212,175,55,.15);--accent-secondary:#e8c96a;--danger:#f87171;--success:#4ade80;--warning:#fbbf24;--text-on-accent:#181612;--success-soft:rgba(74,222,128,.12);--warning-soft:rgba(251,191,36,.12);--danger-soft:rgba(248,113,113,.12);--neutral-soft:rgba(154,154,159,.10);--pitch-line:rgba(242,240,234,.14)}
[data-theme="light"]{color-scheme:light;--bg-base:#f6f5f2;--bg-card:#fdfdfc;--bg-elevated:#edecea;--bg-glass:rgba(255,255,255,.72);--border-subtle:rgba(0,0,0,.06);--border-default:rgba(0,0,0,.10);--border-accent:rgba(176,141,36,.35);--text-primary:#1a1a1c;--text-secondary:#55555a;--text-muted:#6e6e73;--accent:#b08d24;--accent-glow:rgba(176,141,36,.12);--accent-secondary:#c9a63e;--danger:#dc2626;--success:#16a34a;--warning:#d97706;--text-on-accent:#1a1a1c;--success-soft:rgba(22,163,74,.10);--warning-soft:rgba(217,119,6,.10);--danger-soft:rgba(220,38,38,.10);--neutral-soft:rgba(85,85,90,.08);--pitch-line:rgba(26,26,28,.12)}
*{box-sizing:border-box}html{background:var(--bg-base);color:var(--text-primary)}body{margin:0;background:var(--bg-base);color:var(--text-secondary);font-size:14px;line-height:1.5}button,select,input{font:inherit;color:inherit}button{cursor:pointer;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}a{color:var(--link-accent,var(--accent-secondary))}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-glow)}
.topbar{height:72px;background:var(--bg-glass);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(16px);padding:0 30px;box-shadow:var(--shadow-sm)}.brand{font:600 20px var(--font-primary);color:var(--text-primary);letter-spacing:-.02em;gap:10px}.brand-mark{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-glow);font-size:0}.brand-dot{display:none}.top-meta{color:var(--text-muted);font:11px var(--data-font);letter-spacing:.04em}.top-meta b{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:6px 10px}.live-dot,.green-pip{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.avatar,.profile-pic{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);width:36px;height:36px}.sign-in-placeholder{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);padding:8px 13px}
.sidebar{top:72px;width:248px;background:var(--bg-card);border-right:1px solid var(--border-subtle);padding:28px 16px}.side-label,.overline,.eyebrow,.match-meta,.venue,.match-details h4,.table-heading>span,.players-table th{font-family:var(--data-font);letter-spacing:.08em}.side-label,.overline{color:var(--text-muted)}.nav-item{height:46px;border:1px solid transparent;border-radius:var(--radius-pill);padding:0 14px;color:var(--text-secondary);font-size:13px}.nav-item:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.nav-item.active{position:relative;background:var(--bg-elevated);color:var(--text-primary);font-weight:600}.nav-item.active:after{content:"";position:absolute;bottom:4px;left:20px;right:20px;height:2px;border-radius:var(--radius-pill);background:var(--accent)}.nav-icon{font-size:15px}.sidebar-bottom .data-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;margin-bottom:18px}.data-card b,.profile b{color:var(--text-primary)}.data-card small,.profile small{color:var(--text-muted)}.profile{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:transparent;color:var(--text-primary);padding:14px 9px;text-align:left}.profile:hover{background:var(--bg-elevated);border-color:var(--border-default)}.profile-link .profile-pic{flex:none}.signed-out{border-top:1px solid var(--border-subtle);padding:16px 7px;color:var(--text-muted);font-size:12px}.main{margin:72px 0 0 248px;min-height:calc(100vh - 72px);background:var(--bg-base)}.main:has(.week-row){background:radial-gradient(ellipse at 50% 0%,var(--accent-glow),transparent 42%),var(--bg-base)}.content{max-width:1260px;padding:42px 42px 52px}.eyebrow,.eyebrow span,.page-heading p,.overline,.week-info,.week-selector>span,.quiet,.footnote{color:var(--text-secondary)}.page-heading h1,.week-selector>b,.team-name b,.score,.confidence>b,.budget-number b,.stat-card>b,.squad-toolbar h2,.players-table h2,.profile-hero h1,.section-title h2,.profile-section h3,.player-stat-grid b,.rules-drawer h2,.profile-error h1{color:var(--text-primary);letter-spacing:-.02em}.page-heading h1{font-weight:600}.page-heading p{font-size:14px}.week-row{border-color:var(--border-subtle)}.week-selector button,.expand-btn,.subtle-btn,.outline-btn,.filter-btn,.save-controls input,.side-panel select,.rules-drawer select,.setting-field select{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.week-selector button:hover,.expand-btn:hover,.subtle-btn:hover,.outline-btn:hover,.filter-btn:hover{background:var(--bg-elevated);border-color:var(--border-accent)}.league-tag,.source-pill{background:var(--neutral-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary)}.fixture-list{gap:14px}.fixture-card,.budget-card,.stat-card,.side-panel,.players-table,.profile-hero,.profile-panel,.history-table,.player-stat-grid>div,.connection-card,.team-fixture,.profile-error,.settings-card,.settings-hero{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease}.fixture-card:hover,.player-card:hover,.team-fixture:hover,.connection-card:hover{background:var(--bg-elevated);border-color:var(--border-default);transform:translateY(-2px);box-shadow:var(--shadow-md)}.match-main{padding:20px 22px}.match-meta,.venue,.team-name small,.match-summary,.prob-label,.confidence>span,.stat-note,.budget-foot,.squad-toolbar p,.side-panel p,.side-panel label,.draft-link small,.table-heading>span,.team-fixture>span,.team-fixture>small,.player-card-body>small,.player-card-body>span,.section-title>span,.history-table th,.profile-data-note,.player-stat-grid span,.availability-panel,.connection-card>span,.connection-card>small,.footnote{color:var(--text-secondary)}.team-name b,.score,.confidence>b,.budget-number b,.budget-foot b,.stat-card>b,.table-player-link b,.player-card-body>b{font-family:var(--font-primary)}.score,.budget-number b,.stat-card>b,.confidence>b,.points-cell,.player-stat-grid b,td,th,.week-selector>b,.week-info,.prob-label,.price,.score{font-family:var(--data-font);font-variant-numeric:tabular-nums}.score,.confidence>b,.budget-number b,.stat-card>b,.player-stat-grid b{color:var(--accent)}.team-name,.team-link,.expand-btn{background:transparent}.crest,.club-badge,.crest-mini{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.crest-MCI,.crest-CHE,.crest-LIV,.crest-MUN,.crest-TOT,.crest-WHU{background:var(--bg-elevated);color:var(--text-secondary)}.score span,.sum-sep,.meta-sep{color:var(--text-muted)}.match-summary b,.prob-label b,.detail-line b{color:var(--text-primary)}.xg-tag{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary)}.prediction-side{border-color:var(--border-subtle)}.prob-track,.confidence-meter,.budget-track{background:var(--bg-elevated)}.confidence-meter i,.budget-track i{background:var(--accent)}.match-details{background:var(--bg-elevated);border-color:var(--border-subtle)}.detail-line,.availability-line,.alert-line,.score-explanation,.reasons{color:var(--text-secondary)}.warning,.cap-note,.alert-line,.connection-card em,.negative{color:var(--warning)}.warning{background:var(--warning-soft);border-radius:var(--radius-pill)}.fantasy-top{gap:14px}.budget-card,.stat-card{padding:20px 22px}.primary-btn{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);padding:12px 24px;color:var(--text-on-accent);font-weight:600}.primary-btn:hover{filter:brightness(1.08);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.outline-btn,.secondary-btn{background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:10px 18px;color:var(--text-primary)}.outline-btn:hover,.secondary-btn:hover{border-color:var(--border-accent);background:var(--bg-elevated)}.pitch{background:linear-gradient(145deg,var(--bg-elevated),var(--bg-card));color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.pitch-lines,.pitch-center,.pitch-box{border-color:var(--pitch-line)}.pitch-group>span,.bench>span,.slot-pos,.slot-meta span{color:var(--text-secondary)}.player-slot{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-md)}.slot-meta b{color:var(--text-primary)}.bench{border-color:var(--border-subtle)}.side-panel{padding:18px}.side-panel h3,.table-heading h2{color:var(--text-primary)}.rule-row{border-color:var(--border-subtle);color:var(--text-secondary)}.rule-row b,.rule-row b.ok{color:var(--success)}.rule-row b.bad,.risk-pill.high,.negative{color:var(--danger)}.valid-message{background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-md)}.valid-message.good{background:var(--success-soft);color:var(--success)}.saved h3 span{background:var(--bg-elevated);color:var(--text-secondary)}.draft-link{border-color:var(--border-subtle);color:var(--text-primary)}.table-heading{border-color:var(--border-subtle)}.players-table table,.history-table table{border-collapse:separate;border-spacing:0}.players-table,.history-table{overflow:hidden}.players-table th,.history-table th{border:0;background:var(--bg-card);color:var(--text-muted)}.players-table td,.history-table td{border:0;border-top:1px solid var(--border-subtle);color:var(--text-secondary)}.players-table tbody tr:nth-child(even),.history-table tbody tr:nth-child(even){background:var(--bg-elevated)}.player-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);padding:10px;box-shadow:var(--shadow-sm);transition:all 180ms ease}.player-card>img{border-radius:var(--radius-sm);background:var(--bg-elevated)}.player-card-body strong,.points-cell,.table-player-link:hover b{color:var(--accent)}.club-link,.table-player-link,.text-profile-link,.profile-team-link,.connection-card>a{color:var(--text-primary)}.text-profile-link:hover,.team-link:hover b,.table-player-link:hover b,.profile-team-link:hover{color:var(--accent)}.roster-position h3,.split-rosters h3,.transfer-group>b,.transfer-row,.availability-panel,.connection-card em{color:var(--text-secondary)}.transfer-group,.transfer-row,.history-table td,.history-table th{border-color:var(--border-subtle)}.result-w,.status:not(.doubt):not(.out):not(.suspended),.risk-pill{color:var(--success)}.result-d,.status.doubt,.risk-pill.med{color:var(--warning)}.result-l,.status.out,.status.suspended{color:var(--danger)}.status,.risk-pill{background:var(--neutral-soft);border-radius:var(--radius-pill);padding:6px 10px}.status.doubt,.risk-pill.med{background:var(--warning-soft)}.status.out,.status.suspended,.risk-pill.high{background:var(--danger-soft)}.rules-nav{border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary)}.rules-nav:hover{color:var(--text-primary);border-color:var(--border-accent)}.rules-nav.has-custom{position:relative}.rules-badge{background:var(--accent);box-shadow:var(--shadow-glow)}.rules-backdrop{inset:72px 0 0;background:rgba(0,0,0,.46)}.rules-drawer{background:var(--bg-card);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);padding:26px}.rules-drawer h2,.preset-head b,.rule-control b{color:var(--text-primary)}.rules-intro,.preset-head small,.rule-control small,.rules-saved{color:var(--text-secondary)}.preset-box,.rule-controls{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.preset-head strong,.preset-labels>span.selected i{background:var(--accent);color:var(--text-on-accent)}.preset-labels i{background:var(--bg-elevated)}.preset-step span,.stepper button,.icon-btn{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.rule-control,.preset-note{border-color:var(--border-subtle)}.rule-input input,.extremeness-slider{accent-color:var(--accent)}.extremeness-slider::-webkit-slider-runnable-track,.extremeness-slider::-moz-range-track{background:var(--bg-elevated)}.extremeness-slider::-webkit-slider-thumb,.extremeness-slider::-moz-range-thumb{background:var(--accent);border-color:var(--bg-card);box-shadow:var(--shadow-glow)}.player-profile-hero-photo>img{border-radius:var(--radius-md)}.team-crest-large{background:var(--bg-elevated);color:var(--text-primary)}.sparkline polyline{stroke:var(--accent)}.sparkline circle{fill:var(--text-secondary)}.team-fixture{padding:14px;border-radius:var(--radius-lg)}.player-stat-grid>div{border-radius:var(--radius-md);padding:14px}.connection-card{padding:15px;border-radius:var(--radius-lg)}.profile-error p{color:var(--text-secondary)}
.settings-page .content{max-width:1120px}.settings-hero{display:flex;align-items:center;gap:20px;padding:26px;margin:0 0 20px}.user-avatar{width:76px;height:76px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-accent);color:var(--accent);font:600 22px var(--data-font);box-shadow:var(--shadow-glow)}.user-identity{flex:1}.user-identity h2{margin:0;color:var(--text-primary);font-size:20px;letter-spacing:-.02em}.user-identity>p,.settings-card>p{color:var(--text-secondary);margin:4px 0 14px}.favorite-club-field,.setting-field{display:grid;gap:5px;max-width:320px}.favorite-club-field>span,.setting-field>span{font:10px var(--data-font);letter-spacing:.08em;color:var(--text-muted)}.favorite-club-field select,.setting-field select{padding:10px 12px;min-height:42px}.favorite-confirm{display:block;margin-top:7px;color:var(--text-secondary)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{padding:22px}.settings-card h2{margin:8px 0 4px;color:var(--text-primary);font-size:17px;letter-spacing:-.02em}.settings-card>p{font-size:13px;line-height:1.55;min-height:40px}.theme-switch{display:flex;gap:6px;width:max-content;padding:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-elevated)}.theme-switch button{border:0;border-radius:var(--radius-pill);padding:9px 20px;background:transparent;color:var(--text-secondary)}.theme-switch button:hover{color:var(--text-primary)}.theme-switch button.selected{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.setting-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px}.setting-summary b{color:var(--text-primary);font:500 12px var(--data-font);text-align:right}.setting-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}.setting-actions small{color:var(--text-muted)}.text-button{border:0;background:transparent;color:var(--link-accent,var(--accent));padding:9px}.text-button:hover{text-decoration:underline}.app-footer{display:flex;justify-content:space-between;gap:15px;margin-top:24px;padding:18px 0;color:var(--text-muted);font-size:11px;border-top:1px solid var(--border-subtle)}.app-footer span{font-family:var(--data-font)}
@media(max-width:1100px){.sidebar{width:220px}.main{margin-left:220px}.content{padding:32px 25px}.fixture-card{grid-template-columns:minmax(360px,1fr) 280px}}
@media(max-width:820px){.sidebar{width:70px;padding:20px 8px}.side-label,.nav-item:not(.active){font-size:0}.nav-item{font-size:0;text-align:center;padding:0}.nav-icon{font-size:17px;margin:0}.nav-arrow,.sidebar-bottom .data-card,.profile>span:not(.profile-pic),.profile>span:nth-child(2){display:none}.profile{justify-content:center;padding:10px 0}.main{margin-left:70px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:580px){.topbar{height:64px;padding:0 14px}.sidebar{top:64px}.main{margin-top:64px}.content{padding:26px 14px}.top-meta>span:not(.live-dot),.top-meta b,.top-divider{display:none}.settings-hero{align-items:flex-start;padding:18px}.user-avatar{width:56px;height:56px}.settings-card{padding:18px}.settings-grid{gap:10px}.app-footer{font-size:10px}.rules-backdrop{top:64px}.fixture-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.rules-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle}.favorite-club-badge{display:flex;align-items:center;gap:8px;margin-top:9px;color:var(--text-secondary);font-size:12px}.favorite-club-badge img,.favorite-club-badge>span{width:26px;height:26px;object-fit:contain;display:grid;place-items:center;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:3px}.filter-btn,.subtle-btn{border-radius:var(--radius-pill)}

/* PremierVision theme gallery tokens: one complete palette per named theme. */
[data-theme="premiervision"]{color-scheme:dark;--bg-base:#08090b;--bg-card:#121316;--bg-elevated:#1c1e22;--bg-glass:rgba(18,19,22,.72);--border-subtle:rgba(255,255,255,.06);--border-default:rgba(255,255,255,.10);--border-accent:rgba(212,175,55,.35);--text-primary:#f2f0ea;--text-secondary:#9a9a9f;--text-muted:#85858b;--accent:#d4af37;--accent-glow:rgba(212,175,55,.15);--accent-secondary:#e8c96a;--danger:#f87171;--success:#4ade80;--warning:#fbbf24;--text-on-accent:#181612;--success-soft:rgba(74,222,128,.12);--warning-soft:rgba(251,191,36,.12);--danger-soft:rgba(248,113,113,.12);--neutral-soft:rgba(154,154,159,.10);--pitch-line:rgba(242,240,234,.14);--link-accent:#e8c96a;}
[data-theme="steam"]{color-scheme:dark;--bg-base:#232730;--bg-card:#292e37;--bg-elevated:#333943;--bg-glass:rgba(41,46,55,.82);--border-subtle:rgba(111,164,202,.15);--border-default:rgba(111,164,202,.24);--border-accent:rgba(102,192,244,.48);--text-primary:#eaf2f8;--text-secondary:#a6c3d8;--text-muted:#88a8c0;--accent:#66c0f4;--accent-glow:rgba(102,192,244,.2);--accent-secondary:#1a9fff;--danger:#f16b70;--success:#54d38b;--warning:#eab752;--text-on-accent:#07131d;--success-soft:rgba(84,211,139,.16);--warning-soft:rgba(234,183,82,.14);--danger-soft:rgba(241,107,112,.15);--neutral-soft:rgba(166,195,216,.12);--pitch-line:rgba(234,242,248,.18);--link-accent:#7ec4f0;}
[data-theme="discord"]{color-scheme:dark;--bg-base:#1e2124;--bg-card:#424549;--bg-elevated:#50545a;--bg-glass:rgba(66,69,73,.84);--border-subtle:rgba(177,161,214,.12);--border-default:rgba(177,161,214,.2);--border-accent:rgba(114,137,218,.48);--text-primary:#f0eff7;--text-secondary:#d0cbd8;--text-muted:#d0ccd8;--accent:#7289da;--accent-glow:rgba(114,137,218,.22);--accent-secondary:#8982f5;--danger:#e94a54;--success:#5be990;--warning:#eab752;--text-on-accent:#111827;--success-soft:rgba(91,233,144,.17);--warning-soft:rgba(234,183,82,.14);--danger-soft:rgba(233,74,84,.17);--neutral-soft:rgba(188,179,209,.12);--pitch-line:rgba(240,239,247,.18);--link-accent:#d0cdff;}
[data-theme="spotify"]{color-scheme:dark;--bg-base:#121313;--bg-card:#191c1a;--bg-elevated:#232a25;--bg-glass:rgba(25,28,26,.84);--border-subtle:rgba(115,180,135,.12);--border-default:rgba(115,180,135,.2);--border-accent:rgba(32,184,90,.48);--text-primary:#f0f3f0;--text-secondary:#b0bbb3;--text-muted:#8f9c92;--accent:#20b85a;--accent-glow:rgba(32,184,90,.2);--accent-secondary:#61c879;--danger:#ed6668;--success:#62ce83;--warning:#e8b64f;--text-on-accent:#07140b;--success-soft:rgba(98,206,131,.17);--warning-soft:rgba(232,182,79,.14);--danger-soft:rgba(237,102,104,.16);--neutral-soft:rgba(176,187,179,.12);--pitch-line:rgba(240,243,240,.16);--link-accent:#61c879;}
[data-theme="wall-street"]{color-scheme:dark;--bg-base:#1e2228;--bg-card:#262b33;--bg-elevated:#30363f;--bg-glass:rgba(38,43,51,.9);--border-subtle:rgba(220,226,235,.12);--border-default:rgba(220,226,235,.2);--border-accent:rgba(0,200,83,.48);--text-primary:#f0f2f4;--text-secondary:#b6bec8;--text-muted:#9da7b2;--accent:#00c853;--accent-glow:rgba(0,200,83,.19);--accent-secondary:#ff493f;--danger:#ff493f;--success:#00c853;--warning:#eab752;--text-on-accent:#07150b;--success-soft:rgba(0,200,83,.17);--warning-soft:rgba(234,183,82,.14);--danger-soft:rgba(255,73,63,.16);--neutral-soft:rgba(182,190,200,.12);--pitch-line:rgba(240,242,244,.2);--link-accent:#00c853;}
[data-theme="solana"]{color-scheme:dark;--bg-base:#170d27;--bg-card:#211239;--bg-elevated:#30194e;--bg-glass:rgba(33,18,57,.86);--border-subtle:rgba(166,111,229,.17);--border-default:rgba(166,111,229,.25);--border-accent:rgba(145,67,236,.52);--text-primary:#f3eff8;--text-secondary:#c4addc;--text-muted:#a58ac3;--accent:#11d88a;--accent-glow:rgba(17,216,138,.2);--accent-secondary:#9143ec;--danger:#f16b70;--success:#48dba0;--warning:#eab752;--text-on-accent:#07170f;--success-soft:rgba(72,219,160,.16);--warning-soft:rgba(234,183,82,.14);--danger-soft:rgba(241,107,112,.15);--neutral-soft:rgba(196,173,220,.12);--pitch-line:rgba(243,239,248,.18);--link-accent:#11d88a;}
[data-theme="command"]{color-scheme:dark;--bg-base:#020604;--bg-card:#081410;--bg-elevated:#0f1f18;--bg-glass:rgba(8,20,16,.9);--border-subtle:rgba(0,255,65,.10);--border-default:rgba(0,255,65,.18);--border-accent:rgba(0,255,65,.50);--text-primary:#b8ffb8;--text-secondary:#549064;--text-muted:#549064;--accent:#00ef3c;--accent-glow:rgba(0,255,65,.2);--accent-secondary:#33e966;--danger:#ff493f;--success:#66d98b;--warning:#eab752;--text-on-accent:#021006;--success-soft:rgba(102,217,139,.16);--warning-soft:rgba(234,183,82,.13);--danger-soft:rgba(255,73,63,.16);--neutral-soft:rgba(74,140,90,.15);--pitch-line:rgba(184,255,184,.2);--shadow-glow:0 0 24px rgba(0,255,65,.20);--link-accent:#33e966;}
[data-theme="konami-code"]{color-scheme:dark;--bg-base:#292929;--bg-card:#454545;--bg-elevated:#555555;--bg-glass:rgba(69,69,69,.92);--border-subtle:rgba(239,239,239,.12);--border-default:rgba(239,239,239,.2);--border-accent:rgba(229,30,43,.5);--text-primary:#efefef;--text-secondary:#d0d0d0;--text-muted:#d0d0d0;--accent:#e51e2b;--accent-glow:rgba(229,30,43,.2);--accent-secondary:#efefef;--danger:#ff737c;--success:#66d98b;--warning:#eab752;--text-on-accent:#fdfdfd;--success-soft:rgba(102,217,139,.16);--warning-soft:rgba(234,183,82,.13);--danger-soft:rgba(255,115,124,.16);--neutral-soft:rgba(239,239,239,.12);--pitch-line:rgba(239,239,239,.2);--shadow-glow:0 0 24px rgba(229,30,43,.2);--link-accent:#ffc4c8;--font-primary:"Press Start 2P",monospace;}
[data-theme="konami-code"] *{font-family:var(--font-primary)!important}
[data-theme="konami-code"] .fixture-card:hover,[data-theme="konami-code"] .player-card:hover,[data-theme="konami-code"] .stat-card:hover,[data-theme="konami-code"] .settings-card:hover{box-shadow:var(--shadow-glow);border-color:var(--border-accent)}
[data-theme="konami-code"] .section-title h2,[data-theme="konami-code"] .table-heading h2,[data-theme="konami-code"] .points-cell{color:var(--accent)}

[data-theme="netflix"]{color-scheme:dark;--bg-base:#10090b;--bg-card:#1c1013;--bg-elevated:#2b171b;--bg-glass:rgba(28,16,19,.86);--border-subtle:rgba(237,57,70,.1);--border-default:rgba(237,57,70,.18);--border-accent:rgba(237,57,70,.45);--text-primary:#f7edef;--text-secondary:#cbb7ba;--text-muted:#a18b8f;--accent:#ed3946;--accent-glow:rgba(237,57,70,.18);--accent-secondary:#ff6670;--danger:#ff8790;--success:#54d48a;--warning:#f3ba53;--text-on-accent:#210709;--success-soft:rgba(84,212,138,.14);--warning-soft:rgba(243,186,83,.14);--danger-soft:rgba(255,135,144,.15);--neutral-soft:rgba(203,183,186,.1);--pitch-line:rgba(247,237,239,.16);--link-accent:#ff6670;--font-primary:"Google Sans Flex","Anton SC",Roboto,Arial,sans-serif;text-transform:uppercase;}
[data-theme="excel"]{color-scheme:light;--bg-base:#f1f5f1;--bg-card:#fcfefc;--bg-elevated:#e6f4ea;--bg-glass:rgba(252,254,252,.82);--border-subtle:rgba(82,99,88,.12);--border-default:rgba(82,99,88,.2);--border-accent:rgba(38,119,71,.38);--text-primary:#17231b;--text-secondary:#46574c;--text-muted:#596c60;--accent:#267747;--accent-glow:rgba(38,119,71,.14);--accent-secondary:#4b9b66;--danger:#c52f36;--success:#168044;--warning:#a95d08;--text-on-accent:#fff;--success-soft:rgba(22,128,68,.12);--warning-soft:rgba(169,93,8,.10);--danger-soft:rgba(197,47,54,.10);--neutral-soft:rgba(70,87,76,.08);--pitch-line:rgba(23,35,27,.14);--link-accent:#20653d;}
[data-theme="google"]{color-scheme:light;--bg-base:#f5f6f7;--bg-card:#fffefe;--bg-elevated:#eceff1;--bg-glass:rgba(255,254,254,.82);--border-subtle:rgba(66,89,114,.12);--border-default:rgba(66,89,114,.2);--border-accent:rgba(47,157,83,.38);--text-primary:#1c252d;--text-secondary:#4c5862;--text-muted:#5a6872;--accent:#2f9d53;--accent-glow:rgba(47,157,83,.14);--accent-secondary:#dda91e;--danger:#d93638;--success:#258147;--warning:#b5760b;--text-on-accent:#102117;--success-soft:rgba(37,129,71,.12);--warning-soft:rgba(181,118,11,.12);--danger-soft:rgba(217,54,56,.1);--neutral-soft:rgba(76,88,98,.08);--pitch-line:rgba(28,37,45,.13);--link-accent:#2869c7;}
[data-theme="red-bull"]{color-scheme:light;--bg-base:#f5f7fa;--bg-card:#fffefe;--bg-elevated:#eaf0f7;--bg-glass:rgba(255,254,253,.82);--border-subtle:rgba(30,91,198,.10);--border-default:rgba(30,91,198,.18);--border-accent:rgba(197,24,64,.38);--text-primary:#261d20;--text-secondary:#594d51;--text-muted:#65585c;--accent:#c51840;--accent-glow:rgba(197,24,64,.13);--accent-secondary:#2857ac;--danger:#bd2634;--success:#258147;--warning:#a65d08;--text-on-accent:#fff;--success-soft:rgba(37,129,71,.10);--warning-soft:rgba(166,93,8,.10);--danger-soft:rgba(189,38,52,.10);--neutral-soft:rgba(89,77,81,.08);--pitch-line:rgba(38,29,32,.13);--link-accent:#2857ac;}
[data-theme="ethereum"]{color-scheme:light;--bg-base:#f3f3f9;--bg-card:#fdfdff;--bg-elevated:#ecf0ff;--bg-glass:rgba(253,253,255,.82);--border-subtle:rgba(90,105,165,.12);--border-default:rgba(90,105,165,.2);--border-accent:rgba(96,120,220,.38);--text-primary:#202238;--text-secondary:#4d5068;--text-muted:#5c5f77;--accent:#6078dc;--accent-glow:rgba(96,120,220,.14);--accent-secondary:#8299ed;--danger:#c42e39;--success:#258147;--warning:#a65d08;--text-on-accent:#101326;--success-soft:rgba(37,129,71,.10);--warning-soft:rgba(166,93,8,.10);--danger-soft:rgba(196,46,57,.10);--neutral-soft:rgba(77,80,104,.08);--pitch-line:rgba(32,34,56,.13);--link-accent:#5267be;}

/* Typography tokens for the requested theme identities. */
[data-theme="steam"]{--font-primary:"Motiva Sans",Arial,sans-serif}
[data-theme="discord"]{--font-primary:"Helvetica Neue",Helvetica,Arial,sans-serif}
[data-theme="spotify"]{--font-primary:Lato,Arial,sans-serif}
[data-theme="wall-street"]{--font-primary:"Noticia Text",Georgia,serif}
[data-theme="solana"],[data-theme="ethereum"]{--font-primary:Inter,system-ui,sans-serif}
[data-theme="excel"]{--font-primary:"IBM Plex Sans",Arial,sans-serif}
[data-theme="google"]{--font-primary:"Google Sans Flex",Roboto,Arial,sans-serif}
[data-theme="red-bull"]{--font-primary:"Plus Jakarta Sans",Arial,sans-serif}
[data-theme="frugal"]{--font-primary:Figtree,Roboto,Arial,sans-serif}
[data-theme="team-spirit"]{--font-primary:Epilogue,Roboto,Arial,sans-serif}
[data-theme="rule-breaker"]{--font-primary:Mansalva,Roboto,Arial,sans-serif}

/* Theme gallery cards inherit the app palette, while each swatch previews its own tokens. */
.theme-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.theme-group+.theme-group{margin-top:18px}.theme-group>h3{margin:0 0 9px;color:var(--text-muted);font:600 10px var(--font-primary);letter-spacing:.08em;text-transform:uppercase}.theme-option{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr) 16px;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);text-align:left;transition:background 180ms ease,border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease}.theme-option:hover{background:var(--bg-elevated);border-color:var(--border-default);transform:translateY(-1px)}.theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-glow)}.theme-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.theme-preview{height:38px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-base)}.theme-preview i{display:block;height:19px;border-radius:4px;flex:1}.theme-preview .preview-base{background:var(--bg-base);border:1px solid var(--border-default)}.theme-preview .preview-surface{background:var(--bg-card);border:1px solid var(--border-default)}.theme-preview .preview-accent{background:var(--accent)}.theme-name{font-size:11px;font-weight:600;line-height:1.2}.theme-check{width:16px;height:16px;display:grid;place-items:center;color:var(--accent)}.theme-check svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.appearance-settings{grid-column:1/-1}.appearance-settings>p{min-height:0}.appearance-settings .theme-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-group .theme-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-preview[data-theme]{color-scheme:inherit}@media(max-width:900px){.appearance-settings .theme-gallery,.theme-group .theme-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:580px){.appearance-settings .theme-gallery,.theme-group .theme-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-option{grid-template-columns:55px minmax(0,1fr) 14px;gap:7px;padding:7px}}


/* Brand signatures: push each palette into real UI surfaces while preserving semantic color meaning. */
[data-theme="steam"] .section-title h2,[data-theme="steam"] .table-heading h2,[data-theme="steam"] .week-row .overline{color:var(--link-accent)}
[data-theme="steam"] .live-section{border-left:3px solid var(--accent);padding-left:12px}
[data-theme="discord"] .section-title h2,[data-theme="discord"] .table-heading h2,[data-theme="discord"] .theme-group>h3{color:var(--link-accent)}
[data-theme="discord"] .nav-item.active{box-shadow:inset 3px 0 var(--accent)}
[data-theme="spotify"] .stat-card>b,[data-theme="spotify"] .budget-number>b,[data-theme="spotify"] .points-cell{color:var(--accent)}
[data-theme="spotify"] .nav-item.active,[data-theme="spotify"] .live-dot,[data-theme="spotify"] .green-pip{background:var(--success-soft)}
[data-theme="wall-street"] .history-table tbody td:nth-child(4),[data-theme="wall-street"] .rule-row b.ok,[data-theme="wall-street"] .points-cell{color:var(--success)}
[data-theme="wall-street"] .history-table tbody td:nth-child(6),[data-theme="wall-street"] .rule-row b.bad,[data-theme="wall-street"] .negative{color:var(--danger)}
[data-theme="wall-street"] .xg-tag{border-color:var(--border-accent);box-shadow:inset 0 -2px var(--accent-secondary)}
[data-theme="wall-street"] .stat-card:nth-child(odd){border-top:3px solid var(--success)}
[data-theme="wall-street"] .stat-card:nth-child(even){border-top:3px solid var(--danger)}
[data-theme="solana"] .section-title h2,[data-theme="solana"] .table-heading h2{color:var(--text-primary)}
[data-theme="solana"] .live-section{border-left:4px solid var(--accent-secondary);padding-left:12px}
[data-theme="solana"] .live-dot,[data-theme="solana"] .green-pip,[data-theme="solana"] .nav-item.active{background:var(--accent)}
[data-theme="solana"] .fixture-card,[data-theme="solana"] .stat-card{background:linear-gradient(135deg,var(--bg-card),rgba(145,67,236,.10))}
[data-theme="command"] *{font-family:Consolas,Monaco,monospace!important}
[data-theme="command"] .fixture-card:hover,[data-theme="command"] .player-card:hover,[data-theme="command"] .stat-card:hover,[data-theme="command"] .settings-card:hover{box-shadow:0 0 18px rgba(0,255,65,.16);border-color:var(--border-accent)}
[data-theme="command"] .section-title h2,[data-theme="command"] .table-heading h2,[data-theme="command"] .points-cell{color:var(--text-primary)}
[data-theme="excel"] .live-section,[data-theme="excel"] .settings-card{background:var(--bg-elevated)}
[data-theme="excel"] .history-table tbody tr:nth-child(even),[data-theme="excel"] .players-table tbody tr:nth-child(even){background:#e6f4ea}
[data-theme="excel"] .history-table tbody tr:nth-child(odd),[data-theme="excel"] .players-table tbody tr:nth-child(odd){background:var(--bg-card)}
[data-theme="google"] a,[data-theme="google"] .text-button{color:var(--link-accent)}
[data-theme="google"] .section-title h2,[data-theme="google"] .table-heading h2{color:var(--text-primary)}
[data-theme="google"] .stat-card:nth-child(2){border-top:3px solid var(--accent-secondary)}
[data-theme="red-bull"] a,[data-theme="red-bull"] .text-button{color:var(--link-accent)}
[data-theme="red-bull"] .section-title h2,[data-theme="red-bull"] .table-heading h2,[data-theme="red-bull"] .theme-group>h3{color:var(--link-accent)}
[data-theme="red-bull"] .stat-card:nth-child(odd){border-top:3px solid var(--accent)}
[data-theme="red-bull"] .stat-card:nth-child(even){border-top:3px solid var(--accent-secondary)}
[data-theme="ethereum"] .section-title h2,[data-theme="ethereum"] .table-heading h2{color:var(--link-accent)}
[data-theme="ethereum"] .stat-card,[data-theme="ethereum"] .live-section{background:linear-gradient(135deg,var(--bg-card),rgba(130,153,237,.09))}

/* Unlockable secret palettes. Team Spirit's surface and accent variables are set from the saved club. */
[data-theme="frugal"]{color-scheme:dark;--bg-base:#0a0805;--bg-card:#15110a;--bg-elevated:#1f180d;--bg-glass:rgba(21,17,10,.88);--border-subtle:rgba(255,215,0,.08);--border-default:rgba(255,215,0,.15);--border-accent:rgba(255,215,0,.45);--text-primary:#f5ecd8;--text-secondary:#b8a67a;--text-muted:#b5a071;--accent:#ffd700;--accent-glow:rgba(255,215,0,.18);--accent-secondary:#e8a317;--danger:#ef6b62;--success:#69cf8e;--warning:#e8a317;--text-on-accent:#1d1605;--success-soft:rgba(105,207,142,.14);--warning-soft:rgba(232,163,23,.15);--danger-soft:rgba(239,107,98,.14);--neutral-soft:rgba(184,166,122,.12);--pitch-line:rgba(245,236,216,.16);--link-accent:#ffd700;--shadow-glow:0 0 24px rgba(255,215,0,.18)}
[data-theme="team-spirit"]{color-scheme:dark;--bg-base:#121416;--bg-card:#1a1d20;--bg-elevated:#25292d;--bg-glass:rgba(26,29,32,.86);--border-subtle:rgba(174,178,183,.12);--border-default:rgba(174,178,183,.2);--border-accent:rgba(174,178,183,.35);--text-primary:#f4f3f3;--text-secondary:#d0cdd2;--text-muted:#aaa6af;--accent:#858b91;--accent-glow:rgba(174,178,183,.18);--accent-secondary:#b9bec3;--danger:#f16b70;--success:#55d394;--warning:#eab752;--text-on-accent:#171717;--success-soft:rgba(85,211,148,.14);--warning-soft:rgba(234,183,82,.14);--danger-soft:rgba(241,107,112,.14);--neutral-soft:rgba(196,189,209,.1);--pitch-line:rgba(243,239,248,.18);--link-accent:#c3c7cb;--team-primary:#686d73;--team-secondary:#454a50;--team-highlight:#aeb2b7;--team-accent:#858b91;--team-on-accent:#171717;--team-link:#c3c7cb;--bg-team-tint:#191c1f}
[data-theme="rule-breaker"]{color-scheme:dark;--bg-base:#1a1c1f;--bg-card:#242629;--bg-elevated:#2e3134;--bg-glass:rgba(36,38,41,.88);--border-subtle:rgba(192,192,192,.08);--border-default:rgba(192,192,192,.12);--border-accent:rgba(255,69,0,.45);--text-primary:#f1f1f0;--text-secondary:#c2c4c5;--text-muted:#a1a4a6;--accent:#f04c10;--accent-glow:rgba(240,76,16,.18);--accent-secondary:#c0c0c0;--danger:#dc2626;--success:#56cf87;--warning:#f97316;--text-on-accent:#1c1713;--success-soft:rgba(86,207,135,.14);--warning-soft:rgba(249,115,22,.14);--danger-soft:rgba(220,38,38,.15);--neutral-soft:rgba(192,192,192,.1);--pitch-line:rgba(241,241,240,.17);--link-accent:#f49a75;}
[data-theme="qwerty"]{color-scheme:light;--bg-base:#faf8f2;--bg-card:#fffdf8;--bg-elevated:#eeeae0;--bg-glass:rgba(255,253,248,.86);--border-subtle:rgba(46,43,36,.18);--border-default:rgba(46,43,36,.3);--border-accent:rgba(82,79,72,.48);--text-primary:#24231f;--text-secondary:#4d4a43;--text-muted:#625e55;--accent:#45433d;--accent-glow:rgba(69,67,61,.14);--accent-secondary:#77736a;--danger:#bd3333;--success:#27824b;--warning:#a76410;--text-on-accent:#fffdf8;--success-soft:rgba(39,130,75,.1);--warning-soft:rgba(167,100,16,.1);--danger-soft:rgba(189,51,51,.1);--neutral-soft:rgba(77,74,67,.1);--pitch-line:rgba(36,35,31,.18);--link-accent:#45433d;--font-primary:"Special Elite","Courier Prime","Courier New",monospace;--shadow-sm:0 1px 2px rgba(26,24,20,.2);--shadow-md:0 4px 16px rgba(26,24,20,.18);--shadow-lg:0 8px 28px rgba(26,24,20,.22);--shadow-glow:0 0 10px rgba(69,67,61,.12)}
[data-theme="command"]{--font-primary:Consolas,"Cascadia Code","JetBrains Mono","Fira Code",monospace}
[data-theme="command"] *{font-family:var(--font-primary)!important}
[data-theme="netflix"] *{font-family:var(--font-primary)!important}
[data-theme="diurnal"]{--font-primary:"Playwrite US Modern",Roboto,system-ui,sans-serif}
[data-theme="diurnal"] *{font-family:var(--font-primary)!important}



[data-theme="qwerty"] *{font-family:var(--font-primary)!important}
[data-theme="frugal"] .settings-card,[data-theme="frugal"] .fixture-card,[data-theme="frugal"] .stat-card{border-color:var(--border-accent);box-shadow:0 0 0 1px rgba(255,215,0,.04)}
[data-theme="frugal"] .section-title h2,[data-theme="frugal"] .table-heading h2,[data-theme="frugal"] .points-cell,[data-theme="frugal"] .stat-card>b{color:var(--accent)}
[data-theme="frugal"] .fixture-card:hover,[data-theme="frugal"] .settings-card:hover,[data-theme="frugal"] .stat-card:hover{box-shadow:var(--shadow-glow)}
[data-theme="team-spirit"] .topbar,[data-theme="team-spirit"] .sidebar{background:var(--bg-team-tint)}
[data-theme="team-spirit"] .fixture-card,[data-theme="team-spirit"] .stat-card,[data-theme="team-spirit"] .settings-card{background:linear-gradient(135deg,var(--bg-card),color-mix(in srgb,var(--team-primary,#686d73) 14%,var(--bg-card)))}
[data-theme="team-spirit"] .section-title h2,[data-theme="team-spirit"] .table-heading h2,[data-theme="team-spirit"] .points-cell{color:var(--accent)}
[data-theme="rule-breaker"] .fixture-card,[data-theme="rule-breaker"] .stat-card{border-top:2px solid var(--accent-secondary)}
[data-theme="rule-breaker"] .section-title h2,[data-theme="rule-breaker"] .table-heading h2,[data-theme="rule-breaker"] .points-cell{color:var(--accent)}
[data-theme="rule-breaker"] .negative,[data-theme="rule-breaker"] .risk-pill.high{color:var(--danger)}
[data-theme="qwerty"] .settings-card,[data-theme="qwerty"] .fixture-card,[data-theme="qwerty"] .stat-card,[data-theme="qwerty"] .history-table,[data-theme="qwerty"] .players-table{border:1px solid var(--border-default);box-shadow:2px 3px 0 rgba(46,43,36,.12)}
[data-theme="qwerty"] .theme-preview[data-theme="qwerty"]{border-color:var(--border-default)}
.theme-preview[data-theme="team-spirit"] .preview-base{background:var(--team-primary)}
.theme-preview[data-theme="team-spirit"] .preview-surface{background:var(--team-secondary)}
.theme-preview[data-theme="team-spirit"] .preview-accent{background:var(--team-highlight)}
.favorite-club-badge span[hidden]{display:none}
[data-theme="qwerty"] .theme-preview .preview-base{background:var(--bg-base)}
.secret-theme-group{margin-top:18px}.theme-option .theme-subtitle{grid-column:2/4;margin-top:-6px;color:var(--text-secondary);font-size:9px;line-height:1.2}.theme-option:has(.theme-subtitle){row-gap:7px}
.secret-unlock-toast{position:fixed;right:22px;bottom:22px;z-index:40;max-width:min(380px,calc(100vw - 28px));padding:14px 18px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-glow);font-weight:600;cursor:pointer;animation:unlock-toast-in 180ms ease-out}.secret-unlock-toast b{color:var(--accent)}@keyframes unlock-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.secret-unlock-toast{animation:none}}
.profile-name-field input{width:100%;padding:10px 12px;min-height:42px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary)}.profile-name-field input:focus-visible{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.debug-unlocks{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--text-secondary);font-size:11px}.debug-unlocks input{accent-color:var(--accent)}

.league-heading-actions{display:flex;align-items:center;gap:10px}.rules-nav{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;margin:0;padding:9px 15px;font-size:11px;font-weight:600;text-align:center}.rules-nav.has-custom{position:relative}.rules-badge{top:8px;right:8px}.rules-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.league-heading-actions .subtle-btn{white-space:nowrap}@media(max-width:580px){.league-heading-actions{gap:6px}.league-heading-actions .rules-nav{padding:8px 10px}}

/* League overview: consistent section rhythm and data-first hierarchy. */
.league-content{display:flex;flex-direction:column;gap:32px}.league-content>.eyebrow,.league-content>.page-heading{margin:0}.league-content .page-heading{align-items:flex-start}.league-section{min-width:0;display:flex;flex-direction:column;gap:16px}.league-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.league-section-heading h2{margin:0;color:var(--text-primary);font-size:16px;font-weight:600;letter-spacing:-.02em}.league-section-heading>span{color:var(--text-muted);font:11px var(--data-font);text-align:right}.league-standings{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.league-standings th,.league-standings td{padding:8px 12px}.league-standings tbody tr{height:39px}.league-standings tbody tr:nth-child(even){background:var(--bg-elevated)}.league-standings tbody td:first-child,.league-standings tbody td:nth-child(3),.league-standings tbody td:nth-child(4),.league-standings tbody td:last-child{font-family:var(--data-font);font-variant-numeric:tabular-nums}.league-standings tbody td:last-child b{color:var(--text-primary)}.league-team-link{display:inline-flex;align-items:center;gap:9px;min-width:0;padding:2px 4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.league-team-link:hover{color:var(--accent);background:var(--bg-elevated)}.league-team-link:focus-visible,.watch-player-main:focus-visible,.league-key-player-link:focus-visible,.league-key-club:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.league-crest-frame{width:24px;height:24px;display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:var(--radius-pill)}.league-crest-image,.league-crest-fallback{width:24px;height:24px;flex:none;object-fit:contain;border-radius:var(--radius-pill)}.league-crest-fallback{display:grid;place-items:center;background:var(--bg-elevated);color:var(--text-secondary);font:600 10px var(--data-font)}.matchup-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr);align-items:center;gap:10px 24px;padding:22px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.matchup-clubs{display:flex;align-items:center;justify-content:space-between;gap:12px}.matchup-team-link{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer}.matchup-team-link:hover{border-color:var(--border-default);transform:translateY(-1px)}.matchup-team-link .league-crest-frame,.matchup-team-link .league-crest-image,.matchup-team-link .league-crest-fallback{width:34px;height:34px}.matchup-vs{color:var(--text-muted);font:11px var(--data-font)}.matchup-prediction{display:flex;flex-direction:column;gap:5px;text-align:right}.matchup-prediction>span{color:var(--text-muted);font:10px var(--data-font);letter-spacing:.06em}.matchup-prediction>b{color:var(--accent);font:600 26px var(--data-font);font-variant-numeric:tabular-nums}.matchup-prediction>small{color:var(--text-secondary);font:10px var(--data-font)}.matchup-card>p{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px;line-height:1.5}.week-controls{display:flex;align-items:center;gap:12px}.week-controls button{width:34px;height:32px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--text-primary);font-size:18px}.week-controls button:hover{background:var(--bg-elevated);border-color:var(--border-accent)}.week-controls>span{color:var(--text-primary);font:600 12px var(--data-font)}.week-controls>small{margin-left:auto;color:var(--text-muted);font:10px var(--data-font)}.gameweek-section .fixture-list{display:grid;gap:16px}.gameweek-section .fixture-card{margin:0}.fixture-card .teams-score{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.fixture-card .team-name{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px}.fixture-card .team-name.home{width:100%;flex-direction:row-reverse;justify-content:flex-end;text-align:right}.fixture-card .team-name.away{width:100%;justify-content:flex-start;text-align:left}.fixture-card .score{width:auto;min-width:72px;justify-self:center}.fixture-card .team-name>.league-crest-frame{width:32px;height:32px;background:var(--bg-elevated)}.fixture-card .team-name .league-crest-image{width:100%;height:100%;object-fit:contain}.fixture-card .team-name>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixture-card .team-name>small{margin-left:auto}.fixture-card .match-summary{gap:12px}.match-details .detail-team-link{padding:0;gap:5px;color:var(--text-secondary);font-size:10px}.match-details .detail-team-link .league-crest-image,.match-details .detail-team-link .league-crest-fallback{width:18px;height:18px}.match-details .detail-line>span{display:flex;align-items:center;gap:5px}.league-key-player{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--border-subtle)}.league-key-player-link{display:flex;align-items:center;gap:8px;min-width:0;border:0;background:none;color:var(--text-primary);text-align:left;cursor:pointer}.league-key-player-link img{width:30px;height:36px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-elevated)}.league-key-player-link b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-key-player-link small{color:var(--text-muted)}.league-key-club{margin-left:auto;font-size:10px}.league-key-club .league-crest-image,.league-key-club .league-crest-fallback{width:19px;height:19px}.watch-player-card{display:flex;align-items:center;gap:10px;min-width:0;padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.players-watch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.watch-player-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:0;border:0;background:none;color:var(--text-primary);text-align:left;cursor:pointer}.watch-player-main>img{width:42px;height:50px;flex:none;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-elevated)}.watch-player-main>span{display:flex;flex-direction:column;gap:4px;min-width:0}.watch-player-main b,.watch-player-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-player-main b{font-size:11px}.watch-player-main small{color:var(--text-secondary);font-size:9px}.watch-player-club{padding:2px;gap:4px;color:var(--text-muted);font-size:9px}.watch-player-club .league-crest-image,.watch-player-club .league-crest-fallback{width:20px;height:20px}.league-empty-card{padding:15px 18px;border:1px dashed var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);font-size:11px}.gameweek-section>.league-empty-card{margin:0}
@media(max-width:900px){.players-watch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matchup-card{grid-template-columns:1fr auto}}
@media(max-width:580px){.league-content{gap:32px}.league-section-heading{align-items:flex-start;flex-direction:column;gap:5px}.league-section-heading>span{text-align:left}.matchup-card{grid-template-columns:1fr;padding:16px}.matchup-clubs{gap:6px}.matchup-team-link{gap:7px;padding:7px;font-size:11px}.matchup-team-link .league-crest-frame,.matchup-team-link .league-crest-image,.matchup-team-link .league-crest-fallback{width:27px;height:27px}.matchup-prediction{text-align:left}.matchup-card>p{grid-column:auto}.players-watch-grid{grid-template-columns:1fr}.league-standings th,.league-standings td{padding:7px 8px;font-size:10px}.fixture-card .teams-score{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.gameweek-section .match-main{padding:20px}.fixture-card .team-name{padding:6px 2px;gap:5px}.fixture-card .team-name>small{display:none}.fixture-card .expand-btn{grid-column:2/-1}.fixture-card .match-summary{flex-wrap:wrap;gap:8px}.week-controls{gap:8px}.week-controls>small{font-size:9px}}

/* Keep the home crest/name grouped against the center score, and fit venue metadata on narrow cards. */
.fixture-card .team-name.home{justify-content:flex-start}

/* Featured matchup: clickable team names over subtle crest watermarks, with a centered kickoff countdown. */
.matchup-clubs{display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:center;gap:4px}
.matchup-team-link{position:relative;isolation:isolate;display:flex;min-width:0;min-height:132px;align-items:center;justify-content:center;padding:12px;border:0;border-radius:var(--radius-lg);background:transparent;color:var(--text-primary);font-size:15px;font-weight:600;text-align:center;cursor:pointer;transition:color 180ms ease,transform 180ms ease}
.matchup-team-link:hover{border-color:transparent;background:transparent;color:var(--accent);transform:translateY(-2px)}
.matchup-team-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.matchup-team-watermark{position:absolute;inset:0 0 -10px;z-index:0;display:grid;place-items:center;overflow:hidden;pointer-events:none}
.matchup-team-watermark img{width:clamp(96px,10vw,138px);height:clamp(96px,10vw,138px);object-fit:contain;opacity:.19}
.matchup-team-name{position:relative;z-index:1;max-width:100%;padding:3px 7px;border-radius:var(--radius-sm);color:var(--text-primary);text-shadow:0 1px 8px var(--bg-card),0 0 5px var(--bg-card)}
.matchup-team-link:hover .matchup-team-name{color:var(--accent)}
.matchup-center{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}
.matchup-vs{color:var(--text-primary);font:700 21px var(--data-font);letter-spacing:.1em}
.matchup-countdown{max-width:104px;color:var(--text-primary);font:700 14px var(--data-font);line-height:1.25;white-space:normal}
@media(max-width:580px){.matchup-clubs{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);gap:2px}.matchup-team-link{min-height:100px;padding:7px;font-size:11px}.matchup-team-watermark img{width:86px;height:86px}.matchup-vs{font-size:16px}.matchup-countdown{max-width:68px;font-size:12px}}

/* Players to watch uses a large, clickable club-crest watermark clipped to each card. */
.watch-player-card{position:relative;isolation:isolate;overflow:hidden}
.watch-player-watermark{position:absolute;top:50%;right:-26px;z-index:0;display:grid;width:148px;height:148px;place-items:center;padding:0;transform:translateY(-50%);border:0;border-radius:0;background:transparent;opacity:.2;cursor:pointer;transition:opacity 180ms ease,transform 180ms ease}
.watch-player-watermark img{width:100%;height:100%;object-fit:contain}
.watch-player-watermark:hover{background:transparent;opacity:.32;transform:translateY(-50%) scale(1.04)}
.watch-player-watermark:focus-visible{z-index:2;border-radius:var(--radius-sm);outline:0;box-shadow:inset 0 0 0 2px var(--accent);opacity:.4}
.watch-player-main{position:relative;z-index:1;flex:0 1 calc(100% - 48px);max-width:calc(100% - 48px)}
.watch-player-card:not(:has(.watch-player-watermark)) .watch-player-main{flex:1;max-width:100%}
.fixture-card .match-meta .venue{margin-left:auto;white-space:nowrap}
@media(max-width:580px){.fixture-card .match-meta{flex-wrap:wrap}.fixture-card .match-meta .venue{margin-left:0;flex-basis:100%}}

/* Diurnal's daytime skin follows the brighter colors at the horizon. */
html[data-theme="diurnal"]{background-color:var(--bg-base);background-image:radial-gradient(ellipse at 12% -8%,color-mix(in srgb,var(--diurnal-sky) 82%,transparent),transparent 58%),radial-gradient(ellipse at 90% 18%,color-mix(in srgb,var(--diurnal-horizon) 78%,transparent),transparent 48%);background-attachment:fixed}
[data-theme="diurnal"] .page-heading{position:relative;isolation:isolate;overflow:hidden;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(112deg,color-mix(in srgb,var(--diurnal-sky) 72%,var(--bg-card)),color-mix(in srgb,var(--diurnal-horizon) 46%,var(--bg-card)) 48%,var(--bg-card) 88%)}
[data-theme="diurnal"] .fixture-card,[data-theme="diurnal"] .settings-grid>.settings-card,[data-theme="diurnal"] .watch-player-card{background:linear-gradient(135deg,var(--bg-card),color-mix(in srgb,var(--diurnal-sky) 34%,var(--bg-card)) 67%,color-mix(in srgb,var(--diurnal-horizon) 22%,var(--bg-card)))}
[data-theme="diurnal"] .section-title h2,[data-theme="diurnal"] .table-heading h2,[data-theme="diurnal"] .points-cell{color:var(--accent)}
[data-theme="diurnal"] .theme-group>h3,[data-theme="diurnal"] .league-section-heading>span{color:var(--accent-secondary)}
[data-theme="diurnal"] .fixture-card:hover,[data-theme="diurnal"] .settings-card:hover,[data-theme="diurnal"] .watch-player-card:hover{box-shadow:var(--shadow-glow);border-color:var(--border-accent)}

/* A time-aware sky on the app canvas, behind the page content and outside the page title. */
html[data-theme="diurnal"] .main{position:relative;z-index:2}
html[data-theme="diurnal"] .main>*{position:relative;z-index:1}
html[data-theme="diurnal"][data-diurnal-mode="light"] .main::after{content:"";position:fixed;z-index:0;top:118px;right:clamp(18px,4vw,70px);width:clamp(64px,7vw,96px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 36% 32%,#fffdf1 0 9%,#fff4bd 22%,#ffd876 54%,color-mix(in srgb,var(--diurnal-horizon) 66%,transparent) 67%,transparent 77%);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--diurnal-horizon) 58%,transparent));opacity:.78}
html[data-theme="diurnal"][data-diurnal-mode="dark"] .main::after{content:"";position:fixed;z-index:0;top:124px;right:clamp(22px,5vw,78px);width:clamp(54px,6vw,78px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:#e7edff;box-shadow:inset -15px -4px 0 1px var(--bg-base),0 0 26px color-mix(in srgb,var(--diurnal-sky) 58%,transparent);opacity:.9}
html[data-theme="diurnal"][data-diurnal-mode="dark"] .main::before{content:"";position:fixed;z-index:0;inset:64px 0 0;pointer-events:none;opacity:.5;background-image:radial-gradient(1px 1px at 7% 12%,#fff 98%,transparent),radial-gradient(1px 1px at 15% 31%,#e5eaff 98%,transparent),radial-gradient(1.5px 1.5px at 24% 15%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 34% 8%,#fff 98%,transparent),radial-gradient(1px 1px at 42% 26%,#e5eaff 98%,transparent),radial-gradient(1.5px 1.5px at 52% 13%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 64% 20%,#fff 98%,transparent),radial-gradient(1px 1px at 74% 9%,#e5eaff 98%,transparent),radial-gradient(1.5px 1.5px at 84% 29%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 94% 17%,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 11% 49%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 20% 63%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 30% 43%,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 39% 57%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 48% 72%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 58% 48%,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 68% 64%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 78% 51%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 88% 73%,#fff 98%,transparent),radial-gradient(1px 1px at 97% 58%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 5% 84%,#dbe2ff 98%,transparent),radial-gradient(1.5px 1.5px at 16% 92%,#fff 98%,transparent),radial-gradient(1px 1px at 27% 79%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 37% 88%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 47% 96%,#fff 98%,transparent),radial-gradient(1px 1px at 57% 83%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 67% 91%,#dbe2ff 98%,transparent),radial-gradient(1.5px 1.5px at 77% 82%,#fff 98%,transparent),radial-gradient(1px 1px at 87% 96%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 98% 89%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 3% 37%,#fff 98%,transparent),radial-gradient(1px 1px at 54% 35%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 72% 37%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 32% 67%,#fff 98%,transparent),radial-gradient(1px 1px at 62% 57%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 91% 43%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 25% 98%,#fff 98%,transparent),radial-gradient(1px 1px at 43% 42%,#e5eaff 98%,transparent),radial-gradient(1px 1px at 82% 9%,#dbe2ff 98%,transparent),radial-gradient(1px 1px at 9% 70%,#fff 98%,transparent);background-size:100% 100%;background-repeat:no-repeat}
.player-card{position:relative;isolation:isolate;overflow:hidden}
.player-card>img,.player-card-body{position:relative;z-index:1}.player-card>.club-badge{z-index:1}
.player-card-shirt-number{position:absolute;z-index:0;right:4px;top:50%;transform:translateY(-50%);padding:5px 8px 8px 0;pointer-events:none;color:var(--accent);-webkit-text-fill-color:var(--accent);opacity:.7;-webkit-mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);font:700 clamp(50px,4.2rem,68px)/1.15 var(--data-font);letter-spacing:-.09em;font-variant-numeric:tabular-nums}
.player-profile-hero-shirt-number{position:absolute;z-index:0;top:-8px;right:-15px;padding:5px 4px 8px 0;pointer-events:none;color:var(--accent);-webkit-text-fill-color:var(--accent);opacity:.7;-webkit-mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);text-shadow:0 1px 8px var(--bg-base);font:700 58px/1.15 var(--data-font);letter-spacing:-.09em;font-variant-numeric:tabular-nums}
.player-profile-hero-photo>img{z-index:1}
.player-profile-heading{position:relative;min-width:0;padding-right:132px}
.player-profile-market-value{position:absolute;top:50%;right:2px;transform:translateY(-50%);max-width:128px;overflow:hidden;padding:5px 0 7px;pointer-events:none;color:var(--accent);-webkit-text-fill-color:var(--accent);opacity:.7;-webkit-mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);mask-image:linear-gradient(157.5deg,#000 0%,#000 33%,transparent 100%);text-shadow:0 1px 8px var(--bg-base);font:700 27px/1.2 var(--data-font);letter-spacing:-.07em;white-space:nowrap;text-overflow:clip;font-variant-numeric:tabular-nums}
.team-hero .team-heading{flex:1;min-width:180px}.team-hero>.team-manager-actions{flex:0 0 auto}.team-manager-actions{display:flex;align-items:center;gap:10px}.manager-card{display:flex;align-items:center;gap:10px;min-width:190px;max-width:245px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.manager-photo{width:48px;height:54px;flex:none;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-card)}.manager-initials{display:grid;place-items:center;color:var(--accent);font:600 15px var(--data-font)}.manager-info{display:flex;flex-direction:column;min-width:0;gap:3px}.manager-info b{color:var(--text-primary);font-size:12px;line-height:1.25}.manager-info>small{color:var(--text-secondary);font-size:9px;line-height:1.3}.manager-info>small:first-child{color:var(--text-muted);font:9px var(--data-font);letter-spacing:.08em}
@media(max-width:760px){.team-manager-actions{width:100%;justify-content:flex-end}.manager-card{max-width:none;flex:1}}
.team-data-batch-progress{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle)}.team-data-batch-progress>b{display:block;margin-bottom:8px;color:var(--text-primary);font-size:12px}.team-data-batch-progress ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;max-height:360px;overflow:auto;margin:0;padding:0;list-style:none}.team-data-batch-progress li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px}.team-data-batch-progress li>a{color:inherit;text-decoration:none;border-radius:4px}.team-data-batch-progress li>a:hover{color:var(--text-primary);text-decoration:underline}.team-data-batch-progress li>a:focus-visible{outline:2px solid var(--border-accent);outline-offset:3px}.team-data-batch-progress li small{color:var(--text-muted);text-align:right}.team-data-batch-progress .team-data-check{color:var(--success);font-weight:700;font-size:16px;line-height:1}.team-data-batch-progress li.complete small{color:var(--success)}@media(max-width:640px){.team-data-batch-progress ul{grid-template-columns:1fr}}

/* Compact provider indicator; hover, focus, or tap reveals per-source health. */
.source-status{position:relative;z-index:20}
.source-status-trigger{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--text-secondary);font:600 10px var(--data-font);letter-spacing:.08em;transition:color 180ms ease,border-color 180ms ease,background 180ms ease}
.source-status-trigger:hover,.source-status-trigger:focus-visible{color:var(--text-primary);border-color:var(--border-accent);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}
.source-status-trigger svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.source-status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warning);box-shadow:0 0 8px var(--warning-soft)}
.source-status-dot.is-available{background:var(--success);box-shadow:0 0 8px var(--success-soft)}
.source-status-dot.is-pending{background:var(--warning);box-shadow:0 0 8px var(--warning-soft)}
.source-status-dot.is-unavailable{background:var(--danger);box-shadow:0 0 8px var(--danger-soft)}
.source-status-details{position:absolute;top:calc(100% + 10px);right:0;width:min(285px,calc(100vw - 24px));padding:9px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity 180ms ease,transform 180ms ease,visibility 180ms;letter-spacing:0}
.source-status:hover .source-status-details,.source-status:focus-within .source-status-details,.source-status.is-open .source-status-details{opacity:1;visibility:visible;transform:translateY(0)}
.source-status-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;min-height:37px;padding:0 9px;border-radius:var(--radius-md);color:var(--text-secondary);font:12px var(--font-primary);letter-spacing:0}
.source-status-row+.source-status-row{border-top:1px solid var(--border-subtle)}
.source-status-link{grid-template-columns:16px 1fr auto;text-decoration:none}
.source-status-link:hover{background:var(--bg-elevated);color:var(--text-primary)}
.source-status-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.source-status-emoji{width:16px;font-size:13px;line-height:1;text-align:center}
.source-status-name{color:var(--text-primary)}
.source-status-value{color:var(--text-secondary);font:10px var(--data-font);text-align:right}
.topbar{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.top-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-card)}
.top-nav .nav-item{position:relative;width:auto;height:34px;margin:0;padding:0 17px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font:500 13px var(--font-primary,Roboto),system-ui,sans-serif;text-align:center;transition:background 180ms ease,color 180ms ease,transform 180ms ease}
.top-nav .nav-item:hover{color:var(--text-primary);background:var(--bg-elevated)}
.top-nav .nav-item:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px}
.top-nav .nav-item.active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600;box-shadow:none}
.top-nav .nav-item.active::after{content:"";position:absolute;bottom:4px;left:50%;width:12px;height:2px;border-radius:var(--radius-pill);background:var(--accent);transform:translateX(-50%)}
.main{margin-left:0!important}
@media(max-width:580px){.topbar{gap:7px;padding:0 12px}.brand{gap:6px;font-size:15px;letter-spacing:-.5px}.brand-mark{width:23px;height:23px}.top-nav{position:static;left:auto;top:auto;transform:none;gap:1px;padding:3px;flex:none}.top-nav .nav-item{height:32px;padding:0 10px;font-size:12px}.top-meta{gap:5px}.avatar{margin-left:0;width:28px;height:28px}.main{margin-left:0!important}}

/* Transfermarkt biography and current-club card on player profiles. */
.player-hero .player-club-card{flex:none;width:min(225px,100%);min-height:108px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);text-align:left;cursor:pointer;transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
.player-club-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--border-accent);background:var(--bg-card)}
.player-club-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Account actions live in a compact profile dropdown in the top navigation. */
.profile-menu{position:relative;z-index:30;flex:none}
.profile-menu-trigger{display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}
.profile-menu-trigger:hover,.profile-menu.is-open .profile-menu-trigger{background:var(--bg-elevated);border-color:var(--border-accent);color:var(--text-primary);box-shadow:var(--shadow-glow)}
.profile-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.profile-menu-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.profile-menu-popover{position:absolute;top:calc(100% + 9px);right:0;display:none;min-width:176px;padding:6px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-md);}
.profile-menu.is-open .profile-menu-popover{display:grid;gap:3px}
.profile-menu-item{width:100%;min-height:38px;padding:9px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:500 13px var(--font-primary,Roboto),system-ui,sans-serif;text-align:left;cursor:pointer;transition:background-color 180ms ease,color 180ms ease}
.profile-menu-item:hover{background:var(--bg-elevated);color:var(--text-primary)}
.profile-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px;color:var(--text-primary)}
.profile-menu-item:disabled{opacity:.55;cursor:wait}
.auth-page .content{max-width:560px;padding-top:clamp(32px,8vh,76px)}
.auth-page .page-heading{margin-bottom:18px}
.auth-page-card{margin-inline:auto}
.auth-page-card h1{margin:8px 0 6px;color:var(--text-primary);font-size:22px;letter-spacing:-.02em}
.auth-page-card>p{min-height:0}
.player-club-card:disabled{cursor:default}
.player-club-card-label{color:var(--text-muted);font:10px var(--data-font);letter-spacing:.08em}
.player-club-card-main{display:flex;align-items:center;gap:11px;min-width:0}
.player-club-card-main img,.player-club-card-fallback{width:38px;height:38px;flex:none;object-fit:contain}
.player-club-card-fallback{display:grid;place-items:center;border-radius:50%;background:var(--bg-card);color:var(--text-secondary);font:600 10px var(--data-font)}
.player-club-card-main b{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis}
.player-club-card>small{color:var(--text-secondary);font-size:10px}
.player-profile-bio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.player-profile-photo{min-height:440px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.player-profile-photo img{display:block;width:100%;height:100%;max-height:620px;object-fit:contain;object-position:center top}
.player-profile-photo-unavailable{color:var(--text-muted);font-size:12px}
.player-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(68px,1fr);gap:10px}
.player-profile-fact{min-width:0;min-height:68px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.player-profile-fact>span{color:var(--text-muted);font:10px var(--data-font);letter-spacing:.04em;text-transform:uppercase}
.player-profile-fact>b{overflow-wrap:anywhere;color:var(--text-primary);font-size:12px;font-weight:500}
.player-profile-fact a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--border-default);text-underline-offset:2px}
.player-profile-fact a:hover{color:var(--accent)}
.player-social-links{display:flex;align-items:center;gap:7px}
.player-social-link{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary)}
.player-social-link:hover{border-color:var(--border-accent);background:var(--bg-elevated);color:var(--accent)}
.player-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.player-social-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:800px){.player-profile-bio-grid{grid-template-columns:1fr}.player-profile-photo{min-height:320px;max-height:440px}.player-profile-photo img{max-height:440px}}
@media(max-width:600px){.player-profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.player-profile-photo{min-height:280px}.player-hero .player-club-card{width:100%;max-width:none}.player-club-card-main{justify-content:flex-start}.player-profile-heading{padding-right:100px}.player-profile-market-value{max-width:96px;font-size:18px}}
@media(max-width:390px){.player-profile-details{grid-template-columns:1fr}}
.report-problem-footer{display:flex;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 20px 22px;text-align:center}
.report-problem-row{display:flex;align-items:center;justify-content:center;gap:12px}
.app-version-footer{color:var(--text-muted);font:500 10px Consolas,"Cascadia Code","JetBrains Mono","Fira Code",monospace;letter-spacing:.02em}
.report-problem-footer a{color:var(--text-secondary);font-size:12px;opacity:.5;text-decoration:none;transition:opacity 180ms ease,color 180ms ease}
.report-problem-footer a:hover{color:var(--text-primary);opacity:.8;text-decoration:underline;text-underline-offset:3px}
.report-problem-footer a:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:4px;opacity:1}
.report-problem-footer a[aria-disabled="true"]{cursor:pointer}
.report-problem-footer small{min-height:1em;color:var(--text-muted);font-size:10px}

/* Day clouds sit in their own fixed sky layer, behind page content and below the nav. */

.diurnal-cloud-layer{position:fixed!important;inset:64px 0 0;z-index:1!important;pointer-events:none;opacity:.94;background-image:url("/assets/diurnal-cloud-1.svg"),url("/assets/diurnal-cloud-2.svg"),url("/assets/diurnal-cloud-3.svg"),url("/assets/diurnal-cloud-4.svg"),url("/assets/diurnal-cloud-5.svg"),url("/assets/diurnal-cloud-6.svg"),url("/assets/diurnal-cloud-7.svg"),url("/assets/diurnal-cloud-8.svg"),url("/assets/diurnal-cloud-9.svg"),url("/assets/diurnal-cloud-10.svg");background-size:278px 100px,300px 116px,264px 160px,286px 95px,300px 148px,320px 118px,300px 100px,250px 116px,280px 140px,78px 68px;background-position:-4vw 3vh,41vw 17vh,calc(100% - 210px + 4vw) 34vh,2vw 46vh,36vw 55vh,calc(100% - 310px) 9vh,-3vw 81vh,44vw 75vh,calc(100% - 230px + 4vw) 70vh,61vw 35vh;background-repeat:no-repeat}

.match-actions{display:flex;flex-direction:column;align-items:center;gap:7px;margin-left:auto;flex:none}
.match-actions .expand-btn{margin-left:0}
.stream-btn{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--text-secondary);transition:all 180ms ease}
.stream-btn svg{width:12px;height:12px;fill:currentColor}
.stream-btn:hover{color:var(--accent);border-color:var(--border-accent);background:var(--bg-elevated);transform:translateY(-1px)}
.stream-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.match-stream-panel{grid-column:1/-1;min-width:0;padding:18px 20px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-card)}
.stream-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 12px;max-width:1040px;color:var(--text-primary);font-size:12px}
.stream-panel-heading>span,.stream-caption{color:var(--text-muted);font:10px var(--data-font),monospace}
.stream-video{width:min(100%,1040px);aspect-ratio:16/9;margin:0 auto;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-base)}
.stream-video iframe{display:block;width:100%;height:100%;border:0}
.stream-message{width:min(100%,1040px);min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:0 auto;padding:20px;border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;text-align:center}
.stream-message>b{color:var(--text-primary)}
.stream-caption{width:min(100%,1040px);margin:10px auto 0;text-align:right}
@media(max-width:580px){.match-stream-panel{padding:14px}.match-actions{gap:5px}.stream-btn,.match-actions .expand-btn{width:28px;height:28px}.stream-panel-heading{font-size:11px}}
.fixture-card .score{position:relative}
.fixture-card .score::before{content:"OUR PREDICTION";position:absolute;top:-13px;left:50%;transform:translateX(-50%);color:var(--text-muted);font:9px var(--data-font),monospace;letter-spacing:.07em;white-space:nowrap}

@keyframes fixture-live-pulse{
 0%,100%{border-color:color-mix(in srgb,var(--danger) 48%,var(--border-subtle));box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 0%,transparent)}
 50%{border-color:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 58%,transparent),0 0 18px color-mix(in srgb,var(--danger) 28%,transparent)}
}
@keyframes fixture-kickoff-pulse{
 0%,100%{border-color:color-mix(in srgb,var(--warning) 48%,var(--border-subtle));box-shadow:0 0 0 0 color-mix(in srgb,var(--warning) 0%,transparent)}
 50%{border-color:var(--warning);box-shadow:0 0 0 1px color-mix(in srgb,var(--warning) 58%,transparent),0 0 18px color-mix(in srgb,var(--warning) 28%,transparent)}
}
.fixture-card.match-live{animation:fixture-live-pulse 1.8s ease-in-out infinite}
.fixture-card.match-kickoff-soon{animation:fixture-kickoff-pulse 1.8s ease-in-out infinite}
[data-theme] .week-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
[data-theme] .week-controls>.week-navigation{display:flex;align-items:center;justify-self:start;gap:8px;min-width:0}
[data-theme] .week-controls>.week-navigation>strong{color:var(--text-primary);font:600 12px var(--data-font);white-space:nowrap}
[data-theme] .week-controls>.week-date-range{justify-self:center;color:var(--text-secondary);font:11px var(--data-font);white-space:nowrap}
[data-theme] .week-controls>small{margin-left:0;justify-self:end;white-space:nowrap}
@media(max-width:580px){[data-theme] .week-controls{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px}[data-theme] .week-controls>.week-date-range{grid-column:1/-1;grid-row:2;justify-self:center}[data-theme] .week-controls>small{grid-column:2;grid-row:1;justify-self:end;font-size:9px}[data-theme] .week-controls>.week-navigation{gap:5px}[data-theme] .week-controls>.week-navigation>strong{font-size:10px}[data-theme] .week-controls button{width:30px}}
.brand-group{position:relative;display:flex;align-items:center;height:100%;flex:none}
.todo-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(340px,calc(100vw - 24px));padding:16px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-glass);backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);color:var(--text-secondary);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity 180ms ease,transform 180ms ease,visibility 180ms;}
.version-todo{position:relative;display:inline-flex;align-items:center}
.version-todo::after{content:"";position:absolute;right:0;bottom:100%;width:100%;height:8px}
.version-todo .todo-popover{top:auto;left:auto;right:0;bottom:calc(100% + 8px);transform:translateY(5px)}
.version-todo:hover .todo-popover,.version-todo:focus-within .todo-popover{opacity:1;visibility:visible;transform:translateY(0)}
.app-version-footer{padding:0;border:0;background:none;cursor:help}
.app-version-footer:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:4px}
.todo-popover>b{color:var(--text-primary);font:600 12px var(--font-primary)}
.todo-popover ul{list-style:none;margin:11px 0 0;padding:0}
.todo-popover li{display:flex;flex-direction:column;gap:6px;padding:11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card)}
.todo-popover li strong{color:var(--text-primary);font-size:11px}
.todo-popover li span{font-size:10px;line-height:1.55;color:var(--text-secondary)}
@media(prefers-reduced-motion:reduce){.todo-popover{transition:none}}
.auth-form{display:grid;gap:12px;margin-top:16px}.auth-form .setting-field{max-width:none}.auth-form input,.profile-name-field input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font:14px var(--font-primary)}.auth-form input::placeholder{color:var(--text-muted)}.auth-form input:focus-visible,.profile-name-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.auth-form .setting-actions{margin-top:2px}.auth-form button:disabled{opacity:.55;cursor:not-allowed}.account-card .auth-message{min-height:0;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);font-size:12px}.sign-in-placeholder{cursor:pointer;color:var(--text-secondary);transition:all 180ms ease}.sign-in-placeholder:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-accent)}.sign-in-placeholder:focus-visible,.auth-form button:focus-visible,.account-card [data-logout]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:580px){.auth-form .setting-actions{align-items:stretch;flex-direction:column}.auth-form .setting-actions button{width:100%}}

/* Friends and direct chat use the same theme tokens and surfaces as the rest of the app. */
.top-nav .nav-item[data-friends-nav]{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.friends-nav-count{min-width:17px;height:17px;display:inline-grid;place-items:center;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent);color:var(--text-on-accent);font:600 9px var(--data-font);font-style:normal}
.friends-page .content{max-width:1240px}
.friends-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:14px 0 22px}
.friends-heading h1{margin:6px 0;color:var(--text-primary);font-size:clamp(26px,4vw,34px);letter-spacing:-.03em}
.friends-heading p{margin:0;color:var(--text-secondary);font-size:13px}
.friends-heading-stat{min-width:96px;display:grid;gap:2px;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-card);text-align:center}
.friends-heading-stat b{color:var(--accent);font:600 24px var(--data-font)}
.friends-heading-stat span{color:var(--text-muted);font:10px var(--data-font);letter-spacing:.08em}
.friends-tabs{display:flex;gap:6px;width:max-content;max-width:100%;margin-bottom:16px;padding:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-card)}
.friends-tab{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font:500 12px var(--font-primary,Roboto),system-ui,sans-serif;cursor:pointer;transition:background 180ms ease,color 180ms ease}
.friends-tab:hover,.friends-tab.active{background:var(--bg-elevated);color:var(--text-primary)}
.friends-tab.active{box-shadow:inset 0 -2px var(--accent)}
.friends-tab:focus-visible,.friends-add-link:focus-visible,.friend-list-item:focus-visible,.friend-reaction:focus-visible,.friend-add-reaction:focus-visible,.friend-message-emotes button:focus-visible,.friend-emote-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.friends-tab>span{min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent-glow);color:var(--accent);font:600 9px var(--data-font)}
.friends-workspace{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px;min-height:620px}
.friends-panel{min-width:0;padding:20px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-md)}
.friends-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.friends-panel-heading h2{margin:6px 0 3px;color:var(--text-primary);font-size:16px;letter-spacing:-.02em}
.friends-panel-heading p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.5}
.friends-add-link{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border-default);border-radius:50%;background:var(--bg-elevated);color:var(--text-primary);font-size:19px;cursor:pointer;transition:all 180ms ease}
.friends-add-link:hover{border-color:var(--border-accent);color:var(--accent);transform:translateY(-1px)}
.friend-list{display:grid;gap:5px}
.friend-list-item{width:100%;min-width:0;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;transition:background 180ms ease,border-color 180ms ease}
.friend-list-item:hover,.friend-list-item.selected{border-color:var(--border-subtle);background:var(--bg-elevated)}
.friend-list-item.selected{border-color:var(--border-accent)}
.friend-avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid var(--border-default);border-radius:50%;background:var(--accent-glow);color:var(--accent);font:600 11px var(--data-font);letter-spacing:.02em}
.friend-avatar.small{width:28px;height:28px}
.friend-list-copy{min-width:0;display:grid;gap:4px;flex:1}
.friend-list-copy b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.friend-list-copy small{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.friend-unread-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-glow)}
.friend-chat-panel{min-height:620px;display:flex;flex-direction:column;padding:0;overflow:hidden}
.friend-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;color:var(--text-secondary);text-align:center}
.friend-chat-empty-mark{width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--border-accent);border-radius:50%;background:var(--accent-glow);color:var(--accent);font:600 14px var(--data-font);box-shadow:var(--shadow-glow)}
.friend-chat-empty>b{color:var(--text-primary);font-size:14px}
.friend-chat-empty>p{max-width:330px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.6}
.friend-chat-empty.compact{min-height:100%;gap:5px}
.friend-chat-empty.compact>b{font-size:12px}
.friend-chat-empty.compact>p{font-size:11px}
.friend-chat-header{min-height:70px;display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-subtle);background:var(--bg-glass)}
.friend-chat-header>div{min-width:0;display:grid;gap:4px;flex:1}
.friend-chat-header>div b{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.friend-chat-header>div span{color:var(--text-muted);font-size:10px}
.friend-remove-chat{flex:none;font-size:11px}
.friend-chat-thread{min-height:0;display:flex;flex:1;flex-direction:column;gap:13px;overflow:auto;padding:18px;overscroll-behavior:contain}
.friend-message{width:min(82%,560px);align-self:flex-start;padding:11px 13px;border:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;background:var(--bg-elevated);color:var(--text-primary);overflow-wrap:anywhere}
.friend-message.mine{align-self:flex-end;border-color:var(--border-accent);border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}
.friend-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.friend-message-meta b{color:var(--text-secondary);font-size:10px}
.friend-message-meta time{color:var(--text-muted);font:9px var(--data-font)}
.friend-message>p{margin:0;color:var(--text-primary);font-size:12px;line-height:1.55;white-space:normal}
.friend-message-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.friend-reaction,.friend-add-reaction{min-height:25px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--text-secondary);font:11px var(--font-primary,Roboto),system-ui,sans-serif;cursor:pointer}
.friend-reaction:hover,.friend-add-reaction:hover,.friend-reaction.selected{border-color:var(--border-accent);color:var(--accent)}
.friend-reaction span{font:9px var(--data-font)}
.friend-add-reaction{width:25px;padding:0;font-size:14px}
.friend-message-emotes{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;padding:7px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card)}
.friend-message-emotes[hidden],.friend-emote-picker[hidden]{display:none}
.friend-message-emotes button,.friend-emote-picker button{width:30px;height:30px;border:0;border-radius:var(--radius-sm);background:transparent;font-size:16px;cursor:pointer}
.friend-message-emotes button:hover,.friend-emote-picker button:hover{background:var(--bg-elevated)}
.friend-composer{padding:12px 16px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-card)}
.friend-composer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.friend-composer-tools>.text-button{padding:4px 0;font-size:11px}
.friend-composer-tools>span{color:var(--text-muted);font-size:9px}
.friend-emote-picker{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px;padding:5px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}
.friend-composer-row{display:flex;align-items:flex-end;gap:9px}
.friend-composer textarea,.friend-search-form input{min-width:0;flex:1;padding:11px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font:12px/1.5 var(--font-primary,Roboto),system-ui,sans-serif;resize:vertical}
.friend-composer textarea{min-height:46px;max-height:150px}
.friend-composer textarea::placeholder,.friend-search-form input::placeholder{color:var(--text-muted)}
.friend-composer textarea:focus-visible,.friend-search-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--border-accent);box-shadow:var(--shadow-glow)}
.friend-send-button{width:44px;height:44px;display:grid;place-items:center;flex:none;padding:0}
.friend-send-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.friend-send-button:disabled{opacity:.5;cursor:not-allowed}
.friend-search-form{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated)}
.friend-search-form>span{padding-left:5px;color:var(--text-muted);font-size:21px}
.friend-search-form input{padding:8px;border:0;background:transparent;outline:none!important;box-shadow:none!important}
.friend-search-form .outline-btn{flex:none;padding:9px 15px}
.friend-search-results,.friend-request-list{display:grid;gap:7px;margin-top:14px}
.friend-search-card,.friend-request-card{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}
.friend-request-identity{min-width:0;display:grid;gap:4px;flex:1}
.friend-request-identity b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.friend-request-identity span{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.friend-search-card .primary-btn,.friend-request-card .primary-btn{padding:9px 15px;font-size:11px}
.friend-pending-label{flex:none;padding:6px 9px;border-radius:var(--radius-pill);background:var(--accent-glow);color:var(--accent);font:10px var(--data-font)}
.friends-request-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.friends-count{min-width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary);font:11px var(--data-font)}
.friends-empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px;text-align:center}
.friends-empty>b{color:var(--text-primary);font-size:12px}
.friends-empty>p{max-width:230px;margin:0 0 4px;color:var(--text-secondary);font-size:11px;line-height:1.5}
.friend-empty-ball{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:50%;background:var(--bg-elevated);font-size:19px}
.friends-empty-inline{margin:10px 0;padding:13px;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:11px;text-align:center}
.friends-notice,.friends-error{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:11px}
.friends-error{border-color:color-mix(in srgb,var(--danger) 35%,var(--border-subtle));color:var(--danger)}
.chat-notice{margin:0 16px 10px}
.friends-loading{min-height:230px;display:flex;align-items:center;justify-content:center;gap:11px;color:var(--text-secondary);font-size:12px}
.friends-spinner{width:18px;height:18px;border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:friends-spin .8s linear infinite}
@keyframes friends-spin{to{transform:rotate(360deg)}}
.friends-signin{max-width:500px;display:flex;flex-direction:column;align-items:center;gap:10px;margin:50px auto;padding:36px;text-align:center}
.friends-signin h1{margin:2px 0;color:var(--text-primary);font-size:22px}
.friends-signin p{max-width:340px;margin:0 0 8px;color:var(--text-secondary);font-size:12px;line-height:1.6}
.friends-signin .text-button{padding:5px}
@media(max-width:800px){.friends-workspace{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.friends-request-columns{grid-template-columns:1fr}}
@media(max-width:580px){.top-nav .nav-item[data-friends-nav]{gap:4px}.friends-page .content{padding-top:22px}.friends-heading{align-items:center;margin:9px 0 16px}.friends-heading p{max-width:250px;font-size:11px}.friends-heading-stat{min-width:67px;padding:9px}.friends-heading-stat b{font-size:19px}.friends-tabs{width:100%;justify-content:space-between}.friends-tab{flex:1;justify-content:center;padding:0 7px;font-size:10px}.friends-workspace{grid-template-columns:1fr;gap:10px}.friend-list-panel{padding:14px}.friend-chat-panel{min-height:68vh;height:68vh}.friend-chat-thread{padding:13px}.friends-panel{padding:15px}.friend-chat-panel{padding:0}.friend-chat-header{padding:12px}.friend-composer{padding:10px}.friend-message{width:92%}.friend-search-form{gap:5px}.friend-search-form .outline-btn{padding:8px 10px}.friend-search-card,.friend-request-card{flex-wrap:wrap}.friend-search-card .friend-request-identity,.friend-request-card .friend-request-identity{min-width:calc(100% - 60px)}.friend-search-card>button,.friend-request-card>button,.friend-search-card>.friend-pending-label,.friend-request-card>.friend-pending-label{margin-left:48px}.friend-request-columns{gap:10px}}
@media(prefers-reduced-motion:reduce){.friends-spinner{animation:none}.friends-tab,.friend-list-item,.friends-add-link{transition:none}}
