/* v49: LOSOWARKA Z ODZYSKU (slot-machine-ui.js). Based on the approved preview (preview.css); one screen,
   no page scroll at 1920×1080, 1366×768 and 1280×720 — the machine is sized from the viewport height. */
.slot-overlay{position:fixed;inset:0;z-index:60;overflow:hidden;background:radial-gradient(ellipse at 47% 46%,#29312b 0,#101d20 38%,#070d12 78%);color:#d6e1df;font-family:Arial,sans-serif;--slot-h:min(66vh,640px)}
.slot-shell{height:100%;display:flex;flex-direction:column}
.slot-top{flex:none;padding:1.6vh 4vw 1.2vh;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #5b55424d}
.slot-top small,.slot-step{font:10px monospace;letter-spacing:2px;color:#c9a877}
.slot-top h2{margin:.5vh 0;font-size:clamp(18px,2vw,30px);letter-spacing:3px;color:#f4c582}
.slot-top p{margin:0;color:#7f9295;font-size:12px}
.slot-balance{text-align:right;padding:8px 16px;border:1px solid #e57aaa55;background:#34142580}
.slot-balance b{display:block;font:700 clamp(20px,2.4vw,30px) monospace;color:#ff9ed5}
.slot-balance small{font-size:9px;color:#f7b4d5;letter-spacing:1px}
.slot-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr) minmax(250px,1fr);gap:clamp(14px,2vw,30px);width:100%;max-width:1500px;margin:0 auto;padding:1.4vh 3vw 0;box-sizing:border-box}
.slot-brief,.slot-rewards{min-height:0;overflow:hidden}
.slot-brief h3{font-size:clamp(15px,1.4vw,20px);line-height:1.35;color:#e1d4b6;letter-spacing:1px;margin:1vh 0}
.slot-brief p{font-size:clamp(11px,.9vw,13px);line-height:1.6;color:#acbdbd;margin:.8vh 0}
.slot-rules{display:flex;flex-direction:column;gap:5px;border-left:2px solid #b97a36;padding:8px 10px;background:#21333455;font-size:11px}
.slot-rules b{color:#f2c07b}.slot-rules span{color:#95afb2}
.slot-brief h4{font:10px monospace;letter-spacing:1px;color:#bfa16c;margin:1.6vh 0 .8vh}
.slot-prices{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.slot-price{padding:.8vh 2px;text-align:center;background:#142228;border:1px solid #34464e;font:11px monospace}
.slot-price small{display:block;color:#84989a;font-size:7px;margin-bottom:3px}
.slot-price.active{border-color:#f6ae4d;color:#f6ae4d}.slot-price.used{opacity:.4}
.slot-muted{font-size:10.5px!important;color:#7e9599!important}
.slot-center{min-width:0;display:flex;flex-direction:column;align-items:center}
.slot-machine{position:relative;height:var(--slot-h);aspect-ratio:2/3;isolation:isolate;flex:none}
.slot-cabinet{display:block;width:100%;height:100%;user-select:none}
.slot-name{position:absolute;left:21%;top:17.4%;width:54%;text-align:center;font:900 calc(var(--slot-h)*.03)/1.02 monospace;letter-spacing:2px;color:#341909;text-shadow:0 1px #ffda7644;pointer-events:none}
.slot-name small{font-size:.65em;letter-spacing:4px}
.slot-reel{position:absolute;top:28.1%;height:22.25%;width:18.45%;overflow:hidden;border-radius:7px;background:linear-gradient(90deg,#111a1d,#1c2a2d 50%,#10181c);box-shadow:inset 0 0 15px #000}
.slot-reel-0{left:16.6%}.slot-reel-1{left:40.1%}.slot-reel-2{left:63.3%}
.slot-reel:after{content:'';position:absolute;inset:0;background:linear-gradient(#000d,transparent 30%,transparent 70%,#000d);pointer-events:none}
.slot-strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.slot-cell{width:100%;display:grid;place-items:center;padding:5px;box-sizing:border-box}
.slot-cell img{width:100%;height:100%;object-fit:contain}
.slot-payline{position:absolute;top:28%;left:3%;right:3%;height:44%;border-top:1px solid #ffc15d77;border-bottom:1px solid #ffc15d77;pointer-events:none;z-index:1}
.slot-status{position:absolute;top:56.8%;left:25%;width:46%;height:3%;display:grid;place-items:center;font:700 calc(var(--slot-h)*.0145) monospace;letter-spacing:1px;color:#ffbb63;text-align:center}
.slot-pull{position:absolute;left:38%;top:65%;width:23%;height:4.6%;border:0;border-radius:8px;background:transparent;color:#4e2207;font:900 calc(var(--slot-h)*.024) monospace;text-shadow:0 1px #ffcd7088;cursor:pointer}
.slot-pull.short{color:#7a3a2a}
.slot-lever{position:absolute;left:77%;top:31%;width:27%;padding:0;border:0;background:none;z-index:4;cursor:pointer;perspective:700px}
.slot-lever img{width:100%;height:auto;display:block;filter:drop-shadow(2px 3px 2px #0008);transform-origin:54% 85.5%}
/* lever: down 260 ms, hold 120 ms, return 300 ms (680 ms) */
.slot-lever.pulled img{animation:slot-lever .68s ease-in-out}
@keyframes slot-lever{0%{transform:rotateX(0) rotateZ(0)}38%,56%{transform:rotateX(155deg) rotateZ(-8deg)}100%{transform:rotateX(0) rotateZ(0)}}
.slot-overlay button:disabled{cursor:default;opacity:.45}
.slot-overlay button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.slot-flash{position:absolute;left:15%;right:15%;top:26%;height:27%;pointer-events:none;border:2px solid transparent;border-radius:15px}
.slot-flash.win{animation:slot-win .24s 5 alternate}
.slot-flash.jackpot{animation:slot-jackpot .18s 10 alternate}
@keyframes slot-win{to{border-color:#ffbe48;box-shadow:0 0 20px #ffb13b66,inset 0 0 15px #ffb13b44}}
@keyframes slot-jackpot{to{border-color:#f0b4ff;box-shadow:0 0 32px #e692ff99,inset 0 0 25px #ffa63666}}
.slot-under{display:flex;justify-content:space-between;gap:10px;width:min(100%,420px);margin:.4vh auto .8vh;font:10px monospace;color:#c9a773}
.slot-actions{display:flex;gap:8px;width:min(100%,460px)}
.slot-go{flex:1;background:#edac53;color:#20160c;border:1px solid #ffca70;padding:1.3vh 8px;font:700 11px monospace;letter-spacing:1px;cursor:pointer}
.slot-back,.slot-mute{background:#13252c;border:1px solid #41565b;color:#92b0b3;padding:8px;font:9px monospace;cursor:pointer}
.slot-outcome{min-height:32px;font:11px/1.5 monospace;color:#d3bb91;text-align:center;max-width:460px;margin:.8vh auto 0}
.slot-err{color:#ff8f7a}
.slot-retry{margin-left:6px;background:#3a1d18;border:1px solid #a4523f;color:#ffc2b3;font:10px monospace;padding:4px 8px;cursor:pointer}
.slot-rewards{display:flex;flex-direction:column}
.slot-rewards h3{font-size:16px;color:#e1d4b6;letter-spacing:1px;margin:1vh 0}
.slot-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.slot-empty{border:1px dashed #354b52;padding:24px 16px;font:12px/1.8 monospace;color:#a4b2a9}.slot-empty span{font-size:10px;color:#6f888d}
.slot-card{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;background:linear-gradient(100deg,#203139,#101c23);border:1px solid #586064;border-left:3px solid var(--reward);padding:8px 10px;margin-bottom:7px}
.slot-card.fresh{animation:slot-in .3s ease-out}
.slot-card img{width:48px;height:48px;object-fit:contain}
.slot-card small{display:block;font:8px monospace;color:var(--reward);letter-spacing:1px;margin-bottom:3px}
.slot-card b{display:block;font:700 11.5px/1.4 monospace;color:#e8e5d5}
.slot-card p{margin:3px 0 0;font-size:10px;color:#9fb1b3}
.slot-card ul{margin:3px 0 0;padding-left:14px;font-size:10px;line-height:1.45;color:#b7c6c4}
.slot-card em{color:#e2b77b;font-style:normal}.slot-card strong{color:#f7b4d5;font-weight:600}
@keyframes slot-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.slot-foot{flex:none;border-top:1px solid #3d4d50;margin-top:1vh;padding-top:1vh}
.slot-foot span{display:block;font:700 12px monospace;color:#f2b3d4}
.slot-foot small{display:block;font-size:10px;line-height:1.5;color:#799094;margin-top:6px}
.slot-legend{flex:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;width:100%;max-width:1430px;margin:0 auto;padding:1vh 3vw 1.4vh;border-top:1px solid #34464a;box-sizing:border-box}
.slot-legend div{text-align:center}
.slot-legend img{width:36px;height:36px;object-fit:contain}
.slot-legend b{display:block;font:8px monospace;color:#b6bcae;letter-spacing:1px}
.slot-legend small{display:block;font:8.5px/1.45 monospace;color:#789398;margin-top:2px}
@media (max-height:860px){.slot-overlay{--slot-h:min(62vh,600px)}.slot-legend small{display:none}.slot-brief .slot-muted{display:none}}
@media (max-height:740px){.slot-overlay{--slot-h:60vh}.slot-top p{display:none}.slot-legend{display:none}.slot-overlay{--slot-h:68vh}}
@media (prefers-reduced-motion:reduce){.slot-lever.pulled img{animation-duration:.3s}.slot-card.fresh{animation:none}}
