/* Scene dimensions follow the logical landscape viewport, not the device's media-query width. */
.mobile-wide #screen{overflow:hidden}
.mobile-wide #screen>section:not(.hud){height:100%;min-height:0;max-height:100%;width:100%;margin:0 auto;overflow:hidden;padding:56px 16px 8px}
.mobile-wide .selection,.mobile-wide .laboratory,.mobile-wide .hub{display:grid;gap:8px}
.mobile-wide .selection{grid-template-rows:auto minmax(0,1fr) auto}
.mobile-wide .section-heading,.mobile-wide .lab-heading{margin:0;min-height:0;align-items:center;flex-wrap:nowrap;gap:12px}
.mobile-wide .section-heading .eyebrow,.mobile-wide .section-heading p:not(.eyebrow),.mobile-wide .lab-heading .eyebrow{display:none}
.mobile-wide .section-heading h1,.mobile-wide .lab-heading h1{font-size:18px;line-height:1.3;margin:0}
.mobile-wide .choice-grid{min-height:0;gap:10px}
.mobile-wide .select-card{min-height:0;padding:8px;gap:2px;overflow:hidden}
.mobile-wide .select-card .portrait{height:0;min-height:24px;flex:1 1 0;grid-row:auto}
.mobile-wide .select-card h2{font-size:15px;line-height:1.25;margin:0}
.mobile-wide .select-card p{display:none}
.mobile-wide .part-tags{font-size:10px;line-height:1.4;min-height:0;margin:0;padding:2px 0;border:0}
.mobile-wide .select-card .button{flex:0 0 44px;margin:2px 0 0;padding:6px;min-height:44px}
.mobile-wide .card-kicker{flex:0 0 auto;font-size:10px;line-height:1.4}
.mobile-wide .selection-footer{margin:0;gap:10px;min-width:0;flex-wrap:nowrap}
.mobile-wide .selection-footer p{font-size:10px;line-height:1.4;flex:0 0 auto}
.mobile-wide .selection-footer .actions{width:auto;gap:8px;flex-wrap:nowrap;min-width:0}
.mobile-wide .selection-footer .actions .button{flex:0 1 auto;min-width:0;font-size:12px;line-height:1.3;padding:6px 8px}

.mobile-wide .laboratory{grid-template-rows:auto minmax(0,1fr)}
.mobile-wide .lab-heading .button{min-height:36px;padding:4px 10px;font-size:12px}
.mobile-wide .lab-layout{height:100%;min-height:0;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);padding:8px;gap:12px;overflow:hidden}
.mobile-wide .lab-preview-area{height:100%;min-height:0;display:grid;grid-template-rows:36px minmax(0,1fr) 40px;gap:4px;overflow:hidden}
.mobile-wide .lab-name{min-width:0;min-height:0;flex-wrap:nowrap;font-size:12px;gap:4px}
.mobile-wide .lab-creature-name{display:none}
.mobile-wide .lab-name .palette{gap:6px}
.mobile-wide .lab-name .swatch{width:16px;height:16px}
.mobile-wide .laboratory .specimen-stage{grid-row:2;height:100%;min-height:0;margin:0;overflow:hidden}
.mobile-wide #lab-preview{width:100%;height:100%;max-width:256px;max-height:256px}
.mobile-wide .pose-tabs{grid-row:3;margin:0;grid-template-columns:repeat(6,minmax(0,1fr));min-height:0}
.mobile-wide .pose-tabs button{padding:3px 1px;font-size:10px;min-width:0;overflow-wrap:anywhere}
.mobile-wide .slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.mobile-wide .slot-button{min-height:44px;padding:4px 6px 4px 8px;column-gap:4px}
.mobile-wide .slot-button .slot-label{font-size:10px}
.mobile-wide .slot-button .slot-value{font-size:11px;line-height:1.2}
.mobile-wide .slot-button svg{width:14px;height:14px}
.mobile-wide .picker-head{gap:8px;margin:0 0 6px}
.mobile-wide .picker-head h2{font-size:15px}
.mobile-wide .slot-back{min-height:32px;padding:2px 8px;font-size:11px;gap:4px}
.mobile-wide .slot-back svg{width:14px;height:14px}
.mobile-wide .part-gallery-grid{gap:4px}
.mobile-wide .part-choice{font-size:10px;min-height:96px;padding:4px 2px}
.mobile-wide .part-editor{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:6px}
.mobile-wide .part-editor-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 4px 4px 0;scrollbar-gutter:stable}
.mobile-wide .preset-row{margin-bottom:8px;gap:6px;flex-wrap:nowrap}
.mobile-wide .preset-row span{display:none}
.mobile-wide .preset-row .button{flex:1;min-width:0;min-height:36px;padding:4px 6px;font-size:12px}
.mobile-wide .lab-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:8px 0}
.mobile-wide .lab-stats dt,.mobile-wide .lab-stats dd{font-size:10px;line-height:1.4;margin:0}
.mobile-wide .lab-actions{display:flex;flex-wrap:nowrap;gap:8px;padding-top:6px;border-top:1px solid #6d8c7f;min-width:0}
.mobile-wide #lab-save-state{font-size:10px;width:auto;min-width:0;flex:1;line-height:1.4}
.mobile-wide .lab-actions .button{flex:0 0 auto;min-height:44px;font-size:12px;padding:6px 8px}

.mobile-wide .hub{grid-template-rows:auto auto minmax(0,1fr);gap:4px}
.mobile-wide .hub>.eyebrow{display:none}
.mobile-wide .hub>h1{font-size:18px;line-height:1.3;margin:0}
.mobile-wide .hub>p:not(.eyebrow){font-size:12px;line-height:1.4}
.mobile-wide .hub-body{min-height:0;margin:0;gap:16px}
.mobile-wide .hub-body>div:first-child{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 20px;gap:4px}
.mobile-wide .hub .portrait{height:100%;min-height:0;max-height:240px;align-self:center}
.mobile-wide .hub-body>div:last-child{min-height:0;display:grid;grid-template-rows:auto minmax(24px,1fr) auto auto auto;gap:6px}
.mobile-wide .hub-body h2{font-size:15px;line-height:1.3;margin:0}
.mobile-wide .hub-body .rewards{margin:0;min-height:0;overflow:auto;align-content:flex-start;gap:4px 12px;font-size:10px;line-height:1.4}
.mobile-wide .hub-body .actions,.mobile-wide .unavailable{gap:8px;margin:0;flex-wrap:nowrap}
.mobile-wide .hub-body .button{font-size:12px;line-height:1.3;min-height:36px;padding:6px 8px;min-width:0}
.mobile-wide .hub-body .actions:first-of-type .button{min-height:44px}
.mobile-wide .unavailable .button{min-height:32px}

.mobile-wide #modal{padding:12px}
.mobile-wide .pause-panel{padding:14px;max-height:calc(var(--view-height) - 24px);display:flex;flex-direction:column;gap:8px}
.mobile-wide .pause-panel h2{font-size:18px;line-height:1.4;margin:0 0 4px;flex:0 0 auto}
.mobile-wide .pause-panel p{font-size:12px;line-height:1.6;min-height:0;overflow:auto}
.mobile-wide .pause-panel button{font-size:15px;min-height:44px;margin:0;padding:6px 12px;flex:0 0 auto}

.mobile-landscape .touch{left:32px;right:32px;bottom:28px}
.mobile-landscape .touch-actions{display:grid;grid-template-columns:72px 72px;grid-template-rows:20px 72px;gap:0 14px}
.mobile-landscape .touch .touch-attack{grid-column:2;grid-row:2;margin:0}
.mobile-landscape .touch .touch-flight{grid-column:1;grid-row:1/3;align-self:start;margin:0}
.mobile-landscape .hud .interact{bottom:32px;max-width:calc(100% - 420px)}
