/* Scratch Tickets. Classes use the sc- prefix. Tickets are drawn with CSS and inline SVG only. */

/* ---------- stage layout ---------- */
.sc-screen { display: grid; grid-template-columns: 236px minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
.sc-left, .sc-right { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.sc-mid { --tk-max: 720px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 12px; align-self: stretch; }
.sc-mid[data-t="match3"] { --tk-max: 680px; }
.sc-mid[data-t="numbers"] { --tk-max: 740px; }
.sc-mid[data-t="lines"] { --tk-max: 700px; }
.sc-mid[data-t="crossword"] { --tk-max: 760px; }
.sc-mid[data-t="multiplier"] { --tk-max: 720px; }
.sc-mid[data-t="dealer"] { --tk-max: 700px; }
.sc-ph { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.sc-ph small { font-size: 11.5px; }
.sc-muted { font-size: 12.5px; line-height: 1.45; color: var(--s-dim); }
.sc-link { appearance: none; background: none; border: 0; padding: 0; color: var(--you); font: 600 12px Inter, sans-serif; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* ticket rack */
.sc-rack { display: flex; flex-direction: column; gap: 6px; }
.sc-rk { appearance: none; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 10px 7px 8px; border-radius: 11px; border: 1px solid var(--s-line); background: var(--s-panel); color: var(--s-text); cursor: pointer; text-align: left; font: inherit; transition: border-color .15s, background .15s; }
.sc-rk:hover:not(:disabled) { border-color: #3d4352; }
.sc-rk.on { border-color: var(--you); background: var(--s-panel2); box-shadow: inset 3px 0 0 var(--you); }
.sc-rk:disabled { opacity: .38; cursor: default; }
.sc-rk-sw { position: relative; width: 32px; height: 40px; border-radius: 5px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.sc-rk-sw i { position: absolute; left: 5px; right: 5px; top: 13px; height: 15px; border-radius: 3px; background: linear-gradient(135deg, #8e949e, #e6e9ee 42%, #a9afb9 62%, #f0f2f5); }
.sc-rk-t { min-width: 0; }
.sc-rk-t b { display: block; font-size: 13.5px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-rk-t small { display: block; font: 600 10.5px 'IBM Plex Mono', monospace; color: var(--s-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-rk-p { font: 800 15px Inter, sans-serif; color: var(--you); font-variant-numeric: tabular-nums; }
.sc-rk[data-slug="match3"] .sc-rk-sw { background: linear-gradient(155deg, #f8dc86, #e0a33a); }
.sc-rk[data-slug="numbers"] .sc-rk-sw { background: linear-gradient(160deg, #c53a30, #861a14); }
.sc-rk[data-slug="lines"] .sc-rk-sw { background: linear-gradient(160deg, #2856b8, #142f6e); }
.sc-rk[data-slug="crossword"] .sc-rk-sw { background: linear-gradient(170deg, #f3eedf, #e3d9c0); }
.sc-rk[data-slug="multiplier"] .sc-rk-sw { background: linear-gradient(160deg, #5b34b0, #2a1259); }
.sc-rk[data-slug="multiplier"] .sc-rk-sw i { background: linear-gradient(135deg, #8c681c, #e9c968 42%, #b3892b 62%, #f7e4a2); }
.sc-rk[data-slug="dealer"] .sc-rk-sw { background: linear-gradient(160deg, #1f8a5b, #0b4f32); }

/* session and recent */
.sc-sess-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sc-sess-g small { display: block; font-size: 11px; color: var(--s-dim); }
.sc-sess-g b { font-size: 16px; font-weight: 800; }
.sc-recent { min-height: 0; }
.sc-h { appearance: none; width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 6px 6px; margin: 0 -6px; width: calc(100% + 12px); border: 0; border-bottom: 1px solid var(--s-line); background: none; color: var(--s-text); font: inherit; font-size: 12px; text-align: left; cursor: pointer; border-radius: 6px; animation: dkfeed .4s cubic-bezier(.2,.9,.3,1); }
.sc-h:last-child { border-bottom: 0; }
.sc-h:hover { background: rgba(255,255,255,.03); }
.sc-h.on { background: rgba(255,178,30,.1); }
.sc-h-n { color: var(--s-faint); font-size: 11px; }
.sc-h-t { color: var(--s-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-h b { font-size: 12px; white-space: nowrap; color: var(--s-dim); }
.sc-h.won b { color: var(--up); }

/* action bar */
.sc-act { width: 100%; max-width: var(--tk-max); margin: 0 auto; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 22px; padding: 10px 12px 10px 16px; border: 1px solid var(--s-line); border-radius: 14px; background: var(--s-panel); }
.sc-bal small, .sc-prog small { display: block; font-size: 11px; color: var(--s-dim); white-space: nowrap; }
.sc-bal b { display: block; font: 800 22px/1.15 Inter, sans-serif; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sc-prog { min-width: 0; }
.sc-prog b { display: block; font-size: 15px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-btns { display: flex; justify-content: flex-end; gap: 8px; }
.sc-btns .s-btn { padding: 12px 18px; white-space: nowrap; }
#scBuy { min-width: 172px; }

/* prize table */
.sc-pt { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 4px 6px; border-bottom: 1px solid var(--s-line); font: 600 12.5px/1.45 'IBM Plex Mono', monospace; font-variant-numeric: tabular-nums; }
.sc-pt span:last-child { color: var(--s-dim); text-align: right; }
.sc-pt-h { font: 700 10px Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--s-faint); padding-bottom: 6px; }
.sc-pt-h span:last-child { color: var(--s-faint); }
.sc-pt.on { background: rgba(53,227,154,.12); color: var(--up); border-radius: 6px; }
.sc-pt.on span:last-child { color: var(--up); }
.sc-pt-f { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.sc-pt-f small { display: block; font-size: 11px; color: var(--s-dim); }
.sc-pt-f b { font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
#scRtp { color: var(--you); }
.sc-note { font-size: 11px; color: var(--s-faint); margin-top: 6px; line-height: 1.4; }

/* provably fair */
.sc-ff { display: block; margin-top: 8px; }
.sc-ff small { display: block; font-size: 11px; color: var(--s-dim); margin-bottom: 3px; }
.sc-ff code { display: block; font: 500 10.5px/1.4 'IBM Plex Mono', monospace; word-break: break-all; color: var(--s-text); background: rgba(0,0,0,.25); border: 1px solid var(--s-line); border-radius: 7px; padding: 5px 8px; }
.sc-ff code.s-dim { color: var(--s-dim); }
.sc-ff input { width: 100%; font: 500 12px 'IBM Plex Mono', monospace; color: var(--s-text); background: var(--s-bg); border: 1px solid var(--s-line); border-radius: 7px; padding: 6px 9px; }
.sc-ff input:focus { outline: none; border-color: var(--you); }
.sc-ff input:disabled { opacity: .55; }
.sc-fv { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 12px; }
.sc-ok { color: var(--up); font-weight: 700; }
.sc-bad { color: var(--down); font-weight: 700; }
.sc-vbox { margin-top: 10px; display: flex; flex-direction: column; gap: 5px; }
.sc-vbox[hidden] { display: none; }
.sc-vl { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; font-size: 11.5px; line-height: 1.4; align-items: start; color: var(--s-text); }
.sc-vl i { font: 700 9px 'IBM Plex Mono', monospace; text-transform: uppercase; letter-spacing: .1em; padding: 2px 0; border-radius: 4px; font-style: normal; text-align: center; }
.sc-vl.ok i { background: rgba(53,227,154,.15); color: var(--up); }
.sc-vl.bad i { background: rgba(255,90,110,.15); color: var(--down); }
.sc-vsum { font: 500 10.5px/1.45 'IBM Plex Mono', monospace; color: var(--s-dim); overflow-wrap: anywhere; margin-top: 2px; }

/* ---------- the ticket ---------- */
.sc-tkwrap { position: relative; display: flex; justify-content: center; align-items: center; padding: 8px 0 2px; }
.sc-ticket { position: relative; width: 100%; max-width: var(--tk-max); border-radius: 16px; padding: 18px 20px 12px; color: var(--tk-ink); background: var(--tk-pat), var(--tk-bg); box-shadow: 0 30px 60px -28px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.06); container-type: inline-size; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; transition: box-shadow .4s; }
.sc-ticket::before { content: ''; position: absolute; left: 18px; right: 18px; top: -5px; height: 10px; z-index: 6; pointer-events: none; background: radial-gradient(circle, var(--s-bg) 3px, transparent 3.6px) 0 0 / 14px 10px repeat-x; }
.sc-ticket::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 5; opacity: 0; background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.42) 50%, transparent 62%) no-repeat; background-size: 260% 100%; background-position: 160% 0; }
.sc-ticket.shine::after { animation: scShine 1.15s ease-out 1; }
@keyframes scShine { 0% { opacity: 1; background-position: 160% 0; } 100% { opacity: 1; background-position: -70% 0; } }
.sc-ticket.won { box-shadow: 0 30px 60px -28px rgba(0,0,0,.9), 0 0 0 3px var(--tk-accent); }
.sc-face { position: relative; z-index: 1; }
.sc-foil, .sc-fx { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; border-radius: inherit; }
.sc-fx { z-index: 3; }
.sc-ticket.live .sc-foil { pointer-events: auto; touch-action: none; cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><circle cx='16' cy='16' r='13' fill='%23e3bf57' stroke='%236f5110' stroke-width='2'/><circle cx='16' cy='16' r='9.2' fill='none' stroke='%239c7620' stroke-width='1.4' stroke-dasharray='2 2'/><path d='M16 10v12M18.6 12.6h-3.6a1.8 1.8 0 0 0 0 3.6h2a1.8 1.8 0 0 1 0 3.6h-3.6' fill='none' stroke='%236f5110' stroke-width='1.6' stroke-linecap='round'/></svg>") 16 16, pointer; }
.sc-over { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border-radius: inherit; background: radial-gradient(60% 45% at 50% 52%, rgba(8,9,13,.55), rgba(8,9,13,0)); }
.sc-over[hidden] { display: none; }
.sc-over-btn { font-size: 16px; padding: 14px 26px; box-shadow: 0 14px 30px rgba(0,0,0,.45); }
.sc-over small { font-size: 12px; font-weight: 600; color: #fff; background: rgba(8,9,13,.6); padding: 4px 11px; border-radius: 99px; }

/* printed parts */
.sc-th { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding-bottom: 10px; border-bottom: 1.5px dashed var(--tk-line); }
.sc-th-l { min-width: 0; }
.sc-th-k { font: 600 10px 'IBM Plex Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--tk-sub); }
.sc-th h3 { font: 900 clamp(24px, 5cqw, 36px)/1 Inter, sans-serif; letter-spacing: -.04em; margin-top: 5px; color: var(--tk-title, var(--tk-ink)); white-space: nowrap; }
.sc-th-r { display: flex; align-items: center; gap: 12px; flex: none; }
.sc-th-top { text-align: right; }
.sc-th-top small, .sc-th-price small { display: block; font: 600 9px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--tk-sub); }
.sc-th-top b { font: 900 clamp(15px, 3cqw, 21px)/1.1 Inter, sans-serif; letter-spacing: -.02em; }
.sc-th-price { width: 58px; height: 58px; flex: none; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--tk-accent); color: var(--tk-accent-ink); box-shadow: inset 0 0 0 3px rgba(255,255,255,.35), 0 0 0 2px var(--tk-accent); transform: rotate(-8deg); }
.sc-th-price small { color: inherit; opacity: .8; font-size: 7.5px; }
.sc-th-price b { font: 900 19px/1 Inter, sans-serif; letter-spacing: -.03em; }
.sc-rule { font-size: 12.5px; font-weight: 600; line-height: 1.4; margin: 9px 0 12px; color: var(--tk-ink); }
.sc-tf { display: flex; gap: 6px 14px; flex-wrap: wrap; justify-content: space-between; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--tk-line); font: 500 9.5px 'IBM Plex Mono', monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--tk-sub); }
.sc-cap { font: 600 10px 'IBM Plex Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--tk-sub); }
.sc-cap-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }

/* scratch zones */
.sc-z { position: relative; border-radius: 10px; background: var(--tk-spot); border: 1.5px solid var(--tk-spot-line); color: var(--tk-spot-ink, var(--tk-ink)); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transition: background .25s, color .25s, border-color .25s, opacity .35s, box-shadow .25s; }
.sc-z b { font-weight: 900; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.sc-z > i { font: 600 8px/1.15 'IBM Plex Mono', monospace; font-style: normal; letter-spacing: .06em; opacity: .7; margin-top: 3px; max-width: 100%; padding: 0 3px; overflow-wrap: anywhere; }
.sc-z.on > * { animation: scPop .38s cubic-bezier(.2,.9,.3,1.3) backwards; }
@keyframes scPop { from { transform: scale(.8); opacity: .15; } }
.sc-z.hit { background: var(--tk-hit); border-color: var(--tk-hit); color: var(--tk-hit-ink); animation: scHit 1.1s ease-out 1; }
@keyframes scHit { 0% { box-shadow: 0 0 0 0 var(--tk-hit-ring); } 100% { box-shadow: 0 0 0 16px rgba(0,0,0,0); } }
.sc-ticket.won .sc-z:not(.hit) { opacity: .5; }

/* match 3 */
.sc-m3 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sc-m3-s { height: clamp(68px, 13cqw, 92px); }
.sc-m3-s b { font-size: clamp(21px, 4.4cqw, 31px); }

/* winning numbers */
.sc-nm-win { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 10px 14px; border-radius: 12px; background: var(--tk-band); margin-bottom: 10px; }
.sc-nm-wrow { display: flex; gap: 8px; }
.sc-nm-w { width: clamp(42px, 8cqw, 56px); height: clamp(42px, 8cqw, 56px); border-radius: 50%; }
.sc-nm-w b { font-size: clamp(17px, 3.4cqw, 23px); }
.sc-nm-yours .sc-cap { display: block; margin-bottom: 6px; }
.sc-nm-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.sc-nm-y { height: clamp(64px, 11cqw, 76px); padding-top: 2px; }
.sc-nm-y > b:first-child { font-size: clamp(19px, 3.6cqw, 25px); }
.sc-nm-y > b + b { font-size: clamp(10.5px, 1.9cqw, 13px); font-weight: 800; margin-top: 4px; letter-spacing: -.01em; }
.sc-nm-y > i { margin-top: 1px; }

/* lines */
.sc-ln { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: center; }
.sc-ln-board { --c: clamp(56px, 13cqw, 92px); position: relative; display: grid; grid-template-columns: repeat(3, var(--c)) calc(var(--c) * .92); grid-template-rows: calc(var(--c) * .48) repeat(3, var(--c)) calc(var(--c) * .62); gap: 7px; }
.sc-ln-c svg { width: 64%; height: 64%; }
.sc-x path { stroke: var(--tk-x); stroke-width: 5.5; stroke-linecap: round; fill: none; }
.sc-o circle { stroke: var(--tk-o); stroke-width: 4.5; fill: none; }
.sc-ln-c.hit .sc-x path { stroke: var(--tk-hit-ink); }
.sc-ln-tw { display: flex; align-items: center; gap: 4px; min-width: 0; }
.sc-ln-tw.col, .sc-ln-tw.d0 { flex-direction: column; }
.sc-ln-tw.d1 { flex-direction: column-reverse; }
.sc-ln-t { flex: 1; align-self: stretch; min-width: 0; min-height: 26px; border-radius: 8px; }
.sc-ln-t b { font-size: clamp(12px, 2.5cqw, 16px); }
.sc-ln-t > i { font-size: clamp(5.5px, 1.1cqw, 7.5px); margin-top: 2px; letter-spacing: 0; }
.sc-arr { width: 12px; height: 12px; flex: none; stroke: var(--tk-sub); stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sc-ln-tw.col .sc-arr { transform: rotate(90deg); }
.sc-ln-tw.d0 .sc-arr { transform: rotate(45deg); }
.sc-ln-tw.d1 .sc-arr { transform: rotate(-45deg); }
.sc-ln-svg { grid-area: 2 / 1 / 5 / 4; width: 100%; height: 100%; pointer-events: none; z-index: 1; overflow: visible; }
.sc-ln-svg line { stroke: var(--tk-accent); stroke-width: 0; stroke-linecap: round; vector-effect: non-scaling-stroke; opacity: 0; transition: stroke-width .45s cubic-bezier(.2,.9,.3,1.3), opacity .2s; }
.sc-ln-svg line.hit { stroke: #d8432b; stroke-width: 6; opacity: .9; }
.sc-ln-side p { font-size: 12.5px; line-height: 1.45; margin-top: 6px; color: var(--tk-ink); }
.sc-ln-side .sc-ln-small { color: var(--tk-sub); font-size: 12px; }
.sc-ln-leg { display: flex; gap: 16px; margin-top: 12px; }
.sc-ln-leg span { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; }
.sc-ln-leg svg { width: 30px; height: 30px; padding: 3px; border-radius: 7px; background: var(--tk-spot); }
.sc-ln-leg em { font-style: normal; }

/* crossword */
.sc-cw { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start; }
.sc-cw-grid { --cc: clamp(22px, 4.4cqw, 30px); display: grid; grid-template-columns: repeat(11, var(--cc)); grid-auto-rows: var(--cc); gap: 1px; padding: 6px; border-radius: 10px; background: rgba(23,21,17,.05); box-shadow: inset 0 0 0 1px rgba(23,21,17,.12); }
.sc-cw-c { display: flex; align-items: center; justify-content: center; font: 800 calc(var(--cc) * .52) Inter, sans-serif; font-style: normal; background: #fffdf6; color: #1b1a17; border-radius: 2px; box-shadow: 0 0 0 1.5px #1b1a17; transition: background .25s, color .25s; }
.sc-cw-c.e { background: transparent; box-shadow: none; }
.sc-cw-grid.blank .sc-cw-c.e { box-shadow: inset 0 0 0 1px rgba(23,21,17,.08); }
.sc-cw-c.on { background: #ffe07a; }
.sc-cw-c.done { background: var(--tk-hit); color: #fff; }
.sc-cw-letters { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 6px 0 14px; }
.sc-cw-l { aspect-ratio: 1 / 1; border-radius: 8px; }
.sc-cw-l b { font-size: clamp(16px, 3.2cqw, 22px); }
.sc-cw-l.on { background: #ffe07a; border-color: #d9b43c; }
.sc-cw-l.hit { background: var(--tk-hit); border-color: var(--tk-hit); color: #fff; }
.sc-cw-n { font-size: 12px; font-weight: 700; color: var(--tk-ink); }
.sc-cw-n b { font-size: 15px; }
.sc-cw-key { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px; margin-top: 6px; }
.sc-cw-k { display: flex; justify-content: space-between; gap: 6px; font-size: 12px; padding: 4px 8px; border-radius: 6px; background: rgba(23,21,17,.06); }
.sc-cw-k b { font-weight: 800; font-variant-numeric: tabular-nums; }
.sc-cw-k.on { background: var(--tk-hit); color: #fff; }

/* multiplier */
.sc-mx-top { display: flex; align-items: stretch; gap: 16px; margin-bottom: 12px; }
.sc-mx-box { width: clamp(140px, 30cqw, 210px); height: clamp(70px, 13cqw, 86px); flex: none; border-radius: 14px; background: linear-gradient(135deg, #f8e5a6, #e6bd57); border-color: #b8892c; color: #3a2504; }
.sc-mx-box small { font: 600 9.5px 'IBM Plex Mono', monospace; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.sc-mx-box b { font-size: clamp(28px, 6cqw, 40px); margin-top: 2px; }
.sc-mx-box.hit { background: #fff; color: #2a1259; border-color: #fff; }
.sc-mx-leg { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 8px; font-size: 12.5px; font-weight: 600; }
.sc-mx-leg span { display: flex; align-items: center; gap: 9px; }
.sc-mx-leg svg { width: 28px; height: 28px; flex: none; }
.sc-mx-leg em { font-style: normal; }
.sc-mx-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.sc-mx-s { height: clamp(84px, 15.5cqw, 110px); gap: 3px; }
.sc-mx-s svg { width: clamp(28px, 6.2cqw, 42px); height: clamp(28px, 6.2cqw, 42px); }
.sc-mx-s b { font-size: clamp(12px, 2.4cqw, 16px); }
.sc-coin .o { fill: #eac65b; stroke: #8a6516; stroke-width: 2; }
.sc-coin .i { fill: none; stroke: #a57d22; stroke-width: 1.5; stroke-dasharray: 2 2.4; }
.sc-coin text { font: 900 15px Inter, sans-serif; fill: #5b3f06; text-anchor: middle; dominant-baseline: middle; }
.sc-coin.x2 .o { fill: #f5a93a; }
.sc-coin.x2 text { font-size: 13px; }
.sc-blank { fill: var(--tk-blank); }

/* beat the dealer */
.sc-dl { --card-h: clamp(62px, 13cqw, 96px); display: grid; grid-template-columns: auto repeat(5, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
.sc-dl-lab, .sc-dl-col { display: grid; grid-template-rows: var(--card-h) 18px var(--card-h) clamp(40px, 7cqw, 50px); row-gap: 5px; padding: 7px 4px; }
.sc-dl-lab { font: 600 9.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--tk-sub); align-items: center; padding-right: 2px; }
.sc-dl-lab span:nth-child(2) { grid-row: 3; }
.sc-dl-lab span:nth-child(3) { grid-row: 4; }
.sc-dl-col { justify-items: center; border-radius: 12px; transition: background .3s; }
.sc-dl-col.hit { background: rgba(242,193,78,.2); box-shadow: inset 0 0 0 1.5px rgba(242,193,78,.7); }
.sc-dl-card { width: min(100%, calc(var(--card-h) * .74)); height: var(--card-h); border-radius: 8px; }
.sc-dl-card.hit { background: var(--tk-spot); color: var(--tk-spot-ink); box-shadow: 0 0 0 3px var(--tk-hit); }
.sc-dl-vs { font: 700 10px 'IBM Plex Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--tk-sub); align-self: center; }
.sc-dl-p { width: 100%; height: 100%; }
.sc-dl-p b { font-size: clamp(12px, 2.6cqw, 17px); }
.sc-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #17181d; }
.sc-card b { font-size: calc(var(--card-h) * .3); }
.sc-card svg { width: calc(var(--card-h) * .3); height: calc(var(--card-h) * .3); fill: currentColor; }
.sc-card.red { color: #c8233a; }

/* sound toggle in the action bar, shown for tickets whose theme has sound */
.sc-snd[hidden] { display: none; }
.sc-snd svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sc-snd .sc-spk { fill: currentColor; }
.sc-snd .sc-wv { display: none; }
.sc-snd.on .sc-wv { display: inline; }
.sc-snd.on .sc-mute { display: none; }
.sc-btns .sc-snd.on { border-color: var(--you); color: var(--you); }

/* celebration confetti */
.sc-burst { position: absolute; left: 50%; top: 46%; width: 0; height: 0; z-index: 7; pointer-events: none; }
.sc-burst i { position: absolute; left: -5px; top: -3px; width: 10px; height: 5px; border-radius: 1.5px; opacity: 0; animation: scBurst 1.3s cubic-bezier(.16,.8,.3,1) forwards; }
@keyframes scBurst {
  0% { opacity: 1; transform: translate(0, 0) rotate(0deg); }
  55% { opacity: 1; transform: translate(var(--x), var(--y)) rotate(calc(var(--r) * .6)); }
  100% { opacity: 0; transform: translate(calc(var(--x) * 1.12), calc(var(--y) + 150px)) rotate(var(--r)); }
}

/* ---------- shared states on every ticket: readout, guide, hint, result banner ---------- */
.sc-rule, .sc-body { position: relative; }

/* winning so far, under the play area; becomes the result line when the ticket is finished */
.sc-read { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 10px; min-height: 36px; padding: 7px 12px; border-radius: 10px; background: rgba(0,0,0,.14); box-shadow: inset 0 0 0 1px var(--tk-line); color: var(--tk-ink); transition: background .3s, color .3s, box-shadow .3s; }
.sc-read-l { min-width: 0; font: 600 10px/1.3 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--tk-sub); }
.sc-read-l b { font-weight: 600; }
.sc-read-l em { font-style: normal; letter-spacing: .04em; text-transform: none; }
.sc-read-v { font: 800 15px/1.2 Inter, sans-serif; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.sc-read.dim .sc-read-v { opacity: .72; }
.sc-read.final { justify-content: center; text-align: center; padding: 9px 14px; }
.sc-read.final .sc-read-l { display: none; }
.sc-read.final .sc-read-v { font-size: 19px; font-weight: 900; letter-spacing: -.02em; }
.sc-read.final.win { background: var(--tk-hit); color: var(--tk-hit-ink); box-shadow: 0 0 0 2px var(--tk-hit), 0 8px 20px rgba(0,0,0,.28); animation: scReadIn .45s cubic-bezier(.2,.9,.3,1.3) both; }
.sc-read.final.lose { background: rgba(0,0,0,.26); }
@keyframes scReadIn { from { transform: scale(.94); } }

/* pulse on the spots that are left, after the player pauses */
.sc-guide { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.sc-guide i { position: absolute; box-shadow: 0 0 0 3px #ffd23f, 0 0 22px 6px rgba(255,200,60,.55); animation: scGuide 1s ease-in-out infinite; }
@keyframes scGuide { 50% { box-shadow: 0 0 0 3px rgba(255,210,63,.35), 0 0 8px 2px rgba(255,200,60,.2); } }
/* the hint sits over the rule line */
.sc-hint { position: absolute; inset: -4px -6px; z-index: 2; display: flex; align-items: center; justify-content: center; text-align: center; padding: 4px 10px; border-radius: 9px; background: #0c0a1a; color: #fff; font: 800 13px/1.25 Inter, sans-serif; box-shadow: 0 0 0 2px #ffd23f, 0 8px 20px rgba(0,0,0,.35); animation: scHintIn .3s ease-out both; }
@keyframes scHintIn { from { opacity: 0; transform: translateY(4px); } }
#scReveal.sc-glow { animation: scGlow 1.1s ease-in-out infinite; }
@keyframes scGlow { 50% { box-shadow: 0 0 0 4px rgba(255,178,30,.45), 0 0 26px 8px rgba(255,178,30,.5); } }

/* the big result banner across the play area */
.sc-res { position: absolute; inset: -6px; z-index: 5; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: rgba(8,6,20,.45); cursor: pointer; animation: scResIn .3s ease-out both; transition: opacity .38s; }
.sc-res.out { opacity: 0; pointer-events: none; }
.sc-res-in { width: 100%; text-align: center; padding: clamp(14px, 3.2cqw, 26px) 16px; background: linear-gradient(180deg, rgba(24,14,56,.95), rgba(10,6,28,.95)); border-block: 2px solid #ffd23f; box-shadow: 0 18px 50px rgba(0,0,0,.5); color: #fff; animation: scResPop .5s cubic-bezier(.2,.9,.3,1.25) both; }
.sc-res small { display: block; font: 900 clamp(17px, 3.8cqw, 28px)/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.sc-res-v { display: block; margin: 6px 0 4px; font: 900 clamp(54px, 14cqw, 110px)/.95 Inter, sans-serif; letter-spacing: -.04em; color: #ffd23f; text-shadow: 0 4px 0 #b5461a, 0 0 30px rgba(255,200,60,.5); font-variant-numeric: tabular-nums; }
.sc-res-n { display: block; min-height: 1.25em; font: 700 clamp(12px, 2.3cqw, 16px)/1.25 Inter, sans-serif; color: #e6dcff; }
.sc-res-x { display: block; margin-top: 4px; font: 600 clamp(11px, 2cqw, 14px)/1.3 Inter, sans-serif; color: rgba(255,255,255,.78); }
.sc-res.even .sc-res-x { color: #ffd23f; font-weight: 800; }
.sc-res.step .sc-res-n { animation: scStep .45s cubic-bezier(.2,.9,.3,1.6) 1; }
.sc-res.done .sc-res-v { animation: scResTot .5s ease-out 1; }
.sc-res.full .sc-res-in, .sc-res.big .sc-res-in { border-block-width: 3px; box-shadow: 0 18px 60px rgba(0,0,0,.55), 0 0 50px rgba(255,200,60,.3); }
.sc-res.lose { background: rgba(8,6,20,.3); }
.sc-res.lose .sc-res-in { background: rgba(16,16,24,.9); border-color: rgba(255,255,255,.28); }
.sc-res.lose b { display: block; font: 900 clamp(28px, 6.6cqw, 46px)/1.1 Inter, sans-serif; letter-spacing: -.02em; }
@keyframes scResIn { from { opacity: 0; } }
@keyframes scResPop { from { transform: scaleY(.3); opacity: 0; } }
@keyframes scResTot { 40% { transform: scale(1.1); } }
@keyframes scStep { from { transform: scale(1.25); color: #ffd23f; } }

/* quick wins and the default celebration: coins (a theme's coin image, or drawn) and confetti */
.sc-qb { position: absolute; width: 0; height: 0; z-index: 9; pointer-events: none; }
.sc-qb > * { position: absolute; left: -5px; top: -3px; width: 10px; height: 6px; border-radius: 1.5px; opacity: 0; animation: scBurst 1.3s cubic-bezier(.16,.8,.3,1) forwards; }
.sc-qb img { left: -14px; top: -14px; width: 28px; height: 28px; border-radius: 0; }
.sc-qb i.c { left: -8px; top: -8px; width: 16px; height: 16px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3b0, #f2c14e 55%, #b07a12); box-shadow: inset 0 0 0 1.5px #a8740f; }
.sc-qb.big > * { animation-duration: 1.8s; }
.sc-qb.big img { left: -18px; top: -18px; width: 36px; height: 36px; }

/* full-screen overlays from themes live here, inside the stage (sc.layerEl) */
.sc-layer { position: relative; z-index: 9999; }

/* ---------- loading ----------
   The Appently Gaming preloader: the logo with a thin progress bar under it, centered on the dark stage. It covers
   the stage only, in embed and standalone mode. It appears after 500 ms, so a fast or cached load never shows it. */
.sc-stage { position: relative; }
.sc-loader { position: absolute; inset: 0; z-index: 40; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: min(42vh, 320px); gap: 18px; background: var(--s-bg); border-radius: inherit; transition: opacity .6s ease; }
.sc-loader > * { opacity: 0; animation: scLoaderIn .35s ease .5s forwards; }
.sc-loader.gone { opacity: 0; pointer-events: none; }
.sc-loader-logo { display: block; height: 30px; width: auto; }
.sc-loader-track { width: min(240px, 60vw); height: 3px; border-radius: 99px; background: rgba(255,255,255,.12); overflow: hidden; }
.sc-loader-fill { height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #d98f0a, #fcd34d); transition: width .25s ease; }
@keyframes scLoaderIn { to { opacity: 1; } }
/* the small version over the ticket when a picked ticket's art is not cached yet */
.sc-mini { position: absolute; inset: 8px 0 2px; z-index: 12; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; border-radius: 16px; background: var(--s-bg); opacity: 0; animation: scLoaderIn .2s ease both; transition: opacity .35s; }
.sc-mini.gone { opacity: 0 !important; animation: none; }
.sc-mini img { display: block; height: 22px; width: auto; }
.sc-mini-t { width: min(180px, 50%); height: 3px; border-radius: 99px; background: rgba(255,255,255,.12); overflow: hidden; }
.sc-mini-t i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #d98f0a, #fcd34d); transition: width .2s ease; }
/* before the first ticket renders: keep its space so nothing jumps */
.sc-ticket.sc-loading { min-height: 560px; background: #16171f !important; }
.sc-ticket.sc-loading .sc-over { display: none; }
@media (max-width: 640px) { .sc-ticket.sc-loading { min-height: 640px; } }

/* rack thumbnails: small pictures made from each theme's own swatch (art/rack/), so the rack never loads full key art */
.sc-rack .sc-rk[data-slug] .sc-rk-sw { background-size: cover; background-position: center; background-repeat: no-repeat; }
.sc-rack .sc-rk[data-slug] .sc-rk-sw i { display: none; }
.sc-rack .sc-rk[data-slug="match3"] .sc-rk-sw { background-image: url(art/rack/match3.webp); }
.sc-rack .sc-rk[data-slug="numbers"] .sc-rk-sw { background-image: url(art/rack/numbers.webp); }
.sc-rack .sc-rk[data-slug="lines"] .sc-rk-sw { background-image: url(art/rack/lines.webp); }
.sc-rack .sc-rk[data-slug="crossword"] .sc-rk-sw { background-image: url(art/rack/crossword.webp); }
.sc-rack .sc-rk[data-slug="multiplier"] .sc-rk-sw { background-image: url(art/rack/multiplier.webp); }
.sc-rack .sc-rk[data-slug="dealer"] .sc-rk-sw { background-image: url(art/rack/dealer.webp); }

/* ---------- ticket themes ---------- */
.sc-ticket[data-t="match3"] { --tk-bg: linear-gradient(155deg, #f8dc86 0%, #eebd4f 48%, #e0a33a 100%); --tk-pat: repeating-linear-gradient(135deg, rgba(255,255,255,.14) 0 2px, transparent 2px 16px);
  --tk-ink: #3a2306; --tk-sub: #7b5216; --tk-line: rgba(58,35,6,.3); --tk-spot: #fff8e6; --tk-spot-line: #c99135; --tk-spot-ink: #3a2306;
  --tk-accent: #b33a1c; --tk-accent-ink: #fff4e0; --tk-hit: #b33a1c; --tk-hit-ink: #fff; --tk-hit-ring: rgba(179,58,28,.55); }
.sc-ticket[data-t="numbers"] { --tk-bg: linear-gradient(160deg, #c53a30, #9f2119 60%, #861a14); --tk-pat: radial-gradient(rgba(255,255,255,.09) 1.2px, transparent 1.7px) 0 0 / 13px 13px;
  --tk-ink: #fff5e6; --tk-sub: #f6c9a8; --tk-line: rgba(255,230,200,.32); --tk-spot: #fff6e8; --tk-spot-line: #f0c46a; --tk-spot-ink: #3b0f0b; --tk-band: rgba(0,0,0,.22);
  --tk-accent: #f4c44f; --tk-accent-ink: #4a1208; --tk-hit: #f4c44f; --tk-hit-ink: #3b0f0b; --tk-hit-ring: rgba(244,196,79,.6); }
.sc-ticket[data-t="lines"] { --tk-bg: linear-gradient(160deg, #2856b8, #1b3d8a 60%, #142f6e); --tk-pat: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px) 0 0 / 18px 18px, linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px) 0 0 / 18px 18px;
  --tk-ink: #eef3ff; --tk-sub: #a9bff0; --tk-line: rgba(200,215,255,.3); --tk-spot: #f2f6ff; --tk-spot-line: #8fb0f0; --tk-spot-ink: #13295e; --tk-x: #13295e; --tk-o: #9db4e8;
  --tk-accent: #ffd23f; --tk-accent-ink: #13295e; --tk-hit: #ffd23f; --tk-hit-ink: #13295e; --tk-hit-ring: rgba(255,210,63,.6); }
.sc-ticket[data-t="crossword"] { --tk-bg: linear-gradient(170deg, #f3eedf, #e6ddc6); --tk-pat: radial-gradient(rgba(30,25,15,.07) 1px, transparent 1.4px) 0 0 / 6px 6px;
  --tk-ink: #171511; --tk-sub: #6c6555; --tk-line: rgba(23,21,17,.25); --tk-spot: #fffdf6; --tk-spot-line: #b9b09a; --tk-spot-ink: #171511; --tk-title: #b81f33;
  --tk-accent: #c8233a; --tk-accent-ink: #fff; --tk-hit: #1f7a4d; --tk-hit-ink: #fff; --tk-hit-ring: rgba(31,122,77,.5); }
.sc-ticket[data-t="multiplier"] { --tk-bg: radial-gradient(120% 90% at 50% 0%, #5b34b0 0%, #3a1d7a 55%, #2a1259 100%); --tk-pat: repeating-conic-gradient(from 0deg at 50% 0%, rgba(255,255,255,.045) 0 6deg, transparent 6deg 12deg);
  --tk-ink: #f6f0ff; --tk-sub: #c8b6f2; --tk-line: rgba(220,200,255,.3); --tk-spot: #f7f2ff; --tk-spot-line: #b79cf0; --tk-spot-ink: #2a1259; --tk-blank: #b9a8dc;
  --tk-accent: #f2c14e; --tk-accent-ink: #2a1259; --tk-hit: #f2c14e; --tk-hit-ink: #2a1259; --tk-hit-ring: rgba(242,193,78,.6); }
.sc-ticket[data-t="dealer"] { --tk-bg: radial-gradient(130% 100% at 50% 0%, #1f8a5b 0%, #126b44 50%, #0b4f32 100%); --tk-pat: repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px), repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 1px, transparent 1px 4px);
  --tk-ink: #f1f7f2; --tk-sub: #a9d3bb; --tk-line: rgba(220,245,230,.28); --tk-spot: #fbfaf6; --tk-spot-line: #d7d2c2; --tk-spot-ink: #17181d;
  --tk-accent: #f2c14e; --tk-accent-ink: #123b27; --tk-hit: #f2c14e; --tk-hit-ink: #17181d; --tk-hit-ring: rgba(242,193,78,.6); }

/* narrow tickets (phones and small embeds) */
@container (max-width: 560px) {
  .sc-th { align-items: flex-start; }
  .sc-th h3 { font-size: clamp(21px, 7cqw, 28px); white-space: normal; }
  .sc-th-top { display: none; }
  .sc-th-price { width: 50px; height: 50px; }
  .sc-th-price b { font-size: 16px; }
  .sc-rule { font-size: 12px; margin: 8px 0 10px; }
  .sc-tf .sc-tf-o { display: none; }
  .sc-m3 { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .sc-m3-s { height: 68px; }
  .sc-m3-s b { font-size: 21px; }
  .sc-nm-win { flex-direction: column; align-items: stretch; gap: 6px; padding: 8px 10px; }
  .sc-nm-wrow { justify-content: space-between; }
  .sc-nm-w { width: 46px; height: 46px; }
  .sc-nm-w b { font-size: 18px; }
  .sc-nm-grid { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .sc-nm-y { height: 62px; }
  .sc-nm-y > b:first-child { font-size: 19px; }
  .sc-nm-y > b + b { font-size: 11px; }
  .sc-nm-y > i { font-size: 6.5px; margin-top: 1px; }
  .sc-ln { grid-template-columns: 1fr; justify-items: center; gap: 12px; }
  .sc-ln-board { --c: clamp(52px, 19cqw, 74px); }
  .sc-ln-side { width: 100%; }
  .sc-ln-side p:first-of-type { display: none; }
  .sc-ln-leg { margin-top: 6px; }
  .sc-cw { grid-template-columns: 1fr; justify-items: center; gap: 12px; }
  .sc-cw-grid { --cc: clamp(20px, 8.7cqw, 30px); }
  .sc-cw-side { width: 100%; }
  .sc-mx-top { gap: 10px; }
  .sc-mx-box { width: 46%; }
  .sc-mx-leg { font-size: 11.5px; gap: 6px; }
  .sc-mx-leg svg { width: 22px; height: 22px; }
  .sc-mx-grid { gap: 5px; }
  .sc-mx-s { height: 80px; border-radius: 8px; }
  .sc-mx-s b { font-size: 11px; letter-spacing: -.03em; }
  .sc-mx-s > i { font-size: 6px; letter-spacing: 0; padding: 0 1px; }
  .sc-dl { gap: 4px; }
  .sc-dl-lab { font-size: 8px; letter-spacing: .08em; }
  .sc-dl-lab, .sc-dl-col { padding: 5px 2px; }
  .sc-dl-p b { font-size: 11px; letter-spacing: -.03em; }
  .sc-dl-p > i { font-size: 6px; letter-spacing: 0; padding: 0 1px; }
}

/* ---------- the six tickets table (page section) ---------- */
.sc-sheet { margin-top: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.sc-sh { display: grid; grid-template-columns: 1.15fr .55fr .75fr .7fr .65fr 2.6fr; gap: 14px; padding: 13px 20px; border-bottom: 1px solid var(--line); font-size: .93rem; align-items: baseline; color: var(--ink); }
.sc-sh:last-child { border-bottom: 0; }
a.sc-sh { transition: background .15s; }
a.sc-sh:hover { background: var(--paper); }
.sc-sh-h { font: 600 .68rem 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--mut); padding: 11px 20px; }
.sc-sh b { font-weight: 800; }
.sc-sh span { font-variant-numeric: tabular-nums; }
.sc-sh-l { color: var(--sub); font-size: .9rem; }

/* ---------- embed and TV wall ---------- */
body.dk-embed .sc-screen, .dk-stage:fullscreen .sc-screen { min-height: calc(100vh - 98px); }

/* ---------- responsive ---------- */
@media (max-width: 1240px) {
  .sc-screen { grid-template-columns: minmax(0, 1fr) 290px; }
  .sc-left { display: contents; }
  .sc-rack-w { grid-column: 1 / -1; order: -1; }
  .sc-rack { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sc-rk { grid-template-columns: minmax(0, 1fr) auto; padding: 8px 10px; }
  .sc-rk-sw { display: none; }
  .sc-mid { order: 0; }
  .sc-right { order: 1; }
  .sc-sess { order: 2; }
  .sc-recent { order: 3; }
}
@media (max-width: 860px) {
  .sc-screen { grid-template-columns: minmax(0, 1fr); }
  .sc-rack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sc-rk { grid-template-columns: 1fr; gap: 2px; padding: 7px 9px; }
  .sc-rk-t small { display: none; }
  .sc-rk-t b { white-space: normal; line-height: 1.2; }
  .sc-rk-p { font-size: 13px; }
  .sc-act { grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  .sc-btns { grid-column: 1 / -1; }
  .sc-btns .s-btn { flex: 1; }
  #scBuy { min-width: 0; }
  .sc-sh-h { display: none; }
  .sc-sh { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 10px; padding: 14px 16px; }
  .sc-sh b { grid-column: 1 / -1; }
  .sc-sh span[data-l]::before { content: attr(data-l); display: block; font: 600 .6rem 'IBM Plex Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--mut); }
  .sc-sh-l { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .sc-stage .dk-screen { padding: 12px; }
  .sc-ticket { padding: 14px 12px 10px; border-radius: 12px; }
}
@media (max-width: 860px) {
  .sc-btns .sc-snd { flex: 0 0 auto; padding-left: 13px; padding-right: 13px; }
  .sc-snd span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sc-btns { gap: 6px; }
  .sc-btns .s-btn { min-width: 0; padding-left: 10px; padding-right: 10px; font-size: 13px; }
  .sc-btns .sc-snd { padding-left: 11px; padding-right: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-mini { animation: none; opacity: 1; }
  .sc-z.on > *, .sc-z.hit, .sc-ticket.shine::after, .sc-res, .sc-res-in, .sc-res-v, .sc-res-n, .sc-hint, .sc-guide i, #scReveal.sc-glow, .sc-read.final.win { animation: none; }
}
