:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--text:#e8ecf3;--muted:#94a0b8;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}#app{min-height:100dvh}:root{--panel:#11151d;--line:#2b3342;--accent:#5eead4;--danger:#fca5a5;--over-game:#0b0d12f0}.landing,.room{max-width:480px;margin:0 auto;padding:24px 16px}.landing>p{color:var(--muted)}.card{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:12px;margin-top:16px;padding:16px;display:grid}.card h1,.card h2{margin:0;font-size:20px}.card label{font-weight:600}.card input{border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.landing button,.room button{background:var(--accent);min-height:44px;color:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-weight:600}.landing button:disabled{opacity:.5;cursor:default}.room button.secondary{border:1px solid var(--line);color:var(--muted);background:0 0;margin-top:24px}.your-data{gap:8px;margin-top:24px;display:grid}.your-data p{color:var(--muted);margin:0}.your-data .actions{flex-wrap:wrap;gap:8px;display:flex}.landing .your-data button.link{color:var(--muted);background:0 0;justify-self:start;padding:10px 0;font-weight:500;text-decoration:underline}.landing .your-data button.danger{background:var(--danger)}.landing .your-data button.secondary{border:1px solid var(--line);color:var(--muted);background:0 0}.landing [role=alert],.room [role=alert]{color:var(--danger);margin:0}.invite .hint{color:var(--muted);margin:0;font-size:14px}.stars{color:#f6c945;letter-spacing:1px;white-space:nowrap}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.room .invite-actions button.secondary{margin-top:0}.invite-qr{justify-items:center;gap:8px;margin:0;display:grid}.invite-qr .qr-code{background:#fff;border-radius:8px;width:min(100%,240px);padding:8px}.invite-qr .qr-code svg{width:100%;height:auto;display:block}.invite-qr figcaption{color:var(--muted);text-align:center;font-size:14px}.roster{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.roster li{background:var(--panel);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.bean{flex:none;line-height:0;display:inline-block}.bean svg{width:100%;height:100%;overflow:visible}.roster li{border:2px solid #0000}.roster li.speaking{border-color:var(--seat,var(--accent))}.roster .badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px}.lobby>button:not(.secondary){margin-top:16px}.roster .role{color:var(--muted);font-size:13px}.roles{min-width:0}.roles legend{color:var(--muted);padding:0 4px;font-size:14px}.roles .choices{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.room .roles button{text-align:left;border:1px solid var(--line);color:var(--text);background:0 0;justify-items:start;gap:2px;padding:10px 12px;font-weight:400;display:grid}.room .roles button[aria-pressed=true]{border-color:var(--accent);background:#5eead41f}.roles button strong{font-weight:600}.roles button span{color:var(--muted);font-size:13px}.roles .hint{color:var(--muted);margin:0;font-size:14px}.missions{min-width:0}.missions legend{color:var(--muted);padding:0 4px;font-size:14px}.room .mission{color:var(--muted);margin:16px 0 0}.roster li{flex-wrap:wrap}.room .roster button.more{border:1px solid var(--line);min-width:44px;min-height:36px;color:var(--muted);background:0 0;padding:4px 10px}.roster .member-actions{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;padding-top:8px;display:flex}.roster .member-actions p{color:var(--muted);flex-basis:100%;margin:0}.room .roster .member-actions button.secondary{color:var(--muted);margin-top:0}.room .roster .member-actions button{border:1px solid var(--line);min-height:40px;color:var(--text);background:0 0;padding:8px 12px;font-weight:500}.roster .member-notice{color:var(--muted);flex-basis:100%;margin:4px 0 0;font-size:14px}dialog.report{border:1px solid var(--line);background:var(--panel);width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:12px;padding:20px;overflow-y:auto}dialog.report::backdrop{background:#0009}dialog.report form{gap:12px;display:grid}dialog.report h2{margin:0}dialog.report fieldset{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}dialog.report legend{color:var(--muted);margin-bottom:4px}dialog.report label{align-items:center;gap:8px;display:flex}dialog.report textarea{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:10px}dialog.report .hint{color:var(--muted);margin:0;font-size:14px}dialog.report .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}dialog.report button{background:var(--accent);min-height:44px;color:var(--bg);font:inherit;border:0;border-radius:8px;padding:10px 16px;font-weight:600}dialog.report button.secondary{border:1px solid var(--line);color:var(--muted);background:0 0;margin-top:0}dialog.report button:disabled{opacity:.5}.roster .mic{width:20px;margin-left:auto}.chat{grid-template-columns:minmax(0,1fr)}.chat .messages{gap:6px;min-height:72px;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.chat .messages .message{background:var(--bg);overflow-wrap:anywhere;border-radius:10px;justify-self:start;max-width:85%;margin:0;padding:6px 10px}.chat .messages .message.mine{background:#5eead426;justify-self:end}.chat .messages .message.reaction .text{font-size:28px;line-height:1.1}.chat .messages .who{color:var(--muted);font-size:12px;display:block}.chat .messages .empty{color:var(--muted);background:0 0;justify-self:center;margin:0;font-size:14px}.chat .quick{flex-wrap:wrap;gap:6px;display:flex}.room .chat .quick button{border:1px solid var(--line);min-height:36px;color:var(--text);background:0 0;padding:6px 10px;font-size:14px;font-weight:500}.room .chat .quick button.reaction{min-width:44px;font-size:18px}.chat .say{gap:8px;display:flex}.chat .say input{flex:1;min-width:0}.play{background:var(--bg);display:grid;position:fixed;inset:0}.play .stage,.play .game-mount{position:absolute;inset:0}.play>[role=status]{text-align:center;color:var(--muted);position:absolute;inset:auto 0 24px}.play{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.play>.hint{background:var(--over-game);text-align:center;width:max-content;max-width:calc(100% - 32px);color:var(--muted);pointer-events:none;border-radius:6px;margin:0;padding:3px 10px;font-size:13px;animation:.6s 6s forwards hint-out;position:absolute;inset:auto auto 10px 50%;transform:translate(-50%)}.play.hidden{display:none}.play .paused{background:var(--over-game);text-align:center;max-width:360px;color:var(--muted);border-radius:12px;justify-items:center;gap:4px;margin:0 auto;padding:16px;display:grid;position:absolute;inset:40% 16px auto}.play .paused strong{color:var(--text);font-size:18px}.play .match-bar{padding:16px 16px max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--over-game);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-height:calc(100% - 44px);display:flex;position:absolute;inset:auto 0 0;overflow-y:auto}.play .match-bar .result-line{text-align:center;flex-basis:100%;margin:0;font-size:22px}.play.ad .match-bar{max-height:calc(100% - 44px - var(--ad-h))}.play .match-bar p{background:var(--over-game);color:var(--muted);border-radius:8px;margin:0;padding:8px 12px;font-size:15px}.play.online .stage{top:44px}.play .match-top{border-bottom:1px solid var(--line);align-items:center;gap:8px;height:44px;padding:0 8px;display:flex;position:absolute;inset:0 0 auto}.play .match-top .badges{flex:1;gap:6px;min-width:0;display:flex;overflow:hidden}.match-top .badge{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);font-size:13px;overflow:hidden}.play .match-bar button,.play button.sound,.play button.settings,.play button.mic,.play button.leave{background:var(--accent);min-height:44px;color:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-weight:600}.play .match-bar button.secondary,.play button.sound,.play button.settings,.play button.mic,.play button.leave{border:1px solid var(--line);background:var(--over-game);color:var(--muted);margin-top:0}.play button.sound,.play button.settings,.play button.mic,.play button.leave{min-height:32px;padding:4px 14px;font-weight:500}.play button.icon{flex:none;place-items:center;width:44px;min-height:36px;padding:0;display:inline-grid}.play button.icon[aria-pressed=true]{color:var(--text)}.play .voice-note{background:var(--over-game);text-align:center;width:max-content;max-width:calc(100% - 32px);color:var(--text);pointer-events:none;border-radius:6px;margin:0 auto;padding:4px 10px;font-size:14px;animation:.6s 8s forwards hint-out;position:absolute;inset:auto 16px 24px}.room button:disabled{opacity:.5;cursor:default}.play>.hint.stay{animation:none}@keyframes hint-out{to{opacity:0}}.touch-controls{pointer-events:none;position:absolute;inset:0}.stick-base,.stick-thumb{pointer-events:none;border-radius:50%;position:absolute}.stick-base{border:2px solid #e8ecf359;width:112px;height:112px;margin:-56px 0 0 -56px}.stick-base.idle{color:var(--muted);border-style:dashed;place-items:center;font:600 13px system-ui,sans-serif;display:grid;top:50%;left:50%}.stick-thumb{background:#e8ecf38c;width:48px;height:48px;margin:-24px 0 0 -24px}.touch-buttons{pointer-events:auto;align-items:center;gap:16px;display:flex;position:absolute}.play.stick{--dock:168px;background:#0a1231}.stick-zone{pointer-events:auto;touch-action:none;background:#e8ecf30a;position:absolute}.swap-hand,.room .swap-hand{width:44px;height:44px;min-height:0;color:var(--muted);pointer-events:auto;background:#0b0d1299;border:1px solid #e8ecf340;border-radius:50%;padding:0;font-size:18px;position:absolute}@media (orientation:portrait){.play.stick .stage{bottom:calc(var(--dock) + env(safe-area-inset-bottom))}.stick-zone{height:calc(var(--dock) + env(safe-area-inset-bottom));border-top:1px solid #e8ecf31f;inset:auto 50% 0 0}.stick-dock.left .stick-zone{inset:auto 0 0 50%}.touch-buttons{right:max(16px, env(safe-area-inset-right));bottom:calc(var(--dock) / 2 - 8px + env(safe-area-inset-bottom));transform:translateY(50%)}.stick-dock.left .touch-buttons{right:auto;left:max(16px, env(safe-area-inset-left))}.swap-hand{left:50%;bottom:calc(var(--dock) - 46px + env(safe-area-inset-bottom));transform:translate(-50%)}.play.stick .rotate-hint{bottom:calc(var(--dock) + 12px + env(safe-area-inset-bottom))}}@media (orientation:landscape){.play.stick{--dock:150px}.play.stick .stage{left:calc(var(--dock) + env(safe-area-inset-left));right:calc(var(--dock) + env(safe-area-inset-right))}.stick-zone{width:calc(var(--dock) + env(safe-area-inset-left));border-right:1px solid #e8ecf31f;inset:0 auto 0 0}.play.online .stick-zone{top:44px}.stick-dock.left .stick-zone{width:calc(var(--dock) + env(safe-area-inset-right));border-left:1px solid #e8ecf31f;border-right:0;inset:0 0 0 auto}.play.online .stick-dock.left .stick-zone{top:44px}.stick-base.idle{top:62%}.touch-buttons{right:calc((var(--dock) - 88px) / 2 + env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;width:88px}.stick-dock.left .touch-buttons{right:auto;left:calc((var(--dock) - 88px) / 2 + env(safe-area-inset-left));flex-direction:column-reverse}.swap-hand{top:56px;right:calc(var(--dock) / 2 - 22px + env(safe-area-inset-right))}.stick-dock.left .swap-hand{right:auto;left:calc(var(--dock) / 2 - 22px + env(safe-area-inset-left))}}.touch-button,.room .touch-button{width:72px;height:72px;min-height:0;color:var(--text);touch-action:none;background:#e8ecf31f;border:2px solid #e8ecf366;border-radius:50%;padding:0;font:600 13px system-ui,sans-serif}.touch-button.fire,.room .touch-button.fire{width:88px;height:88px}.touch-button.pressed,.room .touch-button.pressed{background:#5eead473}.play.swipe,.play.tap{--swipe-bar:calc(84px + env(safe-area-inset-bottom));background:#0a1231}.play.swipe .stage,.play.tap .stage{bottom:var(--swipe-bar)}.swipe-zone{inset:0 0 var(--swipe-bar) 0;pointer-events:auto;touch-action:none;position:absolute}.play.online .swipe-zone{top:44px}.swipe-bar{height:var(--swipe-bar);box-sizing:border-box;padding:12px 16px max(12px, env(safe-area-inset-bottom));pointer-events:auto;background:#0a1231;border-top:1px solid #e8ecf31f;justify-content:center;align-items:flex-start;gap:10px;display:flex;position:absolute;inset:auto 0 0}.bar-free{flex:1}.touch-button.bar,.room .touch-button.bar{border-radius:14px;flex:1;width:auto;height:56px;font-size:15px}.swipe-hint{background:var(--over-game);text-align:center;width:max-content;max-width:calc(100% - 32px);color:var(--muted);pointer-events:none;border-radius:6px;margin:0 auto;padding:3px 10px;font-size:13px;animation:.6s 5s forwards hint-out;position:absolute;inset:52px 16px auto}.play .debug{color:var(--text);pointer-events:none;background:#0b0d12b3;margin:0;padding:2px 6px;font:12px ui-monospace,monospace;position:absolute;top:52px;left:8px}.pass{gap:8px;display:grid}.pass h2{margin:0;font-size:17px}.pass p{margin:0}.pass a.button{background:var(--accent);min-height:44px;color:var(--bg);border-radius:8px;justify-self:start;padding:10px 16px;font-weight:600;text-decoration:none}.pass a.button.secondary{color:var(--text);border:1px solid var(--line);background:0 0}.pass .hint,.pack-note{color:var(--muted);font-size:14px}.pack-note{margin:8px 0}.voice h2{margin:0 0 4px;font-size:17px}.voice p{margin:0 0 8px}.voice .row{flex-wrap:wrap;gap:8px;display:flex}.badge.voice.speaking{outline:2px solid var(--accent,currentColor)}.rotate-hint{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 104px);background:var(--over-game);color:var(--muted);white-space:nowrap;pointer-events:none;border-radius:6px;margin:0;padding:4px 10px;font-size:13px;position:absolute;transform:translate(-50%)}@media (orientation:landscape){.rotate-hint{display:none}}.site-links{flex-wrap:wrap;gap:8px 18px;margin-top:28px;font-size:.95rem;display:flex}.site-links a{color:var(--muted)}.site-links a:hover{color:var(--text)}.friend-invite{top:env(safe-area-inset-top,0px);z-index:20;background:var(--panel);border:1px solid var(--accent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:480px;margin:0 auto;padding:12px 16px;display:flex;position:sticky}.friend-invite p{margin:0}.friend-invite .actions{gap:8px;display:flex}.invite-friends ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invite-friends li{justify-content:space-between;align-items:center;gap:12px;display:flex}.invite-friends li>span:not(.bean){margin-right:auto}.beans summary{cursor:pointer;align-items:center;gap:10px;min-height:44px;list-style:none;display:flex}.beans summary::-webkit-details-marker{display:none}.beans summary .change{color:var(--accent);margin-left:auto;font-weight:600}.beans[open] summary .change{visibility:hidden}.beans fieldset{border:0;margin:12px 0 0;padding:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room .beans .choices{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.room .beans button{text-align:center;justify-items:center;gap:6px}.chat .messages .message{grid-template-columns:auto 1fr;column-gap:8px;display:grid}.chat .messages .message .bean{grid-row:span 2;align-self:start}.chat .messages .message .who,.chat .messages .message .text{grid-column:2}.solo .choices{flex-wrap:wrap;gap:8px;display:flex}.solo .choices button,.solo button.secondary{border:1px solid var(--line);color:var(--text);background:0 0;font-weight:500}.solo .choices button[aria-pressed=true]{border-color:var(--accent);background:#5eead41f;font-weight:600}.solo .actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.solo-result{margin:4px 0 0;font-size:20px;font-weight:600}.map{gap:12px;min-width:0;display:grid}.map-art{object-fit:cover;object-position:center 40%;border-radius:10px;width:100%;max-width:100%;height:72px}.map-beside,.map-jump{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.map-jump{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.map .map-chip,.map .map-jump button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);text-align:left;border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;display:flex}.map .map-jump button{white-space:nowrap;flex:none;font-size:13px}.map-jump .count{color:var(--muted)}.map .map-jump button.done .count{color:#f6c945}.map .map-chip:disabled{opacity:1;color:var(--muted);cursor:default}.map .map-chip .tag{color:#f6c945;background:#f6c94529;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600}.map .map-chip .why{color:var(--muted);font-size:13px}.map-trail{overscroll-behavior:contain;border-radius:10px;max-height:min(60dvh,520px);position:relative;overflow-y:auto;container-type:inline-size}.map-path{z-index:0;pointer-events:none;position:absolute;top:0;left:0}.map-path path{fill:none;stroke:var(--accent);stroke-opacity:.4;stroke-width:5px;stroke-linecap:round;stroke-dasharray:2 12}.map-chapter{z-index:1;gap:4px;padding-bottom:12px;display:grid;position:relative}.map-sign{border:1px solid var(--line);background:linear-gradient(90deg, #1d2a33, var(--panel));border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0;padding:12px 14px;font-size:15px;display:flex;position:relative}.map .map-sign button{width:100%;min-height:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:0;display:flex}.map .map-chip[aria-pressed=true]{border-color:var(--accent);background:#5eead41f}.map-sign .sum{color:var(--muted);font-size:13px;font-weight:500}.map-sign.done .sum{color:#f6c945}.map .map-stops{margin:0;padding:0;list-style:none;display:grid}.map .map-stops li{justify-content:center;padding:8px 0;display:flex}.map .map-stops li.here{padding-top:30px}.map .map-stop{max-width:46%;min-height:0;color:var(--text);transform:translateX(calc(var(--sway,0) * (50cqi - 50%) * .85));background:0 0;border:0;border-radius:12px;justify-items:center;gap:2px;padding:2px 6px;font-weight:500;display:grid;position:relative}.map-dot{border:3px solid var(--line);background:var(--panel);border-radius:50%;place-items:center;width:52px;height:52px;font-weight:700;display:grid;position:relative}.map .map-stop.won .map-dot{background:#1c2140;border-color:#7c8cff}.map .map-stop.current .map-dot{border-color:var(--accent);width:62px;height:62px;box-shadow:0 0 0 5px #5eead438}.map .map-stop.locked .map-dot{border-style:dashed}.map .map-stop[aria-pressed=true] .map-dot{border-color:var(--accent);background:#5eead42e}.map .map-stop:not(:disabled):hover .map-dot{border-color:var(--accent)}.map .map-stop:disabled{opacity:1;color:var(--muted);cursor:default}.map-bean{animation:1.6s ease-in-out infinite map-hop;position:absolute;bottom:calc(100% - 6px);left:calc(50% - 17px)}@keyframes map-hop{50%{transform:translateY(-5px)}}:root[data-motion=reduce] .map-bean{animation:none}.map-name{text-align:center;text-wrap:balance;font-size:13px}.map .map-stop .why{color:var(--muted);text-align:center;font-size:12px}.tip{border-left:3px solid var(--accent,currentColor);background:#7f7f7f14;border-radius:4px;margin:8px 0;padding:8px 12px}.beans-earned{background:#7f7f7f0f;border:1px solid #7f7f7f40;border-radius:10px;margin:12px 0;padding:10px 14px}.beans-earned p{margin:0}.beans-total strong{font-size:20px}.level-up{color:var(--accent,currentColor);margin-left:8px;font-weight:700}.beans-parts{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:6px 0;padding:0;font-size:13px;list-style:none;display:flex}.beans-parts span{color:var(--text,inherit);font-weight:600}.beans-level{color:var(--muted);gap:4px;font-size:13px;display:grid}.beans-level progress{width:100%;max-width:320px;height:8px;accent-color:var(--accent,currentColor)}.match-bar .beans-parts{display:none}.match-bar .beans-earned{background:var(--over-game);flex-basis:100%;max-width:420px}.past-dailies{margin-top:12px}.past-dailies ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.past-dailies li{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;display:flex}.daily-tier{margin:8px 0;font-size:18px;animation:.4s ease-out moment-pop}.daily-tier span[aria-hidden]{letter-spacing:2px}.everyone-daily{max-width:420px;margin:8px 0 12px}.everyone-daily p{margin:0 0 6px}.everyone-daily ol{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.everyone-daily li{grid-template-columns:minmax(0,9rem) 1fr 2.5rem;align-items:center;gap:8px;display:grid}.everyone-daily .tier-bar{background:#7f7f7f26;border-radius:5px;height:10px;overflow:hidden}.everyone-daily .tier-bar span{background:var(--muted);border-radius:5px;min-width:2px;height:100%;display:block}.everyone-daily li.mine{font-weight:700}.everyone-daily li.mine .tier-bar span{background:var(--accent)}.everyone-daily .tier-count{text-align:right;font-variant-numeric:tabular-nums}.share-daily{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;display:flex}.share-daily pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#7f7f7f1a;border-radius:6px;margin:0;padding:8px 12px;font-size:14px}.line-progress{color:var(--muted);gap:4px;margin:12px 0;font-size:14px;display:grid}.line-progress progress{width:100%;max-width:320px;height:8px;accent-color:var(--accent,currentColor)}.solo-friend{margin-top:24px}.solo-friend p{margin:0}.solo-friend a.button{background:var(--accent);min-height:44px;color:var(--bg);border-radius:8px;justify-self:start;padding:10px 16px;font-weight:600;text-decoration:none}.solo-link{color:var(--muted);margin:12px 0 0}.game-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,156px),1fr));gap:12px;display:grid}.game-card,.room .game-card,.landing .game-card{border:2px solid var(--line);background:var(--card,#121722);min-height:0;color:var(--text);text-align:left;font:inherit;cursor:pointer;border-radius:14px;align-content:start;gap:4px;padding:0 0 12px;display:grid;overflow:hidden}.game-card img{aspect-ratio:16/9;object-fit:cover;background:#0a1231;width:100%;height:auto}.game-card strong,.game-card span{padding:0 12px}.game-card strong{font-size:17px}.game-card span{color:var(--muted);font-size:14px;font-weight:400}.game-card .board{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.game-card .board-badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:0 8px;font-size:12px;font-weight:700}.game-card .board small{font-size:13px}.game-card .lab{color:#fcd34d;font-size:13px}.game-card:hover:not(:disabled){border-color:var(--muted)}.game-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.game-card:disabled{cursor:default;opacity:.7}.games-pick .game-shot{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%;max-width:320px;height:auto}.solo-choose .game-cards{margin:16px 0}.age-gate .card p{margin:.5rem 0 1rem}.age-gate .age-note{opacity:.8;font-size:.9rem}.update-app a.button{background:var(--accent);min-height:44px;color:var(--bg);border-radius:8px;align-items:center;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}:root{--ad-h:50px}@media (min-width:768px) and (min-height:600px){:root{--ad-h:60px}}.ad-banner{height:var(--ad-h);border-bottom:1px solid var(--line);color:var(--muted);background:#11151f;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex;overflow:hidden}.landing .ad-banner,.room>.ad-banner{border:1px solid var(--line);border-radius:10px;margin:-8px 0 16px}.ad-banner .ad-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.ad-banner a{color:var(--accent);flex:none;font-weight:700}.ad-tag{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;flex:none;padding:2px 6px;font-size:11px;font-weight:700}.play .ad-banner{z-index:2;position:absolute;inset:0 0 auto}.play.ad .stage,.play.online.ad .match-top{top:var(--ad-h)}.play.online.ad .stage{top:calc(var(--ad-h) + 44px)}.full-ad{z-index:20;background:#0b0d12eb;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.full-ad-card{border:1px solid var(--line);background:var(--card,#161b26);text-align:center;border-radius:16px;justify-items:center;gap:12px;max-width:420px;padding:28px 24px;display:grid}.full-ad-card h2{margin:0}.full-ad-card button{min-width:160px}.ad-banner.network{justify-content:center}.ad-banner.native{background:0 0;border:0;padding:0}.teams-pick .sides{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.teams-pick .side h3{color:var(--muted);margin:0 0 6px;font-size:14px}.teams-pick .side ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teams-pick .side li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.add-friends{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.match-top .badge.bot{max-width:14rem}.feedback{text-align:left;max-width:28rem;margin-inline:auto}.feedback .choices{border:0;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px;padding:0;display:flex}.feedback .choices legend{margin-bottom:6px}.feedback .choices button{min-width:44px;min-height:44px}.feedback .choices button[aria-pressed=true]{outline-offset:1px;outline:3px solid}.feedback .actions{gap:8px;display:flex}.card.daily h2{margin:0 0 6px;font-size:1.1rem}.card.daily p{margin:0 0 10px}.room .notice{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.room .notice p{flex:1;min-width:0;margin:0}.room .notice button.secondary,.room .moved button.secondary,.room .leave-choice button.secondary{margin-top:0}.room .moved p,.room .leave-choice p.hint{margin:0}.room .leave-choice p.hint{color:var(--muted)}.line-progress .unlock{color:var(--text)}.room .beans button .opens{color:var(--muted);font-size:12px}.play{--teach-h:56px}.play>.teach{height:var(--teach-h);padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--accent);background:var(--over-game);color:var(--text);z-index:3;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.play.online>.teach{top:44px}.play.ad>.teach{top:var(--ad-h)}.play.online.ad>.teach{top:calc(var(--ad-h) + 44px)}.play.teaching .stage{top:var(--teach-h)}.play.online.teaching .stage{top:calc(44px + var(--teach-h))}.play.ad.teaching .stage{top:calc(var(--ad-h) + var(--teach-h))}.play.online.ad.teaching .stage{top:calc(var(--ad-h) + 44px + var(--teach-h))}.play>.teach p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;margin:0;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.play>.teach .teach-count{color:var(--muted);white-space:nowrap;font-size:12px}.play>.teach button{border:1px solid var(--line);min-height:36px;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex:none;padding:4px 12px;font-size:14px}.play.teaching .swipe-hint{top:calc(52px + var(--teach-h))}@media (orientation:landscape){.play.teaching .swap-hand{top:calc(56px + var(--teach-h))}}.feats-earned{border:1px solid var(--accent);border-radius:10px;margin:12px 0;padding:10px 14px}.feats-earned .feats-title{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:700}.feats-earned ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.feats-earned .feat-mark{color:var(--accent)}.feats-earned .feat-about{color:var(--muted);font-size:14px}.match-bar .feats-earned{background:var(--over-game);flex-basis:100%;max-width:420px}.welcome-back a.button.carry-on{background:var(--accent);color:var(--bg);text-align:center;border-radius:8px;padding:12px 16px;font-weight:600;text-decoration:none;display:block}.welcome-back .friends-online{gap:8px;margin:0;padding:0;list-style:none;display:grid}.welcome-back .friends-online li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.landing .welcome-back .friends-online button.secondary{border:1px solid var(--line);color:var(--text);background:0 0}.welcome-back .dailies p{margin:0 0 6px}.welcome-back .dailies ul{flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.welcome-back .dailies a{color:var(--accent)}.welcome-back .dailies .done{color:var(--muted)}dialog.settings label.check{align-items:flex-start}dialog.settings label.check input{margin-top:4px}dialog.settings label.check .hint{display:block}dialog.settings fieldset:disabled{opacity:.55}dialog.settings .choices{flex-wrap:wrap;gap:8px 16px;display:flex}dialog.settings input{width:20px;height:20px;accent-color:var(--accent)}.landing .hint button.link,.tip button.link{min-height:0;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}:root[data-text=large] :is(.landing,.room,dialog.report){zoom:1.125}:root[data-text=large] .room .play{zoom:calc(1 / 1.125)}.stars.moment .coming{color:var(--line)}.stars.moment .on{animation:.35s ease-out moment-pop;display:inline-block}.beans-total .level-up{animation:.4s ease-out moment-pop;display:inline-block}.feats-earned.shown li{animation:.4s ease-out moment-pop}.map .map-stop.fresh .map-dot{animation:.6s ease-out .3s backwards moment-open}.map .map-stop.fresh .map-bean{animation:.6s ease-out .5s backwards moment-arrive,1.6s ease-in-out 1.1s infinite map-hop}@keyframes moment-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.25)}to{transform:scale(1)}}@keyframes moment-open{0%{border-style:dashed;transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes moment-arrive{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
