/* Phone held sideways (and the same screen mirrored to a TV): menu screens shrink their header,
   hero and cards so the main actions fit without scrolling. Gameplay has its own landscape rules. */
@media (orientation:landscape) and (max-height:600px){
 body:not(.playing) .topbar{height:46px;padding:0 18px}
 body:not(.playing) .brand{font-size:24px;letter-spacing:-1px}
 body:not(.playing) .brand i{display:none}
 body:not(.playing) .topbar nav{gap:16px}
 body:not(.playing) .topbar nav button{font-size:12px;padding:8px 0}
 body:not(.playing) .profile-dot{font-size:16px;margin-left:4px}
 body:not(.playing) main{padding:10px 18px 10px}
 body:not(.playing) footer{padding:8px 0 10px;max-width:none;margin:0 18px}
 /* home */
 .hero{min-height:0;height:min(290px,calc(100dvh - 128px));border-radius:18px}
 .hero-copy{padding:16px 22px}
 .hero .eyebrow{font-size:9px}
 .hero h1{font-size:clamp(20px,6.2dvh,28px);line-height:1.2;letter-spacing:-1.2px;margin:8px 0}
 .hero p{font-size:11px;line-height:1.6}
 .hero-actions{margin-top:12px;gap:12px}
 .hero-actions .primary{padding:10px 16px;font-size:13px;gap:12px}
 .hero-visual{min-height:0;height:100%}
 .float-tag{top:14px;left:12px;padding:6px 11px;font-size:10px}
 .float-tag.second{bottom:12px;right:12px}
 .partner-strip{padding:8px 4px 0;font-size:11px}
 .stats-strip{padding:8px 4px;margin-bottom:12px}
 .hello{font-size:11px;gap:8px}.hello-icon{width:26px;height:26px;font-size:14px}
 .stat-items{gap:18px}.stat{font-size:10px}.stat b{font-size:16px}.stat+.stat{padding-left:18px}
 .section-head{margin:0 0 10px}.section-head h2{font-size:17px}.section-head p{font-size:11px;margin-top:3px}
 .cards{gap:12px}
 .card-art{height:86px}.card-art .tag{top:8px;left:10px;font-size:9px;padding:3px 8px}
 .card-body{padding:10px 13px 9px}.card-body h3{font-size:15px;margin:0 0 3px}.card-body p{font-size:11px;margin:0 0 8px}
 .card-meta{padding-top:7px;font-size:10px}.card-meta b{width:21px;height:21px;font-size:14px}
 .bottom-row{margin-top:12px}
 /* course summary, profile, records */
 .page-title{font-size:23px;margin:6px 0}
 .page-desc{font-size:12px;line-height:1.6}
 .back{margin-bottom:4px;font-size:12px}
 .center-panel{margin:4px auto}
 .course-summary{gap:22px}
 .course-poster{height:min(300px,calc(100dvh - 120px))}
 .course-list{margin:10px 0}.course-list li{padding:7px 0;font-size:12px}
 .setup-grid{gap:20px}
 .preview-avatar{padding:12px}.preview-avatar canvas{height:min(220px,calc(100dvh - 190px))}
 .profile-form label{margin:9px 0 5px}
 .profile-form select,.profile-form input[type=number]{padding:9px}
 .note{padding:10px 13px;margin:10px 0}
 /* character room */
 .room-title{margin:0 0 8px}
 .room-title .page-title{font-size:20px;margin:0}
 .room-title .eyebrow,.room-title p,.room-title>.pill,.character-info>span{display:none}
 .studio-layout{gap:18px}
 .studio-display{min-height:0;height:calc(100dvh - 120px);padding:10px;border-radius:18px}
 .motion-controls{margin:8px 0 0;flex-wrap:wrap}.motion-controls button{padding:6px 11px;font-size:10px}
 .rotation-controls{gap:12px;font-size:10px}.rotation-controls button{width:28px;height:28px;font-size:18px}
 .character-info{padding:0 0 6px}
 .character-info h2{font-size:24px;margin:2px 0}
 .character-info p{font-size:11px}
 .character-grid{grid-template-columns:repeat(6,1fr);gap:6px}
 .character-card{border-radius:12px}
 .character-card canvas{height:min(104px,calc(100dvh - 320px));min-height:64px}
 .character-card>span{padding:5px 6px;gap:1px}
 .character-card b{font-size:11px}
 .character-card small{display:none}
 .outfit-row{margin:6px 0}
 .outfit-row .swatch{width:30px;height:30px}
 .studio-options .primary{padding:11px 16px}
 .studio-options>.safety{margin-top:6px;font-size:10px}
 /* course summary list fits with its start button */
 .course-summary .page-desc{font-size:11px;line-height:1.5;margin:4px 0}
 .course-summary .pill{padding:4px 10px;font-size:11px}
 .course-summary .course-list{margin:6px 0}
 .course-summary .course-list li{padding:4px 0;font-size:12px}
 .course-summary .hero-actions{margin-top:8px}
 .note{font-size:10px;line-height:1.5}
}
@media (orientation:landscape) and (max-height:400px){
 .course-summary .page-desc{display:none}
 .course-summary .course-list li{padding:3px 0;font-size:11px}
 .hero h1{font-size:20px}
}
