/* Laugh Slots: navy enamel, warm brass and the original pop-art reel symbols. */
.lp-laugh-slots { background: #fcf8ef; }
.ls-page { --ls-ink:#111b36; --ls-gold:#ffe099; --ls-muted:#566073; max-width:1440px; margin:auto; padding:24px clamp(16px,3vw,42px) 60px; color:var(--ls-ink); font-family:'Inter',sans-serif; }
.ls-page [hidden] { display:none!important; }
.ls-page button, .ls-page input { font:inherit; }
.ls-page button { cursor:pointer; }
.ls-page :is(button,a,input):focus-visible { outline:3px solid #288bda; outline-offset:5px; }
.ls-heading { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; margin:0 0 24px; }
.ls-heading h1 { font:800 clamp(34px,4vw,54px)/1.05 'Outfit',sans-serif; letter-spacing:-.05em; margin:0 0 8px; text-align:center; }
.ls-heading p { font-size:17px; text-align:center; margin:0; color:var(--ls-muted); }
.ls-back { justify-self:start; color:#334461; font-size:14px; font-weight:650; display:flex; gap:10px; align-items:center; }
.ls-back span { font-size:22px; }
.ls-sound { justify-self:end; display:flex; gap:9px; align-items:center; border:1px solid #d7cdbb; border-radius:30px; background:#fffdf7; color:#263550; padding:11px 15px; font-size:12px!important; font-weight:650!important; min-height:44px; }
.ls-sound-cross,.ls-sound[aria-pressed=true] .ls-sound-waves { display:none; }
.ls-sound[aria-pressed=true] .ls-sound-cross { display:block; }
.ls-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:stretch; }
.ls-stage { position:relative; overflow:hidden; min-width:0; border-radius:22px; padding:24px 22px 20px; background:radial-gradient(ellipse at 50% 60%,#163962 0%,#0d213f 43%,#070e22 85%); color:#fff5d6; border:1px solid #162640; box-shadow:0 12px 30px #10244815; }
.ls-stage::before,.ls-stage::after { content:''; position:absolute; width:3px; height:64%; top:19%; background:#219cff; box-shadow:0 0 12px 2px #117df4,0 0 60px 12px #126be433; opacity:.55; border-radius:50%; transform:rotate(-5deg); }
.ls-stage::before { left:5%; } .ls-stage::after { right:5%; transform:rotate(5deg); }
.ls-hud { position:relative; z-index:1; display:grid; grid-template-columns:1.2fr 1fr 1fr; max-width:630px; margin:0 auto 12px; text-align:center; }
.ls-hud>div+div { border-left:1px solid #9faec02f; }
.ls-hud span { display:block; color:#ffe099; font:700 11px/1.4 'Inter',sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.ls-hud strong { display:block; font:800 clamp(27px,3.2vw,42px)/1.16 'Outfit',sans-serif; font-variant-numeric:tabular-nums; letter-spacing:-.02em; margin-top:4px; }
.ls-machine { position:relative; z-index:1; width:100%; max-width:740px; margin:auto; aspect-ratio:4/3; }
.ls-cabinet { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; filter:drop-shadow(0 10px 10px #0007); }
.ls-reel-window { position:absolute; left:15.15%; top:30.15%; width:69.85%; height:34%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:0 4px; background:#372b17; border-radius:2.4% / 7%; overflow:hidden; box-shadow:0 0 0 3px #5c3908,0 0 0 5px #edbd4b,0 4px 8px #000; }
.ls-reel { overflow:hidden; position:relative; background:#fffcf3; }
.ls-reel::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:2; background:linear-gradient(180deg,#0b112ccb 0%,#807b6555 9%,transparent 29%,transparent 72%,#807b6555 91%,#0b112ccb 100%); box-shadow:inset 4px 0 10px #0004,inset -4px 0 10px #0004; }
.ls-reel-strip { position:absolute; left:0; right:0; top:-70%; height:240%; transform:translateY(0); }
.ls-symbol { height:33.333333%; display:grid; place-items:center; padding:5%; }
.ls-symbol img { width:100%; height:100%; object-fit:contain; border-radius:3px; user-select:none; }
.ls-reel.is-spinning .ls-reel-strip { filter:blur(1.4px); }
.ls-reel.is-winner { background:#fff0ad; }
.ls-reel.is-winner::after { box-shadow:inset 0 0 0 4px #ffd65e,inset 0 0 30px #ffc02988; }
.ls-payline { position:absolute; left:0; right:0; top:50%; height:1px; background:#ffce6330; z-index:3; pointer-events:none; }
.ls-payline::before,.ls-payline::after { content:''; position:absolute; top:-7px; width:0; height:0; border-top:7px solid transparent; border-bottom:7px solid transparent; }
.ls-payline::before { left:0; border-left:10px solid #eab74b; }.ls-payline::after { right:0; border-right:10px solid #eab74b; }
.ls-controls { position:absolute; left:11%; right:11%; top:66%; height:24%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.ls-result { margin:0; min-height:1.5em; text-align:center; font:650 clamp(11px,1.35vw,17px)/1.4 'Outfit',sans-serif; color:#fff0bf; }
.ls-spin { min-height:48px; width:62%; padding:10px 15px; border-radius:50px; border:2px solid #fde09a; color:#30200d; background:linear-gradient(175deg,#ffe7a0,#eeb44c 78%,#da8d20); box-shadow:inset 0 0 0 3px #a9651544,inset 0 4px 4px #fff4,0 5px 0 #895315,0 8px 0 #1a130d,0 10px 16px #0008; font:850 clamp(14px,1.8vw,24px)/1.2 'Outfit',sans-serif!important; text-transform:uppercase; letter-spacing:.015em; transition:filter .15s,transform .15s; }
.ls-spin:hover:not(:disabled) { filter:brightness(1.12); transform:translateY(-2px); }.ls-spin:active:not(:disabled) { transform:translateY(3px); box-shadow:inset 0 0 0 3px #a9651544,0 2px 0 #895315; }
.ls-spin:disabled { cursor:default; filter:saturate(.6); }
.ls-keyboard { color:#ebce99; font:500 10px 'Inter',sans-serif; margin-top:4px; letter-spacing:.04em; }.ls-keyboard kbd { font:inherit; }
.ls-lever { position:absolute; top:44%; right:1.8%; width:10%; height:25%; border:0; background:transparent; z-index:5; -webkit-tap-highlight-color:transparent; }
.ls-lever-arm { position:absolute; bottom:14%; left:42%; width:14%; height:92%; border-radius:10px; background:linear-gradient(90deg,#7c4b16,#ffe19b 48%,#b77d24); transform-origin:50% 100%; transform:rotate(15deg); box-shadow:2px 2px 3px #000a; transition:transform .3s; }
.ls-lever-ball { position:absolute; top:-14%; left:50%; width:450%; aspect-ratio:1; border-radius:50%; transform:translateX(-50%); background:radial-gradient(circle at 32% 24%,#fff6d4 0%,#ff9c73 7%,#ec5746 26%,#a71617 62%,#500e15); border:2px solid #ffca75; box-shadow:2px 4px 6px #0008,inset -2px -3px 7px #760400; }
.ls-lever-base { position:absolute; left:28%; bottom:0; width:42%; height:24%; border:2px solid #f2ba4a; border-radius:40%; background:linear-gradient(90deg,#302118,#e1a245,#634021); }
.ls-machine.is-spinning .ls-lever-arm { animation:ls-pull .65s ease-in-out; }
.ls-lever:disabled { cursor:default; }
.ls-round-track { position:relative; z-index:1; display:flex; justify-content:center; gap:7px; margin:10px 0; }.ls-round-track span { width:7px; height:7px; border-radius:50%; background:#fff2; }.ls-round-track .is-done { background:#efc767; box-shadow:0 0 6px #ffc64c77; }
.ls-stage-note { position:relative; z-index:1; text-align:center; margin:10px 0 0; color:#cfbb96; font-size:11px; letter-spacing:.06em; }.ls-stage-note span { margin:0 10px; }
.ls-error { position:relative; z-index:2; margin:16px 0 0; border:1px solid #edb8a2; border-radius:8px; padding:12px; color:#ffe2c8; font-size:13px; background:#532d32; }
.ls-points-burst { position:absolute; z-index:6; left:50%; top:46%; transform:translate(-50%,-50%); color:#fff4c4; font:900 clamp(35px,5vw,72px)/1 'Outfit',sans-serif; text-shadow:0 3px 0 #63411a,0 0 28px #ffa51f; opacity:0; pointer-events:none; white-space:nowrap; }
.ls-points-burst.is-visible { animation:ls-points 1.8s ease-out forwards; }
.ls-machine.is-win .ls-cabinet { filter:drop-shadow(0 0 15px #ffd36455); }
.ls-confetti { position:absolute; z-index:6; left:50%; top:45%; width:8px; height:13px; background:var(--color); pointer-events:none; animation:ls-confetti 1.3s ease-out forwards; }
.ls-sidebar { min-width:0; border:1px solid #e5ddce; border-radius:20px; padding:24px 22px; background:#fffaf0; }
.ls-sidebar h2 { font:750 24px/1.2 'Outfit',sans-serif; letter-spacing:-.03em; margin:0 0 17px; }
.ls-payout { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid #e5ddcf; }.ls-payout img { width:42px; height:42px; object-fit:contain; border-radius:3px; }.ls-payout span { font-size:12px; line-height:1.45; }.ls-payout strong { font:750 23px/1 'Outfit',sans-serif; text-align:right; }.ls-payout small { display:block; color:#69727b; font:400 9px/1.7 'Inter',sans-serif; }
.ls-streak-rule { font-size:12px; line-height:1.8; margin:17px 0 23px; color:var(--ls-muted); }.ls-streak-rule strong { white-space:nowrap; color:#343e51; }
.ls-best { display:flex; justify-content:space-between; align-items:center; padding:21px 0; border-block:1px solid #e5ddcf; }.ls-best h2 { margin:0 0 3px; font-size:21px; }.ls-best span { font-size:10px; color:#677184; }.ls-best>strong { font:800 36px 'Outfit',sans-serif; font-variant-numeric:tabular-nums; }
.ls-leaderboard { padding-top:22px; }.ls-leaderboard h2 { font-size:21px; margin-bottom:12px; }.ls-leaderboard ol { list-style:none; padding:0; margin:0; }.ls-leaderboard li { display:flex; gap:10px; padding:9px 0; font-size:12px; border-bottom:1px solid #e5ddcf; }.ls-leaderboard li span { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ls-leaderboard li small { color:#877c64; width:15px; }.ls-leaderboard .ls-empty { color:#6f7684; border:0; line-height:1.6; display:block; }
.ls-text-button { background:none; border:0; padding:12px 0 0; font-size:11px!important; color:#44617a; }.ls-text-button span { margin-left:7px; }
.ls-how { padding:34px 0 0; }.ls-how>h2 { text-align:center; margin:0 0 23px; font:750 30px 'Outfit',sans-serif; letter-spacing:-.03em; }.ls-how>div { display:grid; grid-template-columns:repeat(3,1fr); }.ls-how article { padding:0 30px; }.ls-how article+article { border-left:1px solid #ded9ce; }.ls-how h3 { font:700 17px 'Outfit',sans-serif; color:#ae8343; margin:0 0 9px; }.ls-how h3 span { margin-left:10px; color:#1f2c42; }.ls-how p { font-size:13px; line-height:1.7; color:#5d6675; margin:0; }.ls-how .ls-free-note { text-align:center; font-size:11px; color:#737477; margin-top:24px; }
.ls-finish { display:grid; grid-template-columns:1.1fr 1fr; gap:22px; align-items:center; margin-top:20px; background:#fff0c4; border:1px solid #d5b96c; border-radius:16px; padding:26px; }.ls-finish h2 { font:750 28px 'Outfit',sans-serif; letter-spacing:-.03em; margin:0 0 8px; }.ls-finish p { font-size:13px; line-height:1.6; margin:0; }.ls-finish label { display:block; font-size:12px; font-weight:650; margin-bottom:7px; }.ls-save-fields { display:flex; gap:8px; }.ls-save-fields input { min-width:0; width:100%; border:1px solid #b7a47e; border-radius:7px; background:#fffdf6; padding:10px 12px; font-size:14px; }.ls-save-fields button,.ls-new-round { border:0; border-radius:7px; background:#152742; color:#fff; padding:12px 18px; min-height:44px; font-size:13px!important; white-space:nowrap; }.ls-save-fields button:disabled { opacity:.65; }.ls-finish #lsSaveStatus { margin-top:8px; }.ls-finish #lsShare { display:inline-block; margin-top:8px; font-size:13px; color:#174778; text-decoration:underline; }.ls-new-round { grid-column:1/-1; justify-self:center; background:transparent; color:#23334a; border:1px solid #9e8a5f; }.ls-new-round span { margin-left:22px; }
.ls-more { border-top:1px solid #e1d9ca; margin-top:35px; padding-top:26px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.ls-more h2 { font:700 23px 'Outfit',sans-serif; margin:0; }.ls-more>div { display:flex; gap:12px; }.ls-more a { padding:13px 17px; border:1px solid #c8c9c5; border-radius:8px; color:#283954; font-size:13px; }.ls-more a span { margin-left:18px; }
@keyframes ls-pull { 0%,100% { transform:rotate(15deg); } 40%,65% { transform:rotate(60deg) scaleY(.65); } }
@keyframes ls-points { 0% { opacity:0; transform:translate(-50%,-20%) scale(.5); } 18%,65% { opacity:1; transform:translate(-50%,-50%) scale(1); } 100% { opacity:0; transform:translate(-50%,-100%) scale(1.1); } }
@keyframes ls-confetti { to { transform:translate(var(--x),var(--y)) rotate(var(--rotation)); opacity:0; } }
@media(min-width:1500px) { .ls-page { padding-top:30px; } }
@media(max-width:1100px) { .ls-layout { grid-template-columns:minmax(0,1fr) 265px; gap:15px; }.ls-sidebar { padding:20px 16px; }.ls-stage { padding:22px 10px 16px; }.ls-payout { gap:8px; }.ls-result { font-size:12px; }.ls-spin { min-height:42px; padding:8px; }.ls-controls { gap:4px; }.ls-more { flex-direction:column; } }
@media(max-width:820px) { .ls-layout { grid-template-columns:1fr; }.ls-heading { grid-template-columns:1fr auto; gap:16px; }.ls-heading>div { grid-row:2; grid-column:1/-1; }.ls-heading h1 { font-size:40px; }.ls-heading p { font-size:15px; }.ls-sidebar { display:grid; grid-template-columns:1.2fr 1fr; column-gap:28px; }.ls-sidebar>h2,.ls-payouts,.ls-streak-rule { grid-column:1; }.ls-best { grid-column:2; grid-row:1/3; align-self:start; padding:0 0 18px; border-top:0; }.ls-leaderboard { grid-column:2; grid-row:2/5; padding-top:75px; }.ls-streak-rule { margin-bottom:0; }.ls-hud span { font-size:11px; }.ls-hud strong { font-size:36px; }.ls-result { font-size:15px; }.ls-spin { font-size:22px!important; min-height:48px; }.ls-stage { padding:22px 18px 18px; }.ls-controls { gap:7px; }.ls-keyboard { font-size:10px; } }
@media(max-width:520px) { .ls-page { padding:16px 12px 36px; }.ls-heading { gap:13px; margin-bottom:19px; }.ls-heading h1 { font-size:36px; }.ls-heading p { font-size:13px; }.ls-back { font-size:12px; }.ls-sound { padding:8px 11px; font-size:11px!important; }.ls-stage { padding:19px 4px 18px; border-radius:15px; }.ls-hud { margin:0 17px 14px; }.ls-hud span { font-size:9px; letter-spacing:.08em; }.ls-hud strong { font-size:29px; }.ls-machine { margin-top:7px; }.ls-controls { top:66%; gap:5px; height:30%; left:8%; right:8%; }.ls-result { font-size:10px; white-space:nowrap; }.ls-spin { width:69%; min-height:44px; font-size:15px!important; padding:7px 10px; box-shadow:inset 0 0 0 2px #a9651544,0 3px 0 #895315,0 5px 0 #1a130d; }.ls-keyboard { display:none; }.ls-reel-window { gap:3px; padding:0 2px; box-shadow:0 0 0 2px #a97926; }.ls-lever { right:.2%; }.ls-lever-ball { border-width:1px; }.ls-round-track { margin:17px 0 0; gap:6px; }.ls-stage-note { font-size:9px; letter-spacing:0; }.ls-stage-note span { margin:0 5px; }.ls-sidebar { display:block; border-radius:15px; padding:22px; }.ls-sidebar h2 { font-size:24px; }.ls-payout { grid-template-columns:42px 1fr auto; gap:14px; }.ls-payout span { font-size:14px; }.ls-best { border-top:1px solid #e5ddcf; padding:20px 0; margin-top:20px; }.ls-best h2 { font-size:22px; }.ls-leaderboard { padding-top:20px; }.ls-how { padding-top:29px; }.ls-how>h2 { font-size:27px; }.ls-how>div { grid-template-columns:1fr; gap:18px; }.ls-how article { padding:0 12px 17px; }.ls-how article+article { border-left:0; border-top:1px solid #ded9ce; padding-top:18px; }.ls-how h3 { font-size:18px; }.ls-how p { font-size:13px; }.ls-finish { grid-template-columns:1fr; padding:22px 18px; }.ls-finish h2 { font-size:25px; }.ls-more { margin-top:26px; text-align:center; }.ls-more>div { width:100%; flex-direction:column; }.ls-more a { display:flex; justify-content:space-between; }.ls-error { margin:13px 10px 0; } }
@media(prefers-reduced-motion:reduce) { .ls-page *, .ls-page *::before, .ls-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.ls-points-burst.is-visible { opacity:1; }.ls-reel-strip { filter:none!important; } }
