@font-face{font-family:Barlow;src:url('BarlowCondensed-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:dark;--ink:#10191d;--gold:#e8ba68;--white:#f3e9d6;--muted:#82908c;--line:#ffffff1c}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:#0b1114;color:var(--white);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}
.app{position:relative;width:100%;height:100dvh;min-height:560px;max-width:600px;margin:auto;overflow:hidden;background:var(--ink);isolation:isolate}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;top:max(18px,env(safe-area-inset-top));left:22px;right:18px;display:flex;align-items:center;justify-content:space-between;z-index:3}.wallet{display:flex;align-items:center;gap:9px;height:48px;text-shadow:0 2px 6px #000}.wallet img{width:26px;height:26px;border-radius:50%;box-shadow:0 2px 10px #0008}.wallet b{font:600 37px/.9 Barlow,sans-serif;letter-spacing:.2px;min-width:49px}.wallet>span{font-size:12px;color:#c1c5b8;margin-left:-4px;margin-top:8px}.utilities{display:flex;gap:2px}.utilities button{width:44px;height:44px;background:transparent;display:grid;place-items:center}.utilities svg{width:21px;height:21px;fill:none;stroke:#b9c4c0;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}.utilities .play,.utilities .mute{display:none}#pause[aria-pressed=true] .pause,#sound[aria-pressed=false] .wave{display:none}#pause[aria-pressed=true] .play,#sound[aria-pressed=false] .mute{display:block}
.machine-label{position:absolute;top:17%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;pointer-events:none;color:#cabaa0}.machine-label span{font-size:16px;font-weight:600;letter-spacing:7px;text-shadow:0 1px 4px #000}.machine-label i{height:5px;width:5px;background:#b0d8c5;border-radius:50%;box-shadow:0 0 8px #b0d8c5}
.coin-rail{position:absolute;top:24%;left:12%;width:76%;height:60px;touch-action:none;z-index:4}.rail-groove{position:absolute;top:25px;left:0;right:0;height:9px;border:1px solid #aab3b432;border-bottom-color:#cbd6d74a;border-radius:3px;background:#050a0c;box-shadow:inset 0 3px 6px #000,0 2px 4px #d5e6eb1c}.coin-handle{position:absolute;left:50%;top:0;transform:translateX(-50%);width:58px;height:58px;padding:7px;background:transparent;touch-action:none;filter:drop-shadow(0 5px 4px #0009);transition:filter .15s;z-index:2}.coin-handle img{width:100%;height:100%;display:block;border-radius:50%;transform:rotate(-12deg)}.coin-handle:active,.dragging .coin-handle{filter:drop-shadow(0 2px 10px #ffc7758a)}.aim-light{position:absolute;top:49px;left:50%;width:2px;height:27px;background:linear-gradient(#ffdb8c,transparent);pointer-events:none;transform:translateX(-50%)}.coin-rail.spent .coin-handle{animation:reload .35s ease-out}.first-hint{position:absolute;top:30%;left:0;right:0;text-align:center;margin:0;font-size:13px;color:#b7bfb7;pointer-events:none;transition:opacity .15s}.first-hint span{display:inline-block;margin-left:5px;color:var(--gold);font-size:18px}.collection-badge{position:absolute;left:19px;top:calc(var(--tray-ui-top,90%) - 8px);z-index:3}.collection-badge button{position:relative;width:54px;height:58px;background:linear-gradient(140deg,#425b5270,#0d191d90);border:1px solid #92a59b3b;border-radius:8px;box-shadow:inset 0 1px #ecf5de14,0 4px 15px #0007}.collection-badge img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 2px #0006)}.collection-badge span{position:absolute;bottom:2px;right:6px;font:600 17px Barlow;color:#c8e1c9}
.tray-hud{position:absolute;top:var(--tray-ui-top,90%);left:92px;right:22px;display:flex;align-items:flex-end;justify-content:space-between;z-index:3;pointer-events:none}.harvest{display:flex;gap:9px;align-items:center}.harvest>span{font-size:13px;color:#919f99}.harvest div{display:flex;align-items:baseline;gap:6px}.harvest b{font:600 36px/.9 Barlow;color:#f5cb80;text-shadow:0 0 20px #edaf351f}.harvest small{font-size:12px;color:#aab3a7}#refill{pointer-events:auto;background:#a78144;border:1px solid #d4b472;padding:10px 14px;border-radius:4px;font-size:13px}
.prize-reveal{position:absolute;left:92px;right:23px;top:calc(var(--tray-ui-top,90%) - 7px);text-shadow:0 2px 10px #000;pointer-events:none;animation:reveal .35s ease-out}.prize-reveal span{font-size:11px;color:#abc5b6;letter-spacing:1px;display:block;margin-bottom:3px}.prize-reveal strong{font-size:19px;font-weight:600;letter-spacing:1px;color:#f0e3c2}.pause-state{position:absolute;inset:38% 28% auto;text-align:center;background:#0c151ed9;border:1px solid var(--line);padding:20px 10px;z-index:5;backdrop-filter:blur(10px);border-radius:4px}.pause-state>span{font-size:15px}.pause-state button{display:block;margin:15px auto 0;background:#ac884f;color:#fff2d0;padding:8px 25px;border-radius:3px}.status-strip{position:absolute;bottom:96px;left:18px;right:18px;display:flex;gap:12px;align-items:center;justify-content:center;background:#36271def;border:1px solid #ad835343;border-radius:4px;padding:10px;font-size:12px;z-index:8}.status-strip button{background:transparent;color:#ffd18d;font-size:13px;min-height:28px;min-width:40px}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#10191d url('poster.webp') center/cover no-repeat;z-index:10}.loading span{position:absolute;bottom:18px;left:calc(50% - 13px);width:26px;height:26px;border:1px solid #615440;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.poster{position:absolute;inset:0;background:#10191d url('poster.webp') center/cover no-repeat;z-index:7}.poster img{width:100%;height:100%;object-fit:cover}.poster p{position:absolute;bottom:25px;width:100%;text-align:center;background:#111d;line-height:3;font-size:13px}
dialog{width:calc(100% - 38px);max-width:410px;color:var(--white);background:linear-gradient(140deg,#24342f,#111d20 75%);border:1px solid #aebba545;border-radius:8px;padding:24px 24px 28px;box-shadow:0 20px 80px #000b}dialog::backdrop{background:#071013b8;backdrop-filter:blur(6px)}dialog header{display:flex;justify-content:space-between;align-items:center}dialog header span{font:600 13px Barlow;color:#91a696;letter-spacing:2px}dialog h2{font-weight:600;font-size:20px;margin:6px 0}dialog header button{background:transparent;font:300 30px sans-serif;width:44px;height:44px;color:#94a497}.shelf{height:250px;position:relative;display:grid;place-items:center;perspective:400px;background:radial-gradient(ellipse at 50% 90%,#72956925,transparent 70%)}.shelf img{position:relative;height:190px;max-width:90%;object-fit:contain;z-index:1;filter:drop-shadow(0 16px 12px #0008)}.shelf img.uncollected{opacity:.28;filter:grayscale(1)}.shelf-base{position:absolute;bottom:10px;left:12%;right:12%;height:45px;background:linear-gradient(#879582,#314d43);transform:rotateX(58deg);border:1px solid #c0cda080;box-shadow:0 10px 20px #0005}dialog h3{text-align:center;font-weight:500;font-size:18px;margin:14px 0 7px}dialog p{text-align:center;color:#8fa798;font-size:13px;margin:0 0 26px}dialog>#return{width:100%;background:#3c5147;border:1px solid #8699853d;padding:13px;border-radius:3px;font-size:14px}
.app.ready .hud,.app.ready .tray-hud{animation:entry .45s ease-out}.app.still .hud,.app.still .tray-hud{animation:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes entry{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes reload{0%{opacity:0;transform:translate(-50%,-12px)}100%{opacity:1;transform:translate(-50%,0)}}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:700px){.app{height:100dvh;max-width:460px;box-shadow:0 0 80px #0009}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.app[data-state=reward] .tray-hud{left:auto;right:22px}.app[data-state=reward] .harvest{gap:6px}.app[data-state=reward] .harvest b{font-size:30px}.app[data-state=reward] .harvest>span{font-size:11px}
