.game-start-sequence .start-glow{animation-duration:4.6s}.game-start-sequence .start-copy{animation-duration:2.45s;animation-delay:.9s}.game-start-sequence .start-die{animation-duration:4.55s}
.celebration-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10000}.click-score-pop{position:fixed;z-index:10001;pointer-events:none;color:#ffdc70;text-shadow:0 2px 3px #503311,0 0 22px #ffbd37;background:#132b46ed;padding:8px 16px;border-radius:30px;font-size:22px;font-weight:900;white-space:nowrap;animation:click-pop 1.8s both}@keyframes click-pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.4)}20%{opacity:1;transform:translate(-50%,-100%) scale(1.15)}40%{transform:translate(-50%,-120%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-220%) scale(.95)}}
.game-start-sequence{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,#1a5f69 0%,#122b46 48%,#081622 100%);color:#fff;opacity:0;transition:opacity .22s ease}.game-start-sequence.go{opacity:1}.game-start-sequence.leaving{opacity:0}.start-glow{position:absolute;width:min(90vw,560px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 30deg,#34d3bd,#ffd45e,#ff638a,#8d7cff,#34d3bd);filter:blur(70px);opacity:.22;animation:start-glow 2.2s ease-in-out both}.start-copy{position:relative;z-index:2;text-align:center;transform:scale(.75);opacity:0;animation:start-copy 2.25s .55s cubic-bezier(.2,.8,.2,1) both}.start-copy span{display:block;color:#72f5df;font-size:13px;font-weight:850;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.start-copy strong{display:block;font-size:clamp(34px,10vw,62px);line-height:1.03;letter-spacing:-.04em;text-shadow:0 7px 28px #0008}.start-dice{position:absolute;z-index:3;display:flex;gap:clamp(7px,2.5vw,17px);align-items:center;justify-content:center}.start-die{display:grid;place-items:center;width:clamp(52px,15vw,82px);height:clamp(52px,15vw,82px);border-radius:18%;background:#fff;color:#122b46;font-size:clamp(44px,13vw,72px);line-height:1;box-shadow:0 12px 25px #0006,0 0 0 3px #ffffff55;transform:translate(0,0) rotate(0);animation-duration:2.3s;animation-delay:.35s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.18,.75,.22,1)}.die-1{color:#e84168;animation-name:die-one}.die-2{color:#f0a51f;animation-name:die-two}.die-3{color:#087f79;animation-name:die-three}.die-4{color:#7357d6;animation-name:die-four}.die-5{color:#1684d6;animation-name:die-five}@keyframes start-glow{0%{transform:scale(.4) rotate(0);opacity:0}35%{opacity:.34}100%{transform:scale(1.25) rotate(110deg);opacity:0}}@keyframes start-copy{0%,18%{opacity:0;transform:scale(.72)}38%,82%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}@keyframes die-one{0%,16%{transform:translate(0) rotate(0) scale(1)}35%{transform:translate(-36vw,-28vh) rotate(-390deg) scale(.82)}70%,100%{transform:translate(-48vw,-46vh) rotate(-680deg) scale(.45);opacity:0}}@keyframes die-two{0%,16%{transform:translate(0) rotate(0) scale(1)}35%{transform:translate(-23vw,32vh) rotate(430deg) scale(.9)}70%,100%{transform:translate(-38vw,49vh) rotate(760deg) scale(.45);opacity:0}}@keyframes die-three{0%,16%{transform:translate(0) rotate(0) scale(1)}35%{transform:translate(0,-40vh) rotate(-460deg) scale(.86)}70%,100%{transform:translate(9vw,-60vh) rotate(-820deg) scale(.4);opacity:0}}@keyframes die-four{0%,16%{transform:translate(0) rotate(0) scale(1)}35%{transform:translate(24vw,34vh) rotate(410deg) scale(.9)}70%,100%{transform:translate(40vw,52vh) rotate(750deg) scale(.45);opacity:0}}@keyframes die-five{0%,16%{transform:translate(0) rotate(0) scale(1)}35%{transform:translate(38vw,-25vh) rotate(-420deg) scale(.84)}70%,100%{transform:translate(50vw,-44vh) rotate(-740deg) scale(.42);opacity:0}}
.winner-reveal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;color:white;background:radial-gradient(ellipse at 50% 35%,#263041 0%,#080d17 65%);overflow:auto;overscroll-behavior:contain;text-align:center}.winner-reveal[open]{display:grid;place-items:center;animation:reveal-dark .5s both}.winner-reveal::backdrop{background:#080d17}.reveal-content{position:relative;z-index:10001;width:min(100%,540px);padding:20px 0}.reveal-kicker{font-size:12px;letter-spacing:.22em;font-weight:800;color:#ffcf65}.reveal-symbol{font-size:80px;line-height:1.3;color:#ffcf65;filter:drop-shadow(0 0 28px #ffc65855);margin:20px auto}.winner-reveal h1{font-size:clamp(30px,7vw,48px);line-height:1.13;overflow-wrap:anywhere;margin:20px 0 12px;color:#fff}.reveal-detail{color:#c5cedb;font-size:16px;margin:0 0 28px}.hold-reveal{--hold:0deg;position:relative;isolation:isolate;min-height:92px;width:min(100%,290px);padding:20px;border:0;border-radius:46px;color:#fff;font-weight:800;font-size:17px;background:conic-gradient(#ffd268 var(--hold),#ffffff20 0);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.hold-reveal:before{content:'';position:absolute;inset:4px;background:#152032;border-radius:42px;z-index:-1}.hold-reveal.holding{box-shadow:0 0 40px #ffd26833}.hold-hint{font-size:13px;color:#a9b6c9;margin:14px 0 24px}.reveal-skip{display:block;margin:20px auto 0;background:transparent;border:0;color:#c5cedb;text-decoration:underline;font-size:14px;padding:12px 22px;min-height:44px}.results-action{background:#ffd268;color:#142135;border-radius:14px;font-size:16px;font-weight:800;text-decoration:none;min-height:50px}.is-revealed .reveal-symbol{font-size:clamp(100px,28vw,160px);animation:trophy-arrival .85s cubic-bezier(.2,.8,.2,1.2) both}.is-revealed h1{animation:winner-arrival .65s .1s both}.is-revealed{background:radial-gradient(ellipse at 50% 35%,#524024 0%,#111c2e 45%,#080d17 85%)}@keyframes reveal-dark{from{opacity:0}to{opacity:1}}@keyframes trophy-arrival{0%{transform:translateY(60px) scale(.25) rotate(-18deg);opacity:0}65%{transform:translateY(-8px) scale(1.12) rotate(5deg);opacity:1}100%{transform:none;opacity:1}}@keyframes winner-arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.click-score-pop{transform:translate(-50%,-100%)}.winner-reveal,.winner-reveal *{animation:none!important;transition:none!important}.game-start-sequence,.game-start-sequence *{animation:none!important;transition:opacity .15s!important}.game-start-sequence.go .start-copy{opacity:1;transform:none}.game-start-sequence.go .start-dice{opacity:.25}}
