/* Desktop layout is independent of the established mobile presentation. */
@media(min-width:1024px){
 body.home-page,body.game-page,body.crew-page{height:auto;min-height:100dvh;padding:24px 32px 28px;background-attachment:fixed}
 .home-page .page-shell{width:min(100%,1000px);height:auto;min-height:0;gap:20px}
 .home-page .hero-banner{width:600px;max-width:100%}
 .home-page .mode-panel{padding:0;flex:none}
 .home-page .home-modes{width:100%;margin:0;padding:0;gap:20px}
 .home-page .home-modes .mode-btn{aspect-ratio:auto;min-height:180px;font-size:2.4rem;padding:22px;gap:12px}
 .home-page .home-modes .plugins-entry{min-height:72px;font-size:1.35rem;padding:14px}
 .home-page .muneco-row,.home-page .account-panel{width:100%;max-width:none}
 .home-page .muneco-row{height:76px;margin:0;flex-shrink:0}
 .home-page .bocadillo-text{font-size:1rem;line-height:1.5}
 .home-page .player-card{padding:18px 22px;gap:24px;grid-template-columns:1.2fr 1.3fr 1fr .65fr auto}
 .home-page .player-card strong{font-size:1.1rem}
 .game-page{--desktop-console:min(820px,max(480px,calc((100dvh - 270px)*1.13)))}
 .game-page .page-shell{width:var(--desktop-console);height:auto;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
 .game-page .hero-banner,.game-page #game-wrap{grid-column:1/-1;width:100%;max-width:none}
 .game-page .console-unit{width:100%;max-width:none;padding:16px 16px 20px;gap:10px}
 .game-page #canvas-container,.game-page #game{width:100%;aspect-ratio:600/340}
 .game-page .console-logo{display:none}
 .game-page .console-screen{justify-content:center;gap:clamp(32px,5vw,72px)}
 .game-page .console-round-btn{flex:0 0 78px;transform:none}
 .game-page .console-round-icon{width:78px;height:78px;max-width:78px;max-height:78px}
 .game-page .coin-slot{width:36px;height:36px}
 .game-page .coin-collection{padding:6px 10px;gap:10px}
 .game-page .console-extra-row{margin-top:8px;gap:20px}
 .game-page .console-color-trigger{width:46px;height:46px;flex-basis:46px}
 .game-page .console-toggle-label{font-size:12px}
 .game-page .spotify-option{width:100%;max-width:none;margin:6px 0 0;padding:10px;gap:8px;align-content:center}
 .game-page .spotify-copy small{display:none}
 .game-page .spotify-option a{font-size:13px;padding:7px 9px}
 .game-page .bottom-nav{margin-top:6px;gap:10px;align-items:stretch}
 .game-page .nav-tab{min-height:64px;font-size:16px}
 .crew-page .page-shell{width:min(100%,980px);gap:24px}
 .crew-page .crew-panel{padding:28px 36px}
 .crew-page .crew-form{max-width:680px}
 .crew-page .crew-table td{padding:16px 12px}
 .crew-page .back-menu{width:240px;align-self:center}
 body.crew-page:has(#account-root) .page-shell{max-width:640px}
 .session-dialog{max-height:85dvh;overflow:auto}
}
@media(min-width:1024px) and (max-height:800px){
 body.home-page,body.game-page,body.crew-page{padding-top:16px}
 .home-page .page-shell{width:min(100%,900px);gap:16px}
 .home-page .hero-banner{width:480px}
 .home-page .home-modes .mode-btn{min-height:140px;font-size:2rem}
 .home-page .home-modes .plugins-entry{min-height:64px;font-size:1.2rem}
 .home-page .muneco-row{height:68px}
}
/* Keep interface labels readable with long names and narrow viewports. */
.crew-action,.crew-secondary,.crew-tab{box-sizing:border-box;min-width:0;min-height:44px;line-height:1.3;text-align:center;white-space:normal;text-decoration:none;overflow-wrap:normal}
.crew-heading{flex-wrap:wrap}.crew-heading h1{line-height:1.15;margin:0}.crew-ranking-trigger{max-width:100%;gap:8px}
.crew-form label,.crew-summary>div,.player-card>div{min-width:0}.crew-form input{box-sizing:border-box;font-size:16px}
.session-actions{display:flex;align-items:stretch}.session-actions>button,.session-actions>a{flex:1 1 140px;display:grid;place-items:center}
.crew-panel h2,.account-title{line-height:1.25;text-wrap:balance}.crew-caption,.purchase-email{line-height:1.55;text-wrap:pretty}
.crew-table{table-layout:fixed}.crew-table th:first-child,.crew-table td:first-child{width:36px}.crew-table th:last-child,.crew-table td:last-child{width:90px}
@media(max-width:480px){.crew-heading{gap:14px}.crew-heading .crew-ranking-trigger{font-size:14px;padding:10px 12px}.session-dialog{padding:22px 16px}.crew-form .crew-action{min-width:0;width:100%;justify-self:stretch}.player-card strong{line-height:1.3}.account-actions{gap:10px}.account-actions a{padding:12px 8px;line-height:1.3}}
