@font-face{font-family:Teeter Display;src:url(/fonts/fredoka.woff2)format("woff2");font-weight:500 700;font-display:swap}:root{--bg1:#3a1f8f;--bg2:#0f0a2e;--p0:#ff5a4e;--p1:#1fd1a1;--pr:#ffb02e;--gold:#ffc93c;--ink:#fff;--dim:#ffffffb3;--cream:#f7eedd;--uv:#6c4cff;--danger:#ff3d6e;--glass:#160c409e;--line:#ffffff1a;--fd:"Teeter Display", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px);--sr:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;background:radial-gradient(130% 85% at 50% 0%, var(--bg1), var(--bg2));height:100dvh;color:var(--ink);margin:0;font:600 16px/1.25 ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;position:fixed;inset:0;overflow:hidden}canvas#c{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}svg.i{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.2em;height:1.2em}h1,h2,h3{font-family:var(--fd);letter-spacing:-.01em;margin:0;font-weight:700}.btn,.big,.ghost{--e:#0a04288c;height:58px;font:600 20px/1 var(--fd);letter-spacing:.01em;box-shadow:0 6px 0 var(--e), 0 12px 22px #08031e59, inset 0 2px 0 #ffffff59;border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:0 26px;transition:transform 80ms ease-out,box-shadow 80ms ease-out,opacity .2s,filter .2s;display:inline-flex;position:relative}.btn:active,.big:active,.ghost:active,.btn.down{box-shadow:0 2px 0 var(--e), 0 4px 10px #08031e4d, inset 0 2px 0 #ffffff4d;transform:translateY(4px)}.pri,.big{background:linear-gradient(#ffd866, var(--gold) 55%, #f7b524);color:#3b2300;--e:#c27c00}.sec,.ghost{box-shadow:0 6px 0 var(--e), 0 12px 22px #08031e4d, inset 0 0 0 1.5px #ffffff24;background:#ffffff24}.sec:active,.ghost:active{box-shadow:0 2px 0 var(--e), inset 0 0 0 1.5px #ffffff24}.big,.ghost,.wide{width:100%;max-width:340px}.btn.sm,.ghost.small{border-radius:16px;height:46px;padding:0 16px;font-size:17px}.btn .i{width:24px;height:24px}.btn:disabled,.big:disabled,.ghost:disabled,.btn[aria-disabled=true]{pointer-events:none;filter:saturate(.7)brightness(.92);opacity:.62;box-shadow:0 2px 0 var(--e);transform:translateY(4px)}.btn:focus-visible{outline-offset:3px;outline:3px solid #fff}#hud{z-index:2;pointer-events:none;padding:calc(var(--st) + 10px) calc(var(--sr) + 10px) 0 calc(var(--sl) + 10px);grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;display:grid;position:absolute;inset:0 0 auto}.chip{--c:var(--p0);background:var(--glass);min-width:0;max-width:100%;height:48px;box-shadow:inset 0 0 0 1.5px var(--line);opacity:.75;border-radius:24px;justify-self:start;align-items:center;gap:8px;padding:0 14px 0 6px;transition:opacity .25s,box-shadow .25s,transform .25s;display:flex}.chip.right{text-align:right;flex-direction:row-reverse;justify-self:end;padding:0 6px 0 14px}.chip.active{opacity:1;box-shadow:inset 0 0 0 2px var(--c), 0 0 22px -4px var(--c);transform:scale(1.04)}.chip.away{opacity:.4}.chip.away .av{filter:grayscale()}.av{background:var(--c);width:36px;height:36px;font:700 17px/1 var(--fd);color:#280a1499;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 -3px #0000002e,inset 0 2px #fff6}.chip .tx{flex-direction:column;min-width:0;display:flex}.chip .nm{font:600 17px/1.1 var(--fd);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chip small{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.25;overflow:hidden}.chip small:empty{display:none}.chip.active small{color:#fff}.chip.score{opacity:1;--c:#ffffff24}.chip.score .av{color:#fff;font-size:19px;box-shadow:inset 0 0 0 1.5px #ffffff2e}.chip.hide{visibility:hidden}#mid{flex-direction:column;align-items:center;gap:6px;display:flex}#timer{background:var(--glass);width:56px;height:56px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;transition:opacity .3s;position:relative}#timer svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}#timer circle{fill:none;stroke-width:4.5px;stroke-linecap:round}#timer .tr{stroke:#ffffff1f}#timer .pr{stroke:var(--gold);stroke-dasharray:113.1;transition:stroke .2s}#timer b{font:700 22px/1 var(--fd);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}#timer.low .pr{stroke:var(--danger)}#timer.low b{color:#ff9ab3}#timer.low{animation:.5s ease-in-out infinite alternate tbeat}#timer.off{opacity:.35}#statusText{font:700 14px/1 var(--fd);letter-spacing:.04em;text-transform:uppercase;background:var(--glass);white-space:nowrap;border-radius:13px;padding:7px 14px;transition:background .2s,color .2s}#statusText.mine{background:var(--c,#ffc93c);color:#1a0f3d;box-shadow:0 3px 0 #00000040, 0 0 18px color-mix(in srgb, var(--c,#ffc93c) 55%, transparent);animation:.35s cubic-bezier(.3,1.6,.5,1) pop}#statusText.theirs{color:var(--c,#fff);box-shadow:inset 0 0 0 2px var(--c,#ffffff4d)}@keyframes pop{0%{opacity:0;transform:translate(-50%,12px)scale(.9)}}#statusText:empty{visibility:hidden}@keyframes tbeat{to{transform:scale(1.08)}}#dice{left:50%;top:calc(var(--st) + 108px);z-index:2;pointer-events:none;perspective:400px;position:absolute;transform:translate(-50%)}#dice .face{--c:var(--pr);opacity:0;background:radial-gradient(circle at 15% 15%,#d6ccf2 2.5px,#0000 3.3px),radial-gradient(circle at 85% 85%,#d6ccf2 2.5px,#0000 3.3px),linear-gradient(160deg,#fff,#f3eefd 55%,#e4dbf7);border-radius:22px;place-items:center;width:78px;height:78px;transition:width .35s cubic-bezier(.3,1.5,.5,1),height .35s cubic-bezier(.3,1.5,.5,1),border-radius .35s,opacity .2s;display:grid;position:relative;box-shadow:inset 0 2px #fff,inset 0 -5px #6c4cff1f,0 6px #b4a5de,0 16px 26px #08031e80}#dice .face:after{content:"";border:3px solid var(--c);opacity:0;border-radius:29px;position:absolute;inset:-7px}#dice svg{width:62%;height:62%;overflow:visible;transform:rotate(45deg)}#dice.show .face{opacity:1}#dice.spin .face{animation:.8s cubic-bezier(.25,.6,.4,1) both tumble}#dice.land .face{animation:.4s cubic-bezier(.3,1.6,.5,1) land}#dice.land .face:after{animation:.55s ease-out burst}#dice:after{content:attr(data-cap);font:700 12.5px/1 var(--fd);letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9;white-space:nowrap;opacity:0;margin-top:8px;transition:opacity .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)}#dice.small:after{opacity:1}#dice.small .face{background-size:0 0,0 0,auto;border-radius:16px;width:52px;height:52px;box-shadow:inset 0 2px #fff,0 4px #b4a5de,0 10px 18px #08031e73}@keyframes tumble{0%{opacity:0;transform:translateY(-70px)rotateX(-160deg)rotate(-50deg)scale(.6)}25%{opacity:1}55%{transform:translateY(8px)rotateX(40deg)rotate(14deg)scale(1.02)}75%{transform:translateY(-10px)rotateX(-14deg)rotate(-6deg)}to{transform:none}}@keyframes land{0%{transform:scale(1.2,.82)}55%{transform:scale(.93,1.07)}to{transform:none}}@keyframes burst{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}#controls{z-index:2;pointer-events:none;padding:0 calc(var(--sr) + 16px) calc(var(--sb) + 18px) calc(var(--sl) + 16px);justify-content:space-between;align-items:flex-end;gap:14px;transition:opacity .25s;display:flex;position:absolute;inset:auto 0 0}#controls .btn{pointer-events:auto}#rotBtn{border-radius:50%;width:72px;height:72px;padding:0}#rotBtn .i{stroke-width:2.8px;width:32px;height:32px}#dropBtn{border-radius:24px;flex:0 210px;height:72px;font-size:24px}#dropBtn .i{stroke-width:2.8px;width:26px;height:26px}#controls.gone{opacity:0}#controls.gone .btn{pointer-events:none}#hint{left:50%;bottom:calc(var(--sb) + 106px);z-index:2;pointer-events:none;color:#fff;white-space:nowrap;background:#100930d1;border-radius:16px;align-items:center;gap:7px;padding:9px 15px;font-size:15px;font-weight:700;transition:opacity .3s;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1.5px #ffffff2e}#hint .i{width:16px;height:16px}.has-banner #hint{visibility:hidden}.overlay{z-index:5;text-align:center;padding:calc(var(--st) + 18px) calc(var(--sr) + 22px) calc(var(--sb) + 20px) calc(var(--sl) + 22px);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(120% 70% at 50% 20%,#3a1f8fbd,#0c0726eb);flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .25s;display:flex;position:absolute;inset:0}.overlay.hidden{opacity:0;pointer-events:none}.overlay.sheet-on{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0c072633,#0c0726b3);justify-content:flex-end;padding:0}.overlay>h1{color:var(--cream);text-shadow:0 4px #c9b9a0,0 8px #14083c80;font-size:64px;line-height:1}.overlay>h1 em{font-style:normal}.overlay>h2{font-size:30px}.overlay>p{color:var(--dim);max-width:320px;margin:0}.scr{flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:14px;width:100%;max-width:380px;min-height:0;animation:.35s cubic-bezier(.2,.9,.3,1.1) both rise;display:flex}.scr .top{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.start .top{gap:16px;padding-top:2dvh}.acts{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.row{justify-content:center;gap:12px;width:100%;display:flex}.acts .row>*{flex:1}.fine{color:var(--dim);margin:0;font-size:13px}.kicker{font:600 12px/1 var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.wm{--s:clamp(58px, 20vw, 84px);margin-top:calc(var(--s) * .3);transform-origin:50% 90%;flex-direction:column;align-items:center;animation:3.6s ease-in-out infinite rock;display:inline-flex;position:relative}.wm .w{font:700 var(--s)/.9 var(--fd);color:var(--cream);letter-spacing:-.02em;z-index:1;text-shadow:0 .05em #cdbb9e,0 .1em #14083c8c,0 .18em .22em #08031e73;display:flex}.wm .w span{display:inline-block;position:relative}.wm .w span:nth-child(2){transform:translateY(-.03em)rotate(-4deg)}.wm .w span:nth-child(3){transform:translateY(.02em)rotate(3deg)}.wm .w span:nth-child(5){transform:translateY(-.02em)rotate(-3deg)}.wm .w span:nth-child(6){transform:rotate(5deg)}.wm .w span:first-child:before,.wm .w span:last-child:before{content:"";border-radius:.055em;width:.22em;height:.22em;position:absolute;top:-.2em;box-shadow:inset 0 -.03em #00000038,inset 0 .02em #fff6}.wm .w span:first-child:before{background:var(--p0);left:.08em;transform:rotate(-6deg)}.wm .w span:last-child:before{background:var(--p1);top:-.22em;right:.02em;transform:rotate(9deg)}.wm svg{width:calc(var(--s) * 3.7);height:auto;margin-top:calc(var(--s) * -.2);filter:drop-shadow(0 10px 14px #08031e80)}@keyframes rock{0%,to{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}.tag{font:600 20px/1.2 var(--fd);color:var(--dim);margin:0}.steps{gap:10px;width:100%;margin:0 0 8px;padding:0;list-style:none;display:flex}.steps li{box-shadow:inset 0 0 0 1.5px var(--line);text-align:center;color:#ffffffd1;background:#ffffff12;border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:7px;padding:14px 4px 12px;font-size:13.5px;line-height:1.2;display:flex}.steps .i{width:30px;height:30px;color:var(--gold)}.steps b{color:#fff;font:600 17px/1 var(--fd)}.vs{font:600 15px var(--fd);align-items:center;gap:10px;display:flex}.vs .av{width:44px;height:44px;font-size:20px}.res h2{font-size:clamp(40px,12.5vw,56px);line-height:1}.res.win h2{color:var(--gold);text-shadow:0 4px #a86300,0 10px 26px #ffc93c59}.res.lose h2{color:#ff8579;text-shadow:0 4px #8a1c38,0 10px 26px #ff3d6e4d}.res.solo h2{color:var(--cream);text-shadow:0 4px #6a54b8}.sub{color:var(--dim);margin:0;font-size:15px}.shot{background:#fff;border-radius:10px;flex:none;width:min(70vw,280px);min-height:0;margin:0;padding:8px 8px 28px;position:relative;transform:rotate(-3deg);box-shadow:0 14px 30px #08031e8c}.shot img,.shot>i{aspect-ratio:4/5;object-fit:cover;background:linear-gradient(#3a1f8f,#120c33);border-radius:5px;width:100%;max-height:37dvh;display:block}.shot figcaption{font:600 12px/1 var(--fd);color:#5b4a99;position:absolute;bottom:7px;left:0;right:0}img.shot{aspect-ratio:4/5;object-fit:cover;width:auto;max-height:30dvh;padding:6px}.stats{justify-content:center;gap:10px;display:flex}.stat{min-width:92px;box-shadow:inset 0 0 0 1.5px var(--line);background:#ffffff14;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:10px 14px 9px;display:flex}.stat b{font:700 30px/1 var(--fd);font-variant-numeric:tabular-nums}.stat small{color:var(--dim);font-size:12px}.stat.hi{box-shadow:inset 0 0 0 2px var(--gold)}.stat.hi b{color:var(--gold)}.note{min-height:20px;color:var(--p1);margin:0;font-size:14px}.sheet{width:100%;max-width:480px;padding:10px calc(var(--sr) + 20px) calc(var(--sb) + 20px) calc(var(--sl) + 20px);background:linear-gradient(#2c1b74,#190e48);border-radius:30px 30px 0 0;flex-direction:column;align-items:center;gap:14px;animation:.4s cubic-bezier(.2,.9,.3,1.05) both sheet;display:flex;box-shadow:inset 0 1.5px #ffffff24,0 -20px 40px #08031e80}.sheet:before{content:"";background:#ffffff38;border-radius:3px;width:40px;height:5px;margin-bottom:2px}.sheet h2{font-size:28px}.sheet p{color:var(--dim);max-width:310px;margin:0;font-size:15px}@keyframes sheet{0%{transform:translateY(100%)}}.pill,.link{width:100%;max-width:340px;min-height:56px;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;background:#08031e80;border-radius:18px;align-items:center;gap:10px;padding:6px 6px 6px 16px;font-size:15px;display:flex}.link{white-space:nowrap;text-overflow:ellipsis;justify-content:center;padding:6px 16px;line-height:44px;display:block;overflow:hidden}.pill>.i{color:var(--gold)}.pill span{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pill .btn{height:44px;box-shadow:0 3px 0 var(--e);border-radius:14px;padding:0 14px;font-size:16px}.pill .btn:active{box-shadow:0 1px 0 var(--e);transform:translateY(2px)}.wait{color:var(--dim);align-items:center;gap:10px;font-size:14px;display:flex}.dots{gap:4px;display:inline-flex}.dots i{background:var(--p1);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{opacity:.4;transform:none}30%{opacity:1;transform:translateY(-5px)}}.linkbtn{color:var(--dim);text-underline-offset:3px;padding:6px 10px;font-size:15px;text-decoration:underline}.banner,#invite{left:50%;bottom:calc(var(--sb) + 104px);z-index:4;background:var(--glass);max-width:calc(100% - 24px);height:48px;box-shadow:inset 0 0 0 1.5px var(--line), 0 10px 24px #08031e59;white-space:nowrap;border-radius:24px;align-items:center;gap:10px;padding:0 6px 0 16px;font-size:14px;animation:.35s cubic-bezier(.3,1.4,.5,1) both pop;display:flex;position:absolute;transform:translate(-50%)}.banner.low{bottom:calc(var(--sb) + 20px);padding-right:18px}.banner span{text-overflow:ellipsis;overflow:hidden}.banner>.i{color:var(--p1);width:20px;height:20px}.banner .btn{height:36px;box-shadow:0 3px 0 var(--e);border-radius:18px;padding:0 14px;font-size:15px}#invite{background:linear-gradient(#ffd866, var(--gold));color:#3b2300;font:600 16px var(--fd);padding:0 18px;display:none;box-shadow:0 4px #c27c00,0 10px 24px #08031e59}#invite.show{display:flex}#invite i{background:#3b2300;border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.25;transform:scale(.6)}}#toast{left:50%;top:calc(var(--st) + 196px);z-index:9;color:#24145e;max-width:calc(100% - 32px);font:600 15px/1.2 var(--fd);pointer-events:none;opacity:0;background:#fff;border-radius:16px;align-items:center;gap:8px;padding:11px 16px;transition:opacity .2s,transform .25s cubic-bezier(.3,1.4,.5,1);display:flex;position:absolute;transform:translate(-50%,-12px)scale(.96);box-shadow:0 10px 26px #08031e73}#toast.show{opacity:1;transform:translate(-50%)}#toast .i{color:#10a57d}#fatal .i{width:64px;height:64px;color:var(--gold)}#demo{top:calc(var(--st) + 66px);z-index:20;gap:4px;font:12px system-ui;display:flex;position:absolute;right:6px}#demo button{background:#0000008c;border-radius:8px;padding:5px 9px}@media (height<=680px){.wm{--s:58px}.shot img,.shot>i{max-height:24dvh}.tag{font-size:17px}.steps li{padding:10px 4px 9px}.steps .i{width:24px;height:24px}.btn,.big,.ghost{height:52px}#rotBtn{width:64px;height:64px}#dropBtn{height:64px}#hint,.banner,#invite{bottom:calc(var(--sb) + 94px)}#dice{top:calc(var(--st) + 102px)}.scr,.acts,.sheet{gap:10px}.stat b{font-size:26px}.sheet h2{font-size:24px}}@media (width<=370px){.chip .nm{font-size:14px}#dropBtn{font-size:22px}.steps b{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#dragCue{z-index:2;pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;top:0;left:0}#dragCue.on{opacity:1}#dragCue i{font:700 40px/1 var(--fd);color:#fff;text-shadow:0 2px 8px #00000073;font-style:normal;animation:1s ease-in-out infinite alternate cueL;position:absolute;top:-22px}#dragCue i:first-child{left:-118px}#dragCue i:last-child{animation-name:cueR;left:96px}@keyframes cueL{0%{opacity:.4;transform:translate(0)}to{opacity:1;transform:translate(-12px)}}@keyframes cueR{0%{opacity:.4;transform:translate(0)}to{opacity:1;transform:translate(12px)}}@media (prefers-reduced-motion:reduce){#dragCue i{animation:none}}
