.secondary-page-hero[data-page-art="shop"] > .secondary-page-hero__visual-r31 > .shop-keyboard-wall-r91 {
  position:absolute; z-index:2; display:block; margin:0; padding:0; border:0;
  background:transparent; color:#ffedbd; cursor:zoom-in; box-sizing:border-box;
  min-width:0; min-height:0; filter:drop-shadow(0 3px 0 #05051088);
}
.shop-keyboard-wall-r91 svg {display:block;width:100%;height:100%;overflow:visible;image-rendering:pixelated;}
.shop-keyboard-wall-r91:focus-visible {outline:3px solid #fff0bb;outline-offset:4px;}
.shop-keyboard-wall-r91:hover {filter:drop-shadow(0 3px 0 #05051088) drop-shadow(0 0 3px #ffdc8366);}
html.shop-keyboard-zoom-open-r91 {overflow:hidden;}
html.shop-keyboard-zoom-open-r91 .shop-population-r91 .population-upper-r91 {animation-play-state:paused;}
.shop-keyboard-dialog-r91 {box-sizing:border-box;position:fixed;inset:0;margin:auto;padding:0;
  width:min(1160px,calc(100vw - 32px));max-width:calc(100vw - 32px);
  height:min(900px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);
  border:3px solid #d7a75e;box-shadow:0 0 0 2px #41213c,0 12px 60px #08040ba6;
  background:#100e16;color:#f7e5c2;overflow:hidden;font:16px/1.4 system-ui,sans-serif;
}
.shop-keyboard-dialog-r91:not([open]) {display:none;}
.shop-keyboard-dialog-r91[open] {display:grid;grid-template-rows:auto auto minmax(0,1fr);}
.shop-keyboard-dialog-r91::backdrop {background:#0c06134a;}
.shop-keyboard-dialog-r91__header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#281629;border-bottom:2px solid #845737;min-width:0;}
.shop-keyboard-dialog-r91__heading {margin:0;font:600 18px/1.25 system-ui,sans-serif;min-width:0;}
.shop-keyboard-dialog-r91__eyebrow {display:block;margin-bottom:3px;color:#d4ae7f;font:12px/1.2 system-ui,sans-serif;letter-spacing:.08em;}
.shop-keyboard-dialog-r91__close {flex:none;min-height:44px;min-width:70px;border:2px solid #d7a75e;background:#3b2039;color:#ffedca;padding:8px 12px;font:600 15px/1.2 system-ui,sans-serif;cursor:pointer;}
.shop-keyboard-dialog-r91__close:focus-visible {outline:3px solid #fff5d9;outline-offset:2px;}
.shop-keyboard-dialog-r91__status {margin:0;padding:7px 16px;font:14px/1.4 system-ui,sans-serif;background:#19131f;color:#ead7b7;overflow-wrap:anywhere;}
.shop-keyboard-dialog-r91__stage {min-width:0;min-height:0;position:relative;overflow:hidden;background:#100e16;}
.shop-keyboard-dialog-r91 iframe {display:block;width:100%;height:100%;border:0;box-sizing:border-box;min-width:0;background:#100e16;}
.shop-keyboard-dialog-r91[data-state="loading"] iframe {visibility:hidden;}
@media(max-width:480px){
 .shop-keyboard-wall-r91::after {content:"";position:absolute;inset:-9px 0;}
 .shop-keyboard-dialog-r91 {width:calc(100vw - 12px);max-width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-width:2px;}
 .shop-keyboard-dialog-r91__header {padding:8px;gap:8px;}
 .shop-keyboard-dialog-r91__heading {font-size:16px;}
 .shop-keyboard-dialog-r91__status {padding:6px 8px;font-size:13px;}
 .shop-keyboard-dialog-r91__close {min-width:60px;padding:8px;}
}

/* R97 wall-specific composition; the original Shop visual/lifecycle is intact. */
.shop-wall-caption-r97 {font:400 22px/1 'Aether Pixel',monospace;letter-spacing:0;}
.secondary-page-hero[data-page-art="shop"] > .secondary-page-hero__visual-r31 > .shop-keyboard-wall-r91 {filter:none;}
.secondary-page-hero[data-page-art="shop"] > .secondary-page-hero__visual-r31 > .shop-keyboard-wall-r91:hover {filter:drop-shadow(0 2px 0 #05051088);}
.secondary-page-hero[data-page-art="shop"] .shop-wall-mobile-caption-r97 {display:none;}
.secondary-page-hero[data-page-art="shop"] #catalog-title > .r31-bi-en {line-height:1.2;}
.secondary-page-hero[data-page-art="shop"] #catalog-title > .r31-bi-ja {margin-block-start:10px;line-height:1.5;letter-spacing:.05em;}
@media(min-width:901px){
 .secondary-page-hero[data-page-art="shop"].r31-bilingual-hero > .secondary-page-hero__copy {top:15.5%;}
}
@media(max-width:900px){
 .secondary-page-hero[data-page-art="shop"] .shop-wall-mobile-caption-r97 {display:block;margin:12px 0 0;font:400 14px/1.5 'Aether Pixel',monospace;color:#f5dfb5;}
}
