:root{font-family:DM Sans,Noto Sans TC,system-ui,sans-serif;color:#f5e9d8;background:#100e10;color-scheme:dark;--gold: #e8ae64;--muted: #c1a88d;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body,#app,.runtime-root{width:100%;height:100%;margin:0}body{overflow:hidden}button,select,input{font:inherit}button,select{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #82dfd3;outline-offset:2px}.runtime-root{position:fixed;inset:0;overflow:hidden;background:linear-gradient(90deg,#160e12b8,#130e10a3 44%,#100e11cc),url(/art/attic.webp) center 48% / cover no-repeat,#100e10}.stage-wrap{position:fixed;z-index:10;pointer-events:none}.logical-stage{position:absolute;overflow:hidden;will-change:transform;background:radial-gradient(ellipse at 20% 48%,#19111416,#130f1394 76%)}.safe-box,.visual-viewport-box{position:absolute;visibility:hidden}.theme,.reel-host{position:absolute}.theme{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px 0 28px 22px}.identity{text-shadow:0 4px 15px #0c0709,0 1px 3px #090708}.identity p{margin:0}.wordmark{color:var(--gold);font:700 24px/1.2 IBM Plex Mono,monospace;letter-spacing:.22em}.identity h1{margin:24px 0 12px;font-family:"Noto Serif TC",Georgia,serif;font-size:94px;line-height:1.05;font-weight:850;letter-spacing:-.04em}.english-name{color:var(--muted);font:650 26px/1.2 IBM Plex Mono,monospace;letter-spacing:.21em}.machine{display:grid;place-items:center;width:320px;height:360px;margin-left:14px;filter:drop-shadow(0 14px 24px #080609)}.machine img{width:100%;height:100%;object-fit:contain}.machine.energized{filter:drop-shadow(0 0 25px #51c9c99e) drop-shadow(0 14px 24px #080609)}.math-info{display:flex;align-items:center;gap:19px;color:#e4ceb7;font-size:23px;text-shadow:0 2px 5px #0c0709}.math-info span+span{border-left:2px solid #745843;padding-left:19px}.reel-host{display:grid;grid-template-rows:auto 1fr auto;padding:35px 42px 27px;gap:22px;border:2px solid #7d5c47;border-radius:33px;background:linear-gradient(142deg,#282021,#171719 58%);box-shadow:0 30px 80px #100a0aab,inset 0 0 0 7px #1a1518}.reel-host.free-mode{border-color:#6b9f91}.reel-host.respin-mode{border-color:#e0a264;box-shadow:0 12px 66px #ae623d40,inset 0 0 0 7px #322322}.reel-header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px}.reel-header h2{margin:0;font-size:37px;letter-spacing:.08em}.ways-label,.counter{color:var(--muted);font-size:26px}.counter{display:flex;align-items:center;gap:13px}.counter b{color:#f5d096;font-size:35px;font-variant-numeric:tabular-nums}.free-mode .counter b{color:#a1dfcf}.respin-counter{padding:9px 25px 11px;background:url(/art/respin-counter.webp) center / 100% 100% no-repeat}.reel-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-height:0}.reel-grid:before{content:"";position:absolute;inset:25px -16px -13px;border:24px solid transparent;border-image:url(/art/reel-frame.webp) 48 stretch;pointer-events:none;z-index:2}.reel-column{position:relative;display:grid;grid-template-rows:26px repeat(3,minmax(0,1fr));gap:9px;min-height:0}.reel-label{align-self:start;text-align:center;color:#bd9d82;font:650 21px IBM Plex Mono,monospace;letter-spacing:.14em}.reel-column.carrier .reel-label{color:#94e2ce}.reel-column.carrier:before,.reel-column.carrier:after{content:"";position:absolute;top:36px;bottom:1px;width:15px;z-index:3;background:url(/art/reel-rack.webp) center / 100% 100% no-repeat;pointer-events:none}.reel-column.carrier:before{left:-7px}.reel-column.carrier:after{right:-7px;transform:scaleX(-1)}.reel-column.reveal-pulse .reel-label,.respin-pulse .reel-label{color:#b4ffff}.reel-column.reveal-pulse,.respin-pulse .reel-column{isolation:isolate}.reel-column.reveal-pulse>.reel-label:after,.respin-pulse .reel-label:after{content:"";position:absolute;inset:33px 0 0;background:url(/art/pulse-border.webp) center / 100% 100% no-repeat;z-index:3;pointer-events:none}.respin-pulse .reel-label:after{filter:brightness(1.7) saturate(1.3);animation:pulse-in .55s ease-out both}.symbol-cell{--ink: #dac6b5;--tile: #211d21;position:relative;overflow:hidden;display:grid;place-items:center;border:2px solid #563f38;border-radius:15px;background:linear-gradient(158deg,var(--tile),#151417 118%);color:var(--ink);box-shadow:inset 0 1px #ffffff09}.symbol-cell[data-symbol=H1]{--ink: #f6ba76;--tile: #53352c}.symbol-cell[data-symbol=H2]{--ink: #9ee0cd;--tile: #234744}.symbol-cell[data-symbol=H3]{--ink: #e5bdf5;--tile: #48324f}.symbol-cell[data-symbol=H4]{--ink: #f6aba0;--tile: #543138}.symbol-cell[data-symbol=H5]{--ink: #a4ceef;--tile: #263e55}.symbol-cell[data-symbol=W]{--ink: #ffe0a1;--tile: #57432b}.symbol-cell[data-symbol=SC]{--ink: #aee7da;--tile: #285751}.symbol-cell.empty{border-style:dashed;border-color:#483a35;opacity:.65}.symbol-value{font:740 55px/1 DM Sans,system-ui,sans-serif}.symbol-art{position:absolute;inset:9% 12% 13%;width:76%;height:78%;object-fit:contain;filter:drop-shadow(0 5px 5px #090608a6)}.symbol-cell[data-symbol^=L] .symbol-art{inset:17% 18%;width:64%;height:66%}.symbol-id{position:absolute;bottom:5px;left:8px;z-index:2;padding:2px 6px;border-radius:4px;color:#fff3d6;background:#100d11c9;font:700 18px/1.15 IBM Plex Mono,monospace;letter-spacing:.03em}.symbol-cell.winning{border-color:#cda979}.symbol-cell.locked{border-color:#bd834b;background:linear-gradient(160deg,#523627,#241a1a)}.symbol-cell.guaranteed{border-color:#86cbb6}.symbol-cell.veiled{color:#f4d2a5;border-color:#dba068;background:#523128}.symbol-cell.rolling .symbol-art,.symbol-cell.rolling .symbol-value{animation:rolling .16s linear infinite}.symbol-cell.rolling .symbol-id{visibility:hidden}.symbol-cell.rolling:after,.symbol-cell.veiled:not(.rolling):after{content:"";position:absolute;inset:0;background:url(/art/pulse-scan.webp) center / 100% 35% no-repeat;animation:scan .3s linear infinite}.lock-mark,.win-overlay,.carrier-overlay{position:absolute;inset:0;background-position:center;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}.lock-mark{background-image:url(/art/lock.webp)}.win-overlay{background-image:url(/art/win-highlight.webp)}.carrier-overlay{background-image:url(/art/carrier.webp);animation:carrier-in .26s ease-out}.scatter-spark{position:absolute;right:1%;top:0;width:44%;height:60%;pointer-events:none;background:url(/art/scatter-spark.webp) center / contain no-repeat;animation:pulse-in .34s ease-out both}.addition{position:absolute;right:5px;bottom:4px;z-index:3;display:grid;place-items:center;min-width:61px;min-height:31px;color:#ffe6a9;background:url(/art/bonus-frame.svg) center / 100% 100% no-repeat;font-size:23px;font-weight:850}.status{display:flex;align-items:center;min-height:42px;gap:13px;color:#e6c9ad;font-size:27px;font-weight:650}.status span{width:9px;height:9px;flex:none;border-radius:50%;background:#e0ab6b;box-shadow:0 0 13px #e0ab6b80}.control-layer{position:fixed;z-index:40;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:8px 12px;border:1px solid #795945;border-radius:16px;background:#211a1def;box-shadow:0 6px 30px #0b0809a0;transform-origin:center}.control-options{display:flex;align-items:center;gap:9px;min-height:30px}.scenario{min-width:0;flex:1;display:flex;gap:8px;align-items:center}.scenario>span,.speed{white-space:nowrap;color:#e0c2a5;font-size:12px;font-weight:700}.scenario select{width:100%;min-width:0;min-height:31px;border:1px solid #735845;border-radius:7px;padding:2px 7px;background:#32272a;font-size:13px;cursor:pointer}.speed{display:flex;align-items:center;gap:4px;padding:4px 0;cursor:pointer}.speed input{width:16px;height:16px;margin:0;accent-color:#dca461}.control-main{display:grid;grid-template-columns:1.15fr .62fr 1.3fr 1.15fr;align-items:center;gap:5px}.metric{display:grid;justify-items:center;gap:2px;min-width:0}.metric span{white-space:nowrap;color:#c4a68d;font-size:11px;line-height:1.2}.metric b{font-size:clamp(12px,2.45vw,17px);font-variant-numeric:tabular-nums}.metric.win b{color:#f1c488}.spin-button{min-height:46px;border:1px solid #f2c78e;border-radius:9px;background:linear-gradient(175deg,#f2c78e,#cc8d51);color:#241819;font-size:17px;font-weight:900;letter-spacing:.08em;cursor:pointer}.spin-button:hover:not(:disabled){background:#f7d4a2}.spin-button:disabled{opacity:.5;cursor:default}select:disabled{opacity:.65;cursor:default}.mobile-stage .theme{flex-direction:row;align-items:flex-start;padding:20px 28px}.mobile-stage .identity{align-self:flex-start}.mobile-stage .identity h1{font-size:107px;margin-top:27px}.mobile-stage .wordmark{font-size:33px}.mobile-stage .english-name{font-size:31px}.mobile-stage .machine{width:260px;height:302px;margin:0}.mobile-stage .math-info{position:absolute;bottom:4px;left:29px;font-size:29px}.mobile-stage .reel-host{padding:34px 30px 26px;gap:28px}.mobile-stage .reel-header{min-height:76px}.mobile-stage .reel-header h2{font-size:50px}.mobile-stage .ways-label,.mobile-stage .counter{font-size:34px}.mobile-stage .counter b{font-size:44px}.mobile-stage .reel-column{grid-template-rows:35px repeat(3,minmax(0,1fr));gap:12px}.mobile-stage .reel-label{font-size:29px}.mobile-stage .symbol-value{font-size:59px}.mobile-stage .symbol-id{font-size:25px}.mobile-stage .addition{min-width:76px;min-height:39px;font-size:28px}.mobile-stage .reel-grid:before{inset:37px -13px -14px}.mobile-stage .reel-column.carrier:before,.mobile-stage .reel-column.carrier:after{top:49px}.mobile-stage .reel-column.reveal-pulse>.reel-label:after,.mobile-stage .respin-pulse .reel-label:after{top:46px}.mobile-stage .status{min-height:47px;font-size:35px}@media(max-width:340px){.scenario>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.control-layer{padding-inline:8px}}@keyframes rolling{0%{transform:translateY(-35%);filter:blur(4px)}to{transform:translateY(65%);filter:blur(7px)}}@keyframes scan{0%{transform:translateY(-54%)}to{transform:translateY(54%)}}@keyframes pulse-in{0%{opacity:1}to{opacity:.45}}@keyframes carrier-in{0%{transform:translateY(-22%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.symbol-cell.rolling .symbol-art,.symbol-cell.rolling .symbol-value,.symbol-cell.rolling:after,.symbol-cell.veiled:after,.carrier-overlay,.scatter-spark,.respin-pulse .reel-label:after{animation:none}}
