@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Silkscreen:wght@400;700&display=swap');
/* Neon-era CRT interface; the photographic cabinet keeps its existing framing. */
:root{--display:'Silkscreen',monospace;--body:'Chakra Petch',sans-serif}
.screen{--amber:#78f7fa;--neon:#78f7fa;--electric:#811cf9;--pink:#b352e0;--ink:#090b51;--panel:#200b50;--panel-deep:#10082e;--copy:#e6ddff;--soft:#b6a4d8;background:var(--panel-deep);color:var(--copy);box-shadow:0 0 22px #783bff35,inset 0 0 30px #000}
.screen[data-theme=amber]{--amber:#78f7fa;background:var(--panel-deep)}
.screen[data-theme=violet]{--amber:#d0a7ff;--neon:#d0a7ff;--electric:#811cf9;--panel:#2b0f59;--panel-deep:#170632;background:var(--panel-deep)}
.screen[data-theme=ice]{--amber:#91e5ef;--neon:#91e5ef;--electric:#2364da;--panel:#102650;--panel-deep:#06152e;background:var(--panel-deep)}
.screen[data-theme=rose]{--amber:#ffb0d3;--neon:#ffb0d3;--electric:#a025a9;--panel:#351345;--panel-deep:#1c092a;background:var(--panel-deep)}
.screen .screen-content,.screen[data-theme] .screen-content{background:radial-gradient(ellipse at 90% 8%,#811cf926,transparent 65%),linear-gradient(145deg,var(--panel),var(--panel-deep));padding:2.5% 3.5%}
.crt-glass{opacity:.35;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,#05031a55 3px,transparent 4px);box-shadow:inset 0 0 30px #09031988,inset 0 0 7px #78f7fa33}
.screen-top{border-bottom:1px solid #9364d85c;padding-bottom:4px;gap:10px}
.system-brand{font-family:var(--display);font-size:clamp(13px,2.2cqw,21px);font-weight:700;letter-spacing:-.8px;color:#e7e0ff;text-shadow:2px 2px 0 #631bd8}
.system-brand>span:last-child{color:var(--neon)}.tiny-arcade{color:var(--pink);text-shadow:none;font-family:var(--mono)}
.system-status{color:var(--soft);font-size:9px;letter-spacing:.6px}.system-status i{background:var(--neon);box-shadow:0 0 7px #78f7fa77}.screen-tools button{color:var(--soft)}.screen-tools button:hover{color:var(--neon)}
.arcade-nav{gap:18px;border-bottom:1px solid #9364d83f;padding:9px 0 7px}.arcade-nav button{position:relative;font-family:var(--display);font-size:10px;letter-spacing:0;color:var(--soft);padding:4px 0}.arcade-nav button.active{color:var(--neon);text-shadow:0 0 9px #78f7fa35}.arcade-nav button.active:after{content:'';position:absolute;height:2px;background:var(--neon);bottom:-8px;left:0;right:0;box-shadow:0 0 7px #78f7fa66}.arcade-nav button span{font-family:var(--mono);font-size:8px;color:var(--soft)}.arcade-nav #nav-tickets{color:var(--neon)}
.library{background:none}.library-browser-bar{padding:10px 0}.library-filters{gap:12px}.library-filters button{color:var(--soft);font:10px var(--body);font-weight:600;letter-spacing:.5px}.library-filters button.active{color:var(--neon)}.library-filters button.active:before{content:'▸';color:var(--pink);margin-right:4px}.library-filters button span{color:var(--soft)}
.game-search{color:var(--neon)}.game-search input{color:var(--copy);border-color:#9462d87a;font-family:var(--body);font-size:11px}.game-search input::placeholder{color:var(--soft)}
.library-grid{gap:9px 12px;grid-auto-rows:calc((100% - 18px)/3);scrollbar-color:var(--electric) var(--panel-deep);padding:3px 5px 3px 3px}
.library-game{border:1px solid #8d55c9;border-radius:1px;background:var(--panel-deep);box-shadow:2px 3px 0 #08041c,0 0 6px #811cf91a}.library-game:hover{border-color:var(--pink);box-shadow:0 0 12px #b352e04d}.library-game[aria-pressed=true]{border-color:var(--neon);box-shadow:0 0 0 1px var(--neon),0 0 13px #78f7fa40}.library-game:focus-visible{outline:2px solid var(--neon)}
.library-cover:after{background:linear-gradient(transparent 20%,#0a032a22 48%,#09031ed9)}
.cover-title,.screen:fullscreen .cover-title{font-family:var(--display);font-weight:700;font-style:normal;font-size:clamp(10px,1.75cqw,18px);line-height:1.3;letter-spacing:0;text-shadow:2px 2px 0 #08031b,0 0 6px #08031b;bottom:5px}
.library-caption{font:600 10px/1.1 var(--body);letter-spacing:.1px;color:#ded2f4;background:#1f0a48;border-top:1px solid #8f53d455;padding:5px 6px}.game-ready{color:var(--neon)}.library-game[aria-pressed=true] .library-caption{color:var(--neon);background:#37125f}
.library-selection{border-color:#9364d85c}.library-selection strong{font-family:var(--display);font-size:11px;letter-spacing:0;color:var(--neon);line-height:1.5}.library-selection>div>span{color:var(--soft);font-family:var(--body);font-size:9px}.library-controls{color:var(--soft);font-family:var(--body);font-size:9px;letter-spacing:.3px}.library-controls kbd{color:var(--neon)}.control-dot{color:var(--pink)}
.library-selection button,.select-button,.screen[data-theme]:not([data-theme=amber]) .select-button{background:var(--neon);border:0;color:var(--ink);font-family:var(--display);font-size:10px;letter-spacing:0;line-height:1.4;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);padding:8px 14px;box-shadow:none}
.select-button:hover,.library-selection button:hover{background:#b9ffff;transform:none}.secondary-button,.prize-action{background:#a84dde;border:1px solid #d692fa;color:#10062b;font-family:var(--display);font-weight:400;font-size:9px;line-height:1.5;letter-spacing:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}.secondary-button:hover,.prize-action:hover:enabled{background:#ce81fb;border-color:#e7b3ff;color:#10062b}
.eyebrow{color:var(--pink);font-family:var(--display);font-size:9px;letter-spacing:0;line-height:1.5}.panel-view{scrollbar-color:var(--electric) var(--panel-deep)}.panel-heading{flex-wrap:wrap}.panel-heading h2{font-family:var(--display);font-size:21px;line-height:1.5;letter-spacing:0;color:var(--neon)}.network-label,.season-label{border-color:#9765d8;color:#cec0ed;background:#1b0a3e}.panel-note{color:var(--soft);font:12px/1.6 var(--body)}
.play-toolbar{color:var(--copy)}.play-toolbar strong{color:var(--neon);font-family:var(--display);font-size:10px}.play-toolbar button{color:var(--soft)}.play-toolbar #play-mode{border-color:#a863db;color:#d5adf4}.play-field{background:#080622;border-color:#8b50c875}.start-overlay{background:#160639ed}.start-overlay h2{font-family:var(--display);font-size:24px;line-height:1.4;letter-spacing:0}.start-overlay>p{color:var(--copy);font:14px/1.5 var(--body)}.start-overlay .reward-rule{color:#bcade2;font-size:12px}.start-overlay small{color:var(--soft);font-size:11px}.play-bottom{color:#c3b1e1}.touch-controls button{background:#35146b;border-color:#a562e4;color:var(--neon);font-family:var(--display)}.touch-controls button:active{background:#6625aa}.game-result{color:var(--copy);font-family:var(--body);font-size:12px}
.board-controls{border-color:#8c54ca55;color:var(--soft)}.board-controls select{border-color:#a56be0;background:#1b0c43;color:var(--neon);font-family:var(--body)}.board-controls #pool-label{color:var(--neon)}.leaderboard-table{scrollbar-color:var(--electric) var(--panel-deep)}.leaderboard-table table{color:var(--copy)}.leaderboard-table th{color:var(--soft);border-color:#8c54ca55}.leaderboard-table td{border-color:#8c54ca33}.leaderboard-table td:first-child{color:var(--neon)}.empty-board>span,.empty-board h3{color:var(--neon)}.empty-board h3{font-size:15px;line-height:1.6}.empty-board p{color:var(--soft)}
.wallet-connect{color:var(--copy)}.wallet-connect #disconnect-wallet{color:var(--soft)}.wallet-stats>div{background:#230d50;border-color:#884fc877}.wallet-stats strong{font-family:var(--mono);font-size:24px;color:var(--neon)}.wallet-stats span,.wallet-stats small{color:var(--soft)}.treasury-status>i{background:var(--pink)}.treasury-status strong{color:var(--copy)}.treasury-status p{color:var(--soft);font-size:12px}#transaction-link{color:var(--neon)}
.ticket-total{color:var(--neon)}.ticket-total strong{font-family:var(--display);font-size:26px}.ticket-progress{color:var(--soft)}.ticket-progress progress{background:#41226a}.ticket-progress progress::-webkit-progress-bar{background:#41226a}.shop-filters button{color:var(--soft);font-family:var(--body);font-size:10px}.shop-filters button.active{color:var(--neon);border-color:var(--neon)}.prize-card{background:#200c48;border-color:#8c55c875;border-radius:1px}.prize-top{color:#c4ace6}.prize-number{color:var(--neon)}.prize-card h3{color:var(--neon);font-family:var(--display);font-size:16px;line-height:1.4;letter-spacing:0}.prize-description{color:var(--soft);font-size:12px}.prize-foot{border-color:#a16fda66}.prize-foot strong{color:var(--neon)}.prize-status{color:var(--soft)}.grand-prize{background:linear-gradient(120deg,#42106e,#170934);border-color:#b352e0}.grand-prize h3{font-size:22px}.grand-prize .prize-top{color:#e4b7fb}.ticket-guide{color:var(--soft);border-color:#8c54ca55;font-size:12px}.ticket-guide summary,.ticket-guide strong{color:var(--neon)}
.ui-status{color:#dffeff;background:#251049fa;border-color:#a466df;font-family:var(--body);font-size:13px}.ui-status:after{color:#78f7fa}.library-empty strong{color:var(--neon);font-size:18px}.library-empty p{color:var(--soft)}
#redeem-dialog{--neon:#78f7fa;--ink:#090b51;background:#200b50;border:1px solid #b352e0;color:#e6ddff;font-family:var(--body)}#redeem-dialog h2{color:#78f7fa;font:700 22px/1.5 var(--display)}#redeem-dialog .redemption-cost{color:#78f7fa;border-color:#b352e0}#redeem-dialog .eyebrow{color:#d19bfa}#redeem-dialog .select-button{background:#78f7fa;color:#090b51}
.screen:fullscreen .library-caption{font-size:14px}.screen:fullscreen .library-selection strong{font-size:16px}.screen:fullscreen .library-selection>div>span,.screen:fullscreen .library-controls{font-size:12px}.screen:fullscreen .start-overlay h2{font-size:32px}.screen:fullscreen .panel-heading h2{font-size:28px}
@media(max-width:700px){.system-brand{font-size:14px}.system-status{font-size:7px}.screen-top{gap:6px}.arcade-nav{gap:9px}.arcade-nav button{font-size:8px}.arcade-nav button span{font-size:6px}.library-filters{gap:8px}.library-filters button{font-size:9px}.game-search{width:87px}.game-search input{font-size:10px}.library-caption{font-size:8px;padding:5px 4px}.cover-title,.screen:fullscreen .cover-title{font-size:10px;line-height:1.3}.library-selection strong{font-size:10px;white-space:normal}.library-selection>div>span{font-size:8px}.library-selection button{font-size:9px;padding:7px 11px}.library-controls{font-size:7px}.panel-heading h2{font-size:16px}.eyebrow{font-size:8px}.start-overlay h2{font-size:20px}.start-overlay>p{font-size:12px}.start-overlay .reward-rule{font-size:11px}.start-overlay small{font-size:10px}.start-buttons .select-button,.start-buttons .secondary-button{font-size:8px;padding:8px}.play-toolbar strong{font-size:8px}.wallet-stats strong{font-size:20px}.prize-card h3{font-size:12px}.grand-prize h3{font-size:17px}.shop-filters{gap:8px}.shop-filters button{font-size:9px}.prize-action{font-size:7px}.prize-description{font-size:11px}.ticket-total strong{font-size:23px}.screen:fullscreen .panel-heading h2{font-size:20px}.screen:fullscreen .start-overlay h2{font-size:24px}}

.play-field canvas{image-rendering:auto}

/* Frame the supplied logo without altering or stretching the artwork. */
.system-brand{flex-shrink:0;width:clamp(52px,8cqw,64px);aspect-ratio:2;overflow:hidden}
.arcade-logo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 49%;filter:drop-shadow(0 0 5px #ff7c3026)}
.screen:not(:fullscreen) .screen-content{padding-top:1.2%}

/* Raised cabinet keys: primary pages first, wallet in the upper-right corner. */
.arcade-nav{display:grid;grid-template-columns:.9fr 1.5fr 1fr 1.25fr;gap:9px;padding:2px 0 7px;border-bottom:0}
.arcade-nav button{--key-face:#263c74;--key-edge:#0c1740;--key-rim:#687dd2;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:36px;margin:0;padding:7px 8px;border:1px solid var(--key-rim);border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--key-face),white 15%),var(--key-face));color:#fff;font:700 clamp(9px,1.65cqw,14px)/1.15 var(--body);letter-spacing:.3px;text-shadow:0 1px 2px #0008;box-shadow:inset 0 1px 0 #ffffff55,inset 0 -2px 0 #0003,0 4px 0 var(--key-edge),0 5px 5px #0009;transition:transform 90ms ease,box-shadow 90ms ease,filter 90ms ease}
.arcade-nav button[data-view=library]{--key-face:#087f8c;--key-edge:#033740;--key-rim:#70f7ed}
.arcade-nav button[data-view=leaderboard]{--key-face:#7536b5;--key-edge:#341653;--key-rim:#ca8bff}
.arcade-nav button[data-view=shop]{--key-face:#a22d75;--key-edge:#4c153a;--key-rim:#ff8ecc}
.arcade-nav button[data-view=wallet]{--key-face:#54402a;--key-edge:#261c13;--key-rim:#c4a879;flex-direction:column;gap:2px;margin-left:0}
.arcade-nav button span{margin:0;color:inherit;font:600 9px/1 var(--body);white-space:nowrap}
.arcade-nav #nav-tickets{color:inherit}
.arcade-nav .wallet-button-label{font-size:8px;letter-spacing:.6px;color:#efdfc3}
.arcade-nav #nav-balance{font:600 13px/1 var(--mono);color:#fff1ce}
.arcade-nav button.active{color:#fff;text-shadow:0 1px 2px #0008;outline:1px solid var(--key-rim);outline-offset:2px;filter:brightness(1.2)}
.arcade-nav button.active:after{display:none}
.arcade-nav button:hover{filter:brightness(1.25)}
.arcade-nav button:active{transform:translateY(3px);box-shadow:inset 0 1px 3px #0004,0 1px 0 var(--key-edge)}
.arcade-nav button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.screen-top{padding-top:4px;padding-bottom:4px}
.system-brand{width:48px}
@media(max-width:700px){.arcade-nav{gap:6px;grid-template-columns:.8fr 1.5fr 1fr 1.25fr}.arcade-nav button{padding:6px 3px;min-height:36px;font-size:10px;letter-spacing:0;gap:3px}.arcade-nav button span{font-size:7px}.arcade-nav .wallet-button-label{font-size:6px;letter-spacing:0}.arcade-nav #nav-balance{font-size:11px}.system-brand{width:44px}}
@media(prefers-reduced-motion:reduce){.arcade-nav button{transition:none}}
