/* CardReactor v16: material-led shop presentation with readable desktop CRT. */
:root{--bronze:#c9a574;--gold:#eed3a4;--cream:#f5efe4;--hud:88px;--nav:76px}
.overview-image,.binder-image{background-image:url('scene/shop-overview-v3.webp')}
.counter-image{background-image:url('scene/shop-counter-v3.webp')}
.opening-image{background-image:url('scene/opening-table-v3.webp')}
.computer-image{background-image:url('scene/computer-detail-v3.webp')}
.scene-image{transition:opacity .65s ease;will-change:opacity}
.room-light{background:radial-gradient(ellipse at 48% 30%,#fff2d2,transparent 65%)}
.screen-light{display:none}
.scene-shade{background:linear-gradient(180deg,#081019,transparent 25%,transparent 65%,#081019)}
.game[data-scene="counter"] .scene-shade{background:linear-gradient(90deg,#07111b,transparent 50%,#07111b)}
.game[data-scene="opening"] .scene-shade{background:linear-gradient(90deg,#07111b,transparent 45%,#07111b)}
.game[data-scene="binder"] .scene-shade{background:#06101a}
.hud{background:linear-gradient(180deg,#0b141c,#0b141c 75%,transparent);padding-inline:32px}
.brand-mark{background:linear-gradient(140deg,#213342,#101b25);box-shadow:inset 0 0 0 3px #0e1820,inset 0 0 0 4px #c9a57420,0 4px 14px #0002}
.hud-stat b{font-variant-numeric:tabular-nums}
.bottom-nav{background:linear-gradient(180deg,#0c1720,#07111a);backdrop-filter:none}
.button{border-radius:4px;transition:background .2s,box-shadow .2s,transform .2s;box-shadow:0 2px 0 #0002,inset 0 1px 0 #ffffff12}
.button-bronze{background:linear-gradient(145deg,#dbc093,#b99563);color:#152332;border-color:#dfc79f}
.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0002,inset 0 1px 0 #fff3}
.button:active:not(:disabled){transform:translateY(1px)}
.hotspot-marker{background:#132430;border-color:#ecd8b4;box-shadow:0 0 0 5px #fff0,0 3px 20px #0005;position:relative}
.hotspot-marker::before{content:'';position:absolute;inset:-7px;border:1px solid #e9d0a744;border-radius:50%;transition:transform .3s,opacity .3s}
.hotspot:hover .hotspot-marker::before{transform:scale(1.2);opacity:1}
.hotspot-label{border-radius:3px;background:linear-gradient(90deg,#122330,#122330);backdrop-filter:none}
.counter-spot{left:24%;top:31%;width:24%;height:22%}
.opening-spot{left:2%;top:57%;width:23%;height:24%}
.binder-spot{left:70%;top:63%;width:24%;height:21%}
.computer-spot{left:6%;top:24%;width:20%;height:24%}
.floor-caption{background:linear-gradient(90deg,#0d1924,transparent);padding:19px 23px;border-left:1px solid #d5b98755;text-shadow:0 2px 10px #0007}
.floor-caption h1{letter-spacing:-.025em}
.shopkeeper{filter:drop-shadow(0 9px 12px #0003) saturate(.88) brightness(.96)}
.game[data-scene="overview"] .shopkeeper{width:12.5%;left:29%;bottom:60%}
.game[data-scene="counter"] .shopkeeper{width:min(30%,540px);left:calc(40% - min(15%,270px));bottom:25.5%}
.parchment-panel{background:linear-gradient(145deg,#f8f3e9,#e9dfcd);border:1px solid #d3c2a3;box-shadow:0 14px 42px #0004,inset 0 0 0 4px #fff2}
.counter-panel{border-radius:6px;padding:24px;top:18px}
.product-price{font-variant-numeric:tabular-nums}
.pack-image{filter:drop-shadow(3px 8px 6px #14212c3b)}
.dialogue{backdrop-filter:none;background:#0e1f2b;border-radius:5px;border-color:#cab086}
.dark-panel{background:linear-gradient(135deg,#142632,#0d1b26);border-color:#c7b089;box-shadow:0 16px 50px #0004,inset 0 1px 0 #fff1;backdrop-filter:none;border-radius:6px}
.binder-book{box-shadow:0 22px 55px #0008,inset 0 0 0 5px #12212b;border-color:#8c928c}
.binder-pocket{box-shadow:inset 0 0 0 1px #fff5,inset 1px 1px 2px #fff8,0 2px 4px #1227381a;background:linear-gradient(135deg,#ffffff,#ffffff 38%,#ffffff 39%,#ffffff 42%,#ffffff)}
.binder-pocket:hover{background:linear-gradient(135deg,#ffffff,#ffffff 38%,#ffffff 39%,#ffffff 42%,#ffffff)}
.modal{border-radius:9px;background:linear-gradient(145deg,#faf6ee,#eee5d5);box-shadow:0 32px 120px #0009,inset 0 0 0 4px #fff3}
.modal::backdrop{background:#050e18;backdrop-filter:none}
.detail-image-button{position:relative;background:radial-gradient(ellipse at 50% 100%,#c1ad87,transparent 65%);padding-bottom:10px}
.detail-image{filter:drop-shadow(0 13px 12px #172c3540);transition:filter .3s,transform .3s}
.detail-image-button:hover .detail-image{transform:translateY(-3px);filter:drop-shadow(0 18px 18px #172c354b)}
.detail-copy h1{font-size:27px;letter-spacing:-.025em}
.detail-metadata{gap:12px;padding-block:19px}
.detail-metadata div{font-size:12px}
.detail-metadata b{font-variant-numeric:tabular-nums}
.detail-metadata div:last-child{border-top:1px solid #1c334a15;padding-top:12px}
.detail-metadata div:last-child b{font-size:18px;color:#254d45}
.detail-note{font-size:11px!important}
.card-face{box-shadow:inset 0 0 0 1px #ffffffe0,0 0 0 1px #101e2a33}
.card-front::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#fff 40%,#fff 48%,transparent 59%);opacity:1}
.reveal-card{filter:drop-shadow(0 21px 20px #0008)}
.reveal-card.flipped{animation:card-arrive .45s ease-out}
.reveal-details h3{font-size:17px}
.reveal-details p{font-size:12px}
@keyframes card-arrive{from{opacity:1;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1000px){
 .game[data-scene="computer"] .scene-shade{background:linear-gradient(180deg,#08121b,transparent 50%,#08121b)}
 .computer-workspace{left:50%;right:auto;transform:translateX(-50%);top:clamp(6px,calc(50dvh - max(56.25vw,100dvh) * .377 - var(--hud)),80px);width:calc(max(100vw,177.78dvh) * .552);height:calc(max(56.25vw,100dvh) * .590);max-height:calc(100dvh - var(--hud) - var(--nav) - 20px);padding:20px 25px;border-radius:18px;background:linear-gradient(135deg,#102335,#0c192a);box-shadow:inset 0 0 30px #02091280,0 0 12px #133c5740;border:1px solid #35607822;isolation:isolate}
 .computer-workspace::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,#ffffff 0,#ffffff 1px,transparent 1px,transparent 4px)}
 .exchange-header h1{font-size:clamp(19px,1.6vw,28px);margin:4px 0 6px}
 .exchange-header .eyebrow{font-size:9px}
 .exchange-header .muted{font-size:11px;line-height:1.5}
 .exchange-status{font-size:8px;padding-top:5px}
 .exchange-stats{gap:24px;padding:11px 0;margin:13px 0}
 .exchange-stats>div{padding-right:24px}
 .exchange-stats span{font-size:9px;letter-spacing:.1em;margin-bottom:5px}
 .exchange-stats b{font-size:20px;font-variant-numeric:tabular-nums}
 .exchange-toolbar{margin-bottom:11px}
 .exchange-toolbar .segmented button{font-size:11px;padding:7px 12px}
 .exchange-toolbar .button{font-size:11px;min-height:34px;padding:8px 13px;gap:12px}
 .auction-list{gap:8px}
 .auction-row{grid-template-columns:38px minmax(115px,1fr) 94px 94px;padding:9px 11px;gap:12px;border-color:#c8ab79}
 .auction-thumb{width:38px;height:53px}
 .auction-card-info b{font-size:12px;line-height:1.3}
 .auction-card-info small{font-size:10px;margin-top:4px}
 .auction-card-info em{font-size:9px;line-height:1.4}
 .auction-bid b{font-size:15px}
 .auction-bid small{font-size:8px;margin-top:5px}
 .auction-time b{font-size:13px}
 .auction-time small,.auction-time .text-button{font-size:9px}
 .exchange-note{font-size:9px;line-height:1.45;padding-top:8px;margin-top:9px}
 .auction-empty{min-height:100px;padding:16px;gap:6px}
 .auction-empty h2{font-size:20px}
 .auction-empty p{font-size:12px;max-width:330px}
 .auction-empty .button{font-size:11px;min-height:32px}
}
@media(min-width:1300px) and (min-height:850px){.reveal-card{width:260px;height:362px}}
@media(max-width:999px){
 .game[data-scene="computer"] .scene-shade{background:#081422}
 .computer-workspace{position:relative;left:auto;right:auto;top:auto;transform:none;width:calc(100% - 28px);height:auto;max-height:none;margin:12px auto;padding:22px 20px;background:linear-gradient(140deg,#15293a,#0d1b2a);border:1px solid #bba07855;border-radius:9px;box-shadow:0 15px 50px #0006}
 .exchange-header .muted{font-size:12px}
 .exchange-stats span{font-size:9px}
 .auction-card-info b{font-size:12px}
 .auction-card-info small{font-size:10px}
 .auction-card-info em{font-size:9px}
 .auction-bid small{font-size:9px}
 .exchange-note{font-size:10px;line-height:1.6}
}
@media(max-width:650px){
 .hud{padding-inline:14px}
 .floor-caption{border:0;padding:16px;background:linear-gradient(180deg,transparent,#0a1725);width:100%;left:0}
 .hotspot-marker{width:38px;height:38px}
 .counter-spot{left:37%;top:37%;width:29%;height:18%}
 .computer-spot{left:69%;top:53%;width:26%;height:18%}
 .opening-spot{left:3%;top:55%;width:32%;height:18%}
 .binder-spot{left:49%;top:67%;width:34%;height:17%}
 .game[data-scene="overview"] .shopkeeper{display:none}
 .game[data-scene="counter"] .shopkeeper{width:38%;left:26%;bottom:20.5%}
 .counter-panel{top:auto;padding:18px 20px}
 .detail-copy h1{font-size:25px}
 .detail-metadata div{font-size:11px}
 .modal{border-radius:7px}
 .computer-workspace{width:calc(100% - 24px);padding:19px 15px}
 .exchange-header h1{font-size:24px}
 .exchange-status{font-size:8px}
 .exchange-stats b{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.scene-image,.button,.detail-image,.card-flipper{transition:none!important}.reveal-card.flipped{animation:none}.button:hover:not(:disabled){transform:none}}

@media(max-width:800px){:root{--hud:78px;--nav:72px}}
@media(max-width:520px){:root{--hud:72px;--nav:70px}}

/* The forearms rest on the counter surface; this contact shadow anchors the cutout. */
.game[data-scene="counter"] .shopkeeper::before{content:'';position:absolute;left:4%;right:4%;height:4%;bottom:1%;border-radius:50%;background:#261409;filter:blur(7px);z-index:-1}
@media(max-width:650px){.game[data-scene="counter"] .shopkeeper{width:min(30%,540px);left:calc(40% - min(15%,270px));bottom:25.5%}}

/* The monitor photograph is a foreground frame with a true masked screen aperture. */
@media(min-width:1000px){
 .game[data-scene="computer"] #computer{z-index:1;overflow:visible}
 .game[data-scene="computer"]::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,177.78dvh);height:max(56.25vw,100dvh);background:url('scene/computer-detail-v3.webp') center/100% 100%;mask:url('scene/monitor-frame-mask.svg') center/100% 100% no-repeat;-webkit-mask:url('scene/monitor-frame-mask.svg') center/100% 100% no-repeat;z-index:2;pointer-events:none}
 .computer-workspace{top:calc(50dvh - max(56.25vw,100dvh) * .382 - var(--hud));width:calc(max(100vw,177.78dvh) * .574);height:calc(max(56.25vw,100dvh) * .626);max-height:none;padding:30px 32px;border:0;border-radius:24px;box-shadow:inset 0 0 40px #000b;background:#0b1a2d;backdrop-filter:none}
 .computer-workspace::after{z-index:3;background:linear-gradient(120deg,#ffffff,transparent 38%,#aacaff 70%),repeating-linear-gradient(0deg,#ffffff 0,#ffffff 1px,transparent 1px,transparent 4px);box-shadow:inset 0 0 24px #0009}
}
/* White marketplace interface inside the CRT, shared by all auction modes. */
.computer-workspace{color:#202124;background:#fff!important;--cream:#202124;--gold:#245edb;--bronze:#245edb}
.computer-workspace .muted,.computer-workspace .exchange-note,.computer-workspace small,.computer-workspace em{color:#65686c}
.computer-workspace .eyebrow{color:#245edb}
.computer-workspace .button-bronze{background:#245edb;color:#fff;border-color:#245edb;border-radius:20px}
.computer-workspace .exchange-stats{border-color:#e5e5e5;margin:7px 0;padding:8px 0}
.computer-workspace .exchange-stats span{color:#777}.computer-workspace .exchange-stats b{color:#222;font-size:17px}
.computer-workspace .exchange-toolbar{margin:6px 0}.computer-workspace .segmented{background:#f5f5f5;border-color:#ddd;border-radius:20px}.computer-workspace .segmented button{color:#333}.computer-workspace .segmented button.active{background:#6b6b6b;color:white}
.exchange-search{display:flex;gap:8px;margin:5px 0 12px}.exchange-search input{flex:1;min-width:0;border:2px solid #333;border-radius:24px;background:white;color:#222;padding:9px 15px;font-size:13px}.exchange-search .button{min-height:35px;font-size:12px}
.market-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:20px;flex:1;min-height:0;overflow:hidden}
.market-sidebar{overflow:auto;border-right:1px solid #eee;padding-right:15px;font-size:11px}.market-sidebar h2{font:600 13px Arial,sans-serif;margin:2px 0 10px}.market-sidebar h3{font:600 12px Arial,sans-serif;margin:16px 0 8px}.market-sidebar>button{display:block;background:none;border:0;color:#245edb;text-align:left;padding:5px 0;font-size:11px;cursor:pointer}.market-sidebar>button.active{font-weight:700;color:#202124}.market-sidebar label{display:block;margin:7px 0;color:#454545}.market-sidebar input[type=number]{width:100%;padding:5px;background:white;color:#222;border:1px solid #ccc;border-radius:4px;margin-top:4px}.market-sidebar input[type=radio]{accent-color:#245edb}
.market-results{display:flex;flex-direction:column;min-height:0;min-width:0}.market-results-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:10px}.market-results-heading select{background:#f7f7f7;color:#222;border:1px solid #ddd;border-radius:14px;padding:6px;font-size:10px}
.computer-workspace .auction-list{overflow:auto;flex:1;min-height:0;gap:0}.computer-workspace .auction-row{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px 0;background:#fff;border:0;border-top:1px solid #ddd;border-radius:0;position:relative}.computer-workspace .auction-thumb{grid-row:1/4;width:100px;height:140px;background:#f2f2f2;border-radius:7px;padding:5px}.computer-workspace .auction-thumb img{height:100%;width:100%;object-fit:contain}.computer-workspace .auction-card-info b{font-size:14px;color:#222}.computer-workspace .auction-card-info small{font-size:11px}.computer-workspace .auction-card-info em{font-size:10px}.computer-workspace .auction-bid{text-align:left}.computer-workspace .auction-bid b{font-size:22px;color:#202124}.computer-workspace .auction-bid small{font-size:10px}.computer-workspace .auction-time{text-align:left}.computer-workspace .auction-time b{font-size:12px;color:#333}.computer-workspace .text-button{color:#245edb}.computer-workspace .auction-empty{background:#fff;color:#333;border-color:#ddd}.computer-workspace .auction-empty p{color:#666}.computer-workspace .exchange-note{border-color:#ddd}
@media(min-width:1000px){.computer-workspace{padding:26px 30px}.computer-workspace::after{background:linear-gradient(120deg,#fff,transparent 40%);box-shadow:inset 0 0 18px #0003}.computer-workspace .exchange-header h1{font-family:Arial,sans-serif;font-size:21px}}
@media(max-width:650px){.market-layout{grid-template-columns:1fr;overflow:visible}.market-sidebar{border:0;display:flex;gap:8px;flex-wrap:wrap;overflow:visible;padding:0}.market-sidebar h2,.market-sidebar h3,.market-sidebar label,.market-sidebar #clearAuctionFilters{display:none}.market-sidebar>button{font-size:12px;padding:8px;border:1px solid #ddd;border-radius:15px}.market-results{min-height:220px}.computer-workspace .auction-thumb{width:85px;height:120px}.computer-workspace .auction-row{grid-template-columns:85px minmax(0,1fr)}.exchange-search{margin-top:12px}}
.modal{background:white;color:#202124;--cream:#202124;--bronze:#245edb;--gold:#245edb;box-shadow:0 25px 100px #0007;border:1px solid #ddd;max-width:1100px}
.modal .eyebrow,.modal .text-button{color:#245edb}.modal .button{border:1px solid #245edb;color:#245edb;border-radius:24px;background:white}.modal .button-bronze{background:#245edb;color:white}.modal h1{font-family:Arial,sans-serif;font-size:26px;font-weight:650}.modal p,.modal .detail-note{color:#666}.modal .detail-metadata{border-color:#ddd}.modal .detail-metadata b{color:#202124}.modal .detail-metadata div:last-child b{color:#202124;font-size:25px}.modal .detail-image-button,.market-detail-image{background:#f3f3f3;border-radius:12px;padding:20px;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal .detail-image{max-height:65dvh;object-fit:contain;filter:none}.modal .detail-actions{display:flex;flex-direction:column;gap:10px}.modal .detail-actions .button{justify-content:center;min-height:44px;font-size:13px}.market-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.market-detail .auction-detail{min-width:0}.market-detail-image img{width:100%;max-height:65dvh;object-fit:contain}.modal .auction-form input,.modal .auction-form select{background:#fff;color:#222;border-color:#bbb}.modal .bid-log li{border-color:#ddd}.modal .bid-log small{color:#777}
@media(max-width:650px){.market-detail{grid-template-columns:1fr;gap:18px}.modal .detail-image-button,.market-detail-image{min-height:260px}.modal .detail-image,.market-detail-image img{max-height:42dvh}.modal h1{font-size:23px}}
.auction-detail .detail-metadata div:first-child b{font-size:28px;font-weight:700}.auction-detail .detail-metadata div:last-child b{font-size:14px}.auction-detail h2{font-family:Arial,sans-serif;font-size:18px}
@media(max-width:650px){.market-sidebar label{display:block;font-size:11px}.market-sidebar label:has(input[type=number]){width:90px}.market-sidebar h3{display:block;width:100%;margin:5px 0}.market-sidebar #clearAuctionFilters{display:block}.market-layout{gap:14px}}
/* v18: reference marketplace proportions, scaled to the CRT aperture. */
.computer-workspace{font-family:Arial,Helvetica,sans-serif}
.market-topbar{display:grid;grid-template-columns:15% minmax(0,1fr);gap:14px;align-items:center;flex-shrink:0;margin-bottom:10px}
.market-logo{color:#245edb;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.market-logo strong{font-size:32px;letter-spacing:-3px}.market-logo small{font-size:8px;letter-spacing:1px;color:#666}
.market-topbar .exchange-search{margin:0;gap:8px}.market-topbar .exchange-search input{font-size:11px;padding:7px 12px;height:32px}.market-topbar .exchange-search .button{height:32px;min-height:32px;padding:6px 23px;font-size:11px}
.computer-workspace .exchange-stats{gap:24px;margin:0 0 8px;padding:7px 0;flex-shrink:0}.computer-workspace .exchange-stats>div{padding-right:18px}.computer-workspace .exchange-stats span{font-size:8px;margin-bottom:3px}.computer-workspace .exchange-stats b{font-size:15px}
.computer-workspace .exchange-toolbar{justify-content:space-between;margin:0 0 9px}.market-caption{font-size:11px;font-weight:600}.computer-workspace .exchange-toolbar .button{min-height:28px;padding:5px 13px;font-size:10px}
.market-layout{grid-template-columns:15% minmax(0,1fr);gap:14px}.market-sidebar{padding-right:10px;font-size:9px}.market-sidebar h2{font-size:10px;margin:0 0 7px}.market-sidebar h3{font-size:10px;margin:13px 0 6px}.market-sidebar>button{font-size:9px;padding:4px 0}.market-sidebar label{font-size:9px;margin:6px 0}.market-sidebar input[type=number]{padding:4px;font-size:10px}.market-sidebar input[type=radio]{width:11px;height:11px;margin:0 3px 0 0;vertical-align:middle}
.market-results-heading{font-size:10px;margin-bottom:9px}.market-results-heading select{font-size:9px;padding:5px}
.computer-workspace .auction-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:15px 12px;overflow:auto}
.computer-workspace .auction-row{display:flex;flex-direction:column;gap:5px;padding:0;border:0;min-width:0;align-self:start}
.computer-workspace .auction-thumb{display:block;grid-row:auto;width:100%;height:auto;aspect-ratio:1;background:#f3f3f3;padding:0;border-radius:6px;overflow:hidden;flex-shrink:0}.computer-workspace .auction-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.computer-workspace .auction-card-info b{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:27px}.computer-workspace .auction-card-info small{font-size:9px;line-height:1.35;margin-top:2px}.computer-workspace .auction-card-info em{display:none}.computer-workspace .auction-bid b{font-size:15px;font-weight:700}.computer-workspace .auction-bid small{font-size:8px;line-height:1.4;margin-top:2px}.computer-workspace .auction-time b{font-size:9px}.computer-workspace .auction-time small{font-size:8px;line-height:1.4}.computer-workspace .auction-time .text-button{font-size:9px;padding:2px 0;margin:0}.computer-workspace .auction-empty{grid-column:1/-1;min-height:150px}
.computer-workspace .exchange-note{font-size:8px;padding-top:6px;margin-top:8px}
@media(min-width:1600px){.market-logo strong{font-size:40px}.market-topbar .exchange-search input{font-size:14px;height:40px}.market-topbar .exchange-search .button{height:40px;font-size:13px}.market-sidebar,.market-sidebar label,.market-sidebar>button{font-size:11px}.market-sidebar h2,.market-sidebar h3{font-size:12px}.computer-workspace .auction-card-info b{font-size:13px;min-height:35px}.computer-workspace .auction-card-info small{font-size:11px}.computer-workspace .auction-bid b{font-size:20px}.computer-workspace .auction-bid small,.computer-workspace .auction-time small{font-size:10px}.computer-workspace .auction-time b{font-size:12px}}
@media(max-width:999px){.computer-workspace .auction-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.market-topbar{grid-template-columns:54px minmax(0,1fr);gap:8px}.market-logo{flex-direction:column;gap:0}.market-logo strong{font-size:26px}.market-logo small{font-size:7px}.market-topbar .exchange-search .button{padding:6px 10px}.market-topbar .exchange-search input{font-size:11px}.computer-workspace .exchange-stats{gap:8px;flex-wrap:wrap}.computer-workspace .exchange-stats>div{padding-right:8px}.computer-workspace .exchange-stats b{font-size:13px}.computer-workspace .exchange-stats span{font-size:7px}.market-layout{grid-template-columns:1fr}.computer-workspace .auction-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.computer-workspace .auction-card-info b{font-size:12px;min-height:32px}.computer-workspace .auction-bid b{font-size:18px}.computer-workspace .auction-card-info small,.computer-workspace .auction-bid small{font-size:10px}.market-sidebar>button{padding:6px;font-size:10px}.market-sidebar label{font-size:10px}}
.computer-workspace .auction-card-info,.computer-workspace .auction-bid,.computer-workspace .auction-time{text-align:left;width:100%}.computer-workspace .auction-card-info b{min-height:0}.computer-workspace .auction-card-info small{margin-top:3px}
/* v19 binder: broad two-page spread and set hierarchy, auction styles frozen. */
.binder-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:14px 22px;width:100%;max-width:1600px;height:100%;margin:0 auto;padding:18px 28px}
.binder-selector{grid-row:1/3;align-self:center;max-height:100%;overflow:auto;padding:18px;border-radius:8px}.binder-selector h1{font-size:25px;margin:6px 0 16px}.binder-selector label{display:block;font-size:10px;color:#c7d0d8;margin:12px 0}.binder-selector select,.binder-selector input[type=search]{display:block;width:100%;margin-top:5px;padding:9px 8px;background:#20303e;color:#f2f5f7;border:1px solid #53616d;border-radius:4px;font-size:11px}.binder-tree{display:flex;flex-direction:column;background:#0b1723;border:1px solid #526071;padding:10px;margin:14px 0;gap:6px}.binder-tree strong,.binder-tree span{font-size:11px;color:#d4dce4}.binder-tree button{background:#172836;border:1px solid #435666;color:#e3eaf0;text-align:left;padding:8px 10px;border-radius:3px;font-size:11px;cursor:pointer}.binder-tree button.active{border-color:#d7b984;background:#3d4650;color:white}.binder-tree button[data-binder-kind=base]{margin-left:8px}.binder-tree button[data-binder-kind=inserts],.binder-tree button[data-binder-kind=parallels]{margin-left:19px}.binder-selector .collection-progress{width:100%;margin-top:16px;font-size:10px}.binder-selector .collection-progress small{font-size:9px}.binder-selector .segmented{display:flex}.binder-selector .segmented button{flex:1;font-size:10px}
.binder-book{position:relative;grid-column:2;padding:22px;min-height:0;border:2px solid #303433;border-radius:28px;background:linear-gradient(90deg,#171b1c,#080a0b 49%,#212627 50%,#101415);box-shadow:0 16px 45px #000a,inset 0 0 0 7px #080b0c,inset 0 0 0 9px #434849}
.binder-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;height:100%}.binder-leaf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px;background:#292f30;padding:6px;border:1px solid #626868;border-radius:4px}
.binder-pocket{height:auto;min-height:0;padding:8px;position:relative;display:flex;justify-content:center;align-items:center;border:1px dashed #79808088;border-radius:2px;background:linear-gradient(115deg,#ffffff,transparent 48%,#ffffff 50%,transparent 53%);box-shadow:inset 0 0 3px #ffffff15}.binder-pocket>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}.binder-pocket .pocket-copy{display:none}.binder-pocket .pocket-number{position:absolute;bottom:2px;left:5px;font-size:8px;color:#ddd}.binder-pocket.empty-pocket>span{opacity:1}.binder-spine{left:50%;top:10%;bottom:10%;width:25px;transform:translateX(-50%);display:flex;justify-content:space-between;flex-direction:column;z-index:1}.binder-spine i{width:25px;height:13px;border:4px solid #a9afb0;border-radius:50%;box-shadow:0 2px 5px #000}.binder-spine i:after{display:none}.binder-empty{inset:22px;z-index:2;background:#07121b;border-radius:12px}.binder-footer{grid-column:2;padding:0 8px;display:flex;font-size:10px;align-items:center;justify-content:space-between}.binder-footnote{display:block;font-size:10px}.pagination span{min-width:120px}
@media(max-width:1000px){.binder-workspace{grid-template-columns:170px minmax(0,1fr);gap:12px;padding:14px}.binder-selector{padding:12px}.binder-book{padding:15px}.binder-grid{gap:22px}.binder-leaf{gap:4px;padding:4px}.binder-pocket{padding:5px}}
@media(max-width:650px){.binder-workspace{display:flex;flex-direction:column;height:auto;padding:10px}.binder-selector{width:100%;max-height:none;align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.binder-selector h1{margin:0}.binder-selector>.eyebrow,.binder-selector .collection-progress{display:none}.binder-selector label{margin:0}.binder-tree{grid-column:1/-1;margin:0;display:flex;flex-direction:row;flex-wrap:wrap}.binder-tree strong,.binder-tree span{width:100%}.binder-tree button,.binder-tree button[data-binder-kind]{margin-left:0;font-size:10px;padding:7px}.binder-book{height:480px;flex-shrink:0;width:100%;padding:12px}.binder-grid{gap:16px}.binder-pocket{padding:3px}.binder-footer{gap:8px;flex-wrap:wrap}.binder-footnote{display:block}.pagination span{min-width:100px}}
.binder-book{width:100%;height:100%;margin:0;min-width:0}.binder-grid{grid-template-rows:minmax(0,1fr)}
@media(max-width:650px){.binder-book{height:480px}}
/* Card numbers must not stretch from top to bottom into a pale vertical stripe. */
.binder-pocket .pocket-number{top:auto;bottom:2px;background:transparent;padding:0;line-height:1;height:auto}
.listing-market{height:min(78dvh,850px);display:flex;flex-direction:column;gap:15px}.listing-market .market-topbar{margin:0}.listing-market input[type=search]{width:100%;border:2px solid #333;border-radius:25px;padding:10px 15px;color:#222;background:white}.listing-body{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;flex:1;min-height:0}.listing-market .market-sidebar{color:#333;font-size:12px}.listing-market .market-sidebar button{font-size:12px;padding:8px 0}.listing-market .market-sidebar select{width:100%;background:white;color:#222;border:1px solid #ccc;padding:7px}.listing-market .market-sidebar p{font-size:11px;line-height:1.6}.listing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:22px 14px;overflow:auto}.listing-card{position:relative;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-width:0;color:#222}.listing-card>input{position:absolute;top:8px;right:8px;width:20px;height:20px;accent-color:#245edb;z-index:2}.listing-card>img{width:100%;height:170px;object-fit:contain;background:#f3f3f3;border:2px solid transparent;border-radius:6px;padding:5px}.listing-card:has(input:checked)>img{border-color:#245edb;background:#edf3ff}.listing-card b{font-size:11px}.listing-card small{font-size:10px;color:#666}.listing-card strong{font-size:16px}.listing-footer{border-top:1px solid #ddd;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.listing-footer button:disabled{opacity:1}
@media(max-width:650px){.listing-body{grid-template-columns:110px minmax(0,1fr);gap:10px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px}.listing-card>img{height:125px}.listing-footer{flex-wrap:wrap}.listing-market .market-sidebar label{display:block}.listing-market .market-sidebar h2{display:block}}
.showcase-image{background-image:url('scene/shop-overview-v3.webp')}.showcase-spot{left:70%;top:42%;width:25%;height:20%}.game[data-scene=showcase] .scene-shade{background:#07101c}.showcase-workspace{max-width:1250px;margin:20px auto;padding:0 28px}.showcase-workspace header{position:relative;padding:18px 22px;background:#10202a;border:1px solid #c6a87355;border-radius:8px;margin-bottom:20px}.showcase-workspace h1{font-size:32px;margin:5px 0}.showcase-workspace header p{font-size:12px;color:#c6c9ca;margin-bottom:12px}.showcase-workspace header>span:last-child{font-size:12px;margin-left:16px;color:#e8d3ad}.showcase-cabinet{min-height:360px;padding:30px;border:12px solid #252729;border-radius:10px;background:linear-gradient(120deg,#ffffff,transparent 40%,#ffffff),#0d151e;box-shadow:0 25px 60px #0009,inset 0 0 0 2px #aeb9be55,inset 0 0 45px #0008}.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.showcase-card{display:flex;flex-direction:column;align-items:center;border:0;background:radial-gradient(ellipse at 50% 15%,#ffe9aa,transparent 65%);padding:15px 10px 0;cursor:pointer;position:relative;border-bottom:5px solid #798d9a88;box-shadow:0 5px 8px #0006;transition:background .2s}.showcase-card:hover{background:radial-gradient(ellipse at 50% 15%,#ffe9aa,transparent 70%)}.showcase-card>img{height:235px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 9px #0008)}.showcase-plaque{display:flex;flex-direction:column;gap:5px;text-align:center;width:100%;margin:18px 0 14px;padding:10px;background:linear-gradient(135deg,#e3c68a,#b3945e);border:1px solid #ffdea9;border-radius:3px;color:#252217}.showcase-plaque b{font-size:13px}.showcase-plaque small{font-size:9px}.showcase-plaque strong{font-size:16px}.showcase-empty{grid-column:1/-1;text-align:center;padding:80px 20px}.showcase-empty h2{font-size:27px}.showcase-empty p{font-size:13px;margin-top:13px;color:#ccd0d1}
@media(max-width:800px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.showcase-card>img{height:200px}.showcase-workspace{padding:0 15px}.showcase-cabinet{padding:17px;border-width:8px}.showcase-workspace header>span:last-child{display:block;margin:12px 0 0}}
@media(min-width:801px){.showcase-workspace{margin:14px auto}.showcase-workspace header{padding:12px 20px;margin-bottom:14px}.showcase-workspace h1{font-size:27px}.showcase-workspace header p{margin-bottom:8px}.showcase-workspace header .button{min-height:34px;padding:8px 15px;font-size:11px}.showcase-cabinet{min-height:300px;padding:18px 25px}.showcase-card>img{height:185px}.showcase-plaque{margin:12px 0 10px;padding:8px}}
/* v23 telescoping cardboard Flair packs, using restored transparent artwork. */
.game.presenting-pack[data-scene=opening] .opening-image{filter:blur(5px) brightness(.65)}
.game.presenting-pack[data-scene=opening] .pack-tray{opacity:1;pointer-events:none}
.game.presenting-pack[data-scene=opening] .opening-workspace{left:0;right:0;overflow:hidden}
.pack-presentation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:430px;position:relative}
.box-caption{text-align:center}.box-caption h2{font-size:25px;margin:5px 0}.box-caption p{font-size:11px;color:#ccc}.box-caption .eyebrow{font-size:9px}
.box-stage{position:relative;width:clamp(200px,21vw,320px);height:clamp(265px,28vw,420px);perspective:900px;filter:drop-shadow(0 16px 18px #0008)}
.box-lid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;transform-origin:50% 90%}
.box-tray{position:absolute;left:7%;right:7%;top:6%;bottom:6%;border:8px solid #42314a;border-bottom-width:13px;border-radius:3px;background:#b8a78b;box-shadow:inset 0 0 0 2px #cdbb98,inset 0 0 22px #382a1f99;z-index:1}
.box-interior{position:absolute;inset:6px;background:linear-gradient(135deg,#dbcdb4,#8b7960);box-shadow:inset 0 0 10px #0006}
.box-card-stack{position:absolute;left:14%;right:14%;top:13%;bottom:13%;z-index:2;opacity:1;transform:translateY(10%)}
.box-stack-card{position:absolute;inset:0;display:grid;place-items:center;border:4px solid #dfd5bc;border-radius:4px;background:radial-gradient(ellipse,#57356c,#161d36);font:italic 30px Georgia,serif;color:#dbc184;box-shadow:0 1px 2px #0008;transform:translate(calc(var(--card-index)*.7px),calc(var(--card-index)*.9px))}
.unboxing .box-lid{animation:box-lid-slide 1.5s ease-in-out forwards}.unboxing .box-card-stack{animation:box-stack-rise 4.3s ease-in-out forwards}.unboxing .box-tray{animation:box-tray-drop 1s 2.1s ease-in forwards}.unboxing .box-stack-card{animation:box-fan 2s 1.6s ease-in-out forwards}.unboxing>.button,.unboxing>.text-button{visibility:hidden}
@keyframes box-lid-slide{0%,12%{transform:translateY(0)}55%{transform:translateY(-60%) rotate(-3deg)}100%{transform:translate(-30%,-125%) rotate(-12deg);opacity:1}}
@keyframes box-stack-rise{0%,20%{opacity:1;transform:translateY(10%)}34%{opacity:1;transform:translateY(-17%)}70%{opacity:1;transform:translateY(-8%)}100%{opacity:1;transform:translateY(28%) scale(.85)}}
@keyframes box-tray-drop{to{transform:translateY(180%) rotate(5deg);opacity:1}}
@keyframes box-fan{0%{transform:translate(calc(var(--card-index)*.7px),calc(var(--card-index)*.9px))}45%,65%{transform:rotate(var(--fan-angle));transform-origin:50% 120%}100%{transform:translate(calc(var(--card-index)*.7px),calc(var(--card-index)*.9px))}}
@media(max-height:780px) and (min-width:651px){.box-stage{width:210px;height:285px}.pack-presentation{gap:8px;min-height:0}.box-caption h2{font-size:21px}}
@media(max-width:650px){.game.presenting-pack[data-scene=opening] .pack-tray{display:none}.game.presenting-pack[data-scene=opening] .opening-workspace{min-height:calc(100dvh - var(--hud) - var(--nav));padding-top:10px}.box-stage{width:230px;height:310px}.pack-presentation{min-height:420px}.box-caption h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.unboxing .box-lid,.unboxing .box-card-stack,.unboxing .box-tray,.unboxing .box-stack-card{animation:none}}

/* Matching halves share the same artwork and tear along the printed middle seam. */
.box-bottom{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;clip-path:polygon(0 25%,100% 25%,100% 100%,0 100%)}
.box-lid{clip-path:polygon(0 0,100% 0,100% 25%,0 25%)}
.box-series-two .box-tray{border-color:#6b3333}
.unboxing .box-lid{animation:box-cap-tear 1.7s ease-in-out forwards}
.unboxing .box-bottom{animation:box-base-tear 1.7s ease-in-out forwards,box-tray-drop 1s 2.1s ease-in forwards}
@keyframes box-cap-tear{0%,8%{transform:none;clip-path:polygon(0 0,100% 0,100% 25%,0 25%)}18%{transform:translateY(-1%);clip-path:polygon(0 0,100% 0,100% 25%,60% 25%,55% 23%,50% 27%,45% 23%,40% 25%,0 25%)}32%,42%{transform:translateY(-3%) rotate(-1deg);clip-path:polygon(0 0,100% 0,100% 25%,95% 23%,90% 27%,85% 23%,80% 27%,75% 23%,70% 27%,65% 23%,60% 27%,55% 23%,50% 27%,45% 23%,40% 27%,35% 23%,30% 27%,25% 23%,20% 27%,15% 23%,10% 27%,5% 23%,0 25%)}100%{transform:translate(40%,-130%) rotate(22deg);opacity:1}}
@keyframes box-base-tear{0%,8%{clip-path:polygon(0 25%,100% 25%,100% 100%,0 100%)}18%{clip-path:polygon(0 25%,40% 25%,45% 23%,50% 27%,55% 23%,60% 25%,100% 25%,100% 100%,0 100%)}32%,100%{clip-path:polygon(0 25%,5% 23%,10% 27%,15% 23%,20% 27%,25% 23%,30% 27%,35% 23%,40% 27%,45% 23%,50% 27%,55% 23%,60% 27%,65% 23%,70% 27%,75% 23%,80% 27%,85% 23%,90% 27%,95% 23%,100% 25%,100% 100%,0 100%)}}
@media(prefers-reduced-motion:reduce){.unboxing .box-bottom,.unboxing .box-lid{animation:none}}

/* Open pack remains at the right; one click draws one fully loaded card. */
.game.drawing-pack[data-scene=opening] .scene-image{filter:blur(5px) brightness(.65)}
.game.drawing-pack[data-scene=opening] .opening-workspace{left:0;right:0}
.game.drawing-pack[data-scene=opening] .pack-tray{opacity:1;pointer-events:none}
.draw-pack{position:absolute;right:5%;top:45%;width:140px;border:0;background:none;color:#eee;cursor:pointer;filter:drop-shadow(0 8px 12px #0008)}
.draw-pack img{width:100%;height:175px;object-fit:contain;clip-path:polygon(0 50%,5% 48%,10% 52%,15% 48%,20% 52%,25% 48%,30% 52%,35% 48%,40% 52%,45% 48%,50% 52%,55% 48%,60% 52%,65% 48%,70% 52%,75% 48%,80% 52%,85% 48%,90% 52%,95% 48%,100% 50%,100% 100%,0 100%)}
.draw-pack span,.draw-pack b{display:block;font-size:10px;margin-top:7px}.draw-pack:disabled{cursor:wait}
.draw-flight{position:absolute;right:calc(5% + 24px);top:45%;width:90px;height:125px;background:radial-gradient(ellipse,#57356c,#161d36);border:3px solid #dfd5bc;color:#dbc184;font:italic 22px Georgia;display:grid;place-items:center;z-index:6;pointer-events:none}
.draw-flight.in-flight{animation:card-extract .6s ease-in forwards}
@keyframes card-extract{0%{transform:translateY(55%);opacity:1}20%{opacity:1}100%{transform:translateY(-75vh) rotate(-8deg);opacity:1}}
.reveal-card.draw-hidden{opacity:1;pointer-events:none}.reveal-card.draw-arrive{animation:draw-card-arrive .45s cubic-bezier(.16,.8,.3,1)}
@keyframes draw-card-arrive{from{transform:translateY(-75vh) rotate(7deg);opacity:1}to{transform:none;opacity:1}}
.game.drawing-pack .reveal-card:not(.flipped){visibility:hidden}
@media(max-width:650px){.draw-pack{right:8px;top:55%;width:83px}.draw-pack img{height:110px}.draw-pack span,.draw-pack b{font-size:8px}.draw-flight{right:20px;width:65px;height:90px;top:55%}.game.drawing-pack .reveal-card{margin-left:-40px}}
@media(prefers-reduced-motion:reduce){.draw-flight.in-flight,.reveal-card.draw-arrive{animation:none}}

.unboxing .box-card-stack{opacity:1;animation:none}.unboxing .box-stack-card{animation:none}
.unboxing .box-bottom,.unboxing .box-tray{animation:pack-to-right 1.5s 1.7s ease-in-out forwards}
@keyframes pack-to-right{to{transform:translate(35vw,7vh) scale(.6);opacity:1}}
.draw-pack{animation:pack-dock .35s ease-out}
@keyframes pack-dock{from{opacity:1;transform:translate(-30px,-10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.draw-pack,.unboxing .box-bottom,.unboxing .box-tray{animation:none}}

/* The lower three quarters conceal the cards; only their upper edges peek out. */
.draw-pack-shell{display:block!important;position:relative;height:175px;margin:0!important}
.draw-pack .draw-box-front{position:absolute;inset:0;width:100%;height:100%;z-index:3;clip-path:polygon(0 25%,5% 23%,10% 27%,15% 23%,20% 27%,25% 23%,30% 27%,35% 23%,40% 27%,45% 23%,50% 27%,55% 23%,60% 27%,65% 23%,70% 27%,75% 23%,80% 27%,85% 23%,90% 27%,95% 23%,100% 25%,100% 100%,0 100%)}
.draw-pack .packed-cards{position:absolute;inset:0;display:block;margin:0;overflow:hidden}
.draw-pack .packed-card{position:absolute;left:11%;right:11%;top:20%;height:72%;display:block;margin:0;transform:translate(calc(var(--stack-offset)*2px),calc(var(--stack-offset)*-2px));background:#d2cbbc;border:1px solid #ded5bf;border-radius:2px;overflow:hidden;font-size:0}
.draw-pack .packed-card img{position:static;width:100%;height:100%;object-fit:fill;clip-path:none;display:block}
.draw-flight{overflow:hidden;padding:0}.draw-flight img{width:100%;height:100%;object-fit:fill;display:block}
@media(max-width:650px){.draw-pack-shell{height:110px}}

/* Continuous opening: lid exits the viewport, the visible base travels to its dock. */
.unboxing .box-lid{animation:lid-exit-screen 1.7s ease-in forwards}
@keyframes lid-exit-screen{0%,8%{transform:none;clip-path:polygon(0 0,100% 0,100% 25%,0 25%)}18%{transform:translateY(-1%);clip-path:polygon(0 0,100% 0,100% 25%,60% 25%,55% 23%,50% 27%,45% 23%,40% 25%,0 25%)}32%,42%{transform:translateY(-3%) rotate(-1deg);clip-path:polygon(0 0,100% 0,100% 25%,95% 23%,90% 27%,85% 23%,80% 27%,75% 23%,70% 27%,65% 23%,60% 27%,55% 23%,50% 27%,45% 23%,40% 27%,35% 23%,30% 27%,25% 23%,20% 27%,15% 23%,10% 27%,5% 23%,0 25%)}100%{transform:translate(50vw,-130vh) rotate(85deg);opacity:1}}
.unboxing .box-bottom,.unboxing .box-tray{animation:none}
.unboxing .box-bottom{clip-path:polygon(0 25%,5% 23%,10% 27%,15% 23%,20% 27%,25% 23%,30% 27%,35% 23%,40% 27%,45% 23%,50% 27%,55% 23%,60% 27%,65% 23%,70% 27%,75% 23%,80% 27%,85% 23%,90% 27%,95% 23%,100% 25%,100% 100%,0 100%)}
.box-stage{transform-origin:0 0;z-index:8}
.box-stage .packed-cards{position:absolute;inset:0;opacity:1;transform:none;z-index:2}
.box-stage .packed-card{position:absolute;left:11%;right:11%;top:20%;height:72%;transform:translate(calc(var(--stack-offset)*2px),calc(var(--stack-offset)*-2px));background:#d2cbbc;border:1px solid #ded5bf;border-radius:2px;overflow:hidden}
.box-stage .packed-card img{width:100%;height:100%;object-fit:fill;display:block}
.unboxing .box-tray{visibility:hidden}
.docking-pack .box-caption{visibility:hidden}.docking-pack{position:absolute;inset:0;pointer-events:none;z-index:8}
.draw-pack{animation:none}
@media(prefers-reduced-motion:reduce){.unboxing .box-lid{animation:none}}
/* Keep the table sharp and give the opened box more space. */
.game.presenting-pack[data-scene=opening] .scene-image,.game.drawing-pack[data-scene=opening] .scene-image{filter:none}
.draw-pack{width:210px;right:5%;top:38%}
.draw-pack-shell{height:275px}
.draw-flight{right:calc(5% + 31px);top:43%;width:145px;height:200px}
@media(max-width:650px){.draw-pack{width:105px;right:8px;top:52%}.draw-pack-shell{height:140px}.draw-flight{right:23px;top:52%;width:78px;height:110px}}

.draw-pack .packed-card,.box-stage .packed-card{height:65%}

/* Table composition: large centered card, information on its left, pack on its right. */
.game.drawing-pack .opening-reveal{position:absolute;inset:0;width:100%;max-width:none;display:block;text-align:center}
.game.drawing-pack .reveal-heading{position:absolute;top:2%;left:50%;transform:translateX(-50%);width:45%}
.game.drawing-pack .reveal-heading h2{font-size:clamp(20px,2vw,32px)}
.game.drawing-pack .reveal-card{position:absolute;left:50%;top:51%;width:calc(min(56vh,470px)*.714);height:min(56vh,470px);margin:0;transform:translate(-50%,-50%)}
.game.drawing-pack .reveal-details{position:absolute;left:calc(50% - min(28vh,235px)*.714 - 235px);top:45%;width:205px;text-align:left;min-height:0;padding:18px;background:#142330;border:1px solid #c7ab7655;border-radius:4px}
.game.drawing-pack .reveal-details h3{font-size:20px;line-height:1.35}.reveal-kind{font-size:15px!important;margin:12px 0!important}.reveal-value{display:block;color:#ead29b;font-size:27px;margin:12px 0}.reveal-details .card-tags{justify-content:flex-start}
.game.drawing-pack #nextCard{position:absolute;left:50%;bottom:2%;transform:translateX(-50%)}
.draw-pack{width:clamp(240px,22vw,350px);right:3%;top:29%}.draw-pack-shell{height:clamp(310px,29vw,455px)}
.draw-flight{border:0;border-radius:2px;background:none;filter:drop-shadow(0 8px 9px #0006)}
.game.drawing-pack .reveal-card.flipped{animation:none}.game.drawing-pack .reveal-card.draw-arrive{animation:center-card-arrival .45s cubic-bezier(.16,.8,.3,1)}
@keyframes center-card-arrival{from{transform:translate(-50%,-130vh) rotate(7deg)}to{transform:translate(-50%,-50%)}}
@media(max-width:900px){.game.drawing-pack .reveal-details{left:2%;width:165px;padding:12px}.game.drawing-pack .reveal-details h3{font-size:16px}.reveal-value{font-size:22px}.draw-pack{width:160px;right:2%;top:38%}.draw-pack-shell{height:220px}}
@media(max-width:650px){.game.drawing-pack .reveal-card{left:45%;top:43%;height:38vh;width:calc(38vh*.714);margin:0}.game.drawing-pack .reveal-heading{left:45%;width:70%;top:2%}.draw-pack{width:100px;right:4px;top:35%}.draw-pack-shell{height:140px}.game.drawing-pack .reveal-details{top:auto;bottom:10%;left:4%;width:65%;padding:10px}.game.drawing-pack .reveal-details h3{font-size:13px}.reveal-kind,.reveal-value{display:inline-block;margin:5px 8px 5px 0!important}.game.drawing-pack #nextCard{bottom:1%;left:45%}}
@media(prefers-reduced-motion:reduce){.game.drawing-pack .reveal-card.draw-arrive{animation:none}}

/* Opaque product UI; no glass panels, scene veils or fades. */
.hud,.bottom-nav{background:#101d27;backdrop-filter:none}
.scene-image{transition:none;will-change:auto}.room-light,.scene-shade,.screen-light,.card-front::after{display:none}
.floor-caption,.hotspot-label,.hotspot-marker,.dialogue,.dark-panel{background:#142632}
.game.drawing-pack .reveal-details{background:#142330}
.game.presenting-pack[data-scene=opening] .pack-tray,.game.drawing-pack[data-scene=opening] .pack-tray{display:none}
.reveal-card.draw-hidden{visibility:hidden;pointer-events:none}
.binder-pocket,.binder-pocket:hover{background:#25343d}
.modal::backdrop{background:#101d27;backdrop-filter:none}
.scene-image{display:none}.scene-image.active{display:block}
.binder-pocket::after{display:none}

/* Closed packs have no placeholder stack; the real cards stay inside the artwork. */
.box-tray{visibility:hidden}
.box-card-stack:not(.packed-cards){display:none}
.box-stage .packed-cards,.draw-pack .packed-cards{clip-path:inset(0 0 18% 0)}
.box-stage .packed-card,.draw-pack .packed-card{height:61%}

/* The stationary cardboard front occludes the moving card along its actual jagged edge. */
.draw-flight-foreground{position:fixed;object-fit:contain;z-index:7;pointer-events:none}

/* Real binder base → card → thin physical pocket film. Coordinates follow the PNG. */
.binder-book{width:min(100%,calc((100dvh - var(--hud) - var(--nav) - 85px)*1.5));height:auto;aspect-ratio:3/2;max-height:none;min-height:0;align-self:center;justify-self:center;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.binder-base-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:0}
.binder-grid{position:absolute;inset:0;display:block;height:100%;z-index:1}
.binder-leaf{position:absolute;top:7.6%;height:78.4%;width:40.1%;left:7%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:0;padding:0;background:none;border:0;border-radius:0}
.binder-leaf+ .binder-leaf{left:53%}
.binder-pocket,.binder-pocket:hover{height:auto;min-height:0;margin:0;padding:8% 7%;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden}
.binder-pocket>img:not(.binder-film){width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:none;position:relative;z-index:1}
.binder-pocket>img.binder-film{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;max-width:none;max-height:none;filter:none;pointer-events:none;z-index:2}
.binder-pocket .pocket-number,.binder-pocket .pocket-badge{z-index:3}
.binder-pocket .pocket-number{font-size:clamp(5px,.6vw,9px);bottom:2%;left:5%}
.binder-pocket .pocket-badge{top:4%;right:4%;font-size:clamp(5px,.55vw,8px)}
@media(max-width:650px){.binder-book{width:100%;height:auto;aspect-ratio:3/2;flex-shrink:0}.binder-pocket{padding:7%}.binder-leaf{gap:0;padding:0}.binder-grid{display:block}}

/* Physical countertop display and an opaque quantity checkout. Motion has no fades. */
#counter{overflow-x:hidden}
.counter-panel{z-index:4}
.counter-display{position:absolute;right:5%;bottom:23%;width:min(30vw,42dvh,420px);pointer-events:none;z-index:3}
.counter-display img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 3px #352311)}
.counter-checkout{margin-top:18px;border-top:1px solid #d4c9b7;padding-top:15px}
.checkout-heading h2{font-family:Arial,sans-serif;font-size:18px;font-weight:700}
.checkout-heading .text-button{font-size:10px;padding:7px 0}
.checkout-unit-price{font-size:12px;color:#65615a;margin:4px 0 14px}
.counter-checkout>label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}
.quantity-stepper{display:grid;grid-template-columns:40px 1fr 40px;gap:7px}
.quantity-stepper button,.quantity-stepper input{height:40px;border:1px solid #b9a786;border-radius:4px;background:#fffaf1;color:#142330;text-align:center}
.quantity-stepper button{font-size:22px}
.quantity-stepper input{width:100%;font-size:17px;font-variant-numeric:tabular-nums;appearance:textfield}
.quantity-stepper input::-webkit-inner-spin-button{appearance:none}
.quantity-stepper button:disabled{color:#9b9489;background:#e8e1d4}
.checkout-total{display:flex;justify-content:space-between;align-items:center;margin:17px 0 10px;padding-top:14px;border-top:1px solid #d4c9b7;font-size:12px}
.checkout-total strong{font-size:25px;font-variant-numeric:tabular-nums}
.checkout-total small{font-size:12px}
.checkout-availability{font-size:11px;line-height:1.5;min-height:33px;color:#625d54}
.counter-checkout>.button{width:100%;margin-top:10px;font-size:12px}
.counter-checkout>.button:disabled{background:#ded5c5;color:#766f63;border-color:#c7bda9}
.counter-panel.ordering .panel-heading h1,.counter-panel.ordering .panel-heading .eyebrow{display:none}
.counter-panel.ordering .panel-heading p{font-size:11px}
@media(min-width:851px) and (min-aspect-ratio:4/3){.counter-panel.ordering{left:28px;right:auto;width:280px;padding:18px}.counter-panel.ordering .counter-owned{margin:8px -18px -18px;padding:12px 18px}}
@media(max-width:850px){.counter-display{right:3%;bottom:23%;width:34vw}}
@media(max-width:650px){.counter-display{position:fixed;right:3%;bottom:auto;top:calc(var(--hud) + 150px);width:40vw}.counter-panel{margin-top:340px}.counter-panel.ordering{margin-bottom:28px}.counter-panel.ordering~.dialogue{display:none}.counter-checkout{margin-top:12px}.checkout-total{margin-top:12px}.quantity-stepper button,.quantity-stepper input{height:36px}}
