/* Shared opaque UI system. Physical shop/card artwork keeps its own coordinates. */
@font-face{font-family:Inter;src:url('fonts/inter/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --ui-font:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ui-bg:#191b1e;--ui-surface:#23262a;--ui-raised:#2c3035;--ui-border:#3b4046;
  --ui-text:#f4f1eb;--ui-muted:#babec5;--ui-accent:#ec9148;--ui-accent-soft:#493325;
  --ink:#191b1e;--navy:#191b1e;--cream:#f4f1eb;--muted:#babec5;--bronze:#ec9148;--gold:#ec9148;--line:#3b4046;
  --hud:80px;--nav:0px;--rail-offset:108px;color-scheme:dark;
}
html,body{font-family:var(--ui-font);font-size:14px;line-height:1.5;color:var(--ui-text);background:var(--ui-bg);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--ui-font);font-size:14px;letter-spacing:0}
/* Older scene styles deliberately used a serif in these UI text roles. */
.game :is(h1,h2,h3,.brand b,.brand-mark,.product-price,.table-monogram,.card-fallback b,.card-back b,.pack-art strong),
.modal :is(h1,h2,h3,.detail-metadata b){font-family:var(--ui-font)!important}
h1,h2,h3{font-weight:650;letter-spacing:-.035em;line-height:1.2}
h1{font-size:28px}h2{font-size:23px}h3{font-size:17px}
.eyebrow{font-size:11px;line-height:1.5;font-weight:650;letter-spacing:.09em;color:var(--ui-muted)}
.muted{font-size:13px;line-height:1.6;color:var(--ui-muted)}
.ui-icon{display:inline-grid;place-items:center;flex-shrink:0;line-height:1;vertical-align:middle}
.ui-icon svg{display:block;width:24px;height:24px;overflow:visible}
.button .ui-icon svg,.text-button .ui-icon svg{width:18px;height:18px}
.icon-button .ui-icon svg{width:20px;height:20px}
.icon-button:has(.ui-icon){display:inline-flex;align-items:center;justify-content:center;padding:7px}
.text-button:has(.ui-icon){justify-content:flex-start}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}
input,select,textarea{accent-color:var(--ui-accent)}
.scene{scrollbar-color:#676d75 var(--ui-bg)}
.hud{
  height:var(--hud);padding:14px 28px;gap:24px;background:var(--ui-bg);border-bottom:1px solid #30343a;
  backdrop-filter:none;box-shadow:none;
}
.brand{gap:12px}.brand-mark{width:44px;height:44px;background:var(--ui-accent-soft);color:var(--ui-accent);border:0;border-radius:13px;font-size:16px;font-weight:750;letter-spacing:-1px;box-shadow:none}
.brand b{font-size:20px;line-height:1.2;font-weight:700;letter-spacing:-.045em}
.brand small{font-size:10px;letter-spacing:.09em;margin-top:4px;color:var(--ui-muted)}
.location-label{font-size:13px;border-color:var(--ui-border);padding-left:24px;color:var(--ui-muted);gap:9px}
.location-dot{width:6px;height:6px;background:var(--ui-accent)}
.hud-stats{gap:8px;height:52px;align-items:center}
.hud-stat{position:relative;display:grid;grid-template-columns:24px 1fr;grid-template-rows:18px 24px;column-gap:11px;align-content:center;min-width:126px;padding:5px 12px;border:0;border-radius:11px;background:var(--ui-surface);text-align:left}
button.hud-stat:hover{background:var(--ui-raised)}
.hud-stat-icon{grid-row:1/3;align-self:center;color:var(--ui-muted)}
.hud-stat-icon svg{width:22px;height:22px}
.hud-stat .stat-label{font-size:9px;line-height:18px;letter-spacing:.07em;font-weight:600;color:var(--ui-muted);margin:0;white-space:nowrap}
.hud-stat b{font-size:20px;line-height:24px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.hud-stat.credits{min-width:158px;padding-right:12px}.credits b{font-size:21px;color:var(--ui-text)}.credits small{font-size:11px;color:var(--ui-muted);font-weight:500}


.room-nav{
  position:absolute;left:16px;right:auto;top:calc(var(--hud) + 16px);bottom:18px;width:72px;height:auto;
  padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;
  background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:18px;box-shadow:none;overflow:visible;
}
.room-nav button{position:relative;width:50px;height:50px;min-width:0;flex-shrink:0;padding:13px;display:flex;align-items:center;justify-content:center;gap:0;border-radius:12px;background:var(--ui-bg);color:var(--ui-muted);font-size:13px;letter-spacing:0}
.room-nav button::after{display:none}
.room-nav button:hover,.room-nav button:focus-visible{background:var(--ui-raised);color:var(--ui-text)}
.room-nav button.active{background:var(--ui-accent-soft);color:var(--ui-accent)}
.nav-icon{font-size:0}.room-nav .nav-label{display:none;position:absolute;left:calc(100% + 18px);top:50%;transform:translateY(-50%);width:max-content;padding:10px 14px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);font-size:13px;line-height:20px;pointer-events:none;box-shadow:none;white-space:nowrap}
.room-nav button:hover .nav-label,.room-nav button:focus-visible .nav-label{display:block}
.nav-badge{position:absolute;right:2px;top:1px;min-width:17px;height:17px;font-size:10px;line-height:17px;border:2px solid var(--ui-bg);background:var(--ui-accent);color:var(--ui-bg);font-weight:700;padding:0 4px}
.button{min-height:42px;padding:10px 16px;gap:12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-raised);color:var(--ui-text);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:0;transition:background-color .14s,color .14s,border-color .14s;box-shadow:none}
.button:hover:not(:disabled){transform:none;background:#373c43;border-color:#585f68}
.button-bronze{background:var(--ui-accent);border-color:var(--ui-accent);color:#21170f}
.button-bronze:hover:not(:disabled){background:#f6a05c;border-color:#f6a05c}
.button:disabled{background:var(--ui-surface);border-color:var(--ui-border);color:#9a9fa8}
.button-small{min-height:34px;padding:7px 12px;font-size:12px}
.text-button{font-size:12px;font-weight:550;line-height:1.5;padding:9px 0;gap:8px;color:var(--ui-muted)}
.text-button:hover{text-decoration:none;color:var(--ui-text)}
.icon-button{width:36px;height:36px;border:1px solid var(--ui-border);border-radius:9px;background:var(--ui-surface);color:var(--ui-text);font-size:20px}
.icon-button:hover{background:var(--ui-raised)}
.dark-panel,.parchment-panel{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:18px;color:var(--ui-text);box-shadow:none;backdrop-filter:none}
.parchment-panel .eyebrow{color:var(--ui-muted)}
.segmented{padding:4px;gap:3px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:10px}
.segmented button{font-size:12px;padding:7px 12px;border-radius:7px;color:var(--ui-muted)}
.segmented button.active{background:var(--ui-accent-soft);color:var(--ui-accent)}
.segmented button:hover:not(.active){background:var(--ui-raised);color:var(--ui-text)}
.hotspot{gap:10px;min-height:58px}
.hotspot-marker{width:46px;height:46px;background:var(--ui-bg);color:var(--ui-accent);border:1px solid var(--ui-border);border-radius:14px;box-shadow:none;transition:background-color .14s}
.hotspot-marker::before{display:none}
.hotspot:hover .hotspot-marker,.hotspot:focus-visible .hotspot-marker{background:var(--ui-accent-soft);color:var(--ui-accent);box-shadow:none}
.hotspot-label{display:none;position:absolute;left:calc(50% + 34px);top:50%;transform:translateY(-50%);width:max-content;min-width:0;max-width:240px;padding:10px 13px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-bg);opacity:1;z-index:3;transition:none;box-shadow:none}
.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{display:block;transform:translateY(-50%)}
.hotspot small{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--ui-muted)}
.hotspot b{font-size:13px;font-weight:600;line-height:1.4;margin:0;white-space:normal}
.hotspot em{font-size:12px;color:var(--ui-accent)}
.opening-spot{left:7%;width:23%}.computer-spot{left:8%}
.binder-spot .hotspot-label,.showcase-spot .hotspot-label{left:auto;right:calc(50% + 34px)}
.floor-caption{left:var(--rail-offset);bottom:24px;max-width:322px;width:auto;padding:18px 20px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-bg);color:var(--ui-text);text-shadow:none}
.floor-caption .eyebrow{font-size:10px;letter-spacing:.06em}.floor-caption h1{font-size:22px;font-weight:650;line-height:1.25;letter-spacing:-.04em;margin:8px 0}
.floor-caption p{font-size:12px;line-height:1.6;color:var(--ui-muted)}
.floor-hint{right:24px;bottom:24px;padding:9px 13px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-bg);font-size:11px;letter-spacing:0;color:var(--ui-muted)}
.hint-diamond{color:var(--ui-accent)}
.counter-panel{right:24px;top:16px;width:350px;padding:22px;border-radius:18px;max-height:calc(100% - 32px);overflow:auto;scrollbar-width:thin;scrollbar-color:#676d75 var(--ui-bg)}
.panel-heading h1{font-size:26px;line-height:1.2;margin:8px 0 10px}.panel-heading p{font-size:12px;color:var(--ui-muted)}
.products{margin-top:18px}.product{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px 0;border-color:var(--ui-border)}
.product-copy h3{font-family:var(--ui-font);font-size:15px;font-weight:650}.product-sub{font-size:11px;line-height:1.5;color:var(--ui-muted);margin:4px 0 10px}
.product-price{font-size:22px;font-weight:650;letter-spacing:-.04em}.product-price small{font-family:var(--ui-font);font-size:11px;color:var(--ui-muted);font-weight:500}
.product .button{min-height:34px;padding:8px 10px;gap:8px;font-size:11px;border-radius:9px}
.product-odds{font-size:10px;line-height:1.6;color:var(--ui-muted);margin-top:10px}
.counter-panel>.text-button{border-color:var(--ui-border);color:var(--ui-muted);font-size:11px;padding-top:13px}
.counter-owned{margin:10px -22px -22px;padding:14px 22px;background:var(--ui-surface);border-top:1px solid var(--ui-border);font-size:12px;color:var(--ui-text)}
.counter-owned .text-button{font-size:12px;color:var(--ui-accent)}
.counter-checkout{margin-top:16px;border-color:var(--ui-border);padding-top:16px}.checkout-heading h2{font-family:var(--ui-font);font-size:22px;font-weight:650;letter-spacing:-.04em}
.checkout-heading .text-button{font-size:12px;padding:8px 0}.checkout-unit-price{font-size:13px;line-height:1.5;color:var(--ui-muted);margin:5px 0 18px}
.counter-checkout>label{font-size:13px;font-weight:550;margin-bottom:9px}
.quantity-stepper{grid-template-columns:42px 1fr 42px;gap:8px}
.quantity-stepper button,.quantity-stepper input{height:44px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text)}
.quantity-stepper input{font-size:19px;font-weight:600}.quantity-stepper button{font-size:24px}
.quantity-stepper button:hover:not(:disabled){background:var(--ui-raised)}
.quantity-stepper button:disabled{color:#8d949e;background:var(--ui-bg)}
.checkout-total{border-color:var(--ui-border);font-size:13px;margin:18px 0 12px;padding-top:16px}.checkout-total strong{font-size:28px;letter-spacing:-.04em;font-weight:650}.checkout-total small{font-size:12px;font-weight:500;color:var(--ui-muted)}
.checkout-availability{font-size:12px;line-height:1.5;color:var(--ui-muted);min-height:36px}.counter-checkout>.button{font-size:13px;margin-top:14px}
.counter-checkout>.button:disabled{background:var(--ui-surface);border-color:var(--ui-border);color:#9a9fa8}
.counter-panel.ordering .panel-heading p{font-size:12px}
.dialogue{left:var(--rail-offset);right:406px;bottom:24px;gap:14px;padding:16px 18px;min-height:80px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:16px;box-shadow:none}
.dialogue-avatar{width:40px;height:40px;border:0;border-radius:12px;background:var(--ui-accent-soft);color:var(--ui-accent);font-family:var(--ui-font);font-size:14px;font-weight:700}
.dialogue strong{font-size:10px;letter-spacing:.06em;color:var(--ui-muted)}.dialogue p{font-size:13px;line-height:1.5;color:var(--ui-text);margin-top:5px}
.dialogue-button{font-size:12px;gap:10px;color:var(--ui-accent)}
.speech{padding:14px 16px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:14px;font-size:13px;line-height:1.5;box-shadow:none}
.pack-tray{left:var(--rail-offset);top:16px;bottom:24px;width:238px;padding:20px;border-radius:16px;background:var(--ui-bg)}
.pack-tray h2{font-size:23px;margin:8px 0 10px}.pack-tray>.text-button{font-size:12px;color:var(--ui-accent)}
.owned-packs{margin-top:18px;gap:10px}.owned-pack{padding:12px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;gap:14px}
.owned-pack.selected,.owned-pack:hover{background:var(--ui-raised);border-color:#656d78}
.owned-pack b{font-size:13px;font-weight:600}.owned-pack small{font-size:11px;line-height:1.4;color:var(--ui-muted);margin-top:4px}.owned-pack em{font-size:11px;line-height:1.4;color:var(--ui-accent);margin-top:7px}
.opening-workspace{left:370px;right:24px;top:16px;bottom:24px}.opening-empty{padding:28px;max-width:400px;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-bg);text-shadow:none}
.table-monogram{width:54px;height:54px;margin:0 auto 20px;border:0;border-radius:16px;background:var(--ui-accent-soft);font-family:var(--ui-font);font-size:22px;letter-spacing:-1px;color:var(--ui-accent);font-weight:750}
.opening-empty h1{font-size:28px;margin:10px 0 14px}.opening-empty p{font-size:13px;line-height:1.7;color:var(--ui-muted);margin-bottom:22px}
.box-caption h2{font-size:24px;font-weight:650}.box-caption p{font-size:13px;color:var(--ui-muted)}
.pack-presentation>.button{font-size:14px;border-radius:11px}.pack-presentation>.text-button{font-size:13px}
.game.drawing-pack .reveal-heading{padding:7px 13px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-bg);width:max-content;max-width:none}
.reveal-counter{font-size:12px;line-height:18px;letter-spacing:.04em;margin:0;color:var(--ui-muted);font-weight:550;font-variant-numeric:tabular-nums}
.game.drawing-pack .reveal-details{left:max(var(--rail-offset),calc(50% - min(28vh,235px)*.714 - 230px));top:51%;transform:translateY(-50%);width:188px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:14px;padding:17px 18px;box-shadow:none;text-shadow:none}
.reveal-price-label{display:block;font-size:11px;line-height:1.5;font-weight:500;color:var(--ui-muted)}
.reveal-value{display:block;font-size:30px;line-height:1.25;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ui-accent);margin:6px 0 9px}
.reveal-kind{display:block;font-size:13px!important;line-height:1.45;font-weight:550;margin:0!important;color:var(--ui-text)!important;overflow-wrap:anywhere}
.game.drawing-pack #nextCard{width:46px;height:46px;min-height:46px;padding:12px;gap:0;border-radius:12px}
.game.drawing-pack #nextCard .ui-icon svg{width:22px;height:22px}
.draw-pack>.draw-pack-count{display:block;width:max-content;min-width:28px;margin:10px auto 0;padding:4px 9px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-muted);font-size:11px;line-height:16px;font-weight:600;font-variant-numeric:tabular-nums}
.tag{border:1px solid var(--ui-border);border-radius:6px;padding:5px 7px;font-size:9px;line-height:1.3;font-weight:600;letter-spacing:.03em;background:var(--ui-surface);color:var(--ui-text)}
.tag.hit{background:var(--ui-accent-soft);border-color:#68462b;color:#ffb878}.tag.new{background:#223d31;border-color:#3d6c53;color:#bfe4ca}.tag.duplicate{color:var(--ui-muted)}
.opening-summary{padding:24px;max-width:1000px;border-radius:18px;background:var(--ui-bg);color:var(--ui-text)}.opening-summary h1{font-size:26px;font-weight:650}.opening-summary>p{font-size:13px;color:var(--ui-muted)}
.summary-grid{margin:22px 0;gap:12px}.summary-card{color:var(--ui-text)}.summary-card b{font-size:11px;font-weight:500;line-height:1.45}.summary-card .tag{font-size:8px;border-radius:5px}.summary-actions{gap:12px}
.notice{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:12px;font-size:13px;line-height:1.5;padding:14px 20px;box-shadow:none;bottom:24px}
.notice.error{background:#3d2525;border-color:#87504d;color:#ffe3df}
.connection-status{left:var(--rail-offset);right:24px;top:calc(var(--hud) + 12px);padding:12px 16px;border:1px solid #775435;border-radius:12px;background:#3e2d20;font-size:13px;color:#ffe4c9}
.connection-status button{border:1px solid #8b6040;border-radius:8px;background:#5b3b25;color:#ffe4c9;padding:7px 11px;font-size:12px}
.boot{background:var(--ui-bg);color:var(--ui-text)}.boot>.brand-mark{border-radius:20px;letter-spacing:-2px;color:var(--ui-accent);background:var(--ui-accent-soft);font-family:var(--ui-font);font-weight:700}
.boot h1{font-size:32px;font-weight:650}.boot p{font-size:14px;line-height:1.6;color:var(--ui-muted)}
@media(min-width:851px) and (min-aspect-ratio:4/3){
 .counter-panel.ordering{left:var(--rail-offset);right:auto;width:310px;padding:20px}
 .counter-panel.ordering .counter-owned{margin:12px -20px -20px;padding:14px 20px}
 .counter-panel.ordering~.dialogue{right:24px;max-width:700px}
}
@media(max-width:1100px){
 .hud{padding:14px 20px;gap:18px}.hud-stats{gap:6px}.hud-stat{min-width:108px;padding:5px 10px;column-gap:8px}.hud-stat.credits{min-width:138px;padding-right:10px}
 .brand b{font-size:18px}.location-label{font-size:12px;padding-left:18px}.counter-panel{right:20px;width:328px;padding:20px}.counter-owned{margin:10px -20px -20px;padding:14px 20px}
 .dialogue{right:368px}.floor-hint{display:none}
}
@media(max-width:850px){
 .location-label{display:none}.hud{gap:12px;padding-inline:16px}.hud-stat{min-width:92px;grid-template-columns:1fr;padding:6px 10px}.hud-stat-icon{display:none}.hud-stat.credits{min-width:115px}.hud-stat b,.credits b{font-size:18px}.hud-stat .stat-label{font-size:8px}
 
 .hotspot b{font-size:13px}.counter-panel{right:16px;width:305px;padding:18px}.product{grid-template-columns:66px 1fr;gap:12px}.product .pack-art{width:62px;height:92px}.product-buy{gap:6px}.product-price{font-size:20px}.product .button{font-size:10px;padding:7px 8px}
 .counter-owned{margin:10px -18px -18px;padding:14px 18px}.dialogue{right:341px;padding:14px;gap:10px}.dialogue-avatar{display:none}.dialogue p{font-size:12px}.dialogue-button{font-size:11px}
 .pack-tray{width:210px;padding:16px}.opening-workspace{left:338px}.game.drawing-pack .reveal-details{left:var(--rail-offset);width:165px;padding:14px}.reveal-value{font-size:26px}
}
@media(min-width:651px) and (max-width:1000px){
 /* On a narrow table the annotation clears the full-size physical card. */
 .game.drawing-pack .reveal-details{top:auto;bottom:12px;left:var(--rail-offset);transform:none;width:165px;padding:10px 12px}
 .reveal-price-label{font-size:10px}.reveal-value{font-size:24px;margin:5px 0 6px}.reveal-kind{font-size:12px!important}
}
@media(min-width:651px) and (max-width:1000px) and (max-height:640px){
 .game.drawing-pack .reveal-details{top:8px;bottom:auto;padding:9px 12px}.reveal-value{font-size:23px}
}
@media(max-height:640px) and (min-width:651px){
 :root{--hud:68px}.hud{padding-block:9px}.room-nav{gap:3px;top:calc(var(--hud) + 12px);bottom:12px;padding-block:9px}.room-nav button{width:46px;height:46px;padding:11px}
 .floor-caption{padding:14px 17px;bottom:16px}.floor-caption p{display:none}.counter-panel{top:10px;max-height:calc(100% - 20px);padding:16px 18px}.dialogue{padding:10px 14px;bottom:14px;min-height:60px}.dialogue strong{font-size:9px}.dialogue p{font-size:12px}.counter-owned{margin:8px -18px -16px;padding:10px 18px}
}
@media(max-width:650px){
 :root{--hud:76px;--nav:72px;--rail-offset:14px}
 .hud{padding:12px 14px;gap:10px}.brand{gap:8px}.brand-mark{width:36px;height:36px;font-size:14px;border-radius:11px}.brand b{font-size:16px}.brand small{font-size:8px;letter-spacing:.04em;margin-top:3px}.hud-stats{height:44px;gap:5px}.hud-stat{min-width:64px;background:var(--ui-bg);padding:2px 5px}.hud-stat.credits{min-width:85px;padding-right:0}.hud-stat .stat-label{font-size:7px;letter-spacing:.025em;line-height:17px}.hud-stat b,.credits b{font-size:17px;line-height:20px}.credits small{font-size:9px}
 .room-nav{left:12px;right:12px;top:auto;bottom:8px;width:auto;height:60px;padding:6px;display:flex;flex-direction:row;justify-content:space-around;gap:2px;border-radius:16px}
 .room-nav button{height:46px;width:calc(100% / 6);padding:6px 2px;flex-direction:column;gap:4px;border-radius:10px}.room-nav .nav-icon svg{width:21px;height:21px}.room-nav .nav-label,.room-nav button:hover .nav-label,.room-nav button:focus-visible .nav-label{display:block;position:static;width:auto;padding:0;transform:none;border:0;border-radius:0;background:none;color:inherit;font-size:8px;line-height:10px;white-space:nowrap}.nav-badge{right:4px;top:0;font-size:8px;min-width:15px;height:15px;line-height:13px;padding:0 3px}
 .hotspot-stage{inset:0}.hotspot{display:flex;align-items:center;min-height:45px}.hotspot-marker{width:40px;height:40px;border-radius:12px;margin:auto}.hotspot-marker svg{width:22px;height:22px}.hotspot-label{position:absolute;top:calc(50% + 28px);left:50%;min-width:0;max-width:200px;padding:9px 12px;transform:translateX(-50%)}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{transform:translateX(-50%)}.binder-spot .hotspot-label,.showcase-spot .hotspot-label{left:auto;right:0;transform:none}.binder-spot:hover .hotspot-label,.showcase-spot:hover .hotspot-label{transform:none}.hotspot b,.hotspot em{display:block}.hotspot small{font-size:9px}
 .opening-spot{left:3%;top:55%;width:32%;height:18%}.computer-spot{left:69%;top:53%;width:26%;height:18%}
 .floor-caption{left:14px;right:14px;bottom:14px;max-width:none;width:auto;padding:15px 17px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-bg)}.floor-caption h1{font-size:21px;margin:5px 0 0}.floor-caption p{display:none}.floor-caption .eyebrow{font-size:9px}
 .counter-panel,.counter-panel.ordering{position:relative;left:auto;right:auto;top:auto;width:calc(100% - 28px);max-height:none;margin:340px 14px 24px;padding:20px}.counter-panel .panel-heading{display:block}.counter-panel h1{font-size:25px;margin:8px 0}.products{display:grid;grid-template-columns:1fr;gap:0;margin-top:16px}.product{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:16px;text-align:left}.product-buy{flex-direction:row}.product .pack-art{width:72px;height:104px}.product .button{width:auto;font-size:12px;padding:8px 12px}.product-price{font-size:22px}.product-sub{font-size:12px}.product-odds{font-size:11px}
 .counter-owned,.counter-panel.ordering .counter-owned{margin:12px -20px -20px;padding:14px 20px}.counter-checkout{margin-top:16px}.checkout-unit-price{font-size:13px}.quantity-stepper button,.quantity-stepper input{height:44px}.checkout-total{margin-top:18px}.dialogue,.counter-panel.ordering~.dialogue{display:none}.speech{font-size:12px;padding:12px 14px;max-width:190px}
 .pack-tray{position:relative;top:auto;left:auto;bottom:auto;margin:14px;width:calc(100% - 28px);padding:18px;border-radius:14px}.pack-tray h2{font-size:22px;margin:7px 0}.pack-tray>.eyebrow{font-size:10px}.owned-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;max-height:216px;overflow:auto;padding-bottom:0}.owned-pack{width:100%;min-width:0;padding:10px;gap:10px}.owned-pack b{font-size:12px}.owned-pack small{font-size:10px}.owned-pack em{font-size:10px}
 .opening-workspace{position:relative;left:auto;right:auto;top:auto;bottom:auto;min-height:calc(100dvh - var(--hud) - var(--nav) - 250px);padding:0 14px 14px;display:flex;align-items:center;justify-content:center}.opening-empty{padding:22px;max-width:100%}.opening-empty h1{font-size:25px}.game.drawing-pack .reveal-details{left:4%;bottom:10%;top:auto;transform:none;width:164px;max-width:65%;padding:13px 14px}.game.drawing-pack .reveal-heading{max-width:none;width:max-content;padding:6px 11px}.reveal-value{font-size:26px;margin:5px 0 8px}.reveal-kind{font-size:12px!important}.reveal-counter{font-size:11px}.reveal-price-label{font-size:10px}.draw-pack>.draw-pack-count{font-size:10px;margin-top:7px;padding:3px 7px;min-width:24px}
 /* Pack movement uses the full table, independent of the normal-flow chooser. */
 .game.drawing-pack .reveal-value{display:block;margin:5px 0 8px!important}.game.drawing-pack .reveal-kind{display:block;margin:0!important}
 .game.presenting-pack[data-scene=opening] .opening-workspace,.game.drawing-pack[data-scene=opening] .opening-workspace{position:absolute;left:0;right:0;top:0;bottom:0;min-height:0;padding:0;display:block}
 .opening-summary{padding:18px}.opening-summary h1{font-size:24px}.summary-actions{flex-direction:column}.notice{bottom:calc(var(--nav) + 12px);font-size:12px;max-width:calc(100% - 28px);padding:12px 15px}.connection-status{left:14px;right:14px;font-size:12px;padding:10px 12px;gap:10px}
}
@media(max-width:390px){.brand small{display:none}.brand b{font-size:14px}.brand-mark{width:32px;height:32px}.hud-stat{min-width:53px;padding-inline:3px}.hud-stat.credits{min-width:78px}.hud-stat .stat-label{font-size:6px}.hud-stat b,.credits b{font-size:16px}.room-nav .nav-label{font-size:7px}.owned-packs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.button,.hotspot-marker{transition:none}}
