/* Approved v6 layout, using the existing production chassis, images and live catalog. */
.machine{grid-template-columns:minmax(0,1.24fr) minmax(0,1fr)}
.classification{grid-column:1/-1;grid-row:3;display:flex;align-items:center;padding:5px 8px}
.genre-buttons{display:flex;width:100%;gap:8px;padding:3px}
.genre-button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:50px;padding:7px 10px}
.genre-button svg{width:22px;height:22px;margin:0;flex-shrink:0}
.genre-button strong{font-size:13px}
.archive{grid-column:1;grid-row:4}
.metal-label{min-height:44px;padding:10px 16px}
.metal-label h2{font-size:15px}
.metal-label>span{font-size:12px}
.shelf-well{min-height:330px}
.cartridge-shelf{gap:10px;padding:18px 10px 24px!important;align-items:center;scroll-padding-inline:14px}
.cartridge-shelf li{flex-basis:180px;padding:5px 3px 0}
.cartridge{padding:19px 6px 11px}
.cartridge img{height:168px;filter:brightness(1.22) saturate(1.15)}
.cartridge[aria-pressed=true]{transform:translateY(-4px)}
.cassette-brand{display:flex;align-items:center;justify-content:space-between;gap:3px;font:600 12px/1.2 Arial,"Yu Gothic",Meiryo,sans-serif;letter-spacing:0;padding:6px 4px;text-align:left;color:#0b171c}
.case-selection{display:none;color:#321708}
.cartridge[aria-pressed=true] .case-selection{display:inline;font-size:12px}
.cassette-title{font-size:20px;line-height:1.2;min-height:36px;padding:8px 3px 4px;text-align:left;place-items:center start;overflow-wrap:anywhere}
.cassette-description{display:block;min-height:66px;padding:5px 5px 9px;font:14px/1.55 Arial,"Yu Gothic",Meiryo,sans-serif;text-align:left;color:#d4dfd7;background:linear-gradient(#071218,#041015);border:1px solid #192b32;border-top:0}
.shelf-navigation{position:static;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-top:1px solid #62736a;background:linear-gradient(#172328,#0b171c)}
.shelf-navigation>span{position:static;width:auto;height:auto;clip-path:none;font:13px/1.4 Arial,"Yu Gothic",Meiryo,sans-serif;color:#d0dad1}
.shelf-navigation>div{gap:6px}
.shelf-navigation button{width:44px;height:44px;font-size:20px;border-radius:4px}
.shelf-tools{border-top:1px solid #354d49;padding:8px;background:#0b191c}
.shelf-tools .game-search{padding:0;border:0;background:none}
.game-search label{font-size:12px}
.game-search input{min-height:44px;font-size:14px}
.game-search button{min-width:44px;min-height:44px}
.shelf-tools .model-switch{padding:9px 0 0;flex-wrap:nowrap;gap:9px;font:12px Arial,"Yu Gothic",Meiryo,sans-serif}
.model-switch label{flex-shrink:0}
.shelf-tools .model-switch select{width:auto;flex:1;min-width:0;min-height:44px;font-size:14px;padding:8px}
.monitor-bay{grid-column:2;grid-row:4;align-self:stretch}
.monitor-label{font-size:12px;letter-spacing:.3px;padding:1px 3px 9px;color:#b8cdc7}
.preview-screen{height:auto;aspect-ratio:16/9;flex-shrink:0}
.preview-screen>img{object-fit:contain;object-position:center}
.selected-details{grid-template-columns:minmax(0,1fr) 122px;gap:14px;align-content:start;margin-top:18px;flex:0}
.selected-cover{display:none}
.selected-copy{min-width:0}
.selection-label{font:12px/1.4 Arial,"Yu Gothic",Meiryo,sans-serif;color:#edc996;margin-bottom:6px!important}
.selected-copy h2{font-size:28px;line-height:1.2;overflow-wrap:anywhere}
.game-tags{font-size:12px;line-height:1.6;margin-top:7px!important;color:#b9d1cb}
.game-description{font-size:15px;line-height:1.8;margin-top:10px!important;display:block;overflow:visible;color:#dce5d9}
.primary-actions{align-self:start}
.launch-provenance{display:none}
.play-button{min-height:60px;font-size:23px!important}
.trace-button,.help-button{min-height:44px;font-size:12px!important}
.trace-button span{font-size:10px}
.lower-chassis{grid-column:1/-1}
.garage-page :is(button,input,select,a,summary):focus-visible{outline:3px solid #63ffe0;outline-offset:3px}
@media(max-width:1100px) and (min-width:761px){
 .machine{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
 .genre-button{padding-inline:6px}.genre-button strong{font-size:12px}.genre-button svg{width:18px;height:18px}
 .selected-details{grid-template-columns:1fr;gap:12px}.selected-copy h2{font-size:26px}
 .primary-actions{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;gap:8px;align-items:center}.trace-button,.help-button{margin:0}
}
/* Keep all seven genres inside narrow mouse/trackpad consoles. */
@media(max-width:1100px) and (min-width:761px) and (pointer:fine){
 .genre-buttons{flex-wrap:wrap}
}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse){
 .garage-page{padding-bottom:130px}
 .garage-stage{padding-bottom:18px}
 .machine{gap:10px}
 .machine-header{order:0}
 .mobile-intro{display:none}
 .monitor-bay{order:1;padding:8px;align-self:auto}
 .monitor-bezel{padding:8px}
 .monitor-label{font-size:12px;padding-bottom:7px}
 .preview-screen{min-height:0}
 .selected-details{display:block;margin-top:11px}
 .selection-label,.game-tags,.variant-provenance{display:none}
 .selected-copy h2{font-size:24px;line-height:1.2}
 .game-description{font-size:15px;line-height:1.6;margin-top:6px!important}
 .classification{order:4;display:block;padding:0}
 .genre-buttons{padding:3px 2px 5px;gap:8px}
 .genre-button{flex:0 0 auto;min-height:44px;padding:8px 12px;gap:6px}
 .genre-button strong{font-size:13px}
 .archive{order:3}
 .metal-label{min-height:44px;padding:10px 12px}
 .metal-label h2{font-size:13px;letter-spacing:1px}
 .metal-label>span{font-size:12px}
 .shelf-well{min-height:0}
 .cartridge-shelf{gap:10px;padding:12px 8px 18px!important}
 .cartridge-shelf li{flex-basis:164px;padding:4px 2px 0}
 .cartridge{padding:15px 5px 9px}
 .cartridge img{height:100px;object-position:50% 70%}
 .cassette-brand{font-size:12px;padding:5px 4px}
 .case-selection{font-size:12px!important}
 .cassette-title{font-size:18px;min-height:30px;padding:6px 4px 3px}
 .cassette-description{font-size:14px;line-height:1.5;min-height:51px;padding:4px 5px 6px}
 .shelf-navigation{padding:5px 8px}
 .shelf-navigation>span{font-size:12px;line-height:1.5}
 .shelf-tools{padding:10px}
 .shelf-tools .game-search{flex-wrap:wrap;gap:6px}
 .game-search label{width:100%;font-size:13px}
 .game-search input,.shelf-tools .model-switch select{font-size:16px}
 .shelf-tools .model-switch{font-size:12px;padding-top:10px}
 .primary-actions{display:grid;grid-template-columns:minmax(0,1fr) 66px 112px}
 .js .primary-actions{position:fixed;z-index:10;inset:auto 0 0;padding:10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:0}
 .launch-provenance{display:block;font-size:12px}
 .mobile-selection{display:flex;grid-row:2;grid-column:1}
 .mobile-selection strong{font-size:17px}
 .mobile-help{font-size:13px;min-height:44px}
 .primary-actions .play-button{grid-column:3;grid-row:2;min-height:52px}
 .primary-actions .trace-button{grid-column:2;grid-row:2;min-height:52px;font-size:12px!important}
 .primary-actions .help-button,.primary-actions:after{display:none}
}
@media(prefers-reduced-motion:reduce){.cartridge{transition:none}html{scroll-behavior:auto}}

/* Language and assistance remain separate live choices below the browsing tools. */
.shelf-tools .language-display{display:grid;grid-template-columns:100px minmax(0,1fr);margin-top:12px;padding-top:12px;font-size:12px;line-height:1.5}
.shelf-tools .language-display select{min-height:44px;font-size:14px}
.shelf-tools .language-display p{font-size:12px}
.variant-provenance{margin-top:18px;font-size:12px}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse){
 .shelf-tools .language-display{grid-template-columns:1fr;font-size:13px}
 .shelf-tools .language-display select{font-size:16px}
 .shelf-tools .language-display p{grid-column:1}
}
