.cabinet-floor{flex:1;min-height:0;display:flex;flex-direction:column;gap:20px;padding:18px 0}.cabinet-heading p{font:12px var(--mono);color:#b9ad99;margin:0 0 12px}.cabinet-heading h1{font:clamp(20px,3vw,36px)/1.4 var(--pixel);margin:0}.cabinet-heading em{font-style:normal;color:#ffb029}.cabinet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;flex:1;min-height:0;max-width:940px;width:100%;align-self:center}.arcade-cabinet{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#16120e;border:2px solid #79501f;border-radius:18px 18px 6px 6px;box-shadow:inset 0 0 0 7px #221a12;overflow:hidden}.cabinet-marquee{text-align:center;background:#30200f;border-bottom:3px solid #9e6729;padding:16px 12px}.cabinet-marquee>span{font:11px var(--mono);color:#baaa93}.cabinet-marquee h2{font:clamp(11px,1.5vw,18px)/1.6 var(--pixel);color:#ffbb48;margin:10px 0 0}.cabinet-screen{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#293429,#090e0a);margin:16px;border:8px solid #070807;border-radius:20px;color:#f2e7d2;text-decoration:none;gap:14px;padding:12px}.cabinet-screen img{width:80%;height:75%;min-height:0;object-fit:contain}.cabinet-screen>span{font:12px/1.5 var(--pixel);text-align:center}.cabinet-controls{padding:8px 20px 24px;text-align:center}.cabinet-controls p{font:14px/1.4 var(--body);color:#b9ad99;margin:0 0 12px}.cabinet-enter{display:block;width:100%;border:1px solid #ffa82a;background:#ffb029;color:#20150b;padding:16px 10px;text-decoration:none;font:12px/1.5 var(--pixel);border-radius:4px}.market-cabinet{opacity:.58}.market-cabinet .cabinet-enter{background:transparent;color:#c8bda9;border-color:#65543e}.cabinet-screen .market-cabinet-symbol{font:90px var(--pixel);color:#6f614b}.purse-connection{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.purse-connection .arcade-login{min-height:34px;font-size:10px;padding:8px 10px}.purse-connection #purse-status{font:13px/1.3 var(--body);color:#c7bead}.purse-choices:empty{display:none}.purse-choices:has(.owned-purse){overflow:auto}.purse-choice.owned-purse{grid-column:auto;max-width:none}.purse-choices:has(.owned-purse:only-child){grid-template-columns:1fr}.purse-choice.owned-purse .purse-name{font-size:13px}.purse-choice.owned-purse .daily-balance{font-size:12px}.purse-connect-dialog{width:min(480px,calc(100vw - 24px));max-height:90dvh;overflow:auto;background:#171510;color:#f2e7d2;border:1px solid #aa752a;border-radius:10px;padding:24px}.purse-connect-dialog::backdrop{background:#000b}.purse-connect-dialog h2{font:16px/1.5 var(--pixel);margin:16px 0}.purse-connect-dialog p{font:15px/1.5 var(--body)}.purse-connect-dialog button,.purse-connect-dialog a{font:13px/1.4 var(--body);color:#ffc15b;background:#241d12;border:1px solid #8f682e;padding:12px;border-radius:4px}.purse-connect-dialog .wallet-actions{display:flex;flex-wrap:wrap;gap:10px}.purse-connect-dialog img{max-width:100px;max-height:100px}.purse-connect-dialog .wallet-purse{display:none}.purse-connect-dialog .close-wallet{float:right}.purse-connect-dialog #wallet-status{clear:both}
@media(max-width:650px){.cabinet-floor{padding:8px 0;gap:14px}.cabinet-heading h1{font-size:17px}.cabinet-heading p{font-size:11px;margin-bottom:7px}.cabinet-grid{gap:10px}.cabinet-marquee{padding:14px 6px}.cabinet-marquee h2{font-size:10px}.cabinet-marquee>span{font-size:9px}.cabinet-screen{margin:8px;border-width:4px;padding:8px;gap:10px}.cabinet-screen>span{font-size:9px}.cabinet-controls{padding:6px 10px 16px}.cabinet-controls p{font-size:12px}.cabinet-enter{font-size:9px;padding:14px 5px}.cabinet-screen .market-cabinet-symbol{font-size:55px}.purse-launcher{grid-template-rows:minmax(0,27fr) minmax(0,31fr) minmax(0,42fr)}.purse-launcher .coin-slot-art{width:min(48vw,240px,calc(42cqh - 50px))}.purse-connection #purse-status{font-size:12px}.purse-choice.owned-purse{padding:3px;gap:3px;grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}}
@media(max-height:500px){.cabinet-floor{gap:6px;padding:4px 0}.cabinet-heading{display:none}.cabinet-marquee{padding:7px}.cabinet-marquee h2{margin:3px 0;font-size:11px}.cabinet-screen{flex-direction:row;margin:6px;padding:3px;border-width:4px}.cabinet-screen img{height:90%;width:45%}.cabinet-controls{padding:4px 10px 8px}.cabinet-controls p{font-size:11px;margin:0 0 4px}.cabinet-enter{font-size:9px;padding:8px}.cabinet-screen .market-cabinet-symbol{font-size:40px}}

/* A static arcade room: no animation or additional canvas work on phones. */
.cabinet-gallery{background:radial-gradient(ellipse at 20% 35%,#211008 0,transparent 45%),radial-gradient(ellipse at 82% 35%,#1a0713 0,transparent 45%),#030304}
.cabinet-gallery .arcade-shell{position:relative;isolation:isolate}
.cabinet-floor{position:relative;isolation:isolate;gap:12px}
.cabinet-floor::before{content:"";position:absolute;z-index:-2;pointer-events:none;inset:48% -36px 0;background:linear-gradient(#030304,transparent 42%),repeating-conic-gradient(#11101a 0% 25%,#09090e 0% 50%) 50% 0/84px 54px;border-bottom:1px solid #533921}
.cabinet-floor::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:-36px;right:-36px;top:48%;height:2px;background:linear-gradient(90deg,transparent,#ff8a2944,#df286644,transparent);box-shadow:0 0 15px #ff8a2922}
.cabinet-heading{text-align:center}
.cabinet-grid{gap:36px;max-width:1040px;grid-template-rows:minmax(0,1fr)}
.arcade-cabinet{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;grid-template-rows:auto minmax(0,1fr) auto}
.cabinet-marquee{background:none;border:0;padding:2px 8px}
.cabinet-marquee h2{font-size:clamp(9px,1.2vw,13px);margin:6px 0 0}
.cabinet-screen{margin:0;padding:0;border:0;border-radius:0;background:none;display:block;position:relative;mix-blend-mode:lighten}
.cabinet-screen img{width:100%;height:100%;object-fit:contain;display:block}
.cabinet-screen:focus-visible{outline:2px solid #ffb029;outline-offset:-4px}
.cabinet-controls{padding:4px 12px 12px;width:100%;max-width:350px;justify-self:center}
.cabinet-controls p{font-size:13px;margin-bottom:8px}
.cabinet-enter{padding:12px 6px;font-size:10px}
.market-cabinet{opacity:1}
.market-cabinet .cabinet-enter{background:#0c0a10;color:#bfb6bd;border-color:#493141}
@media(max-width:650px){.cabinet-grid{gap:8px}.cabinet-floor{gap:12px}.cabinet-marquee>span{font-size:9px}.cabinet-marquee h2{font-size:8px;line-height:1.6}.cabinet-controls{padding:4px 2px 8px}.cabinet-controls p{font-size:11px;min-height:31px}.cabinet-enter{font-size:8px;padding:12px 3px}.cabinet-floor::before{inset:45% -20px 0;background-size:auto,64px 44px}.cabinet-floor::after{top:45%;left:-20px;right:-20px}}
@media(max-height:500px){.cabinet-grid{max-width:850px;gap:24px}.arcade-cabinet{grid-template-columns:minmax(0,1fr) minmax(115px,.6fr);grid-template-rows:auto 1fr;column-gap:8px}.cabinet-marquee{grid-column:1/3}.cabinet-screen{grid-row:2;grid-column:1}.cabinet-controls{grid-row:2;grid-column:2;align-self:center;padding:4px}.cabinet-controls p{font-size:11px;min-height:0}.cabinet-screen img{width:100%;height:100%}.cabinet-enter{font-size:8px}.cabinet-marquee h2{font-size:9px;margin-top:3px}}
.cabinet-screen{mix-blend-mode:normal;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cabinet-screen img{mix-blend-mode:screen;width:auto;height:100%;max-width:none;flex:none}
@media(max-width:650px) and (min-height:501px){
 .cabinet-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
 .arcade-cabinet{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:8px}
 .cabinet-marquee{grid-column:1/3;text-align:left;padding:0 6px}
 .cabinet-marquee h2{font-size:10px;display:inline;margin-left:10px}
 .cabinet-screen{grid-column:1;grid-row:2}
 .cabinet-controls{grid-column:2;grid-row:2;align-self:center}
 .cabinet-controls p{min-height:0;font-size:12px;line-height:1.5;margin-bottom:12px}
 .cabinet-enter{font-size:8px;line-height:1.7}
}
/* CSS silhouettes hide the supplied black surrounds without altering the art. */
.cabinet-screen img{mix-blend-mode:normal;clip-path:polygon(25% 8%,72% 8%,75% 10%,75% 22%,73% 26%,73% 55%,78% 61%,78% 92%,24% 92%,24% 88%,23% 88%,23% 62%,25% 57%,28% 26%,25% 22%)}
.market-cabinet .cabinet-screen img{clip-path:polygon(20% 3%,79% 3%,80% 5%,80% 57%,85% 63%,85% 73%,83% 77%,83% 93%,79% 97%,20% 97%,17% 94%,17% 77%,15% 73%,15% 63%,20% 56%)}

.market-cabinet .cabinet-enter{background:#ffb029;color:#20150b;border-color:#ffa82a}

.purse-launcher .game-choices:has(>.game-choice:only-child){grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}

/* Full supplied Market Defense cabinet, preserving its portrait proportions. */
.market-cabinet-cutout{position:relative;display:block;height:100%;width:auto;aspect-ratio:941/1672;flex:none;overflow:hidden}
.market-cabinet .market-cabinet-cutout img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;clip-path:none;mix-blend-mode:normal}
.market-cabinet .cabinet-marquee h2{color:#81ef9c}
.purse-connect-dialog .wallet-note{white-space:pre-line}
.purse-connect-dialog.show-all-purses .wallet-purse{display:block}
.purse-connect-dialog.show-all-purses #wallet-explanation,.purse-connect-dialog.show-all-purses .wallet-intro>.wallet-note{display:none}
.purse-connect-dialog #wallet-pager{display:flex;align-items:center;justify-content:space-between;gap:12px}
.purse-connect-dialog [hidden]{display:none!important}
.purse-connection a.arcade-login{text-decoration:none}
.purse-connection .arcade-login{max-width:none;margin-left:0;flex:0 0 auto;font-size:9px}
.purse-connection #purse-status{flex-basis:100%}
@media(orientation:landscape) and (max-height:500px){
 .purse-launcher{grid-template-rows:minmax(0,1.7fr) minmax(0,1fr)}
 .purse-connection{gap:4px 8px}
 .purse-connection .arcade-login{font-size:8px;min-height:28px;padding:5px 7px}
 .purse-connection #purse-status{flex:1 1 130px;font-size:11px}
 .purse-choice.owned-purse .purse-name,.purse-choice.owned-purse .daily-balance{font-size:11px}
}

/* The cabinet itself is the game link; no duplicate labels or play controls. */
.cabinet-gallery .arcade-cabinet{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.cabinet-gallery .cabinet-screen{grid-column:1;grid-row:1;width:100%;height:100%}
.cabinet-gallery .cabinet-screen:hover{filter:brightness(1.1)}
@media(max-width:650px){.cabinet-gallery .arcade-header:has([data-owner-test]:not([hidden])){display:grid;grid-template-columns:1fr;height:auto;gap:4px;padding:8px 0}.cabinet-gallery .arcade-header:has([data-owner-test]:not([hidden])) .header-account-buttons{margin-left:0;justify-content:space-between}}
