.sd{--ink:#1b1b1b;--cream:#fffaf0;--yellow:#ffd34d;--accent:#ff5a4a;--sky:#7ad0ff;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;background:#222;position:fixed;inset:0;overflow:hidden}.sd-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.sd button{-webkit-tap-highlight-color:transparent}.sd-top{pointer-events:none;z-index:3;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;top:0;left:0;right:0}.sd-top>*{pointer-events:auto}.sd-back,.sd-mute{border:3px solid var(--ink);background:var(--cream);width:42px;height:42px;font:20px "Luckiest Guy", var(--font);color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:50%;place-items:center;text-decoration:none;transition:transform .12s,box-shadow .12s;display:grid}.sd-back:hover,.sd-mute:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-2px)}.sd-back:active,.sd-mute:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.sd-mute{margin-left:auto;font-size:17px}.sd-title{font:24px "Luckiest Guy", var(--font);letter-spacing:.04em;color:#fff;-webkit-text-stroke:1.5px var(--ink);text-shadow:0 3px 0 var(--ink), 2px 3px 0 var(--ink);margin:0 4px;transform:rotate(-2deg)}.sd-pill{border:3px solid var(--ink);background:var(--cream);height:36px;font:17px "Luckiest Guy", var(--font);letter-spacing:.02em;box-shadow:0 4px 0 var(--ink);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:0 12px 0 8px;display:inline-flex}.sd-pill small{opacity:.6;padding-top:2px;font-size:11px}.sd-pill.best{background:#fff0b8;padding-left:12px}.sd-coin{border:2.5px solid var(--ink);vertical-align:-3px;background:radial-gradient(circle at 35% 35%,#ffe680 0 30%,#f2b630 31% 100%);border-radius:50%;flex:none;width:18px;height:18px;text-decoration:none;display:inline-block;box-shadow:inset 0 0 0 2px #965a0059}@media (max-width:600px){.sd-title{display:none}.sd-pill{height:34px;font-size:15px}}.sd-bill{z-index:3;text-align:center;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.sd-bill-l{font:13px "Luckiest Guy", var(--font);letter-spacing:.12em;color:#fff;-webkit-text-stroke:.6px var(--ink);text-shadow:0 2px 0 var(--ink);margin-bottom:-2px}.sd-bill-n{font:58px/1 "Luckiest Guy", var(--font);color:#fff;-webkit-text-stroke:2.5px var(--ink);text-shadow:0 5px 0 var(--ink), 3px 5px 0 var(--ink);animation:.28s cubic-bezier(.3,1.8,.5,1) sd-bump;display:block}.sd-combo{background:var(--accent);color:#fff;border:3px solid var(--ink);font:19px "Luckiest Guy", var(--font);letter-spacing:.04em;box-shadow:0 4px 0 var(--ink);border-radius:12px;margin-top:6px;padding:3px 12px 1px;animation:.4s cubic-bezier(.3,1.8,.5,1) sd-combo;display:inline-block;transform:rotate(-4deg)}@keyframes sd-bump{0%{color:#fff3a0;transform:scale(1.22)}to{transform:scale(1)}}@keyframes sd-combo{0%{transform:rotate(-4deg)scale(.4)}to{transform:rotate(-4deg)scale(1)}}@media (max-width:600px){.sd-bill{top:62px}.sd-bill-l{font-size:11px}.sd-bill-n{font-size:46px}}.sd-flail{right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:3;font:24px "Luckiest Guy", var(--font);letter-spacing:.03em;color:var(--ink);background:linear-gradient(#a6e2ff, var(--sky));border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);cursor:pointer;touch-action:none;border-radius:18px;align-items:center;gap:10px;padding:14px 18px 12px 20px;transition:transform .1s,box-shadow .1s;animation:.35s cubic-bezier(.3,1.6,.5,1) sd-in;display:flex;position:absolute}.sd-flail:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(4px)scale(.97)}.sd-flail:disabled{filter:grayscale(.8);opacity:.6}.sd-pips{gap:4px;padding-bottom:3px;display:inline-flex}.sd-pips i{border:2.5px solid var(--ink);background:#ffffff59;border-radius:50%;width:12px;height:12px}.sd-pips i.on{background:#fff;box-shadow:inset -2px -2px #0000001f}.sd-hint{z-index:3;background:var(--cream);border:3px solid var(--ink);text-align:center;width:max-content;max-width:calc(100vw - 24px);box-shadow:0 4px 0 var(--ink);border-radius:16px;align-items:center;gap:8px;margin:0;padding:7px 8px 7px 14px;font-size:18px;animation:.45s cubic-bezier(.3,1.5,.5,1) both sd-drop;display:flex;position:absolute;top:62px;left:50%;transform:translate(-50%)}.sd-hint span{opacity:.6}.sd-hand{font-style:normal;animation:1.6s ease-in-out infinite sd-drag;display:inline-block}@keyframes sd-drag{0%,15%{transform:translate(0)rotate(0)}55%{transform:translate(-8px,5px)rotate(-12deg)}70%{transform:translate(-8px,5px)rotate(-12deg)scale(.9)}80%,to{transform:translate(0)}}.sd-shove{font:20px "Luckiest Guy", var(--font);letter-spacing:.03em;color:var(--ink);background:linear-gradient(#ffe48a, var(--yellow));border:3px solid var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:6px 14px 4px;transition:transform .1s,box-shadow .1s}.sd-shove:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-2px)rotate(-2deg)}.sd-shove:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.sd-panel{z-index:3;left:12px;bottom:max(12px, env(safe-area-inset-bottom));background:var(--cream);border:4px solid var(--ink);width:min(410px,100vw - 24px);box-shadow:0 7px 0 var(--ink);transform-origin:20% 100%;border-radius:20px;padding:0 10px 10px;animation:.45s cubic-bezier(.3,1.5,.5,1) both sd-pop;position:absolute}.sd-panel-h{background:var(--accent);color:#fff;border:4px solid var(--ink);font:20px "Luckiest Guy", var(--font);letter-spacing:.05em;-webkit-text-stroke:.8px var(--ink);text-shadow:0 2px 0 var(--ink);background-image:repeating-linear-gradient(-45deg,#ffffff1a 0 10px,#0000 10px 20px);border-radius:20px 20px 0 0;margin:-4px -14px 8px;padding:9px 14px 6px}.sd-tabs{border:3px solid var(--ink);background:#efe5cf;border-radius:14px;gap:0;margin-bottom:8px;padding:4px;display:flex;position:relative}.sd-tab-blob{border:3px solid var(--ink);background:linear-gradient(#ffe48a, var(--yellow));width:calc(33.3333% - 2.66667px);box-shadow:0 3px 0 var(--ink);border-radius:10px;transition:transform .32s cubic-bezier(.3,1.5,.5,1);position:absolute;top:3px;bottom:3px;left:4px}.sd-tabs[data-tab=ride] .sd-tab-blob{transform:translate(100%)}.sd-tabs[data-tab=push] .sd-tab-blob{transform:translate(200%)}.sd-tabs button{font:16px "Luckiest Guy", var(--font);letter-spacing:.03em;color:var(--ink);cursor:pointer;opacity:.55;background:0 0;border:0;flex:1;padding:7px 4px 5px;transition:opacity .2s;position:relative}.sd-tabs button.on{opacity:1}.sd-items{scrollbar-width:thin;flex-direction:column;gap:7px;max-height:min(42vh,340px);padding:2px 2px 6px;display:flex;overflow-y:auto}.sd-item{text-align:left;border:3px solid var(--ink);cursor:pointer;font:inherit;color:inherit;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:14px;flex:none;align-items:center;gap:10px;padding:6px 58px 6px 6px;transition:transform .12s,box-shadow .12s,background .2s;display:flex;position:relative}.sd-item:hover{box-shadow:0 5px 0 var(--ink);transform:translateY(-2px)}.sd-item:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.sd-thumb{border:2.5px solid var(--ink);background:#cfe6f2 50%/cover no-repeat;border-radius:9px;flex:none;place-items:center;width:74px;height:46px;font-size:26px;display:grid;position:relative;overflow:hidden}.sd-thumb.ride{background:radial-gradient(circle at 40% 30%,#fff 0 20%,#dff1ff 60%,#b8dcf6);width:52px}.sd-thumb em{background:#14101e73;place-items:center;font-size:18px;font-style:normal;display:grid;position:absolute;inset:0}.sd-item-t{flex-direction:column;min-width:0;display:flex}.sd-item b{font:17px "Luckiest Guy", var(--font);letter-spacing:.02em;line-height:1.15}.sd-item-t span{opacity:.72;font-size:13.5px;line-height:1.2}.sd-item i{font:14px "Luckiest Guy", var(--font);border:2.5px solid var(--ink);background:#efe5cf;border-radius:9px;align-items:center;gap:4px;padding:5px 8px 3px;font-style:normal;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sd-item i .sd-coin{vertical-align:-1px;border-width:2px;width:13px;height:13px;margin-top:-2px}.sd-item.on{background:#fff3c4}.sd-item.on i{background:#9aff7a;padding:3px 10px 1px;font-size:16px}.sd-item.locked{background:#f4efe4}.sd-item.locked .sd-thumb{filter:saturate(.5)}.sd-item.locked i{background:linear-gradient(#ffe48a, var(--yellow))}.sd-push{padding:4px 2px}.sd-push p{margin:4px 2px 10px;font-size:16px}.sd-meter{gap:6px;margin:6px 2px 4px;display:flex}.sd-meter i{border:3px solid var(--ink);background:#efe5cf;border-radius:7px;flex:1;height:18px}.sd-meter i.on{background:linear-gradient(90deg,#ffd34d,#ff8a3a)}.sd-meter i.on:last-of-type{background:linear-gradient(90deg, #ff8a3a, var(--accent))}.sd-buy,.sd-again,.sd-btn{font:19px "Luckiest Guy", var(--font);letter-spacing:.03em;border:3px solid var(--ink);cursor:pointer;box-shadow:0 5px 0 var(--ink);background:linear-gradient(#ffe48a, var(--yellow));color:var(--ink);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:11px 14px 9px;transition:transform .1s,box-shadow .1s;display:inline-flex}.sd-buy:hover:not(:disabled),.sd-again:hover,.sd-btn:hover:not(:disabled){box-shadow:0 7px 0 var(--ink);transform:translateY(-2px)}.sd-buy:active:not(:disabled),.sd-again:active,.sd-btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.sd-buy:disabled,.sd-btn:disabled{opacity:.55;cursor:default}.sd-msg{color:#b02a2a;margin:0 0 6px;font-size:15px;font-weight:700}@media (max-width:600px){.sd-panel{width:auto;padding:0 8px 8px;left:8px;right:8px}.sd-panel-h{margin-left:-12px;margin-right:-12px;padding:7px 12px 4px;font-size:17px}.sd-items{max-height:26vh}.sd-hint{gap:6px;padding:5px 6px 5px 10px;font-size:14px}.sd-shove{padding:5px 10px 3px;font-size:17px}.sd-thumb{width:62px;height:40px}.sd-thumb.ride{width:44px}.sd-item-t span{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.sd-btn{padding:10px 8px 8px;font-size:16px}.sd-again{font-size:23px}.sd-receipt{padding:18px 14px 14px}}.sd-over{z-index:5;background:radial-gradient(circle at 50% 45%,#14100c26,#14100c99);justify-content:center;align-items:center;padding:16px;animation:.4s both sd-fade;display:flex;position:absolute;inset:0}.sd-over.watching{pointer-events:none;background:0 0;align-items:flex-end}.sd-skip{pointer-events:auto;font:18px "Luckiest Guy", var(--font);border:3px solid var(--ink);background:var(--cream);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:14px;margin-bottom:20px;padding:9px 18px 7px}.sd-receipt{--paper:#fffef8;background:var(--paper);border:3px solid var(--ink);width:min(410px,100%);box-shadow:0 9px 0 var(--ink), 0 22px 40px #00000059;background-image:repeating-linear-gradient(var(--paper) 0 27px, #f1ecdf 27px 28px);border-radius:4px;max-height:92vh;padding:22px 20px 18px;font-family:Courier New,monospace;animation:.6s cubic-bezier(.25,1.4,.5,1) both sd-receipt;position:relative;overflow-y:auto;transform:rotate(-1.5deg)}.sd-cross{width:30px;height:30px;filter:drop-shadow(2px 2px 0 var(--ink));background:linear-gradient(#e04848,#e04848) 50%/10px 30px no-repeat,linear-gradient(#e04848,#e04848) 50%/30px 10px no-repeat;position:absolute;top:14px;left:18px;transform:rotate(-8deg)}.sd-receipt h2{text-align:center;font:25px "Luckiest Guy", var(--font);letter-spacing:.05em;color:#b02a2a;margin:0;padding:0 30px}.sd-sub{text-align:center;opacity:.7;margin:2px 0 12px;font-size:13px}.sd-receipt ul{margin:0;padding:0;list-style:none}.sd-receipt li{opacity:0;border-bottom:1px dashed #c8c0a8;justify-content:space-between;gap:10px;padding:3px 0;font-size:15px;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);display:flex;transform:translate(-10px)}.sd-receipt li.in{opacity:1;transform:none}.sd-receipt li b{font-weight:700}.sd-total{border-top:3px double var(--ink);opacity:0;justify-content:space-between;align-items:center;margin-top:12px;padding-top:8px;font-size:16px;font-weight:700;transition:opacity .2s;display:flex;position:relative}.sd-total.in{opacity:1}.sd-total b{font:36px "Luckiest Guy", var(--font);color:#b02a2a;display:inline-block}.sd-total.in b{animation:.5s cubic-bezier(.3,1.7,.5,1) both sd-slam}.sd-stamp{color:#d63030d9;font:28px "Luckiest Guy", var(--font);letter-spacing:.08em;pointer-events:none;mix-blend-mode:multiply;border:4px solid #d63030d9;border-radius:8px;padding:4px 10px 0;animation:.45s cubic-bezier(.3,1.5,.5,1) .25s both sd-stamp;position:absolute;top:-8px;left:36%;transform:rotate(-14deg)}.sd-pay{font-size:15px;font-family:var(--font);flex-wrap:wrap;align-items:center;gap:4px;margin:12px 0;animation:.35s both sd-up;display:flex}.sd-pay b{align-items:center;gap:3px;display:inline-flex}.sd-new{background:var(--accent);color:#fff;border:2px solid var(--ink);font:14px "Luckiest Guy", var(--font);border-radius:7px;margin-left:6px;padding:2px 8px 0;animation:1.2s ease-in-out infinite sd-wiggle;display:inline-block;transform:rotate(-4deg)}.sd-unlock{border:3px solid var(--ink);font-family:var(--font);background:#fff3c4;border-radius:12px;align-items:center;gap:10px;margin-bottom:10px;padding:6px 10px;font-weight:700;animation:.5s cubic-bezier(.3,1.6,.5,1) both sd-pop;display:flex}.sd-unlock img{object-fit:contain;width:60px;height:44px}.sd-actions{font-family:var(--font);grid-template-columns:1fr 1fr;gap:9px;animation:.4s .1s both sd-up;display:grid}.sd-again{background:linear-gradient(#ff7a6a, var(--accent));color:#fff;-webkit-text-stroke:1px var(--ink);text-shadow:0 2px 0 var(--ink);grid-column:1/-1;font-size:26px}.sd-btn{background:linear-gradient(#fff,#f1ead8)}@keyframes sd-pop{0%{opacity:0;transform:scale(.6)translateY(20px)}to{opacity:1;transform:none}}@keyframes sd-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@keyframes sd-drop{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}@keyframes sd-fade{0%{opacity:0}to{opacity:1}}@keyframes sd-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sd-receipt{0%{opacity:0;transform:translateY(-120px)rotate(6deg)scale(.9)}to{opacity:1;transform:rotate(-1.5deg)}}@keyframes sd-slam{0%{opacity:0;transform:scale(2.4)rotate(-8deg)}60%{opacity:1}to{transform:scale(1)rotate(0)}}@keyframes sd-stamp{0%{opacity:0;transform:rotate(-14deg)scale(2.6)}to{opacity:1;transform:rotate(-14deg)scale(1)}}@keyframes sd-wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.sd *,.sd :before,.sd :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
