/* A model showroom inside the existing cream-and-wood shop sheet. */
#ui-root #shop-panel #tutorial-banner{position:static;top:auto;left:auto;transform:none;width:auto;max-width:none;flex:0 0 auto;margin:0 16px 8px;padding:8px 10px;gap:8px;border-width:1px;border-radius:12px;box-shadow:none;z-index:auto;opacity:1;pointer-events:auto}
#shop-panel .tutorial-text{flex:1;min-width:0;line-height:1.4}
#shop-panel .tutorial-skip{min-height:44px}
@media(max-height:520px){#ui-root #shop-panel #tutorial-banner{display:none}}
#shop-panel{width:min(96vw,680px);max-height:min(70dvh,620px,calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)) - 100px))}
.shop-items{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:12px;padding:8px 16px 16px}
.shop-card{padding:12px 8px;gap:7px}
.shop-card-preview{width:100%;height:94px}
.shop-card-name{font-size:13px;line-height:1.3}
.shop-card-disabled{opacity:.78;filter:none}
.shop-card-bonus-service{max-width:100%;gap:4px;padding:3px 5px;border-radius:8px;font-size:11.5px;line-height:1.35;white-space:normal;text-align:start;color:#395532}
.shop-card-bonus-service>span:last-child{min-width:0;overflow-wrap:anywhere}
.shop-card-bonus-service>.svg-icon{flex:none}
#shop-panel.shop-detail-open{max-height:min(78dvh,680px,calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)) - 100px))}
.shop-items.shop-items-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 22px;align-items:start;padding:8px 18px 18px}
.shop-detail-back{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:var(--color-ink-soft);font:800 13px var(--font-main);min-height:44px;padding:8px 0;cursor:pointer}
.shop-model-stage{align-self:stretch;min-height:230px;border-radius:20px;background:radial-gradient(ellipse at 50% 34%,#fffcf0,#eddfc4);overflow:hidden}
.shop-model-canvas{display:block;width:100%;height:100%;min-height:230px;touch-action:none;cursor:grab}
.shop-model-canvas:active{cursor:grabbing}
.shop-detail-info{min-width:0}
.shop-detail-title{font:800 23px/1.12 var(--font-title);margin:0 0 8px;color:#395347;text-wrap:balance}
.shop-detail-hint{font:600 12px/1.45 var(--font-main);color:#6a6250;margin:0 0 12px}
.shop-model-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.shop-model-control{flex:1;min-height:44px;padding:7px 9px;border:1px solid #cfbfa2;border-radius:10px;background:#fbf5e8;color:#584c3b;font:800 11px/1.3 var(--font-main);cursor:pointer}
.shop-model-control:hover{background:#fffdf5}
.shop-detail-facts{margin:0 0 14px;font:700 13px/1.45 var(--font-main)}
.shop-detail-fact{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid #cebea244}
.shop-detail-fact dt{color:#6a6250}.shop-detail-fact dd{margin:0;color:#3c5145;font-weight:900}
.shop-detail-fact-specialty{flex-wrap:wrap;gap:3px 16px}
.shop-detail-fact-specialty dd{min-width:0;overflow-wrap:anywhere}
.shop-detail-price{display:flex;align-items:center;gap:9px;font:800 23px var(--font-title);color:#655126}
.shop-detail-requirement{font:700 12px/1.4 var(--font-main);color:#765335;margin:8px 0}
.shop-detail-requirement:empty{display:none}
.shop-detail-place{display:block;width:100%;min-height:48px;margin-top:12px;padding:10px 14px;border:1px solid #275b49;border-radius:14px;background:#347357;color:#fff9e7;font:800 16px/1.2 var(--font-main);box-shadow:inset 0 1px #ffffff44,0 3px 8px #34482f18;cursor:pointer}
.shop-detail-place:disabled{background:#e8dfca;border-color:#cabea1;color:#736752;box-shadow:none;cursor:default}
.shop-detail-back:focus-visible,.shop-model-control:focus-visible,.shop-detail-place:focus-visible,.shop-model-canvas:focus-visible{outline:3px solid #2d7159;outline-offset:3px}
@media(max-width:520px) and (orientation:portrait){
 .shop-items{grid-template-columns:repeat(2,minmax(0,1fr))}
 .shop-items.shop-items-detail{display:block;padding:0 16px 16px}
 .shop-model-stage{height:185px;min-height:0;margin-bottom:16px}
 .shop-model-canvas{height:185px;min-height:0}
 .shop-detail-title{font-size:22px}.shop-model-controls{margin-bottom:10px}
 .shop-detail-info{padding-bottom:3px}
}
@media(orientation:landscape) and (max-height:600px){
 .shop-items.shop-items-detail{gap:6px 16px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .shop-detail-back{min-height:44px}.shop-model-stage,.shop-model-canvas{min-height:180px;height:180px}
 .shop-detail-title{font-size:20px}.shop-detail-hint{margin-bottom:8px}
}
