@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@600;700&family=Nunito:wght@700;800;900&display=swap";:root{color-scheme:dark;--purple-950: #24104f;--purple-900: #301568;--purple-800: #44218e;--purple-700: #5d2bc0;--purple-600: #7737e0;--blue: #55c9ff;--mint: #43edbc;--mint-dark: #20a887;--yellow: #ffd65a;--yellow-dark: #c98b24;--coral: #ff7189;--cream: #fff9ff;--card: #f1ecff;--card-alt: #ded4f5;--ink: #28175e;--white: #fffaff;--shadow: #28105f}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;min-height:100%;margin:0}html{background:var(--purple-900)}body{overflow:hidden;color:var(--white);background:var(--purple-900);font-family:Nunito,system-ui,sans-serif}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:4px solid var(--mint);outline-offset:3px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.78}[hidden]{display:none!important}canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block;touch-action:none}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.menu-screen{--menu-inset-x: max(22px, calc((100vw - 1480px)/2) );--ad-rail-width: 180px;--ad-rail-gap: 18px;position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;min-width:320px;overflow:hidden;background:radial-gradient(circle at 8% 92%,rgba(255,82,151,.76),transparent 34%),radial-gradient(circle at 94% 5%,rgba(81,109,255,.9),transparent 38%),linear-gradient(135deg,#a522ad,#7327d5 42%,#394fdd)}.menu-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.12;background-image:radial-gradient(circle,#21064c 1.5px,transparent 1.7px),linear-gradient(118deg,transparent 0 45%,rgba(255,255,255,.34) 46% 48%,transparent 49% 100%);background-size:15px 15px,270px 270px;-webkit-mask-image:linear-gradient(125deg,#000,transparent 46%,#000);mask-image:linear-gradient(125deg,#000,transparent 46%,#000)}.game-frame{position:absolute;z-index:1;inset:22px var(--menu-inset-x);display:flex;flex-direction:column;min-height:0;overflow:hidden;border:3px solid rgba(255,255,255,.2);border-radius:28px;background:#4c1a9e6b;box-shadow:inset 0 0 0 3px #2f0f6947,0 16px #2d0d682e}.menu-screen--with-ad .game-frame{right:calc(var(--menu-inset-x) + var(--ad-rail-width) + var(--ad-rail-gap))}.game-frame:after{content:"";position:absolute;pointer-events:none;top:9px;right:9px;bottom:9px;left:9px;border:2px solid rgba(255,255,255,.08);border-radius:20px}.game-frame>*{position:relative;z-index:1}.game-topbar{flex:0 0 118px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:15px 30px 8px}.game-text-button{justify-self:start;min-height:50px;padding:8px 17px;color:var(--white);border:3px solid rgba(255,255,255,.38);border-radius:14px;background:#3714777a;box-shadow:0 5px #23095385;font:900 15px/1 Nunito,sans-serif;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.game-text-button>span{margin-right:8px;font-size:20px}.game-text-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.game-text-button:active{box-shadow:0 1px #23095385;transform:translateY(4px)}.sound-sticker{justify-self:end;display:grid;width:50px;height:50px;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:50%;background:var(--yellow);box-shadow:0 5px 0 var(--shadow);font:900 25px/1 Fredoka,sans-serif;transform:rotate(5deg)}.topbar-actions{justify-self:end;display:inline-flex;align-items:center;gap:10px}.language-picker{position:relative;justify-self:end;display:inline-flex;min-width:154px;min-height:52px;align-items:center;gap:8px;padding:6px 10px 6px 8px;color:var(--white);border:3px solid var(--ink);border-radius:15px;background:var(--mint);box-shadow:0 5px 0 var(--ink);font-size:11px;font-weight:900;text-transform:uppercase;transform:rotate(1deg)}.language-picker:before{content:"文";display:grid;flex:0 0 31px;width:31px;height:31px;place-items:center;color:var(--ink);border:2px solid var(--ink);border-radius:10px;background:var(--yellow);box-shadow:inset 0 2px #ffffff5c;font:900 15px/1 Nunito,sans-serif}.language-picker:after{content:"";position:absolute;right:12px;bottom:16px;width:9px;height:9px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);pointer-events:none;transform:rotate(45deg)}.language-picker span{position:absolute;top:5px;left:49px;color:var(--purple-800);font-size:9px;line-height:1}.language-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;width:100%;min-height:35px;padding:14px 22px 2px 0;color:var(--ink);border:0;border-radius:0;background:transparent;box-shadow:none;font-size:15px;font-weight:900;cursor:pointer;outline:0}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;filter:drop-shadow(0 4px 0 rgba(39,10,91,.8))}.brand>span:nth-child(2){display:grid;line-height:.8;transform:rotate(-2deg)}.brand b,.brand strong{font:700 24px/1 Fredoka,sans-serif;letter-spacing:-.8px;text-shadow:0 2px 0 var(--ink)}.brand strong{color:var(--yellow)}.brand em{align-self:end;margin:0 0 1px -4px;padding:5px 8px;color:var(--ink);border:2px solid var(--ink);border-radius:8px;background:var(--mint);font:900 10px/1 Nunito,sans-serif;font-style:normal;letter-spacing:.5px}.brand-mark{display:grid;width:58px;height:58px;grid-template-columns:1fr 1fr;gap:4px;padding:6px;border:3px solid var(--ink);border-radius:17px;background:var(--cream);box-shadow:0 5px 0 var(--ink);transform:rotate(-5deg)}.brand-mark i{border:2px solid var(--ink);border-radius:5px}.brand-mark i:nth-child(1){background:var(--coral)}.brand-mark i:nth-child(2){background:var(--blue)}.brand-mark i:nth-child(3){background:var(--yellow)}.brand-mark i:nth-child(4){background:var(--mint)}.brand--compact em{display:none}.button,.arcade-button{min-height:54px;padding:10px 20px;border:3px solid var(--ink);border-radius:14px;font:900 16px/1 Nunito,sans-serif;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.button:not(:disabled):hover,.arcade-button:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-2px)}.button:not(:disabled):active,.arcade-button:not(:disabled):active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.button--primary{color:var(--ink);background:var(--yellow);box-shadow:0 6px 0 var(--ink)}.button--secondary{color:var(--ink);background:var(--mint);box-shadow:0 6px 0 var(--ink)}.button--ready{color:var(--ink);background:#bff9e9;box-shadow:0 6px 0 var(--ink)}.button--ghost{background:#ffffff1a}.button--quiet{background:var(--purple-800)}.button--small{min-height:46px;padding:8px 14px;font-size:14px}.button--large{min-height:62px;font-size:19px}.button.is-loading,.menu-tile.is-loading{color:transparent;position:relative}.button.is-loading:after,.menu-tile.is-loading:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px;border:4px solid rgba(40,23,94,.24);border-top-color:var(--ink);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-menu{flex:1 1 auto;min-height:0;width:min(1180px,calc(100% - 54px));margin:0 auto;padding:4px 0 16px;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(490px,1.1fr);align-items:center;gap:clamp(22px,3vw,44px)}.player-card{position:relative;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 34px 34px;color:var(--ink);border:4px solid var(--ink);border-radius:28px;background:linear-gradient(155deg,var(--card),#d8cafa);box-shadow:0 10px 0 var(--shadow),inset 0 0 0 4px #ffffff6b}.player-card:before,.player-card:after{content:"";position:absolute;width:34px;height:34px;border:3px solid var(--ink);background:var(--yellow);transform:rotate(15deg)}.player-card:before{top:22px;left:25px;border-radius:50%}.player-card:after{right:27px;bottom:30px;border-radius:8px;background:var(--blue);transform:rotate(-12deg)}.color-buddy{position:relative;width:210px;height:220px;margin:-15px 0 8px}.buddy-shadow{position:absolute;left:35px;right:25px;bottom:12px;height:26px;border-radius:50%;background:#28175e38}.buddy-body{position:absolute;top:31px;left:28px;display:block;width:160px;height:160px;border:6px solid var(--ink);border-radius:47% 53% 45% 55%/52% 46% 54% 48%;background:linear-gradient(145deg,#ff758b 0,#ff758b 48%,#55c9ff 49%,#55c9ff 72%,#ffd65a 73%);box-shadow:inset 14px 13px #ffffff38,0 8px 0 var(--ink);transform:rotate(-4deg)}.buddy-body i{position:absolute;top:47px;width:32px;height:39px;border:5px solid var(--ink);border-radius:50%;background:#fff}.buddy-body i:after{content:"";position:absolute;top:10px;left:9px;width:10px;height:13px;border-radius:50%;background:var(--ink)}.buddy-body i:first-child{left:35px}.buddy-body i:nth-child(2){right:34px}.buddy-body b{position:absolute;top:85px;left:65px;font:900 33px/1 Arial,sans-serif;transform:rotate(4deg)}.buddy-foot{position:absolute;bottom:1px;width:53px;height:31px;border:5px solid var(--ink);border-radius:50%;background:var(--mint)}.buddy-foot--left{left:34px;transform:rotate(-12deg)}.buddy-foot--right{right:24px;background:var(--yellow);transform:rotate(12deg)}.buddy-spark{position:absolute;z-index:2;color:var(--yellow);font:900 34px/1 Fredoka,sans-serif;text-shadow:2px 2px 0 var(--ink)}.buddy-spark--one{top:12px;right:0;transform:rotate(14deg)}.buddy-spark--two{top:64px;left:2px;color:var(--mint);font-size:24px}.player-card__copy{width:100%;text-align:center}.screen-label,.section-kicker{color:var(--purple-700);font-size:15px;font-weight:900;letter-spacing:.7px}.player-card h1{margin:5px 0 18px;font:700 clamp(28px,3vw,39px)/1 "Fredoka",sans-serif;letter-spacing:-1px}.name-field{position:relative;width:100%}.name-field input{width:100%;min-height:68px;padding:12px 17px 12px 66px;color:var(--ink);border:4px solid var(--ink);border-radius:16px;background:var(--cream);box-shadow:inset 0 -5px #d8cdf0;font:900 19px/1 Nunito,sans-serif;outline:0}.name-field input::placeholder{color:#7969a1}.avatar-dot{position:absolute;z-index:1;top:50%;left:14px;display:grid;width:39px;height:39px;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:12px;background:var(--yellow);transform:translateY(-50%) rotate(-5deg)}.play-menu{display:grid;gap:16px}.menu-tile{position:relative;min-height:116px;display:grid;grid-template-columns:78px minmax(0,1fr) 40px;align-items:center;gap:16px;padding:18px 22px;color:var(--ink);border:4px solid var(--ink);border-radius:22px;background:var(--card);box-shadow:0 8px 0 var(--shadow);text-align:left}button.menu-tile{cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}button.menu-tile:hover{filter:brightness(1.04);transform:translateY(-3px) rotate(-.4deg)}button.menu-tile:active{box-shadow:0 2px 0 var(--shadow);transform:translateY(6px)}.menu-tile--create{background:var(--yellow)}.menu-tile--quick{background:var(--mint)}.menu-tile--code{grid-template-columns:78px minmax(150px,.75fr) minmax(230px,1.25fr);background:var(--card-alt)}.menu-tile__icon{display:grid;width:68px;height:68px;place-items:center;border:4px solid var(--ink);border-radius:19px;background:var(--cream);box-shadow:0 5px 0 var(--ink);font:900 36px/1 Fredoka,sans-serif;transform:rotate(-4deg)}.menu-tile--quick .menu-tile__icon{background:var(--blue);transform:rotate(4deg)}.menu-tile--code .menu-tile__icon{background:var(--coral)}.menu-tile__copy{display:grid;gap:5px}.menu-tile__copy strong{font:700 clamp(22px,2.2vw,30px)/1 "Fredoka",sans-serif;letter-spacing:-.5px}.menu-tile__copy small{color:#5d4d86;font-size:15px;font-weight:800}.menu-tile>i{justify-self:end;font:700 48px/1 Fredoka,sans-serif;font-style:normal}.code-entry{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:8px}.code-entry input,.code-entry button{min-height:58px;color:var(--ink);border:3px solid var(--ink);border-radius:13px}.code-entry input{min-width:0;width:100%;padding:8px 12px;background:var(--cream);font:900 19px/1 Fredoka,sans-serif;letter-spacing:2px;text-transform:uppercase;outline:0}.code-entry button{padding:8px 14px;background:var(--blue);box-shadow:0 4px 0 var(--ink);font-size:14px;font-weight:900;cursor:pointer}.home-controls{flex:0 0 69px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 30px;color:#ffffffe6;font-size:14px;font-weight:900}.home-controls__keys{grid-column:2;display:flex;align-items:center;justify-content:center;gap:34px}.home-controls__keys>span{display:flex;align-items:center;gap:8px}.home-legal{justify-self:end;display:flex;align-items:center;gap:14px;font-size:12px}.home-legal a{color:#ffffffd1;text-decoration:none;white-space:nowrap}.home-legal a:hover{color:var(--yellow);text-decoration:underline;text-underline-offset:3px}kbd{min-width:42px;padding:8px 9px 6px;color:var(--ink);border:3px solid var(--ink);border-radius:9px;background:var(--cream);box-shadow:0 4px 0 var(--ink);font:900 12px/1 Nunito,sans-serif;text-align:center}.form-message{min-height:22px;margin:10px 0 0;color:#ffb5c2;font-size:15px;font-weight:900}.home-message{position:absolute;right:30px;bottom:12px;left:30px;margin:0;text-align:center;pointer-events:none}.how-dialog{width:min(680px,calc(100% - 28px));padding:34px;color:var(--ink);border:5px solid var(--ink);border-radius:28px;background:linear-gradient(155deg,var(--card),#d9cdf6);box-shadow:0 12px 0 var(--shadow),0 35px 100px #18063b8c}.how-dialog::backdrop{background:#22074fad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.how-dialog h2{margin:7px 0 22px;font:700 40px/1 Fredoka,sans-serif}.dialog-close{position:absolute;top:17px;right:17px;display:grid;width:46px;height:46px;padding:0;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:13px;background:var(--coral);box-shadow:0 4px 0 var(--ink);font-size:27px;cursor:pointer}.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 24px;padding:0;list-style:none}.steps-list li{min-width:0;display:grid;justify-items:center;gap:10px;padding:18px 13px;border:3px solid var(--ink);border-radius:17px;background:var(--cream);text-align:center}.steps-list li>span{display:grid;width:48px;height:48px;place-items:center;border:3px solid var(--ink);border-radius:14px;background:var(--mint);box-shadow:0 4px 0 var(--ink);font:700 21px/1 Fredoka,sans-serif;transform:rotate(-4deg)}.steps-list li:nth-child(2)>span{background:var(--yellow);transform:rotate(3deg)}.steps-list li:nth-child(3)>span{background:var(--coral)}.steps-list b{font-size:16px}.steps-list p{margin:5px 0 0;color:#66558d;font-size:14px;line-height:1.35}.how-dialog>.button{width:100%}.dialog-message{margin:-8px 0 24px;color:#66558d;font-size:17px;font-weight:900;line-height:1.35}.kicked-dialog{text-align:center}.room-topbar{flex-basis:96px;padding-top:10px}.room-topbar .brand-mark{width:47px;height:47px;border-radius:14px}.room-topbar .brand b,.room-topbar .brand strong{font-size:20px}.room-code{justify-self:end;min-height:51px;display:flex;align-items:center;gap:10px;padding:7px 12px;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--yellow);box-shadow:0 5px 0 var(--ink);cursor:pointer}.room-code span{font-size:12px;font-weight:900}.room-code b{font:700 19px/1 Fredoka,sans-serif;letter-spacing:2px}.room-code i{font-size:19px;font-style:normal}.room-board{flex:1 1 auto;min-height:0;width:min(1360px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:minmax(270px,31%) minmax(0,69%);gap:16px}.players-deck,.setup-deck{min-width:0;min-height:0;border:4px solid var(--ink);border-radius:23px;background:var(--purple-800);box-shadow:0 8px 0 var(--shadow),inset 0 0 0 3px #ffffff14;overflow:hidden}.players-deck{display:flex;flex-direction:column;padding:18px}.setup-deck{display:flex;flex-direction:column}.deck-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.deck-heading h1{margin:0;color:var(--mint);font:700 clamp(21px,2vw,28px)/1 "Fredoka",sans-serif;text-shadow:0 3px 0 var(--ink)}.deck-heading h1 span{color:var(--white)}.round-icon-button{display:grid;flex:0 0 48px;height:48px;padding:0;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:50%;background:var(--mint);box-shadow:0 4px 0 var(--ink);font:900 24px/1 Fredoka,sans-serif;cursor:pointer}.members-list{flex:1 1 auto;min-height:0;margin:16px -3px 12px 0;padding-right:5px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--mint) rgba(255,255,255,.08)}.member-card{min-height:69px;display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;align-items:center;gap:11px;margin-bottom:9px;padding:9px 11px;color:var(--ink);border:3px solid var(--ink);border-radius:16px;background:var(--card);box-shadow:0 4px 0 var(--ink)}.member-card.is-me{background:#bff9e8}.member-avatar,.rank-avatar{display:grid;place-items:center;color:var(--ink);border:3px solid var(--ink);font-weight:900}.member-avatar{width:48px;height:48px;border-radius:15px;transform:rotate(-3deg)}.member-avatar--image,.rank-avatar--image{overflow:hidden;background:#fff}.member-avatar--image img,.rank-avatar--image img{width:100%;height:100%;object-fit:cover;object-position:center 14%}.avatar-0{background:#fff}.avatar-1{background:#ff8fd3}.avatar-2{background:#9be7ff}.avatar-3{background:#d8ff8f}.avatar-4{background:#ffc48f}.avatar-5{background:#caa8ff}.member-name{min-width:0;display:grid;gap:2px}.member-name b{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.member-name b em{color:var(--purple-700);font-size:12px;font-style:normal}.member-name small{color:#66558d;font-size:13px;font-weight:800}.member-host,.member-status{display:grid;width:30px;height:30px;place-items:center;border:2px solid var(--ink);border-radius:10px;background:var(--yellow)}.member-status{background:#cfc5e8}.member-status.is-ready{background:var(--mint)}.member-kick{display:grid;width:30px;height:30px;padding:0;place-items:center;color:var(--ink);border:2px solid var(--ink);border-radius:10px;background:var(--coral);box-shadow:0 3px 0 var(--ink);font:900 20px/1 Nunito,sans-serif;cursor:pointer}.member-kick:hover{filter:brightness(1.06);transform:translateY(-1px)}.member-kick:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.member-empty{min-height:57px;display:flex;align-items:center;gap:11px;margin-bottom:8px;padding:8px 11px;color:#bcaee4;border:2px dashed rgba(255,255,255,.28);border-radius:15px;font-size:14px;font-weight:900}.member-empty span{display:grid;width:35px;height:35px;place-items:center;border:2px dashed currentColor;border-radius:50%}.more-slots{margin:4px 0 0;color:#cfc3ed;font-size:14px;text-align:center}.member-loading,.settings-loading{display:grid;min-height:150px;place-items:center;color:#dcd3f5;font-size:15px;font-weight:900}.ready-summary{flex:0 0 auto;padding:13px;color:var(--white);border:2px solid rgba(255,255,255,.18);border-radius:15px;background:#1a084447}.ready-summary>div{display:flex;align-items:center;gap:10px}.ready-summary>div>span{position:relative;flex:1;height:10px;overflow:hidden;border-radius:10px;background:#ffffff26}.ready-summary i{display:block;width:var(--ready);height:100%;border-radius:inherit;background:var(--mint);transition:width .25s ease}.ready-summary b{font-size:14px;white-space:nowrap}.ready-summary>small{display:block;margin-top:8px;color:#d8cef3;font-size:13px;line-height:1.3}.setup-scroll{flex:1 1 auto;min-height:0;padding:18px 20px 14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--mint) rgba(255,255,255,.08)}.setup-heading{align-items:flex-start;margin-bottom:16px}.setup-heading p{margin:6px 0 0;color:#d5caf1;font-size:14px;font-weight:900}.setup-heading p.is-host{color:var(--mint)}.setup-label{margin:0 0 10px;color:var(--white);font:700 17px/1 Fredoka,sans-serif;letter-spacing:.35px}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:19px}.preset-card{position:relative;min-width:0;min-height:108px;display:grid;justify-items:center;align-content:center;gap:7px;padding:11px 7px;color:var(--ink);border:3px solid var(--ink);border-radius:16px;background:var(--card);box-shadow:0 5px 0 var(--ink);cursor:pointer;transition:transform .15s ease,filter .15s ease}.preset-card:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-2px)}.preset-card>span{display:grid;width:49px;height:49px;place-items:center;border:3px solid var(--ink);border-radius:15px;background:var(--blue);font:900 25px/1 Fredoka,sans-serif;transform:rotate(-4deg)}.preset-card--2>span{background:var(--yellow);transform:rotate(4deg)}.preset-card--3>span{background:var(--coral)}.preset-card--4>span{background:var(--mint);transform:rotate(3deg)}.preset-card b{overflow:hidden;max-width:100%;font:700 14px/1 Fredoka,sans-serif;text-align:center;text-overflow:ellipsis;white-space:nowrap}.preset-card>i{position:absolute;top:6px;right:6px;display:none;width:23px;height:23px;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--mint);font-style:normal}.preset-card.is-selected{border-color:var(--mint);box-shadow:0 0 0 3px var(--ink),0 7px 0 var(--mint);transform:translateY(-2px)}.preset-card.is-selected>i{display:grid}.settings-content{min-height:0}.room-rules{min-width:0}.quick-settings{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.select-setting{min-width:0;min-height:72px;display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;align-items:center;gap:3px 8px;padding:8px 9px;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--card-alt)}.select-setting .setting-icon{grid-row:1 / 3}.setting-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--ink);border:2px solid var(--ink);border-radius:10px;background:var(--yellow);font-size:15px;font-weight:900}.select-setting>b{align-self:end;font-size:13px}.select-setting select{align-self:start;min-width:0;width:100%;height:27px;padding:1px 22px 1px 3px;color:var(--ink);border:0;background:transparent;font:900 15px/1 Nunito,sans-serif;cursor:pointer}.color-mode{min-width:0;margin:0 0 16px;padding:0;border:0}.color-mode legend{margin-bottom:9px;color:var(--white);font:700 17px/1 Fredoka,sans-serif}.color-mode>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.color-mode-card{position:relative;min-width:0;min-height:134px;display:grid;grid-template-columns:auto 1fr;align-content:center;gap:9px;padding:11px 12px;color:var(--ink);border:3px solid var(--ink);border-radius:16px;background:var(--card);box-shadow:0 4px #28175e80}.color-mode-choice{display:contents;cursor:pointer}.color-mode-card input{position:absolute;width:1px;height:1px;opacity:0}.radio-check{align-self:start;display:grid;width:28px;height:28px;margin-top:1px;place-items:center;color:transparent;border:3px solid var(--ink);border-radius:50%;background:#fff;font-size:13px}.color-mode-copy{min-width:0;display:grid;gap:7px}.color-mode-card b{overflow:hidden;font-size:13px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.mode-selected-mark{display:none;margin-right:4px}.mode-example{min-width:0;display:grid;gap:6px;padding:8px;border:2px solid rgba(40,23,94,.3);border-radius:12px;background:#ffffff7a;box-shadow:inset 0 2px #ffffff8c}.mode-example strong{overflow:hidden;font:700 clamp(18px,1.45vw,22px)/1 "Fredoka",sans-serif;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 0 var(--ink),0 3px 0 rgba(255,255,255,.45)}.mode-result{min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--ink)}.mode-result i{font:900 16px/1 Nunito,sans-serif;font-style:normal}.mode-result em{overflow:hidden;font:900 12px/1 Nunito,sans-serif;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.mode-dot{flex:0 0 18px;width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;box-shadow:inset 0 2px #ffffff59}.color-mode-card small{color:#66558d;font-size:11px;font-weight:900;line-height:1.15}.color-mode-card:has(input:checked){border-color:var(--mint);background:#bff9e8;box-shadow:inset 0 0 0 2px var(--mint),0 6px 0 var(--ink);transform:translateY(-1px)}.color-mode-card input:checked+.radio-check{color:var(--ink);background:var(--mint)}.color-mode-card input:checked~.color-mode-copy .mode-selected-mark{display:inline}.color-mode-card:has(input:focus-visible){outline:4px solid var(--mint);outline-offset:3px}.toggle-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.toggle-setting{min-width:0;min-height:68px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--card-alt);cursor:pointer}.setting-copy{min-width:0;display:grid;gap:1px}.setting-copy b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.setting-copy small{overflow:hidden;color:#66558d;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.switch{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:27px;margin:0;padding:0;border:3px solid var(--ink);border-radius:20px;background:#aaa0c7;cursor:pointer;transition:background .18s ease}.switch:after{content:"";position:absolute;top:50%;left:3px;width:15px;height:15px;border:2px solid var(--ink);border-radius:50%;background:var(--cream);transform:translateY(-50%);transition:transform .18s ease}.switch:checked{background:var(--mint)}.switch:checked:after{transform:translate(15px,-50%)}.minimum-time{width:min(220px,100%);margin-top:9px}.room-status-strip{flex:0 0 auto;min-height:68px;display:grid;grid-template-columns:minmax(270px,.85fr) minmax(200px,1.15fr);align-items:center;gap:12px;padding:10px 18px;border-top:3px solid var(--ink);background:var(--purple-900)}.recipe-card{min-width:0}.recipe-main{display:flex;align-items:center;gap:9px}.recipe-main>span{display:grid;flex:0 0 35px;height:35px;place-items:center;color:var(--ink);border:2px solid var(--ink);border-radius:10px;background:var(--yellow)}.recipe-main p{min-width:0;display:grid;gap:2px;margin:0}.recipe-main b{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.recipe-main small{overflow:hidden;color:#d5caef;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.recipe-meta{display:none}.room-notice{margin:0;color:#e1d9f5;font-size:14px;font-weight:800;line-height:1.3;text-align:right}.room-notice.is-error{color:#ffadbb}.room-actions{flex:0 0 86px;display:flex;align-items:center;justify-content:center;gap:15px;padding:10px 24px 13px}.arcade-button{color:var(--ink);background:var(--cream);box-shadow:0 6px 0 var(--ink)}.arcade-button--invite{min-width:220px}.arcade-button span{margin-right:8px;color:var(--purple-700);font-size:22px}.summary-actions{display:flex;align-items:center;gap:12px}.summary-actions .button{min-width:190px}.summary-actions .button--start{min-width:245px}.summary-actions>small{display:none}.result-card{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--yellow);transform:rotate(1deg)}.result-card>span{font-size:29px}.result-card p{display:grid;margin:0}.result-card small{color:var(--ink);font-size:11px;font-weight:900}.result-card b{color:var(--ink);font:700 16px/1 Fredoka,sans-serif}.match-ui{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;pointer-events:none}.match-ui:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;opacity:.08;background-image:radial-gradient(circle,#fff 1.5px,transparent 1.8px);background-size:16px 16px}.match-header{position:absolute;top:16px;left:22px;right:350px;min-height:78px;display:grid;grid-template-columns:150px minmax(320px,1fr) 112px;align-items:center;gap:14px}.match-brand{display:flex;align-items:center;gap:8px;color:var(--white);font:700 15px/1 Fredoka,sans-serif;text-shadow:0 3px 0 var(--ink)}.match-brand>span{display:grid;width:39px;height:39px;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:12px;background:var(--mint);box-shadow:0 4px 0 var(--ink);transform:rotate(-5deg)}.challenge-card{position:relative;min-height:78px;display:grid;grid-template-columns:1fr 61px 82px;align-items:center;gap:13px;padding:9px 15px 12px 20px;color:var(--ink);border:4px solid var(--ink);border-radius:19px;background:var(--card);box-shadow:0 7px 0 var(--shadow);overflow:hidden}.challenge-copy{min-width:0;display:grid;gap:2px;text-align:center}.challenge-copy>span{overflow:hidden;color:#685692;font-size:14px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.challenge-copy strong{overflow:hidden;font:700 clamp(26px,3vw,40px)/.95 "Fredoka",sans-serif;letter-spacing:.4px;text-overflow:ellipsis;white-space:nowrap;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 rgba(40,23,94,.25)}.timer-ring{display:grid;grid-template-columns:auto auto;place-content:center;align-items:end;width:57px;height:57px;color:var(--ink);border:4px solid var(--ink);border-radius:50%;background:var(--yellow);box-shadow:0 4px 0 var(--ink)}.timer-ring b{font:700 16px/1 Fredoka,sans-serif}.timer-ring small{margin-bottom:1px;font-size:10px;font-weight:900}.round-block{display:grid;gap:3px;padding-left:12px;border-left:3px solid #b6acd0;text-align:center}.round-block span{color:#6c5a96;font-size:11px;font-weight:900}.round-block b{font:700 18px/1 Fredoka,sans-serif}.timer-progress{position:absolute;left:12px;right:12px;bottom:5px;height:5px;border:1px solid var(--ink);border-radius:5px;background:linear-gradient(to right,var(--mint) var(--progress),#d2c8e9 var(--progress))}.connection-pill{justify-self:end;display:inline-flex;align-items:center;gap:8px;color:var(--white);font-size:13px;font-weight:900}.connection-pill i{width:12px;height:12px;border:2px solid var(--ink);border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px #43edbc38}.connection-pill.is-offline{color:#ffd0d8}.connection-pill.is-offline i{background:var(--coral)}.match-sidebar{pointer-events:auto;position:absolute;top:16px;right:16px;bottom:16px;width:316px;display:flex;flex-direction:column;padding:18px;border:4px solid var(--ink);border-radius:23px;background:var(--purple-800);box-shadow:0 8px 0 var(--shadow),inset 0 0 0 3px #ffffff14}.match-sidebar__head{display:flex;align-items:start;justify-content:space-between}.match-sidebar h2{margin:4px 0 0;font:700 29px/1 Fredoka,sans-serif}.round-chip{padding:7px 9px;color:var(--ink);border:2px solid var(--ink);border-radius:10px;background:var(--mint);font-size:12px;font-weight:900}.match-ranking{flex:1 1 auto;min-height:0;margin-top:13px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--mint) rgba(255,255,255,.08)}.rank-row{min-height:63px;display:grid;grid-template-columns:27px 42px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding:7px 8px;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--card);box-shadow:0 3px 0 var(--ink)}.rank-row.is-me{background:#bff9e8}.rank-row.is-out{opacity:.55}.rank-position{display:grid;width:26px;height:26px;place-items:center;border:2px solid var(--ink);border-radius:8px;background:var(--card-alt);font-size:12px;font-weight:900}.rank-row:first-child .rank-position{background:var(--yellow)}.rank-avatar{width:40px;height:40px;border-radius:12px;font-size:13px}.rank-name{min-width:0;display:grid;gap:2px}.rank-name b{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.rank-name small{color:#69578f;font-size:11px;font-weight:800}.rank-row>strong{color:var(--purple-700);font:700 17px/1 Fredoka,sans-serif}.rank-row>strong em,.my-stats b em{margin-left:4px;padding:2px 4px;color:var(--ink);border:1px solid var(--ink);border-radius:5px;background:var(--mint);font:900 10px/1 Nunito,sans-serif;font-style:normal}.rank-row>strong small{color:#69578f;font:900 9px/1 Nunito,sans-serif}.my-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px;border:3px solid var(--ink);border-radius:14px;background:var(--purple-900)}.my-stats div{display:grid;gap:3px;text-align:center}.my-stats span{color:#d8cef2;font-size:11px}.my-stats b{font:700 18px/1 Fredoka,sans-serif}.control-help{display:flex;justify-content:center;gap:16px;margin-top:10px;padding:10px 3px}.control-help>span{display:flex;align-items:center;gap:4px}.control-help kbd{min-width:32px;padding:6px 5px 4px;font-size:9px}.control-help small{margin-left:3px;color:#d7cdf1;font-size:11px;font-weight:900}.match-leave{min-height:35px;color:#d1c6ed;border:0;background:transparent;font-size:12px;font-weight:900;cursor:pointer}.match-leave:hover{color:#ffb5c2}.match-toast{position:absolute;left:calc((100% - 334px)/2);bottom:24px;min-width:250px;max-width:430px;padding:15px 22px;color:var(--ink);border:4px solid var(--ink);border-radius:16px;background:var(--mint);box-shadow:0 6px 0 var(--ink);font:900 18px/1 Nunito,sans-serif;text-align:center;opacity:0;transform:translate(-50%,16px) scale(.92) rotate(-1deg);transition:.2s ease}.match-toast[data-kind=warning]{background:var(--yellow)}.match-toast.is-visible{opacity:1;transform:translate(-50%) scale(1) rotate(-1deg)}.menu-ad{position:absolute;z-index:20;top:50%;right:var(--menu-inset-x);display:flex;width:var(--ad-rail-width);min-height:min(600px,calc(100vh - 86px));max-height:calc(100vh - 44px);flex-direction:column;gap:6px;padding:8px;color:#ffffffc2;border:2px solid rgba(255,255,255,.16);border-radius:16px;background:#230d51b8;box-shadow:inset 0 0 0 2px #2f0f6938,0 10px #2d0d6829;transform:translateY(-50%)}.menu-ad__label{display:block;flex:0 0 auto;font-size:10px;font-weight:900;text-align:center;text-transform:uppercase}.menu-ad__placeholder{flex:1 1 auto;min-height:0;display:grid;place-items:center;gap:10px;padding:15px;border:2px dashed rgba(255,255,255,.22);border-radius:12px;background:#ffffff0f;color:#ffffffb8;font-size:13px;font-weight:900;line-height:1.25;text-align:center}.menu-ad__spark{display:grid;width:48px;height:48px;place-items:center;color:var(--ink);border:3px solid var(--ink);border-radius:14px;background:var(--yellow);box-shadow:0 4px 0 var(--ink);font:900 15px/1 Fredoka,sans-serif}.menu-ad .adsbygoogle{flex:1 1 auto;min-height:540px}body[data-scene=match] .menu-ad{display:none}@media (max-height: 800px) and (min-width: 901px){.game-frame{top:12px;bottom:12px}.game-topbar{flex-basis:91px;padding-top:8px}.brand-mark{width:48px;height:48px}.brand b,.brand strong{font-size:20px}.home-menu{width:min(1100px,calc(100% - 45px))}.player-card{min-height:370px;padding-top:20px;padding-bottom:24px}.color-buddy{width:175px;height:175px;margin-top:-5px;margin-bottom:8px;transform:scale(.76);transform-origin:top center}.menu-tile{min-height:96px;padding-top:12px;padding-bottom:12px}.menu-tile__icon{width:60px;height:60px}.home-controls{flex-basis:55px}.room-topbar{flex-basis:78px}.preset-card{min-height:90px}.setup-scroll{padding-top:13px}.toggle-setting{min-height:61px}.room-actions{flex-basis:75px}}@media (max-width: 1240px){.menu-screen{--ad-rail-width: 160px;--ad-rail-gap: 14px}}@media (max-width: 1080px){.game-frame{top:14px;right:14px;bottom:14px;left:14px}.menu-screen--with-ad .game-frame{right:14px;bottom:104px}.menu-ad{top:auto;right:14px;bottom:12px;left:14px;width:auto;min-height:76px;max-height:86px;transform:none}.menu-ad__placeholder{display:flex;align-items:center;justify-content:center;padding:8px 14px}.menu-ad__spark{flex:0 0 38px;width:38px;height:38px;border-radius:11px}.menu-ad .adsbygoogle{min-height:64px}.home-menu{grid-template-columns:minmax(320px,.83fr) minmax(430px,1.17fr);width:calc(100% - 34px);gap:18px}.player-card{padding-right:24px;padding-left:24px}.menu-tile--code{grid-template-columns:65px minmax(130px,.7fr) minmax(190px,1.3fr)}.menu-tile__icon{width:62px;height:62px}.room-board{grid-template-columns:290px minmax(0,1fr);width:calc(100% - 28px)}.preset-grid,.quick-settings,.toggle-settings{grid-template-columns:repeat(2,1fr)}.match-header{right:300px;grid-template-columns:70px minmax(300px,1fr) 100px}.match-brand b{display:none}.match-sidebar{width:270px}}@media (max-width: 820px){.menu-screen{overflow-y:auto}.game-frame{position:relative;inset:auto;width:calc(100% - 20px);min-height:calc(100% - 20px);height:auto;margin:10px;overflow:visible}.menu-screen--with-ad .game-frame{right:auto;bottom:auto;min-height:auto}.menu-ad{position:relative;inset:auto;width:calc(100% - 20px);min-height:92px;max-height:none;margin:0 10px 10px}.menu-ad .adsbygoogle{min-height:80px}.game-frame:after{position:fixed;display:none}.game-topbar{flex-basis:84px;padding:9px 15px 5px}.game-text-button{min-height:44px;padding:7px 10px;font-size:12px}.game-text-button>span{margin-right:4px}.sound-sticker{width:43px;height:43px}.brand-mark{width:46px;height:46px}.brand b,.brand strong{font-size:18px}.brand em{display:none}.home-menu{width:calc(100% - 24px);grid-template-columns:1fr;padding:12px 0 20px}.player-card{min-height:auto;display:grid;grid-template-columns:150px 1fr;padding:20px 24px}.color-buddy{width:150px;height:170px;margin:0;transform:scale(.72);transform-origin:left center}.player-card__copy{text-align:left}.player-card h1{font-size:30px}.play-menu{padding-bottom:8px}.home-controls{flex-basis:auto;grid-template-columns:1fr;justify-items:center;padding:15px}.home-controls__keys{grid-column:auto;flex-wrap:wrap;row-gap:12px}.home-legal{justify-self:center}.home-message{position:relative;right:auto;bottom:auto;left:auto;padding:0 20px 18px}.room-frame{height:auto;min-height:calc(100vh - 20px)}.room-board{width:calc(100% - 20px);grid-template-columns:1fr;overflow:visible}.players-deck{min-height:430px}.setup-deck{min-height:760px}.room-actions{flex-wrap:wrap;height:auto;min-height:96px}.summary-actions{flex-wrap:wrap;justify-content:center}.room-status-strip{grid-template-columns:1fr}.room-notice{text-align:left}.match-header{top:8px;right:8px;left:8px;min-height:92px;display:block}.challenge-card{min-height:87px;grid-template-columns:1fr 54px 62px}.match-brand,.connection-pill{display:none}.challenge-copy strong{font-size:clamp(25px,7vw,36px)}.match-sidebar{top:auto;right:8px;bottom:8px;left:8px;width:auto;height:146px;padding:10px 12px;border-radius:18px}.match-sidebar__head{align-items:center}.match-sidebar__head h2{margin:1px 0 0;font-size:18px}.match-ranking{display:flex;gap:6px;margin-top:7px;overflow:hidden}.rank-row{flex:1 1 0;min-width:0;grid-template-columns:24px 34px 1fr;min-height:58px;margin:0}.rank-row:nth-child(n+4){display:none}.rank-avatar{width:32px;height:32px}.rank-name small,.rank-row>strong{display:none}.my-stats,.control-help,.match-leave{display:none}.match-toast{left:50%;bottom:170px}}@media (max-width: 560px){.game-topbar{grid-template-columns:auto 1fr auto}.game-topbar .brand{justify-self:center}.brand>span:nth-child(2){display:none}.player-card{grid-template-columns:1fr;justify-items:center}.player-card__copy{text-align:center}.color-buddy{width:150px;height:145px;margin-bottom:-10px;transform-origin:top center}.menu-tile{min-height:96px;grid-template-columns:58px minmax(0,1fr) 25px;gap:12px;padding:13px 14px}.menu-tile__icon{width:54px;height:54px;border-radius:15px;font-size:29px}.menu-tile__copy strong{font-size:21px}.menu-tile__copy small{font-size:13px}.menu-tile--code{grid-template-columns:54px 1fr}.menu-tile--code .code-entry{grid-column:1 / -1;width:100%}.home-controls{display:grid;padding-top:4px}.home-controls__keys{display:none}.steps-list{grid-template-columns:1fr}.how-dialog{padding:27px 18px}.room-topbar .game-text-button{font-size:0}.room-topbar .game-text-button span{margin:0;font-size:26px}.language-picker{min-width:76px;padding:6px 8px}.language-picker:before{display:none}.language-picker:after{right:11px;bottom:16px}.language-picker span{display:none}.language-picker select{width:58px;padding:2px 18px 0 0;font-size:13px}.topbar-actions{gap:6px}.room-code span,.room-code i{display:none}.room-board{padding-bottom:7px}.setup-scroll{padding:16px 13px}.preset-grid,.quick-settings{grid-template-columns:repeat(2,1fr)}.color-mode>div{grid-template-columns:1fr}.toggle-settings{grid-template-columns:1fr}.setting-copy small{font-size:12px}.room-actions{padding-right:10px;padding-left:10px}.arcade-button--invite,.summary-actions,.summary-actions .button,.summary-actions .button--start{width:100%;min-width:0}.summary-actions{display:grid;grid-template-columns:1fr}.challenge-card{grid-template-columns:1fr 48px 49px;padding-left:10px;gap:6px}.challenge-copy>span{font-size:11px}.timer-ring{width:48px;height:48px;border-width:3px}.round-block{padding-left:5px}.round-block span{font-size:8px}.round-block b{font-size:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
