:root{color-scheme:dark;--gold:#f2ce84;--muted:#b5a4b7}*{box-sizing:border-box}body{margin:0;background:#100b13;color:#f6e8ce;font-family:Gaia Rubik,Arial,sans-serif;min-height:100dvh;display:grid;place-items:center;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #8b6747;background:#2f2029;transition:filter .15s}button:hover{filter:brightness(1.3)}button:focus-visible{outline:2px solid #ffe1a1;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.game-shell{width:min(100%,calc((100dvh - 118px)*1.777778));max-width:2200px;margin:auto}.viewport{width:100%;overflow:hidden}.scene{position:relative;width:100%;aspect-ratio:16/9;isolation:isolate;background:url('assets/Backgrounds/Background_1.jpg') center/100% 100%;overflow:hidden}#world,#symbol-effects{position:absolute;inset:0;pointer-events:none}#world{z-index:0}#world canvas,#symbol-effects canvas{width:100%;height:100%;display:block}#symbol-effects{z-index:5}.scene-tools{position:absolute;top:2%;left:1.5%;z-index:8;display:flex;gap:7px}.scene-tools button{border-radius:4px;background:#1e1522b5;padding:7px 10px;font-size:9px;letter-spacing:.8px;border-color:#9d81565c}.playfield{position:absolute;inset:0;z-index:2;pointer-events:none}.topbar{position:absolute;left:23%;top:2.5%;width:54%;height:13%;display:flex;align-items:center;justify-content:center;background:url('assets/Animations/board/board_bar.png') center/100% 100%;pointer-events:none}.spine-ready .topbar{background:none}.topbar #mode{position:absolute;left:0;top:0;font-size:0}#tracker{position:absolute;inset:0;display:flex;justify-content:space-around;align-items:center;font:bold 14px Georgia;color:#ead391}.spine-ready #tracker{opacity:0}#tracker b{width:40px;height:40px;display:grid;place-items:center;border:2px solid #876a3b;border-radius:50%;background:#2d2224}.board-wrap{position:absolute;left:23.8%;top:14.8%;width:53.02%;height:77.78%;background:url('assets/Animations/board/board_slot.png') center/100% 100%}.spine-ready .board-wrap{background:none}.board{position:absolute;left:5.01%;top:6.19%;width:88.9%;height:89.4%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));column-gap:2.45%;row-gap:2.94%}.cell{position:relative;min-width:0;min-height:0;display:grid;place-items:center;background:#222;border-radius:5%;will-change:transform}.spine-ready .cell{background:transparent}.cell img{width:108%;height:108%;object-fit:contain;filter:drop-shadow(0 3px 2px #0005)}.cell .multi{position:absolute;inset:0;display:grid;place-items:center;font:bold clamp(12px,2.2vw,30px) Georgia;color:#ffe0a0;-webkit-text-stroke:.4px #000;text-shadow:2px 2px 0 #000}.cell.animated-multi img,.cell.animated-multi .multi,.cell.animated-win img{opacity:0}.cell.winner{box-shadow:0 0 13px #e6c866;background:#b89b4733}.cell.pop{animation:pop .3s forwards}.cell.drop{animation:drop .42s backwards;animation-delay:calc(var(--col)*25ms)}.spell{position:absolute;inset:-8%;z-index:8;pointer-events:none;display:none;background:radial-gradient(circle,#cfa0ff88,transparent 65%);mix-blend-mode:screen}.spell.cast{display:block;animation:magic 1s forwards}#mascot{position:absolute;left:77%;top:8%;width:25%;height:88%;z-index:3;pointer-events:none}#mascot img{width:100%;height:100%;object-fit:contain}#mascot canvas{width:100%!important;height:100%!important}#loading{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);z-index:8;font-size:11px;color:#f5dca4;background:#1e1227cb;padding:8px 16px;border-radius:20px;white-space:nowrap}.message{min-height:23px;display:grid;place-items:center;text-align:center;font-size:10px;color:#e6d1a1;background:#1b111bd9;border-top:1px solid #6e4937;letter-spacing:.35px;padding:4px 10px}.console{display:flex;align-items:center;justify-content:space-evenly;gap:12px;padding:8px 18px;background:linear-gradient(#39252c,#1a111b);border-top:1px solid #7f553b;min-height:72px;box-shadow:inset 0 1px #c1924a30}.console-logo{width:105px;height:60px;object-fit:contain}.stat{display:flex;flex-direction:column;gap:4px;min-width:95px}.stat small,.bet>small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.stat strong{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.stat>span{font-size:8px;color:var(--muted)}.win strong{color:#f6d487}.bet{text-align:center}.bet>div{display:flex;align-items:center;gap:10px;margin-top:4px}.bet strong{font-size:17px}.bet button{width:23px;height:23px;border-radius:50%;background:#221822;font-size:17px}.round{width:32px;height:32px;border-radius:50%;font-size:17px;background:#211725;color:#e5d4c4}.round.on{background:#74438d}.spin{min-width:104px;height:53px;border-radius:30px;border:2px solid #d7ac5f;background:linear-gradient(#e9c786,#a6753d);color:#382014;font-size:12px;font-weight:800;letter-spacing:1px;box-shadow:inset 0 0 0 3px #512f2244,0 0 15px #e8b95822}.spin>span:first-child{font-size:32px;line-height:1;vertical-align:middle}.spin-label{margin-left:6px}#explore{font-size:9px;letter-spacing:1px;background:#412a37;border-radius:5px;padding:12px 10px}footer{display:flex;justify-content:space-between;gap:10px;padding:6px 18px;background:#120c15;font-size:8px;letter-spacing:1px;color:#927f94}footer button{padding:0;border:0;background:none;color:#b9a3bb;font-size:8px;letter-spacing:1px}dialog{background:linear-gradient(145deg,#332238,#160e1d);color:#eee0c8;border:1px solid #a28051;border-radius:12px;max-width:680px;width:90%;max-height:85dvh;padding:30px;box-shadow:0 20px 100px #000}dialog::backdrop{background:#08040bd9;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:27px;z-index:10}dialog h1,dialog h2{font-family:Cinzel,Georgia;color:var(--gold)}dialog h1{font-size:25px}dialog h2{font-size:18px;margin-top:24px}dialog p,dialog li{font-size:12px;line-height:1.8;color:#cdbdd3}dialog .choice{display:flex;align-items:center;justify-content:center;gap:20px;margin:12px 0;padding:16px;border:1px solid #75556b;border-radius:8px;width:100%;text-align:left}.choice img{width:60px}.choice strong{display:block;color:#edcc8e}.choice small{display:block;margin-top:6px;color:#b8a6c2}.payrow{display:flex;align-items:center;gap:16px;font-size:12px;margin:6px}.payrow img{width:45px}.win-gallery{display:flex;flex-wrap:wrap;gap:8px}.win-gallery button{padding:10px;border-radius:5px;font-size:11px}dialog.celebration-dialog{border:0;background:transparent;box-shadow:none;max-width:1100px;width:min(95vw,1100px);height:min(88dvh,780px);padding:0;overflow:hidden}dialog.celebration-dialog #modalbody{height:100%}.celebration-stage{position:absolute;inset:0;pointer-events:none}.celebration-stage canvas{width:100%;height:100%;display:block}.celebration-copy{position:absolute;left:0;right:0;bottom:0;text-align:center;z-index:3}.celebration-copy p{margin:4px}.celebration-copy button{font-size:11px;letter-spacing:2px;padding:12px 25px;background:#1d1321b0;border:1px solid #b7975d66;border-radius:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fallback-title{text-align:center;padding-top:120px;font:40px Georgia}.fallback-title strong{display:block;color:#e3bd77}@keyframes drop{from{transform:translateY(-140%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop{to{transform:scale(.05);opacity:0}}@keyframes magic{50%{filter:brightness(2)}to{opacity:0}}
@media(max-width:900px){.console-logo{width:75px}.console{gap:8px;padding:9px}.stat{min-width:75px}.stat strong{font-size:17px}.spin{min-width:85px}.spin-label{display:none}.bet>div{gap:7px}.scene-tools button{font-size:8px;padding:5px}.game-shell{width:100%}}
@media(max-width:600px){body{align-items:center}.game-shell{width:100%}.scene{width:166%;margin-left:-33%}.scene-tools{left:24%;top:1.5%}.scene-tools button{font-size:8px}#mascot{display:none}.console{gap:9px;flex-wrap:wrap;padding:12px 10px}.console-logo{display:none}.stat{min-width:90px;flex:1}.bet{order:0;flex:1}.stat.win{order:0;text-align:right}.bet>div{justify-content:center}.round,#explore,.spin{order:1}.spin{height:55px;min-width:125px}.spin-label{display:inline}.console #explore{margin-right:auto}.console #auto{margin-left:auto}.message{font-size:9px;min-height:31px}.stat strong{font-size:19px}footer{padding:8px 10px;font-size:7px;letter-spacing:.4px}footer>span:nth-child(2){display:none}.celebration-copy{bottom:8%}dialog.celebration-dialog{height:min(82dvh,660px)}dialog{padding:24px}.board{border-radius:0}}
@media(prefers-reduced-motion:reduce){.cell.drop,.cell.pop,.spell.cast{animation-duration:.01ms!important}}

#world canvas,#symbol-effects canvas,.celebration-stage canvas{width:100%!important;height:100%!important}

/* Readable tumble phases: only new symbols enter; survivors fall into their gaps. */
.board{overflow:hidden}.board.showing-win .cell:not(.winner){filter:brightness(.42)}.cell{transition:filter .2s}.cell.pop{animation:pop .45s forwards}.cell.winner{box-shadow:inset 0 0 0 2px #ffe6a0,0 0 16px #efc963;background:#b89b4755}.message{min-height:31px;font-size:12px;font-weight:600}

#multiplier-readout{font-size:9px;color:#ead391;white-space:normal;max-width:150px;line-height:1.25}#qa-panel{position:fixed;top:0;left:0;right:0;z-index:10000;background:#17121f;color:#fff;font:12px Arial;padding:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}#qa-panel select{max-width:350px;background:#2d2138;color:#fff}#qa-panel button{padding:5px}#qa-results{flex-basis:100%;max-height:125px;overflow:auto;margin:0;font-size:10px}body:has(#qa-panel){padding-top:90px}