/* Canadiens home: static jersey colors, large broadcast type and no moving texture. */
.habs-brand,.habs-insights{display:none}
.home-mode-options{border-top:1px solid #33484d;margin-top:14px;padding-top:12px}.home-mode-options>b{display:block;font-size:15px;color:#a5bcc5;letter-spacing:.1em;margin-bottom:7px}
.home-mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.home-mode-buttons button{font:600 19px BoardCondensed,'Arial Narrow',Arial,sans-serif;padding:8px 6px;background:#14242a;color:#c1d1d8;border:1px solid #42606d;border-radius:3px;cursor:pointer}.home-mode-buttons button[aria-pressed="true"]{background:#982b42;border-color:#ed758b;color:white}
body[data-home-mode="canadiens"][data-active-page="home"]{background:radial-gradient(ellipse at 12% 0,#72203b55,transparent 55%),radial-gradient(ellipse at 90% 90%,#153c7755,transparent 60%),#070d1c}
body[data-home-mode="canadiens"] .app{--line:#334c76;--panel:#0e1d37;--panel2:#122648;--text:#f5f7fc;--muted:#b3c2d9;--mtl:#d7304b;--tor:#24529a;--good:#8ce0ca;--warn:#ffd29b;--live:#ffc58f}
body[data-home-mode="canadiens"] .app .topbar{gap:12px}
body[data-home-mode="canadiens"] .habs-brand{display:flex;align-items:center;gap:16px;align-self:stretch;flex:0 0 470px;min-width:0;border:1px solid #963747;border-radius:5px;background:linear-gradient(112deg,#a51c33,#771a32 65%,#192b54);position:relative;overflow:hidden;padding:7px 18px 9px}
body[data-home-mode="canadiens"] .habs-brand:after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(to bottom,#f1e9e9 0 2px,#16376c 2px 6px)}
.habs-brand img{width:104px;height:65px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 2px #0006)}
.habs-wordmark{font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif;line-height:1;white-space:nowrap;color:#fff}.habs-wordmark strong{font-size:42px;letter-spacing:.05em;font-weight:800;display:block;text-shadow:2px 2px 0 #173865,-1px -1px 0 #eaccd4}.habs-wordmark span{font-size:19px;letter-spacing:.24em;display:block;margin-top:4px;color:#efe5e9}
body[data-home-mode="canadiens"] .topbar>.motorsport{display:none}
body[data-home-mode="canadiens"] .topbar>.newsbar{flex:1;min-width:0;height:80px;background:linear-gradient(120deg,#132747,#0c1528);border-color:#415b83;border-radius:5px}
body[data-home-mode="canadiens"] .newsbadge{background:#102346;border-right-color:#38547d}.habs-wordmark small{display:none}
body[data-home-mode="canadiens"] .newsbadge .dot{background:#ee647b}
body[data-home-mode="canadiens"] .newsbadge b{color:#fff}
body[data-home-mode="canadiens"] .headline-label{color:#ffb6c5;font-size:15px}
body[data-home-mode="canadiens"] .headline-text{font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif;font-size:24px;line-height:26px;color:#fff}
body[data-home-mode="canadiens"] #mlbSection{display:none}
body[data-home-mode="canadiens"] .grid,html.tv-mode body[data-home-mode="canadiens"] .grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}
body[data-home-mode="canadiens"] #nhlSection{display:grid;grid-template-rows:226px 92px minmax(0,1fr);gap:8px}
body[data-home-mode="canadiens"] #nhlHero{grid-row:1;min-height:0;flex:auto!important;height:226px;padding:10px 15px;background:linear-gradient(115deg,#193968d9,transparent 60%),linear-gradient(160deg,#122440,#0b1528);border-color:#567297;border-top:3px solid #d6304c;border-radius:5px}
body[data-home-mode="canadiens"] #nhlHero:after{background:linear-gradient(115deg,#91afd409,transparent),repeating-linear-gradient(125deg,transparent 0 3px,#9fbbe505 3px 4px,transparent 4px 7px)}
body[data-home-mode="canadiens"] #nhlHero .teamhead{border-color:#476086}
body[data-home-mode="canadiens"] #nhlHero .league{color:#ffd6df;font-size:19px!important}
body[data-home-mode="canadiens"] #nhlHero .badge{border-color:#7589a9;color:#f6edf2;background:#09172b}
body[data-home-mode="canadiens"] #nhlHero .badge.live{background:#ad233e;border-color:#ee627b;color:white}
body[data-home-mode="canadiens"] #nhlHero .club{grid-template-columns:100px minmax(0,1fr);gap:3px 9px}
body[data-home-mode="canadiens"] #nhlHero .club img{width:100px!important;height:103px!important;transform:scale(1.2)}
body[data-home-mode="canadiens"] #nhlHero .club .small{font-size:24px!important;line-height:1.04;text-shadow:0 2px 2px #071225}
body[data-home-mode="canadiens"] #nhlHero .score{font-size:80px!important;text-shadow:2px 3px #16335b}
body[data-home-mode="canadiens"] #nhlHero .meta strong{font-size:24px!important;color:#fff3e5}
body[data-home-mode="canadiens"] #nhlHero .statusline{font-size:19px;color:#d6e4f9}
body[data-home-mode="canadiens"] #nhlUpcoming{grid-row:2;height:92px;min-height:0;display:grid;background:#101e37;border-color:#354e76;padding:7px 11px}
body[data-home-mode="canadiens"] #nhlUpcoming .uprow{background:#122846;border-color:#314e79}
body[data-home-mode="canadiens"] #nhlLivePane{grid-row:2;height:92px;min-height:0;padding:7px 10px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:10px;background:linear-gradient(110deg,#361e35,#111f3a);border-color:#78506a;border-radius:5px}
body[data-home-mode="canadiens"] #nhlLivePane[hidden]{display:none}
body[data-home-mode="canadiens"] #nhlLivePane .livehead{display:none}
body[data-home-mode="canadiens"] #nhlLivePane .statstrip{margin:0;gap:5px;align-self:stretch}
body[data-home-mode="canadiens"] #nhlLivePane .statbox{background:#132641;border-color:#41597c;border-radius:3px;padding:9px 3px 5px;height:76px}
body[data-home-mode="canadiens"] #nhlLivePane .statbox .k{font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif;font-size:14px;line-height:15px;white-space:nowrap;letter-spacing:.02em;color:#d0dcef}body[data-home-mode="canadiens"] #nhlLivePane .statbox .v{font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif}
body[data-home-mode="canadiens"] #nhlLivePane .statbox .v{font-size:34px;line-height:35px;color:#fff}
body[data-home-mode="canadiens"] #nhlLivePane .eventfeed{display:flex;flex-direction:column;justify-content:center;gap:3px;margin:0;min-width:0}
body[data-home-mode="canadiens"] #nhlLivePane .eventrow{padding:1px 4px;min-height:22px;font-size:16px;line-height:18px;border-color:#395074;gap:6px;background:#11233c}
body[data-home-mode="canadiens"] #nhlLivePane .eventtag{font-size:10px;line-height:12px;padding:1px 4px}body[data-home-mode="canadiens"] #nhlLivePane .eventtext{min-width:0}
body[data-home-mode="canadiens"] #nhlLivePane .eventmeta{font-size:12px;white-space:nowrap}
body[data-home-mode="canadiens"] .grid.single-nhl-live #nhlUpcoming,body[data-home-mode="canadiens"] .grid.dual-live #nhlUpcoming{display:none}
body[data-home-mode="canadiens"] #nhlStandings{grid-row:3;min-height:0;padding:9px 12px;background:linear-gradient(120deg,#14244088,transparent 70%),#0d172b;border-color:#3b547c;border-top:2px solid #24477b}
body[data-home-mode="canadiens"] #nhlStandings .sectitle{color:#ffceda;font-size:19px!important}
body[data-home-mode="canadiens"] #nhlStandings th:nth-child(2){width:250px}
body[data-home-mode="canadiens"] #nhlStandings th{font-size:12px;color:#acc4e7}
body[data-home-mode="canadiens"] #nhlStandings td{font-size:21px;line-height:26px;height:29px;padding:1px 3px}
body[data-home-mode="canadiens"] #nhlStandings .trteam img{width:24px;height:24px}
body[data-home-mode="canadiens"] #nhlStandings .mine-mtl{background:linear-gradient(90deg,#a52540d9,#5a243d88);color:white}
body[data-home-mode="canadiens"] #nhlStandings .mine-mtl td:first-child{border-left:3px solid #ff8da3}
body[data-home-mode="canadiens"] #nhlStandings .offlive{display:block!important;flex:0 0 auto;margin-top:6px;padding-top:6px;border-color:#385079}
body[data-home-mode="canadiens"] #nhlStandings .recent-card{background:#172847;border-color:#385580;border-radius:3px;padding:4px 7px!important}
body[data-home-mode="canadiens"] .recent-card .res.win{color:#93e2cd}body[data-home-mode="canadiens"] .recent-card .res.loss{color:#ff819d}
body[data-home-mode="canadiens"] .todaybar{background:linear-gradient(90deg,#701e34 0,#18355c 30%,#102039 65%);border-color:#45638a;border-top:3px solid #edcfd8}
body[data-home-mode="canadiens"] .todaygame{background:#0e213dda;border-color:#3f5c84}
body[data-home-mode="canadiens"] .todaystatus{font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif;font-size:21px!important}
body[data-home-mode="canadiens"] .todaylabel{font-size:25px!important;line-height:24px}
body[data-home-mode="canadiens"] .home-page-tools{gap:0}
body[data-home-mode="canadiens"] .home-page-tools .rotation-toggle{line-height:17px}
html.tv-mode body[data-home-mode="canadiens"] .todaybar{padding-top:5px;padding-bottom:5px}
body[data-home-mode="canadiens"] .rotation-toggle{color:#ffd6e1}
body[data-home-mode="canadiens"] .page-launch .menu-icon{color:#ffd6e1}
body[data-home-mode="canadiens"] .habs-insights{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 210px;gap:8px;min-width:0;min-height:0;font-family:BoardCondensed,'Arial Narrow',Arial,sans-serif}
.habs-panel{position:relative;min-height:0;min-width:0;overflow:hidden;border:1px solid #3e5780;border-top:3px solid #c3314c;border-radius:5px;padding:8px 12px;background:linear-gradient(115deg,#142a4f70,transparent 65%),#0e192f;box-shadow:inset 0 1px #e0eeff0a}
.habs-panel.league-leaders{border-top-color:#416eb3;background:linear-gradient(115deg,#1b376040,transparent 65%),#0c192e}
.habs-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px}
.habs-panel-head h2{font-size:24px;line-height:26px;text-transform:uppercase;letter-spacing:.04em;margin:0;color:#f4f5fc;font-weight:700}
.habs-panel-head h2 span{color:#f2a4b6}.habs-tabs{display:flex;gap:4px}
.habs-tabs button{font:600 16px BoardCondensed,'Arial Narrow',Arial,sans-serif;min-width:34px;padding:2px 7px;color:#b5c9e6;background:#142745;border:1px solid #3e567d;border-radius:3px;cursor:pointer}
.habs-tabs button[aria-pressed="true"]{color:white;background:#b82743;border-color:#eb7d93}.league-leaders .habs-tabs button[aria-pressed="true"]{background:#254f8d;border-color:#729ad4}
.habs-season-label{color:#adc1df;font-size:14px;line-height:17px;letter-spacing:.03em;white-space:nowrap}
.habs-player-table{width:100%;display:grid;grid-template-columns:1fr;gap:0;margin-top:4px;min-width:0}
.habs-player-header,.habs-player-row{display:grid;grid-template-columns:20px 42px minmax(0,1fr) 36px 36px 47px;gap:8px;align-items:center}
.habs-player-header{height:18px;font-size:12px;letter-spacing:.07em;color:#aac0de;text-align:right}.habs-player-header .player-label{grid-column:1/4;text-align:left}
.habs-player-row{height:31px;font-size:22px;border-top:1px solid #2e456780;font-weight:600}
.habs-player-row:first-of-type{background:linear-gradient(90deg,#671f3570,transparent)}
.habs-player-row .rank{font-size:15px;color:#a9bfdc;text-align:left}.habs-player-row .stat{font-variant-numeric:tabular-nums;text-align:right;line-height:1}.habs-player-row .featured{color:#ffbed0;font-size:26px;font-weight:700}
.habs-avatar{width:39px;height:30px;position:relative;align-self:end;overflow:hidden;display:block;background:linear-gradient(150deg,#1c3a63,#192740);border-radius:4px 4px 0 0}
.habs-avatar .avatar-initials{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#bfd2ef;font-weight:500}
.habs-avatar img{position:relative;z-index:1;height:100%;width:100%;object-fit:cover;object-position:center top;display:block}
.habs-avatar img.failed{display:none}
.habs-player-name{font-size:22px;line-height:24px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.habs-player-name small{font-size:14px;color:#a9bfdf;margin-left:6px;font-weight:500}
.league-leaders .habs-player-header,.league-leaders .habs-player-row{grid-template-columns:20px 42px minmax(0,1fr) 30px 42px 50px}
.league-leaders .habs-player-header .player-label{grid-column:1/4}
.league-leaders .team-logo{width:28px;height:25px;object-fit:contain}.league-leaders .team-abbr{font-size:16px;color:#aec7e6;text-align:center}.league-leaders .featured{color:#a4ceff}
.habs-empty{display:flex;align-items:center;justify-content:center;min-height:130px;font-size:20px;line-height:1.3;text-align:center;color:#a8bedd;padding:14px}
.habs-team-stats{border-top-color:#b62e49;padding:7px 12px}
.habs-team-stats .habs-panel-head h2{font-size:22px}.habs-data-status{font-size:12px;line-height:14px;color:#b6cce7;text-align:right;max-width:260px}.habs-data-status.stale{color:#f3c784}
.habs-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:7px 0 8px}
.habs-metric{background:linear-gradient(150deg,#1a3257,#12233d);border:1px solid #2f4b73;border-radius:3px;text-align:center;min-width:0;padding:4px 3px 6px}
.habs-metric span{font-size:12px;line-height:14px;letter-spacing:.04em;color:#bdcfe9;display:block}.habs-metric strong{font-size:28px;line-height:29px;letter-spacing:.01em;color:#fff;display:block;font-weight:700;font-variant-numeric:tabular-nums}
.habs-goalies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.habs-goalie{display:grid;grid-template-columns:44px minmax(0,1fr);gap:7px;border-top:1px solid #3f587e;padding-top:5px;min-width:0}
.habs-goalie .habs-avatar{width:43px;height:48px;align-self:center}.habs-goalie-name{font-size:21px;line-height:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.habs-goalie-line{display:flex;gap:12px;color:#b8cde9;font-size:13px;line-height:19px;white-space:nowrap}.habs-goalie-line b{font-size:20px;color:#fff;margin-right:3px;font-weight:700}
.habs-stats-period{font-size:13px;line-height:15px;color:#a9bed9;margin-top:4px;white-space:nowrap}
@media(max-width:699px) and (orientation:portrait){
 body[data-home-mode="canadiens"] .app{display:flex;flex-direction:column;height:auto;min-height:100vh}
 body[data-home-mode="canadiens"] .app .topbar{display:flex;flex-direction:column;height:auto;gap:8px;align-items:stretch}
 body[data-home-mode="canadiens"] .habs-brand{flex:0 0 78px;padding-left:12px;gap:10px}.habs-brand img{width:85px}.habs-wordmark strong{font-size:35px}.habs-wordmark span{font-size:16px}
 body[data-home-mode="canadiens"] .topbar>.newsbar{flex:0 0 80px;width:100%}
 body[data-home-mode="canadiens"] .grid{display:flex;flex-direction:column}
 body[data-home-mode="canadiens"] #nhlSection{grid-template-rows:250px 95px auto}
 body[data-home-mode="canadiens"] #nhlHero{height:250px}body[data-home-mode="canadiens"] #nhlHero .match{min-width:0}
 body[data-home-mode="canadiens"] #nhlHero .club{display:block;text-align:center}body[data-home-mode="canadiens"] #nhlHero .club img{max-width:100%}
 body[data-home-mode="canadiens"] #nhlHero .club .small{font-size:18px!important}
 body[data-home-mode="canadiens"] #nhlHero .meta strong{font-size:18px!important}
 body[data-home-mode="canadiens"] #nhlLivePane{grid-template-columns:125px minmax(0,1fr)}
 body[data-home-mode="canadiens"] #nhlLivePane .statstrip{grid-template-columns:1fr 1fr}body[data-home-mode="canadiens"] #nhlLivePane .statstrip>.statbox:nth-child(2){display:none}
 body[data-home-mode="canadiens"] #nhlStandings{overflow:visible;min-height:360px}body[data-home-mode="canadiens"] #nhlStandings th:nth-child(2){width:42%}
 body[data-home-mode="canadiens"] #nhlStandings td{font-size:16px}body[data-home-mode="canadiens"] #nhlStandings .trteam{gap:3px}
 body[data-home-mode="canadiens"] .habs-insights{grid-template-rows:246px 246px 242px}
 .habs-player-name{font-size:19px}.habs-player-name small{display:none}.habs-player-header,.habs-player-row{grid-template-columns:14px 33px minmax(0,1fr) 28px 28px 32px;gap:4px}
 .league-leaders .habs-player-header,.league-leaders .habs-player-row{grid-template-columns:14px 33px minmax(0,1fr) 23px 30px 37px;gap:4px}
 .habs-avatar{width:32px}.habs-panel-head h2{font-size:21px}.habs-season-label{font-size:12px}.habs-metrics{gap:3px}.habs-metric strong{font-size:23px}.habs-metric span{font-size:10px}
 .habs-goalies{gap:8px}.habs-goalie{grid-template-columns:1fr}.habs-goalie .habs-avatar{display:none}.habs-goalie-name{font-size:18px}.habs-goalie-line{gap:5px;font-size:10px}.habs-goalie-line b{font-size:16px}
 .habs-team-stats .habs-panel-head{align-items:start}.habs-data-status{font-size:10px;max-width:140px}.habs-stats-period{font-size:11px;white-space:normal}
}
