:root{color:#eef3ff;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1b2438;--surface-raised:#26334c;--border:#40516f;--muted:#a7b5d2;--accent:#8aefcf;--gold:#ffe197;--radius:20px;--view-width:420px;--view-ratio:calc(390 / 690);--view-gutter:8px;--space:8px;--touch-size:44px;--spin-size:80px;--remove-time:.3s;background:#101625;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:280px;min-height:100dvh;padding:var(--view-gutter);background:radial-gradient(at 50% 0,#26395d 0,#0000 65%);place-items:center;margin:0;display:grid}button,select{font:inherit}button,select,input{accent-color:var(--accent)}button,select{min-height:var(--touch-size);border:1px solid var(--border);background:var(--surface-raised);color:inherit;border-radius:10px;padding:6px 8px}button{cursor:pointer;transition:filter .2s}button:hover:not(:disabled){filter:brightness(1.13)}button:disabled,select:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{width:min(var(--view-width), calc(100vw - var(--view-gutter) * 2), calc((100dvh - var(--view-gutter) * 2) * var(--view-ratio)));aspect-ratio:var(--view-ratio);gap:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg, #24314b, var(--surface) 65%);flex-direction:column;min-width:264px;min-height:480px;padding:12px;display:flex;box-shadow:0 20px 70px #0006}.game-header,.round-banner,.control-panel,.help{flex-shrink:0}.game-header{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}h1{letter-spacing:-.06em;margin:0;font-size:23px}h1 span{color:var(--accent);margin-left:5px;font-weight:400}.badge{white-space:nowrap;color:var(--accent);border:1px solid #526b7b;border-radius:20px;padding:5px 7px;font-size:9px}.label{color:var(--muted);font-size:10px;display:block}.control-panel{border:1px solid var(--border);background:linear-gradient(#2c3c5866,#131d3066);border-radius:18px;flex-direction:column;gap:8px;padding:10px 8px 4px;display:flex}.total{text-align:center;min-width:0}.total strong{font-variant-numeric:tabular-nums;color:var(--gold);overflow-wrap:anywhere;margin-top:3px;font-size:19px;display:block}.balance{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;min-width:0;font-size:16px;display:flex}.balance .label{font-size:11px}.balance strong{overflow-wrap:anywhere;min-width:0}.round-banner{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.round-status{overflow-wrap:anywhere;min-width:0}.round-status strong{margin-top:2px;display:block}.round-banner.bonus{color:var(--gold)}.multiplier-info{overflow-wrap:anywhere;text-align:right;max-width:42%;max-height:38px;overflow-y:auto}.play-area{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;container-type:size}.board{border:1px solid var(--border);background:#0c1220;border-radius:12px;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;width:min(100cqw,120cqh);padding:3px;display:grid;overflow:hidden}.board:has(.column:empty){aspect-ratio:6/5}.column{grid-template-rows:repeat(5,auto);align-content:start;min-width:0;display:grid}.cell{aspect-ratio:1;will-change:transform;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;display:flex;position:relative}.cell img{object-fit:contain;width:96%;height:96%;transition:opacity var(--remove-time), transform var(--remove-time);-webkit-user-select:none;user-select:none}.cell:after{content:"";pointer-events:none;border-radius:8px;transition:box-shadow .2s;position:absolute;inset:4%}.phase-winning .winner:after{box-shadow:inset 0 0 0 2px var(--gold), 0 0 12px #ffe19765}.phase-winning .winner img{transform:scale(1.08)}.phase-removing .winner img{opacity:0;transform:scale(.15)}.orb{color:#3a2105;border:2px solid var(--gold);aspect-ratio:1;background:radial-gradient(circle at 35% 25%,#fff6b7,#c58221 75%);border-radius:50%;justify-content:center;align-items:center;width:84%;font-size:clamp(12px,4cqw,22px);font-weight:800;display:flex;box-shadow:0 0 12px #ffd36a55}.controls{grid-template-columns:minmax(0, 1fr) var(--spin-size) minmax(0, 1fr);align-items:center;gap:8px;display:grid}.bet{background:var(--surface-raised);text-align:center;border-radius:12px;min-width:0;padding:8px 4px}.bet select{width:100%;margin-top:4px;padding-inline:4px;font-size:12px}.step-info{background:var(--surface-raised);text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;min-width:0;padding:10px 4px}.spin-stack{flex-direction:column;align-items:center;gap:7px;min-width:0;display:flex}.step-info strong{color:var(--gold);overflow-wrap:anywhere;margin-block:4px;font-size:13px;display:block}.spin-price{text-align:center;color:var(--muted);overflow-wrap:anywhere;font-size:9px;display:block}.spin{width:var(--spin-size);height:var(--spin-size);background:var(--accent);color:#102c2c;border:3px solid #beffe8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;font-size:10px;font-weight:800;display:flex;box-shadow:0 3px #3f9b83,0 0 20px #8aefcf18}.spin-icon{font-size:36px;line-height:32px}.extras{justify-content:space-between;align-items:center;gap:8px;min-height:48px;display:flex}.toggle{min-height:var(--touch-size);cursor:pointer;flex:1;align-items:center;gap:5px;min-width:0;font-size:11px;display:flex}.toggle input{flex-shrink:0;width:18px;height:18px;margin:0}.toggle small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.buy{text-align:center;max-width:46%;color:var(--gold);flex-direction:column;justify-content:center;gap:3px;margin-left:auto;font-size:10px;display:flex}.buy span{overflow-wrap:anywhere;font-size:11px;font-weight:700}.error{z-index:1;overflow-wrap:anywhere;background:#452c37f5;border:1px solid #fa9191;border-radius:12px;padding:12px;position:absolute;inset:0;overflow-y:auto}.error p{margin:0 0 12px;font-size:12px;line-height:1.5}.error button{width:100%;font-size:12px}.help{color:var(--muted);font-size:11px;position:relative}.help summary{min-height:var(--touch-size);cursor:pointer;border-top:1px solid var(--border);justify-content:center;align-items:center;list-style:none;display:flex}.help summary::-webkit-details-marker{display:none}.help summary:after{content:"+";color:var(--accent);margin-left:8px}.help[open] summary:after{content:"−"}.help-content{z-index:2;border:1px solid var(--border);color:#d7e2fa;background:#172238;border-radius:12px;max-height:min(320px,60dvh);padding:12px;font-size:12px;line-height:1.5;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #0007}.help-content p{margin:0 0 10px}.help-content p:last-child{margin-bottom:0}@media (width<=360px),(height<=650px){:root{--space:5px;--spin-size:68px;--view-gutter:4px}.app{border-radius:14px;padding:8px}h1{font-size:20px}.badge{padding:4px 5px;font-size:8px}.control-panel{gap:5px;padding:6px 4px 2px}.total strong{font-size:16px}.controls{gap:5px}.step-info strong{font-size:11px}.round-banner{font-size:9px}}@media (width>=768px){:root{--view-width:500px;--view-ratio:calc(3 / 5);--view-gutter:12px;--spin-size:100px}.app{padding:16px}h1{font-size:28px}.badge{font-size:11px}.label,.round-banner{font-size:12px}.control-panel{gap:10px;padding:12px 10px 6px}.total strong{font-size:24px}.bet select,.step-info strong{font-size:15px}.spin-icon{font-size:46px;line-height:42px}.spin-price,.toggle,.buy{font-size:11px}.toggle small{font-size:9px}.balance{font-size:18px}}@media (width>=768px) and (height<=650px){:root{--spin-size:68px}.app{padding:8px}.control-panel{gap:5px;padding:6px 4px 2px}.total strong{font-size:16px}}@media (height<=490px){.app{width:min(var(--view-width), calc(100vw - var(--view-gutter) * 2))}}@media (width<=767px){body{background:var(--surface);padding:0;display:block}#root{width:100%;height:100dvh}.app{aspect-ratio:auto;width:100%;min-width:0;height:100dvh;min-height:0;padding:max(8px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));box-shadow:none;border:0;border-radius:0;overflow-y:auto}.play-area{min-height:120px}}@media (prefers-reduced-motion:reduce){.cell img,.cell:after{transition:none}}
