html{height:100%}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden}#root,body{min-height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{--header-height:56px;display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:100svh;overflow:hidden;position:relative}.header{align-items:center;background-color:#f0f0f0;display:flex;flex-shrink:0;gap:8px;justify-content:space-between;min-height:var(--header-height);padding:calc(8px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}.header h1{flex:1 1;font-size:clamp(1.05rem,4.8vw,1.5rem);line-height:1.1;margin:0;min-width:0;text-align:center;white-space:nowrap}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end}.header-button{border:none;border-radius:999px;cursor:pointer;flex-shrink:0;font-weight:600;min-height:40px;padding:9px clamp(10px,3vw,14px);transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;white-space:nowrap}.header-button:hover{transform:translateY(-1px)}.header-button:active{transform:translateY(0)}.reset-button{background-color:#fee4e2;box-shadow:inset 0 0 0 1px #fecdca;color:#b42318}.reset-button:hover{background-color:#fecdca}.new-set-button{background-color:#dbeafe;box-shadow:inset 0 0 0 1px #bfdbfe;color:#175cd3}.new-set-button:hover{background-color:#bfdbfe}.settings-button{background-color:#fff;box-shadow:inset 0 0 0 1px #d0d5dd;color:#344054}.settings-button:hover{background-color:#f9fafb}.celebrate-button{background-color:#fef0c7;box-shadow:inset 0 0 0 1px #fedf89;color:#7a2e0e;display:none}.celebrate-button:hover{background-color:#fedf89}.game,.side{display:flex;flex:1 1;min-height:0;overflow:hidden}.side{color:#fff;cursor:pointer;flex-direction:column;min-width:0;padding-bottom:max(4px,env(safe-area-inset-bottom));position:relative;-webkit-user-select:none;user-select:none}.side.red{background-color:#991b1b}.side.blue{background-color:blue}.side h2{flex-shrink:0;font-size:clamp(.9rem,3.4vw,1.35rem);font-weight:600;line-height:1.1;margin:8px 52px 0 10px;overflow-wrap:anywhere;text-transform:uppercase}.score{align-items:center;display:flex;flex:1 1;font-size:clamp(8rem,42vmin,32rem);font-weight:900;justify-content:center;line-height:.9;margin:0;min-height:0;overflow:hidden}.decrement-btn{background-color:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.8em;height:38px;position:absolute;right:8px;top:max(8px,env(safe-area-inset-top));width:38px}.winner-badge{background-color:#ffffff26;border-radius:20px;bottom:20px;font-weight:700;left:50%;padding:10px;position:absolute;transform:translateX(-50%);white-space:nowrap}.winner-overlay{align-items:flex-start;background-color:#00000073;bottom:0;display:flex;justify-content:center;left:0;padding:clamp(16px,6vh,50px) 16px 16px;position:absolute;right:0;top:var(--header-height)}.winner-message{background-color:#101828d1;border-radius:8px;box-shadow:0 24px 80px #1018286b;color:#fff;max-width:min(90vw,420px);padding:20px;text-align:center}.winner-message h2{font-size:1.5em;font-weight:700;margin:0 0 10px}.winner-message p{font-size:.9em;margin:0;opacity:.9}.notification-toast{align-items:center;background:#10182894;color:#fff;display:flex;inset:0;justify-content:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));pointer-events:none;position:fixed;text-align:center;z-index:5}.notification-card{border-radius:8px;box-shadow:0 24px 80px #1018286b}.notification-copy{display:flex;flex-direction:column;gap:4px}.score-animation-toast{animation:score-toast-backdrop var(--score-animation-duration) ease forwards}.score-animation-card{grid-gap:14px;animation:score-toast-pop var(--score-animation-duration) ease forwards;background:#fffffff5;border-radius:8px;color:#101828;display:grid;gap:14px;grid-template-rows:minmax(0,1fr) auto;max-height:min(84vh,620px);padding:clamp(12px,3vw,18px);width:min(88vw,520px)}.score-animation-media{background:#f2f4f7;border-radius:6px;height:min(52vh,390px);min-height:min(42vh,320px);overflow:hidden;position:relative;width:100%}.score-animation-image,.score-animation-image-fallback{height:100%;inset:0;position:absolute;width:100%}.score-animation-image{object-fit:contain;transition:opacity .12s ease}.score-animation-image.loading{opacity:0}.score-animation-image.loaded{opacity:1}.score-animation-image-fallback{align-items:center;color:#101828;display:flex;font-size:clamp(2.4rem,15vw,5.5rem);font-weight:900;justify-content:center;line-height:.9;padding:24px;text-transform:uppercase}.score-animation-toast strong{font-size:clamp(1.35rem,5vw,2.2rem);line-height:1.1}.score-animation-toast span{font-size:clamp(1rem,3vw,1.2rem);line-height:1.2}.game-notification-toast{animation:score-toast-backdrop var(--game-notification-duration) ease forwards;z-index:6}.game-notification-card{animation:score-toast-pop var(--game-notification-duration) ease forwards;color:#fff;display:flex;flex-direction:column;gap:clamp(8px,2vw,16px);justify-content:center;min-height:min(42vh,360px);padding:clamp(24px,7vw,56px);text-transform:uppercase;width:min(90vw,720px)}.game-notification-card.red{background:linear-gradient(135deg,#b42318,#f04438)}.game-notification-card.blue{background:linear-gradient(135deg,#175cd3,#2e90fa)}.game-notification-card.neutral{background:linear-gradient(135deg,#101828,#475467)}.game-notification-card strong{font-size:clamp(3.2rem,15vw,8.5rem);font-weight:950;letter-spacing:0;line-height:.9}.game-notification-card span{font-size:clamp(1.35rem,5.6vw,3rem);font-weight:850;letter-spacing:0;line-height:1.05}.celebration-overlay{align-items:center;background:radial-gradient(circle at 50% 42%,#ffffff3d,#0000 28%),linear-gradient(135deg,#101828eb,#344054e0);color:#fff;display:flex;inset:0;justify-content:center;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));position:fixed;text-align:center;z-index:20}.celebration-overlay.tint-red{background:radial-gradient(circle at 50% 42%,#ffe8e847,#0000 30%),linear-gradient(135deg,#7a242ef5,#fa7058e6,#101828e0)}.celebration-overlay.tint-blue{background:radial-gradient(circle at 50% 42%,#e1f1ff52,#0000 30%),linear-gradient(135deg,#1f3f78f5,#36bffae0,#101828e6)}.celebration-overlay.tint-rainbow{background:radial-gradient(circle at 50% 42%,#ffffff47,#0000 30%),conic-gradient(from 210deg at 50% 50%,#f04438,#fdb022,#12b76a,#2e90fa,#7a5af8,#f04438)}.celebration-content{align-items:center;animation:celebration-message-pop .78s cubic-bezier(.2,1.4,.3,1) both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10182842;border-radius:8px;box-shadow:0 28px 90px #10182861;display:flex;gap:clamp(8px,2vw,14px);justify-content:center;max-height:calc(100dvh - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:clamp(16px,5vw,48px);position:relative;width:min(92vw,820px);z-index:2}.celebration-content strong{text-wrap:balance;font-size:clamp(2.45rem,12vw,7.6rem);font-weight:950;letter-spacing:0;line-height:.98;max-width:100%;overflow-wrap:normal;text-shadow:0 8px 30px #1018286b;text-transform:uppercase;word-break:normal}.celebration-content .celebration-message-medium{font-size:clamp(2.2rem,10.5vw,6.8rem);line-height:1}.celebration-content .celebration-message-long{font-size:clamp(1.85rem,8.6vw,5.4rem);line-height:1.05}.celebration-dismiss{background:#1018286b;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff47;color:#fff;cursor:pointer;font-size:2rem;height:44px;line-height:1;position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:44px;z-index:3}.celebration-dismiss:hover{background:#1018289e}.celebration-effect{inset:0;pointer-events:none;position:absolute}.celebration-particle{display:block;position:absolute}.confetti-piece,.party-streamer{animation:celebration-burst 1.25s ease-out var(--particle-delay) both;background:#fdb022;border-radius:3px;height:26px;left:50%;top:50%;width:12px}.confetti-piece:nth-child(3n),.party-streamer:nth-child(3n){background:#36bffa}.confetti-piece:nth-child(3n+1),.party-streamer:nth-child(3n+1){background:#f04438}.confetti-piece:nth-child(3n+2),.party-streamer:nth-child(3n+2){background:#12b76a}.firework-spark{animation:celebration-firework 1.1s ease-out var(--particle-delay) both;background:#fff2b8;border-radius:50%;box-shadow:0 0 20px #fff2b8;height:10px;left:50%;top:42%;width:10px}.fireworks-effect:after,.fireworks-effect:before{animation:celebration-ring 1.4s ease-out both;aspect-ratio:1;border:2px solid #ffffff70;border-radius:50%;content:"";position:absolute;width:min(44vw,220px)}.fireworks-effect:before{left:12%;top:18%}.fireworks-effect:after{animation-delay:.26s;bottom:16%;right:10%}.floating-star{animation:celebration-float 3.2s ease-in-out var(--particle-delay) infinite;bottom:-12vh;color:#fff2b8;font-size:clamp(1.8rem,8vw,4rem);left:var(--particle-left);text-shadow:0 0 20px #fff2b8cc}.trophy-effect{align-items:center;display:flex;justify-content:center}.trophy-rays{animation:celebration-spin 5.2s linear infinite;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,#fff2b875 0 7deg,#0000 7deg 17deg);border-radius:50%;position:absolute;width:min(92vw,620px)}.giant-trophy{animation:celebration-trophy 1.3s cubic-bezier(.2,1.4,.3,1) both;filter:drop-shadow(0 18px 45px rgba(16,24,40,.42));font-size:clamp(9rem,42vw,24rem);position:relative;z-index:1}.volleyball-drop{animation:celebration-rain 2.6s linear var(--particle-delay) infinite;filter:drop-shadow(0 12px 20px rgba(16,24,40,.34));font-size:clamp(2.2rem,10vw,4.8rem);left:var(--particle-left);top:-16vh}.party-popper{animation:celebration-party-popper 1.2s cubic-bezier(.2,1.4,.3,1) both;bottom:10%;filter:drop-shadow(0 18px 30px rgba(16,24,40,.36));font-size:clamp(4rem,18vw,9rem);position:absolute;z-index:1}.party-popper.left{left:8%;transform-origin:bottom left}.party-popper.right{animation-delay:.12s;right:8%;transform-origin:bottom right}@keyframes celebration-message-pop{0%{opacity:0;transform:translateY(28px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes celebration-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateY(0) scale(.35)}12%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateY(-46vh) scale(1) rotate(240deg)}}@keyframes celebration-firework{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateY(0) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translateY(-28vh) scale(1.1)}}@keyframes celebration-ring{0%{opacity:.75;transform:scale(.12)}to{opacity:0;transform:scale(1.6)}}@keyframes celebration-float{0%{opacity:0;transform:translateY(0) rotate(0deg) scale(.75)}20%{opacity:1}to{opacity:0;transform:translateY(-118vh) rotate(220deg) scale(1.1)}}@keyframes celebration-spin{to{transform:rotate(1turn)}}@keyframes celebration-trophy{0%{opacity:0;transform:scale(.52) rotate(-9deg)}60%{opacity:1;transform:scale(1.08) rotate(4deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes celebration-rain{0%{opacity:0;transform:translateY(0) rotate(0deg)}10%{opacity:1}to{opacity:.8;transform:translateY(124vh) rotate(380deg)}}@keyframes celebration-party-popper{0%{opacity:0;transform:scale(.58) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes score-toast-backdrop{0%{opacity:0}6%{opacity:1}86%{opacity:1}to{opacity:0}}@keyframes score-toast-pop{0%{opacity:0;transform:translateY(18px) scale(.9) rotate(-1.5deg)}6%{opacity:1;transform:translateY(0) scale(1.03) rotate(1deg)}14%{transform:translateY(0) scale(1) rotate(0deg)}88%{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}to{opacity:0;transform:translateY(-14px) scale(.96) rotate(.5deg)}}.modal-overlay{align-items:center;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:fixed}.modal{background-color:#fff;border-radius:8px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:400px;overflow:auto;padding:clamp(16px,4vw,20px);width:min(100%,400px)}.modal h2{margin-top:0}.modal form{display:flex;flex-direction:column}.modal label{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.modal input{margin-left:0;min-width:0;width:min(56%,210px)}.modal .checkbox-setting{gap:10px;justify-content:flex-start}.modal .checkbox-setting input{flex-shrink:0;height:18px;margin:0;width:18px}.settings-section{border:1px solid #eaecf0;border-radius:8px;margin:6px 0 10px;padding:12px}.settings-section legend{color:#344054;font-weight:800;padding:0 4px}.settings-section .checkbox-setting:last-child{margin-bottom:0}.stepper-setting{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.stepper-control{align-items:center;background-color:#f9fafb;border:1px solid #d0d5dd;border-radius:999px;display:inline-flex;overflow:hidden}.stepper-control button{background-color:#fff;border:none;color:#344054;font-size:1.25em;font-weight:700;height:36px;width:40px}.stepper-control button:disabled{background-color:#f2f4f7;color:#98a2b3}.stepper-control output{color:#101828;font-weight:700;min-width:42px;text-align:center}.modal-actions{display:flex;justify-content:flex-end;margin-top:20px}.modal-actions button{margin-left:10px}.install-hint{color:#475467;font-size:.9em;line-height:1.4;margin:14px 0 0}.app-version{color:#667085;font-size:.8em;margin:18px 0 0;text-align:center}@media (max-width:380px){.header{gap:6px}.header-button{font-size:.85rem;padding-inline:9px}.side h2{margin-right:44px}.decrement-btn{font-size:1.5em;height:34px;width:34px}.celebration-dismiss{height:40px;width:40px}}@media (hover:hover) and (pointer:fine){.celebrate-button{align-items:center;display:inline-flex;justify-content:center}}@media (max-height:430px) and (orientation:landscape){.header{--header-height:48px;padding-bottom:6px;padding-top:max(6px,env(safe-area-inset-top))}.side h2{font-size:clamp(.8rem,4vh,1rem);margin-top:4px}.score{font-size:clamp(5rem,58vh,12rem)}.winner-badge{bottom:10px}}@media (prefers-reduced-motion:reduce){.celebration-content,.celebration-particle,.fireworks-effect:after,.fireworks-effect:before,.giant-trophy,.party-popper,.trophy-rays{animation:none}.celebration-effect{display:none}}
/*# sourceMappingURL=main.939d9299.css.map*/