:root{color:#243247;font-synthesis:none;background:#e7efe4;font-family:Nunito Sans,Avenir,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:#e7efe4;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #d6a12a}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-shell{min-height:100vh;overflow:hidden}.game-stage{text-align:center;place-items:center;min-height:620px;padding:2.5rem 1.5rem 3.5rem;display:grid;position:relative}.mascot{z-index:1;mix-blend-mode:multiply;object-fit:contain;width:5.5rem;height:5.5rem;position:absolute;top:2rem}#game-content{z-index:2;width:min(100%,48rem);position:relative}.ready-content{justify-items:center;gap:1.6rem;padding-top:5rem;display:grid}.title-lockup h1,.game-prompt,.result-score strong,.scoreboard h2,.how-to-play h2,.game-story h2{margin:0;font-family:Atma,Nunito Sans,sans-serif;font-weight:700}.title-lockup h1{color:#243b67;text-transform:uppercase;font-size:clamp(3.25rem,7vw,5.5rem);line-height:.92}.title-lockup p{color:#243247;margin:1rem 0 0;font-size:1.2rem;font-weight:700;line-height:1.5}.game-intro{color:#243247;width:min(100%,34rem)}.game-intro h2{color:#243b67;margin:0 0 .25rem;font-family:Atma,Nunito Sans,sans-serif;font-size:1.55rem;font-weight:700;line-height:1.1}.game-intro p{margin:0;font-size:.98rem;font-weight:700;line-height:1.45}.player-form{text-align:left;gap:.7rem;width:min(100%,32rem);display:grid}.player-form label,.game-status,.scoreboard h2,.how-to-play h2{color:#243b67;letter-spacing:.08em;text-transform:uppercase;font-size:.92rem;font-weight:800}.player-form>input{color:#243247;background:#fff9ed;border:3px solid #243b67;border-radius:.7rem;width:100%;min-height:3.8rem;padding:.75rem 1rem;font-size:1.15rem}.player-form>input::placeholder{color:#647080}.language-picker{border:0;flex-wrap:wrap;gap:.35rem;min-width:0;margin:0;padding:0;display:flex}.language-picker legend{color:#243b67;letter-spacing:.08em;text-transform:uppercase;width:100%;margin-bottom:.35rem;font-size:.92rem;font-weight:800}.language-picker label{cursor:pointer;color:#243b67;text-align:center;background:#fff9ed;border:2px solid #243b67;border-radius:.4rem;flex:1;padding:.55rem .25rem;position:relative}.language-picker input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.language-picker label:has(input:checked){background:#d6a12a}.language-picker label:has(input:focus-visible){outline-offset:2px;outline:3px solid #52734d}.field-error{color:#a53d2b;min-height:1.25rem;margin:0;font-weight:700}.controls-button{color:#243b67;text-underline-offset:.25rem;background:0 0;border:0;justify-self:center;font-weight:800;text-decoration:underline}.start-button{color:#fff9ed;letter-spacing:.04em;text-transform:uppercase;background:#b9553b;border:3px solid #243b67;border-radius:.75rem;min-height:4rem;font-size:1.18rem;font-weight:800;box-shadow:0 5px #243b67}.start-button:active{transform:translateY(4px);box-shadow:0 1px #243b67}.play-content{justify-items:center;padding-top:2.5rem;display:grid}.game-status{justify-content:space-between;gap:1rem;width:min(100%,60rem);margin-bottom:2.5rem;display:flex}.game-status p{margin:0}.game-status strong{color:#243247;letter-spacing:0;font-size:1.15rem}.prompt-wrap{align-content:center;gap:.35rem;min-height:10rem;display:grid}.game-prompt{overflow-wrap:normal;word-break:normal;color:#243b67;text-transform:uppercase;width:100%;max-width:44rem;font-size:clamp(2.75rem,8vw,6.5rem);line-height:.96}.game-prompt-guidance{text-transform:none;max-width:32rem;font-family:Nunito Sans,Avenir,Helvetica,Arial,sans-serif;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;line-height:1.12}.prompt-helper,.table-helper{color:#243247;margin:0;font-size:1.1rem;font-weight:700}.table-control{touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:min(100%,22rem);height:10.5rem;margin-top:.5rem;display:block;position:relative}.tabletop{z-index:2;color:#fff9ed;letter-spacing:.04em;text-transform:uppercase;background:#b9553b;border:3px solid #243b67;border-radius:48% 48% 36% 36%/54% 54% 24% 24%;place-items:center;width:100%;height:6.4rem;font-size:1.6rem;font-weight:800;transition:transform .12s,box-shadow .12s;display:grid;position:absolute;top:0;left:0;box-shadow:inset 0 -.8rem #91432e}.table-leg{z-index:1;transform-origin:top;background:#91432e;border:3px solid #243b67;width:2.2rem;height:4.4rem;transition:transform .12s;position:absolute;top:5.6rem}.table-leg-left{left:1.3rem;transform:skew(-9deg)}.table-leg-right{right:1.3rem;transform:skew(9deg)}.table-control.is-held .tabletop{transform:translateY(5px);box-shadow:inset 0 -.35rem #91432e}.table-control.is-held .table-leg-left{transform:translateY(5px)skew(-9deg)}.table-control.is-held .table-leg-right{transform:translateY(5px)skew(9deg)}.table-helper{margin-top:-.45rem}.result-content{align-content:center;justify-items:center;gap:1rem;min-height:22rem;padding-top:3rem;display:grid;position:relative}.result-message{color:#a53d2b;max-width:36rem;margin:0;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;line-height:1.2}.result-score{color:#243247;margin:0;font-size:1.35rem;font-weight:700}.result-score strong{color:#52734d;vertical-align:middle;font-size:2.7rem}.global-rank{color:#243247;text-align:left;grid-template-rows:repeat(3,2.5rem);gap:.35rem;width:min(100%,24rem);min-height:8.2rem;font-weight:700;display:grid;position:relative}.global-rank.is-loading{overflow:hidden}.global-rank-row{grid-template-columns:3.5rem 3rem minmax(0,1fr);gap:.5rem;margin:0;padding:.35rem .5rem;display:grid}.global-rank-row[hidden]{display:none}.rank-loader-slot:first-child{grid-row:1}.rank-loader-slot:nth-child(2){grid-row:2}.rank-loader-slot:nth-child(3){grid-row:3}.global-rank-row span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-rank-row strong{color:#52734d}.global-rank-row.is-player{color:#243b67;background:#fff9ed;border:2px solid #243b67;border-radius:.4rem;font-weight:800;box-shadow:3px 3px #d6a12a}.rank-skeleton{align-items:center;min-height:2.5rem;animation:.95s linear infinite rank-pass}.rank-skeleton span{filter:blur(2px);opacity:.65;background:#9caaa6;border-radius:.2rem;height:.65rem;display:block}.rank-skeleton span:first-child{width:2.3rem}.rank-skeleton span:nth-child(2){width:2rem}.rank-skeleton span:nth-child(3){width:70%}.rank-skeleton:first-child{animation-delay:-630ms}.rank-skeleton:nth-child(2){animation-delay:-315ms}.rank-loader-player{z-index:1;min-height:2.5rem;animation:.9s ease-in-out infinite alternate rank-player-pulse;position:absolute;top:0;left:0;right:0}.rank-loader-player.is-resolved{animation:none}.rank-loader-slot:not(.rank-skeleton){animation:.32s ease-out both rank-row-reveal}@keyframes rank-pass{0%{opacity:0;transform:translateY(-2.85rem)}25%{opacity:.8}75%{opacity:.8}to{opacity:0;transform:translateY(2.85rem)}}@keyframes rank-player-pulse{0%{box-shadow:3px 3px #d6a12a}to{box-shadow:3px 3px #d6a12a,0 0 0 5px #d6a12a3d}}@keyframes rank-row-reveal{0%{opacity:.2;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}.confetti{pointer-events:none;height:14rem;position:absolute;inset:-3rem 0 auto;overflow:hidden}.confetti span{top:-1rem;left:var(--x);background:var(--color);width:.55rem;height:.8rem;animation:confetti-fall 1.8s ease-in var(--delay) both;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}75%{opacity:1}to{opacity:0;transform:translateY(18rem) rotate(var(--turn))}}.result-actions{justify-items:center;gap:1.25rem;margin-top:1rem;display:grid}.text-button{color:#243b67;text-underline-offset:.25rem;background:0 0;border:0;font-weight:800;text-decoration:underline}.controls-dialog{color:#243247;background:#fff9ed;border:3px solid #243b67;border-radius:.5rem;width:min(100% - 2rem,32rem);box-shadow:0 6px #243b67}.controls-dialog::backdrop{background:#243b6761}.controls-dialog-content{padding:1.5rem}.controls-dialog h2{color:#243b67;margin:0 0 1rem;font-family:Atma,Nunito Sans,sans-serif;font-size:2rem;font-weight:700}.controls-dialog p{margin:0 0 1rem;line-height:1.5}.scoreboard{text-align:center;width:min(100% - 3rem,44rem);margin:0 auto;padding:2.6rem 0 3rem}.scoreboard h2{margin:0 0 1.15rem;font-size:1.15rem}.scores-empty{color:#516173;margin:0;font-weight:700}.scores-list{text-align:left;gap:.55rem;max-width:28rem;margin:0 auto;padding:0;list-style-position:inside;display:grid}.scores-list li{color:#243247;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding-left:.35rem;font-size:1.05rem;font-weight:700;display:grid}.scores-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scores-list strong{color:#52734d}.how-to-play{text-align:center;background:#fff9ed;border-top:3px solid #52734d;padding:2rem 1.5rem}.how-to-play-inner{width:min(100%,52rem);margin:0 auto}.how-to-play h2,.game-story h2{margin-bottom:.55rem;font-size:1.15rem}.how-to-play p,.game-story p{color:#243247;margin:0;font-size:1.05rem;font-weight:700;line-height:1.55}.game-story p+h3{margin-top:1.5rem}.game-story h3{color:#243b67;margin-bottom:.45rem;font-family:Atma,Nunito Sans,sans-serif;font-size:1.3rem;font-weight:700;line-height:1.1}.how-to-play span{color:#d6a12a;padding:0 .35rem}.game-story{text-align:center;width:min(100% - 3rem,44rem);margin:0 auto;padding:2.5rem 0 3.5rem}.game-story h2{color:#243b67}@media (width>=760px){.game-stage[data-state=playing] .mascot,.game-stage[data-state=result] .mascot{width:7rem;height:7rem;top:11rem;left:max(3rem,13vw)}}@media (width<=640px){.game-stage{min-height:0;padding:1.25rem 1.25rem 2.25rem}.mascot{width:4.25rem;height:4.25rem;top:1rem}.ready-content{gap:1.15rem;padding-top:4.15rem}.title-lockup p{font-size:1rem}.game-intro h2{font-size:1.35rem}.game-intro p{font-size:.92rem;line-height:1.35}.game-status{margin-bottom:1.8rem;font-size:.78rem}.game-status strong{margin-top:.2rem;font-size:1rem;display:block}.prompt-wrap{min-height:8rem}.table-control{width:min(100%,17rem);height:9rem}.tabletop{height:5.45rem;font-size:1.25rem}.table-leg{width:1.85rem;height:3.8rem;top:4.75rem}.table-helper,.prompt-helper{font-size:.98rem}.scoreboard{width:min(100% - 2.5rem,44rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.confetti span{opacity:0;animation:none}.rank-skeleton span,.rank-loader-player,.rank-loader-slot:not(.rank-skeleton){animation:none}}
