:root{color:#e6ddcf;font-synthesis:none;--symbol-height:132px;--led-font:"Consolas", "Lucida Console", "Courier New", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1c1714;font-family:Trebuchet MS,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(at 50% 15%,#4a3c2f 0,#241d18 55%,#120f0d 100%);min-height:100vh;margin:0}main{max-width:720px;margin:auto;padding:0 16px 40px}.page-header{color:#a99a84;z-index:20;justify-content:space-between;align-items:center;gap:15px;max-width:720px;margin:auto;padding:12px 18px 10px;font-size:12px;display:flex;position:relative}.project-label{letter-spacing:.16em;opacity:.75;font-size:10px}a{color:#ebca83;text-underline-offset:3px}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}button:not(:disabled):active{transform:translateY(2px)}:focus-visible{outline-offset:3px;outline:3px solid #80dbf5}.skip-link{z-index:30;background:#222;padding:10px;position:absolute;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.menu{position:relative}.menu summary{cursor:pointer;color:#d8c7a6;-webkit-user-select:none;user-select:none;background:#2a231dcc;border:1px solid #6b5d48;border-radius:16px;padding:6px 12px;font-size:12px;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{color:#fff1cf;background:#4a3c2c}.menu-panel{color:#e4d8c1;background:#2b2520;border:1px solid #8b7a5b;border-radius:8px;gap:12px;width:min(280px,100vw - 24px);padding:16px;font-size:13px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 40px #000c}.menu-panel label{align-items:center;gap:8px;display:flex}.menu-panel input{accent-color:#d8b15f}.volume input{flex:1;min-width:0}.menu-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.menu-panel button,dialog button{color:#ebdec2;background:#393831;border:1px solid #8b7f61;border-radius:4px;min-height:40px;padding:8px 10px}.session-stats,.keyboard-hint{color:#b9ac94;margin:0;font-size:11px}.error,.storage-notice{background:#493025;border:1px solid #d3ac73;border-radius:5px;margin:0 0 12px;padding:10px 14px;font-size:13px}.error{border-color:#ec9380}.cabinet{background:linear-gradient(#8e231f,#6b1915 40%,#4f1411);border:10px solid #5a1d18;border-color:#5a1d18 #3d1714 #5a1d18 #7b2a21;border-radius:22px 22px 10px 10px;padding:10px;position:relative;box-shadow:0 24px 60px #000a,inset 0 0 0 2px #c0874b,0 0 0 2px #0f0c0a}.screw{background:linear-gradient(140deg,#d6cfc2,#4f4a44);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;box-shadow:0 1px 2px #000}.screw-left{left:5px}.screw-right{right:5px}.marquee{color:#f8dc8a;background:linear-gradient(110deg,#5d1217,#a52c28 55%,#4a1518);border:3px solid #c6a862;border-radius:8px 8px 2px 2px;justify-content:space-between;align-items:center;gap:16px;padding:8px 20px;display:flex;box-shadow:inset 0 0 0 2px #39191a,inset 0 -10px 20px #0005}h1{letter-spacing:-2px;white-space:nowrap;text-shadow:2px 3px #3b0d13,0 0 18px #ffbf5a66;margin:0;font-family:Georgia,serif;font-size:clamp(26px,6.4vw,54px);font-style:italic;line-height:1}h1 span{color:#fff3c0}.jackpot{background:#2a110e;border:2px solid #e6c678;border-radius:30px;align-items:baseline;gap:4px;padding:2px 14px;display:flex;box-shadow:inset 0 0 0 3px #7d4a2a,0 0 14px #f7c55a55}.jackpot strong{color:#ffe08a;text-shadow:0 0 10px #ffb33f99;font-family:Georgia,serif;font-size:clamp(26px,5vw,36px)}.jackpot span{letter-spacing:.1em;font-size:11px;font-weight:700}.payboard{color:#262724;background:#d8cfbd;border:3px solid #a3987a;border-radius:2px;margin-top:8px}.board-title{color:#eee4cb;letter-spacing:.16em;background:#2f3f3d;justify-content:space-between;padding:2px 10px;font-size:9px;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-family:Arial,sans-serif}thead{background:#bcb39f}th,td{text-align:center;border-bottom:1px solid #b6ad98;border-right:1px solid #a49c88;padding:0 6px;font-size:11px;line-height:1.05}thead th{padding:2px 4px;font-size:9px}tbody th{text-align:left;width:40%;font-weight:400}tbody td{width:12%;font-weight:700}tbody tr:nth-child(2n){background:#e0d8c8}.pay-symbols{align-items:center;gap:1px;height:15px;display:flex}.pay-symbols svg{width:16px;height:16px}.pay-symbols .symbol-alternative{margin-left:3px;font-size:10px;font-weight:700}[data-bet].selected{color:#331f10;background:#f3d47a}tr.winner{outline-offset:-2px;background:#f6e1a2;outline:2px solid #9c4426}tr.winner td.selected{color:#fff1b1;background:#b0261c;animation:.5s steps(2,end) 6 win-flash}.playfield{background:linear-gradient(#24201c,#191512);border:3px solid #0d0b09;border-radius:6px;margin-top:8px;padding:12px 14px 10px;box-shadow:inset 0 2px #ffffff14,inset 0 0 30px #000}.meters{grid-template-columns:1.2fr .6fr 1.2fr;gap:12px;margin-bottom:12px;display:grid}.meter{text-align:center}.meter>span{letter-spacing:.22em;color:#d6b56f;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.led{text-align:right;background:#0b0403;border:3px solid #3a3530;border-color:#151210 #3a3530 #3a3530 #1c1815;border-radius:4px;padding:2px 10px;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #000,0 1px #ffffff1a}.led:before,.led output{font-family:var(--led-font);letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:clamp(26px,6vw,40px);font-style:italic;font-weight:700;line-height:1.15}.led:before{content:attr(data-ghost);color:#ff2a1012;pointer-events:none;position:absolute;top:2px;right:10px}.led output{color:#ff3b1f;text-shadow:0 0 4px #ff3b1fcc,0 0 14px #ff2a0f88;display:block;position:relative}.led:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0006 2px 3px),linear-gradient(#ffffff12,#0000 45%);position:absolute;inset:0}.meter-bet .led output{color:#ffb21f;text-shadow:0 0 4px #ffb21fcc,0 0 14px #ff9a0f88}.meter-bet .led:before{color:#ffb21f12}.meter-win .led output{color:#59ff4a;text-shadow:0 0 4px #59ff4acc,0 0 14px #2fe02288}.meter-win .led:before{color:#59ff4a10}.reel-surround{background:linear-gradient(#b9bdb7,#e8e8df 50%,#a5aaa3);border:2px solid #5c625c;border-radius:8px;padding:10px 22px;position:relative;box-shadow:inset 0 2px 3px #fffb,inset 0 -2px 4px #0006}.reels{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.reel-window{height:calc(var(--symbol-height) * 2);background:#f5f0e2;border:4px solid #3a3f39;border-radius:6px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0004}.reel-track{top:calc(var(--symbol-height) * -.5);position:relative}.reel-window:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#120c05e6,#120c0533 26%,#0000 38% 62%,#120c0533 74%,#120c05e6);position:absolute;inset:0;box-shadow:inset 6px 0 10px #20180544,inset -6px 0 10px #20180544}.reel-window:before{content:"";z-index:3;pointer-events:none;background:#c4271c99;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 0 6px #ff3b1f66}.reel-symbol{height:var(--symbol-height);place-items:center;display:grid}.reel-symbol svg{height:calc(var(--symbol-height) - 14px);width:100%}.reel-window.held{border-color:#e0a92a;box-shadow:0 0 0 2px #fbd76c,0 0 18px #f7d064aa}.line-arrow{color:#c4271c;text-shadow:0 0 6px #ff3b1f88;font-size:18px;position:absolute;top:50%;transform:translateY(-50%)}.line-arrow.left{left:3px}.line-arrow.right{right:3px}.hold-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 24px 0;display:grid}.hold-button{color:#8d8165;letter-spacing:.12em;background:linear-gradient(#4d4535,#2c271e);border:2px solid #3d3628;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:52px;font-size:13px;font-weight:700;display:flex;position:relative;box-shadow:0 4px #0f0d0a,inset 0 1px #ffffff1a}.hold-text:before{content:"LUKITSE"}.lamp{background:#3b3426;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 1px 2px #000}.hold-button:not(:disabled){color:#3a2408;background:linear-gradient(#ffd66a,#d7972c);border-color:#7e5414;box-shadow:0 4px #6d4510,0 0 16px #ffc84b66,inset 0 1px #fff6}.hold-button:not(:disabled) .lamp{background:#fff6c8;box-shadow:0 0 8px #fff3a6}.hold-button:not(:disabled)[aria-pressed=false]{animation:.9s step-end infinite hold-blink}.hold-row .hold-button:nth-child(2){animation-delay:.15s}.hold-row .hold-button:nth-child(3){animation-delay:.3s}.hold-button[aria-pressed=true]{color:#4a1d06;background:linear-gradient(#fff3b0,#ffcf4a);border-color:#c4271c;animation:none;transform:translateY(3px);box-shadow:0 1px #6d4510,0 0 0 2px #c4271c,0 0 24px #ffd65acc,inset 0 0 8px #fff}.hold-button[aria-pressed=true] .hold-text:before{content:"LUKITTU"}.hold-button[aria-pressed=true] .lamp{background:#ff3b1f;box-shadow:0 0 10px #ff3b1f}@keyframes hold-blink{0%{filter:none}50%{filter:brightness(.55)saturate(.7);box-shadow:0 4px #6d4510,inset 0 1px #fff3}}@keyframes win-flash{50%{color:#331f10;background:#f3d47a}}.game-status{text-align:center;min-height:34px;font-family:var(--led-font);letter-spacing:.18em;color:#ffb21f;text-shadow:0 0 6px #ffb21f99;background:#0b0604 repeating-linear-gradient(0deg,#0000 0 2px,#0005 2px 3px);border:2px solid #2d2620;border-radius:4px;place-items:center;margin:12px 0 0;padding:4px 8px;font-size:15px;font-weight:700;display:grid}.game-status.win{color:#59ff4a;text-shadow:0 0 8px #59ff4acc;animation:.6s step-end 5 status-flash}@keyframes status-flash{50%{color:#1d4a18;text-shadow:none}}.control-panel{color:#343932;background:linear-gradient(110deg,#9e998b,#d6d0c2 48%,#8f8e83);border:3px solid #5d5f57;border-radius:6px;grid-template-columns:1fr;gap:12px;margin-top:8px;padding:12px 14px;display:grid}.bet-buttons{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.bet-buttons button{color:#343a2f;background:linear-gradient(#c4c2b0,#918f80);border:2px outset #f4e7b4;border-radius:6px;min-height:42px;font-size:18px;font-weight:700;box-shadow:0 3px #4448}.bet-buttons button span{margin-left:2px;font-size:10px;font-weight:400}.bet-buttons button[aria-pressed=true]{color:#4c2e17;background:linear-gradient(#ffe2a0,#eab955);box-shadow:0 0 10px #f4c45faa,0 3px #6d4510}.bet-buttons button:disabled{opacity:.65}.primary-controls{grid-template-columns:1fr 1.8fr;gap:12px;display:grid}.primary-controls button{letter-spacing:.12em;border:3px outset #edd8ab;border-radius:8px;min-height:60px;font-size:17px;font-weight:700;box-shadow:0 5px #322b23}.collect-button{color:#18261d;background:linear-gradient(#a9c0ae,#6f8f79)}.play-button{color:#4a2808;text-shadow:0 1px #fff6;background:linear-gradient(#ffd55e,#d9862a);font-size:22px!important}.play-button:not(:disabled){box-shadow:0 5px #6d3d10,0 0 18px #ffb84a77}.primary-controls button:disabled{color:#3a4038;opacity:.65;background:#8f9187}.coin-controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.coin-controls button{color:#f0dfb6;background:radial-gradient(circle at 35% 30%,#8a8f7f,#4d5247);border:2px solid #b4b59f;border-radius:50%;width:40px;height:40px;padding:0;font-size:13px;font-weight:700}.coin-controls button:disabled{opacity:.5}.coin-slot{background:#1f211b;border:4px ridge #b4b5a6;border-radius:3px;width:14px;height:36px;margin-right:4px}.machine-footer{text-align:center;background:repeating-linear-gradient(0deg,#262724 0 2px,#2c2c28 3px 5px);border:1px solid #4d4b40;border-radius:4px;margin-top:8px;padding:10px 12px 6px}.machine-footer>span{letter-spacing:.2em;color:#8f876c;margin-top:6px;font-size:9px;display:block}.coin-tray{background:linear-gradient(#141714,#4b4e43);border:5px ridge #9b9684;border-radius:2px 2px 13px 13px;width:55%;height:26px;margin:0 auto;box-shadow:0 3px 7px #000a}.coin-tray.paid{box-shadow:0 0 18px #f0cd75}.celebration{pointer-events:none;z-index:50;width:100vw;height:100vh;position:fixed;inset:0}.cabinet.celebrating{--glow:18px;animation:.5s ease-in-out infinite alternate cabinet-glow}.cabinet.celebrating[data-tier="3"]{--glow:32px}.cabinet.celebrating[data-tier="4"]{--glow:48px;animation-duration:.3s}.cabinet.celebrating[data-tier="5"]{--glow:70px;animation:.22s ease-in-out infinite alternate cabinet-glow,.45s linear 4 cabinet-shake}.cabinet.celebrating .coin-tray{box-shadow:0 0 var(--glow) #ffd75e, inset 0 0 12px #ffd75e}@keyframes cabinet-glow{0%{box-shadow:0 0 calc(var(--glow) / 3) #ffcf4a55}to{box-shadow:0 0 var(--glow) #ffcf4acc, 0 0 calc(var(--glow) * 2) #ff5a3c66}}@keyframes cabinet-shake{25%{translate:-3px 1px}50%{translate:2px -2px}75%{translate:-1px 2px}}.about{color:#d7ccb6;border-top:1px solid #4f463a;margin-top:26px;padding-top:10px;font-size:14px}.about summary{cursor:pointer;color:#a99a84;padding:6px 0;font-size:12px}.about h2{font-size:21px}.about h3{font-size:16px}dialog{color:#eee1c5;background:#302b23;border:1px solid #b49d6a;border-radius:8px;max-width:min(460px,100% - 32px);padding:24px}dialog::backdrop{background:#000b}dialog h2{margin-top:0;font-size:20px}dialog form{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}@media (width<=520px){:root{--symbol-height:96px}main{padding:0 6px 25px}.page-header{padding:8px 10px}.project-label{letter-spacing:.06em;font-size:8px}.menu summary span{display:none}.cabinet{border-width:6px;border-radius:14px 14px 8px 8px;padding:6px}.marquee{padding:6px 12px}.playfield{padding:8px 6px}.meters{gap:6px;margin-bottom:8px}.meter>span{letter-spacing:.1em;font-size:8px}.led{padding:1px 6px}.led:before{top:1px;right:6px}.reel-surround{padding:6px 14px}.reels,.hold-row{gap:6px}.hold-row{padding:10px 14px 0}.hold-button{letter-spacing:.06em;gap:5px;min-height:46px;font-size:10px}.lamp{width:8px;height:8px}.reel-window{border-width:3px}.line-arrow{font-size:12px}.game-status{letter-spacing:.1em;font-size:12px}.control-panel{padding:10px}.primary-controls button{font-size:14px}.play-button{font-size:18px!important}th,td{padding-left:2px;padding-right:2px;font-size:11px}.pay-symbols{height:13px}.pay-symbols svg{width:14px;height:14px}th,td{font-size:10px}thead th{padding:1px;font-size:8px}.board-title{font-size:8px}h1{letter-spacing:-1px;font-size:22px}.pay-symbols .symbol-alternative{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}
