/* Keep the common shop's structure with the prototype's paper, sage and ink palette. */
.sh-shop{height:100%;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.sh-scene{height:430px;flex:0 0 430px;position:relative;background:#e3e7dc;overflow:hidden}
.sh-host{position:absolute;top:4px;left:205px;width:340px;height:318px;object-fit:contain;pointer-events:none}
.sh-counter{position:absolute;left:0;right:0;bottom:0;height:104px;background:#eee9dc;border-top:1px solid var(--line);border-bottom:1px solid var(--line);pointer-events:none}
.sh-tabs{position:absolute;left:70px;right:70px;bottom:20px;display:flex;gap:20px}
.sh-tab{display:flex;align-items:center;justify-content:center;gap:13px;flex:1;height:64px;padding:0 20px;background:var(--paper);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:25px}
.sh-tab svg{width:28px;height:28px;color:#957343}
.sh-tab.active{background:var(--dark);border-color:var(--dark);color:#f9f1df}
.sh-tab.active svg{color:#e4c78f}
.sh-stock{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8a47b transparent;padding:20px 24px;background:var(--paper)}
.sh-stock:focus-visible{outline:3px solid #bb724d;outline-offset:-3px}
.sh-shelf{height:192px;position:relative;margin-bottom:14px;background:#fffaf0;border:1px solid var(--line);border-radius:6px}
.sh-shelf:last-child{margin-bottom:0}
.sh-shelf h3{position:absolute;left:24px;top:16px;margin:0;color:var(--ink);font-family:'STKaiti','KaiTi',serif;font-size:28px;line-height:38px;font-weight:600;max-width:420px;white-space:nowrap}
.sh-rewards{position:absolute;left:24px;top:67px;display:flex;gap:12px}
.sh-reward{width:96px;height:96px;border:1px solid #c5b38d;background:#efe5ca;border-radius:5px;position:relative;display:grid;place-items:center}
.sh-quality-1{background:#e7e1eb;border-color:#bfb2c7}.sh-quality-2{background:#e3e9da;border-color:#b4c2a7}
.sh-reward svg{width:49px;height:49px;color:#7e6b45;margin-bottom:10px;stroke-width:1.5}
.sh-reward b{position:absolute;right:7px;bottom:4px;color:var(--ink);font-size:20px;font-weight:500}
.sh-item-note{position:absolute;left:141px;top:101px;width:280px;margin:0;color:#75807a;font-size:21px;line-height:1.4}
.sh-purchase{position:absolute;right:20px;top:28px;width:190px;text-align:center}
.sh-price{height:38px;display:flex;align-items:center;justify-content:center;gap:7px;color:#927240;font-size:30px;font-variant-numeric:tabular-nums}
.sh-price svg{height:24px;width:24px}.sh-price b{font-weight:600}.sh-price small{font-size:17px}
.sh-limit{display:block;color:var(--muted);font-size:18px;line-height:30px}
.sh-buy{min-height:48px;width:150px;margin-top:9px;font-size:23px;padding:7px 12px}
.sh-buy:disabled{opacity:1;background:#e5e3d8;border-color:#c9c6b7;color:#989c92}
.sh-sold-out .sh-rewards,.sh-sold-out .sh-item-note{opacity:.5}
