/* Adaptive laptop workspace. Phone presentation remains in mobile.css. */
@media(min-width:901px){
.site-shell:not(.is-phone){--desk-text:clamp(12px,.9vw,16px);--desk-small:clamp(9px,.68vw,12px);--desk-label:clamp(8px,.61vw,11px);--desk-title:clamp(33px,2.9vw,54px);--desk-figure:clamp(25px,2vw,38px);--desk-gap:clamp(12px,1.15vw,24px);--desk-pad:clamp(16px,1.4vw,30px);--season-tracks:22px minmax(95px,1fr) minmax(224px,1.65fr) 12px}
.site-shell:not(.is-phone){grid-template-rows:clamp(58px,7.8dvh,78px) minmax(0,1fr)}
.site-shell:not(.is-phone) .site-nav{padding-inline:var(--desk-pad);gap:clamp(10px,1vw,24px);min-width:0}
.site-shell:not(.is-phone) .site-nav nav{gap:clamp(6px,.8vw,19px);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.site-shell:not(.is-phone) .site-nav nav>button{font-size:clamp(9px,.68vw,13px);flex:none;min-height:42px}
.site-shell:not(.is-phone) .site-league,.site-shell:not(.is-phone) .site-signout{font-size:var(--desk-small)}
.site-shell:not(.is-phone) .engraved-label{font-size:var(--desk-label);line-height:1.5}
/* Season: give useful width to scores and grow typography, not empty columns. */
.site-shell .season-dashboard{grid-template-columns:clamp(210px,20vw,350px) minmax(300px,.72fr) minmax(0,1.28fr);grid-template-rows:minmax(0,1fr);gap:var(--desk-gap);padding:var(--desk-pad);height:100%;overflow:hidden}
.site-shell .rail-heading h1,.site-shell .field-heading h2,.site-shell .event-dash-title h2{font-size:var(--desk-title);line-height:1.03}
.site-shell .rail-heading>span:last-child{font-size:var(--desk-label);line-height:1.6}
.site-shell .rail-heading{padding-bottom:clamp(12px,2dvh,24px)}
.site-shell .circuit-card,.site-shell .circuit-card.calendar-rail-card{grid-template-columns:46px minmax(0,1fr) clamp(42px,4vw,64px);gap:9px;min-height:clamp(82px,10dvh,112px);padding:12px 6px}
.site-shell .circuit-card h2{font-size:clamp(22px,1.8vw,34px);line-height:1.05}
.site-shell .circuit-card span,.site-shell .calendar-rail-card small{font-size:var(--desk-label);line-height:1.55}
.site-shell .circuit-card>b.competition-type-label{font-size:var(--desk-label)}
.site-shell .circuit-card img{display:block;width:100%;height:clamp(48px,6dvh,70px);object-fit:cover}
.site-shell .rail-foot{font-size:var(--desk-label);line-height:1.5}
.site-shell .event-dashboard{display:block;overflow-y:auto;min-height:0;padding-right:0}
.site-shell .event-dash-title{padding:0 0 12px}
.site-shell .event-dash-title .season-event-name,.site-shell .calendar-event-detail .season-event-name{font-size:clamp(24px,2vw,36px);margin:8px 0}
.site-shell .event-dash-title p{font-size:var(--desk-text);line-height:1.5}
.site-shell .event-dash-title p>span{font-size:var(--desk-small)}
.site-shell .event-dashboard .city-poster-frame{height:clamp(150px,calc(100dvh - 720px),330px);min-height:150px;flex:none}
.site-shell .city-poster-frame figcaption{font-size:var(--desk-label);padding:7px}
.site-shell .event-figure-strip{padding:12px 0;gap:10px}
.site-shell .event-figure-strip b{font-size:clamp(29px,2.4vw,44px)}
.site-shell .event-figure-strip span,.site-shell .event-figure-strip small{font-size:var(--desk-label);line-height:1.5}
.site-shell .dash-section-heading h3{font-size:clamp(23px,1.8vw,32px)}
.site-shell .session-matrix-head{font-size:var(--desk-label)}
.site-shell .session-matrix-row{padding:8px 0}
.site-shell .session-matrix-row>strong{font-size:var(--desk-small)}
.site-shell .session-matrix-row time b{font-size:var(--desk-text)}
.site-shell .session-matrix-row time small{font-size:var(--desk-label);line-height:1.5}
.site-shell .event-links-compact,.site-shell .event-links-compact a{font-size:var(--desk-label);line-height:1.6}
.site-shell .field-heading{padding:0 0 14px}
.site-shell .field-heading p{font-size:var(--desk-small);line-height:1.5}
.site-shell .dash-disciplines button{font-size:var(--desk-small);padding:11px 6px;min-height:43px}
.site-shell .field-sort-headers,.site-shell .season-field-list .field-entry-main.forecast-entry-main{display:grid;grid-template-columns:var(--season-tracks);gap:8px;min-width:0}
.site-shell .field-sort-headers>.field-score-sort{grid-column:3;grid-row:1;padding-left:0;gap:7px}
.site-shell .field-sort-headers{margin-right:4px;padding:9px 2px}
.site-shell .field-sort-headers button{font-size:var(--desk-label);min-height:28px}
.site-shell .season-field-list .forecast-entry-main>.field-person{grid-column:2;grid-row:1}
.site-shell .season-field-list .forecast-entry-main>.compact-score-strip{grid-column:3;grid-row:1;padding-left:0;margin:0;gap:7px}
.site-shell .season-field-list .forecast-entry-main>.field-chevron{grid-column:4;grid-row:1}
.site-shell .season-field-list .field-entry-main.forecast-entry-main{padding:clamp(12px,1.55dvh,19px) 2px;align-items:center}
.site-shell .field-person strong{font-size:var(--desk-text);line-height:1.35}
.site-shell .field-person small,.site-shell .collapsed-form-summary{font-size:var(--desk-label);line-height:1.5}
.site-shell .field-entry-main>b{font-size:clamp(26px,2vw,38px)}
.site-shell .compact-score-strip .forecast-score-cell>strong,.site-shell .compact-score-strip .is-final>strong{font-size:var(--desk-figure);line-height:1.05}
.site-shell .compact-score-strip .forecast-score-label{font-size:var(--desk-label);line-height:1.4;min-height:15px}
.site-shell .compact-score-strip .forecast-score-cell>small{font-size:var(--desk-label);line-height:1.5}
.site-shell .field-foot,.site-shell .field-foot button{font-size:var(--desk-label);line-height:1.5}
.site-shell .calendar-event-detail h2,.site-shell .calendar-event-field>h2{font-size:var(--desk-title)}
.site-shell .calendar-event-detail>p,.site-shell .calendar-event-field p{font-size:var(--desk-text);line-height:1.7}
.site-shell .calendar-next-event strong{font-size:var(--desk-text)}
.site-shell .calendar-next-event span{font-size:var(--desk-small)}
/* The database and shared popup keep the fixed 126px identity row. */
.site-shell .reference-page{display:flex;flex-direction:column;overflow:hidden;padding:14px var(--desk-pad);height:100%;min-height:0}
.site-shell .reference-searchbar{flex:none;flex-wrap:nowrap;padding-bottom:12px;gap:18px}
.site-shell .reference-searchbar>h2{font-size:clamp(28px,2vw,39px)}
.site-shell .reference-searchbar input{font-size:var(--desk-text);min-height:38px}
.site-shell .reference-searchbar>span{font-size:var(--desk-small)}
.site-shell .reference-editorial-grid,.skater-overlay .reference-editorial-grid{display:grid;grid-template-columns:minmax(0,59fr) minmax(0,41fr);grid-template-rows:minmax(0,1fr);gap:14px 20px;flex:1;min-height:0}
.reference-editorial-grid>.ref-season,.reference-editorial-grid>.ref-career{min-height:0;overflow-y:auto}
.reference-editorial-grid>.ref-career{padding-left:16px;border-left:1px solid var(--line)}
.reference-editorial-grid{--desk-text:clamp(12px,.9vw,16px);--desk-small:clamp(9px,.68vw,12px);--desk-label:clamp(8px,.61vw,11px)}
.reference-column h3{font-size:clamp(24px,1.9vw,35px)}
.reference-column h4{font-size:clamp(18px,1.3vw,25px)}
.reference-column p,.reference-column dd,.reference-column li{font-size:var(--desk-text);line-height:1.65}
.reference-column .ref-note,.reference-column .ref-pending,.reference-column .ref-matrix-source,.reference-column .ref-matrix-other{font-size:var(--desk-small);line-height:1.55}
.reference-column .reference-section-head>span{font-size:var(--desk-label)}
.reference-column .ref-outlook-event{font-size:clamp(18px,1.4vw,27px)!important}
.reference-column .ref-outlook-scores strong{font-size:clamp(32px,2.6vw,48px)}
.reference-column .ref-outlook-scores span,.reference-column .ref-season-people dt{font-size:var(--desk-small)}
.reference-column .ref-season-people dd{font-size:var(--desk-small);line-height:1.6}
.reference-column .ref-results-table td,.reference-column .ref-evidence-table td{font-size:var(--desk-small)}
.reference-column .ref-results-table th,.reference-column .ref-evidence-table th,.reference-column .ref-results-table td small{font-size:var(--desk-label)}
.reference-column .ref-element-matrix thead th{font-size:clamp(13px,.9vw,17px)}
.reference-column .ref-element-matrix td>strong{font-size:clamp(23px,1.7vw,32px)}
.reference-column .ref-element-matrix td>span,.reference-column .ref-element-matrix td>small,.reference-column .ref-element-matrix tbody th,.reference-column .ref-element-matrix tbody th small{font-size:var(--desk-label);line-height:1.5}
.editorial-identity .ref-header-personal dl>div,.editorial-identity .ref-identity-main>p{font-size:clamp(9px,.7vw,12px);line-height:1.3}
.editorial-identity .ref-header-personal dt{font-size:clamp(8px,.6vw,10px)}
.editorial-identity .ref-header-story p,.editorial-identity .ref-header-story .ref-news-item a{font-size:clamp(9px,.68vw,12px);line-height:1.4}
/* League dashboards keep their important panels side by side. */
.site-shell .league-desk-page,.site-shell .league-studio-page{display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0}
.site-shell .league-page-heading{padding:18px var(--desk-pad) 16px;flex:none}
.site-shell .league-page-heading h1{font-size:var(--desk-title);line-height:1.02}
.site-shell .league-page-heading p{font-size:var(--desk-small);line-height:1.5}
.site-shell .league-page-account strong{font-size:clamp(24px,1.9vw,35px)}
.site-shell .league-desk-layout{display:grid;grid-template-columns:clamp(140px,12vw,230px) minmax(0,1fr) clamp(150px,13vw,250px);gap:var(--desk-gap);padding:0 var(--desk-pad) 16px;flex:1;min-height:0}
.site-shell .league-studio-layout{display:grid;grid-template-columns:clamp(240px,22vw,340px) minmax(0,1fr);gap:var(--desk-gap);padding:0 var(--desk-pad) 16px;flex:1;min-height:0}
.site-shell .league-section-title h2,.site-shell .league-ranking-panel h2,.site-shell .league-event-rail>h2,.site-shell .league-overall-rail h2{font-size:clamp(23px,1.7vw,32px)}
.site-shell .league-competition-hero h2{font-size:clamp(25px,2vw,39px)}
.site-shell .league-help,.site-shell .league-event-nav small,.site-shell .league-roster-title>span,.site-shell .league-rank-row small{font-size:var(--desk-label);line-height:1.6}
.site-shell .league-event-nav strong,.site-shell .league-rank-row strong,.site-shell .league-player-tabs button{font-size:var(--desk-small)}
.site-shell .league-roster-grid table{min-width:520px}
.site-shell .league-roster-grid td:first-child button{font-size:var(--desk-text)}
.site-shell .league-roster-grid td,.site-shell .league-score-stack dd{font-size:var(--desk-small)}
.site-shell .league-score-stack dt{font-size:var(--desk-label)}
.site-shell .league-event-tile-body h3{font-size:clamp(24px,1.7vw,34px)}
.site-shell .league-event-tile-body p,.site-shell .league-member-row small,.site-shell .league-rules p{font-size:var(--desk-small);line-height:1.6}
.site-shell .league-member-row strong{font-size:var(--desk-text)}
/* Draft overview expands with the screen without enlarging every card's whitespace. */
.site-shell .draft-dashboard{grid-template-columns:clamp(230px,23vw,350px) minmax(0,1fr);gap:var(--desk-gap);padding:var(--desk-pad)}
.site-shell .draft-rail-heading h1,.site-shell .draft-field-header h2{font-size:var(--desk-title)}
.site-shell .draft-field-header p,.site-shell .draft-field-tools,.site-shell .draft-event-picker{font-size:var(--desk-small)}
.site-shell .draft-player-tracker h3{font-size:var(--desk-text)}
.site-shell .draft-player-tracker small,.site-shell .player-discipline-tracker span{font-size:var(--desk-label)}
.site-shell .player-discipline-tracker b{font-size:clamp(20px,1.5vw,28px)}
.site-shell .draft-field-tools input,.site-shell .draft-field-tools select,.site-shell .draft-event-picker select{font-size:var(--desk-small);min-height:36px}
/* Public pages and tools use readable text at both ends of the laptop range. */
.site-shell .community-page{padding:var(--desk-pad)}
.site-shell .community-page p{font-size:var(--desk-text)}
.site-shell .community-heading h1{font-size:var(--desk-title)}
.site-shell .calculator-page .view-head h1{font-size:var(--desk-title)}
.site-shell .calculator-page p,.site-shell .calculator-page label{font-size:var(--desk-text)}
.site-shell .landing-copy h1{font-size:clamp(88px,min(9.3vw,15dvh),170px)}
.site-shell .landing-copy h2{font-size:clamp(19px,min(2.1vw,3.4dvh),34px)}
.site-shell .landing-copy p{font-size:var(--desk-text);line-height:1.6}
.site-shell .landing-actions button{font-size:var(--desk-small);min-height:42px}
}
/* Browser chrome and shorter laptop panels should not push key information off screen. */
@media(min-width:901px) and (max-height:740px){
.site-shell:not(.is-phone){--desk-title:clamp(30px,2.7vw,43px);--desk-pad:12px;--desk-gap:12px;grid-template-rows:56px minmax(0,1fr)}
.site-shell .event-dash-title{padding-bottom:8px}.site-shell .event-dashboard .city-poster-frame{height:clamp(125px,calc(100dvh - 555px),185px);min-height:125px}
.site-shell .event-dash-title .season-event-name{font-size:23px;margin:5px 0}.site-shell .event-dash-title p{margin:5px 0}
.site-shell .event-figure-strip{padding:8px 0}.site-shell .event-figure-strip b{font-size:29px}
.site-shell .session-matrix-row{padding:5px 0}.site-shell .field-heading{padding-bottom:8px}.site-shell .dash-disciplines button{min-height:35px;padding:7px 4px}
.site-shell .league-page-heading{padding:12px var(--desk-pad)}.site-shell .league-page-heading p{margin-top:6px}
.site-shell .reference-page{padding-top:9px;padding-bottom:9px}.site-shell .reference-searchbar{padding-bottom:8px}
.site-shell .landing-copy{padding-top:18px;padding-bottom:18px}
}
