@import "https://fonts.googleapis.com/css2?family=Bangers&family=Nunito:wght@400;600;700;800&display=swap";:root{--font-display:"Bangers", "Trebuchet MS", cursive;--font-body:"Nunito", "Segoe UI", sans-serif;--color-bg-main:#704bb3;--color-bg-secondary:#593693;--color-bg-deep:#3c286f;--color-surface:#fffffff0;--color-surface-strong:#fff;--color-text-main:#2f2360;--color-text-soft:#66579b;--color-primary-500:#d9359a;--color-primary-700:#b51d84;--color-secondary-500:#2da9dd;--color-secondary-700:#1d7cbe;--color-danger-500:#d13b5f;--color-danger-700:#a82147;--color-success-500:#2e9f60;--color-border-soft:#6743a438;--color-shadow:#1d0c3947;--radius-xl:22px;--radius-lg:12px}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}html{overflow-y:auto}body{font-family:var(--font-body);color:#1e1632;background:linear-gradient(#271641,#181022);margin:0;overflow-x:hidden}#app{min-height:100vh;position:relative;overflow-x:hidden}.app-page-transition{will-change:opacity;min-height:100vh;animation:.56s cubic-bezier(.22,1,.36,1) pageFadeIn;overflow:hidden}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:400}p{margin:0}.ui-button{--button-start:#d8349e;--button-end:#8f277f;--button-shadow:#3414505c;background:linear-gradient(180deg, var(--button-start), var(--button-end));min-width:172px;min-height:42px;box-shadow:0 4px 8px var(--button-shadow), 0 1px 0 #120a213d;color:#fff;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:2px solid #ffffffeb;border-radius:11px;padding:.62rem .92rem;font-size:.9rem;line-height:1;transition:transform .2s,filter .2s,opacity .2s}.ui-button:hover:not(:disabled){filter:saturate(1.06);transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:disabled{opacity:1;cursor:not-allowed;color:#6e7482;box-shadow:none;filter:grayscale(.08);background:linear-gradient(#eceff4,#d5dbe5);border-color:#b8bfcc;transform:none}.ui-button:disabled:hover,.ui-button:disabled:active{filter:grayscale(.08);transform:none}.ui-button-primary{--button-start:var(--home-create-start,#d8349e);--button-end:var(--home-create-end,#8f277f)}.ui-button-secondary{--button-start:var(--home-join-start,#2e7c48);--button-end:var(--home-join-end,#1b5d33)}.ui-button-danger{--button-start:#df5178;--button-end:#a12753}.ui-button-success{--button-start:#37a66d;--button-end:#1f7149}.ui-button-info{--button-start:#4b95d1;--button-end:#2f5fa7}.ui-button-warning{--button-start:#f0ba3f;--button-end:#d28c1f}.ui-button-ghost{--button-start:#fffffff0;--button-end:#efe6fff0;color:#3e2a60;border-color:#7e57b56b;min-width:50px;min-height:50px;box-shadow:0 3px 6px #23113a24}.ui-button-default{min-width:184px}.ui-button-icon{justify-content:center;align-items:center;width:50px;min-width:50px;height:50px;min-height:50px;padding:0;display:inline-flex}.ui-input{color:#2b2142;width:100%;min-height:46px;font-family:var(--font-body);background:#fffffff2;border:2px solid #7554ad57;border-radius:11px;padding:.62rem .76rem;font-size:1rem;font-weight:700}.ui-input:focus-visible{outline-offset:1px;outline:3px solid #7349b361}.ui-input:disabled{cursor:not-allowed;color:#6e7482;background:linear-gradient(#eef1f6,#e1e6ef);border-color:#c4cad6}.ui-select-trigger{color:#2b2142;width:100%;min-height:46px;font-family:var(--font-body);background:#fffffff2;border:2px solid #7554ad57;border-radius:11px;justify-content:space-between;align-items:center;gap:.45rem;padding:.62rem .74rem;font-size:.94rem;font-weight:700;display:inline-flex}.ui-select-trigger[data-placeholder]{color:#6f638a}.ui-select-trigger:focus-visible{outline-offset:1px;outline:3px solid #7349b361}.ui-select-content{z-index:70;min-width:var(--radix-select-trigger-width);background:#fffffffa;border:1px solid #785ca957;border-radius:12px;max-width:min(360px,92vw);overflow:hidden;box-shadow:0 14px 28px #160c283d}.ui-select-viewport{padding:.25rem}.ui-select-item{color:#3b2b5d;cursor:pointer;border-radius:8px;align-items:center;gap:.42rem;min-height:32px;padding:.44rem .52rem;font-size:.9rem;font-weight:700;line-height:1.2;display:flex}.ui-select-item[data-highlighted]{background:#7354ac24;outline:none}.ui-select-item[data-state=checked]{color:#2d6f4a}.ui-select-item-indicator-wrap{justify-content:center;align-items:center;width:14px;min-width:14px;display:inline-flex}.ui-dialog-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#120a1c99;animation:.24s dialogOverlayIn;position:fixed;inset:0}.ui-dialog-overlay[data-state=closed]{animation:.2s dialogOverlayOut}.ui-dialog-content{z-index:41;background:linear-gradient(170deg,#fffffffa,#ebe1f9f2);border:2px solid #ffffffd6;border-radius:18px;width:min(460px,100vw - 1.4rem);padding:1rem;animation:.28s cubic-bezier(.22,1,.36,1) dialogContentIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 44px #0d081773}.ui-dialog-content[data-state=closed]{animation:.2s dialogContentOut}.ui-dialog-close{color:#4d3878;cursor:pointer;background:#ffffffdb;border:1px solid #7657aa59;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:.8rem;right:.8rem}.ui-dialog-header{gap:.25rem;margin-bottom:.8rem;padding-right:2.4rem;display:grid}.ui-dialog-title{color:#4f2f80;font-size:1.55rem}.ui-dialog-description{color:#4d3b72;font-size:.95rem}.ui-dialog-footer{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.6rem;margin-top:.95rem;display:grid}.ui-dialog-footer .ui-button{width:100%;min-width:0}.lobby-dialog-content .ui-dialog-footer .ui-button-primary{--button-start:var(--home-create-start,#d8349e);--button-end:var(--home-create-end,#8f277f)}.lobby-dialog-content .ui-dialog-footer .ui-button-secondary{--button-start:#fff;--button-end:#ecf3ff;color:#314d75;border-color:#9db2cf;box-shadow:0 4px 8px #1a253a24,0 1px #202c4233}.lobby-dialog-content .ui-dialog-footer .ui-button-secondary:hover:not(:disabled){--button-start:#fff;--button-end:#e3edfe}.lobby-dialog-content .ui-dialog-footer .ui-button-secondary:active:not(:disabled){--button-start:#f4f8ff;--button-end:#dae6fb}.lobby-dialog-content .ui-dialog-footer .ui-button-secondary:disabled{color:#6e7482;box-shadow:none;background:linear-gradient(#eceff4,#d5dbe5);border-color:#b8bfcc}.alert-banner{color:#8b1f45;cursor:default;background:#d34c7e24;border:1.5px solid #d048764d;border-radius:12px;align-items:center;gap:.55rem;margin-bottom:.8rem;padding:.66rem .74rem;font-weight:700;display:flex}.alert-banner.is-dismissible{cursor:pointer}.alert-banner-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.alert-banner-text{line-height:1.3}.alert-info{color:#1f4f8c;background:#5492e32b;border-color:#3873bf57}.alert-danger{color:#8b1f45;background:#d34c7e24;border-color:#d0487657}.alert-warning{color:#7c540f;background:#edb74833;border-color:#d9962e61}.alert-success{color:#206445;background:#4fb58229;border-color:#319c6b5c}.dialog-state-error-banner{margin-top:.62rem;margin-bottom:.05rem}.dialog-state-error{color:#8f1e46;background:#ea507f24;border:1.5px solid #cb355f6b;border-radius:10px;margin-top:.6rem;margin-bottom:.1rem;padding:.58rem .68rem;font-size:.9rem;font-weight:700}.ui-tooltip-content{z-index:70;color:#332157;background:#fffffff5;border:1px solid #5f478f6b;border-radius:10px;max-width:min(260px,85vw);padding:.42rem .58rem;font-size:.78rem;font-weight:700;line-height:1.35;animation:.18s tooltipFadeIn;box-shadow:0 10px 18px #120a1e3d}.ui-popover-content{z-index:70;color:#332157;background:#fffffffa;border:1px solid #5f478f73;border-radius:12px;max-width:min(280px,88vw);padding:.52rem .64rem;font-size:.8rem;font-weight:700;line-height:1.35;animation:.18s tooltipFadeIn;box-shadow:0 12px 24px #120a1e42}.ui-scroll-area{position:relative;overflow:hidden}.ui-scroll-area-viewport{border-radius:inherit;width:100%;height:100%;overflow:auto}.ui-scrollbar{-webkit-user-select:none;user-select:none;touch-action:none;opacity:0;background:0 0;padding:1px;transition:opacity .18s,background-color .16s;display:flex;position:absolute}.ui-scrollbar.is-vertical{width:8px;height:100%;top:0;right:1px}.ui-scrollbar.is-horizontal{flex-direction:column;width:100%;height:8px;bottom:1px;left:0}.ui-scrollbar[data-state=visible]{opacity:1}.ui-scrollbar[data-state=hidden]{opacity:0;pointer-events:none}.ui-scrollbar-thumb{background:color-mix(in srgb, var(--theme-accent,#763674) 55%, white 45%);opacity:.72;border-radius:999px;flex:1}.ui-scrollbar-thumb:hover{opacity:.9}.ui-scroll-area-fade{z-index:1;pointer-events:none;opacity:0;width:calc(100% - 10px);height:20px;transition:opacity .14s;position:absolute;left:0}.ui-scroll-area-fade-top{background:linear-gradient(180deg, color-mix(in srgb, var(--scroll-fade-color,#f5edfff5) 90%, transparent 10%), transparent);top:0}.ui-scroll-area-fade-bottom{background:linear-gradient(0deg, color-mix(in srgb, var(--scroll-fade-color,#f5edfff5) 90%, transparent 10%), transparent);bottom:0}.ui-scroll-area-fade.is-visible{opacity:1}.home{--home-bg-top:#c6d63e;--home-bg-middle:#8bb63d;--home-bg-bottom:#377d33;--home-accent:#763674;--home-title:#2d3425;--home-shadow:#25422159;background:radial-gradient(circle at 50% 44%, #ffffff47, transparent 28%), linear-gradient(180deg, var(--home-bg-top) 0%, var(--home-bg-middle) 52%, var(--home-bg-bottom) 100%);flex-direction:column;justify-content:space-between;align-items:center;gap:clamp(.65rem,1.9vh,1.2rem);min-height:100vh;padding:clamp(.7rem,2.3vw,1.2rem) clamp(.85rem,3vw,1.8rem) clamp(1.2rem,2.8vw,2rem);transition:background .26s linear;display:flex;position:relative;overflow:hidden}.home:before{content:"";opacity:.34;pointer-events:none;background:conic-gradient(#ffffff52 0deg 16deg,#ffffff14 16deg 36deg,#ffffff4d 36deg 52deg,#ffffff14 52deg 72deg,#ffffff4d 72deg 92deg,#ffffff14 92deg 116deg,#ffffff42 116deg 136deg,#ffffff14 136deg 162deg,#ffffff4d 162deg 186deg,#ffffff14 186deg 214deg,#ffffff4d 214deg 236deg,#ffffff14 236deg 264deg,#ffffff4d 264deg 286deg,#ffffff14 286deg 318deg,#ffffff52 318deg 360deg);border-radius:50%;width:132vmax;height:132vmax;transition:background .26s linear;animation:24s linear infinite spotlightRotate;position:absolute;top:calc(44% - 66vmax);left:calc(50% - 66vmax);-webkit-mask-image:radial-gradient(circle,#000000fa 0%,#000000d1 34%,#00000047 55%,#0000 70%);mask-image:radial-gradient(circle,#000000fa 0%,#000000d1 34%,#00000047 55%,#0000 70%)}.home:after{content:"";pointer-events:none;transform-origin:50% 44%;background:radial-gradient(circle at 50% 44%,#ffffff2e,#0000 30%),radial-gradient(circle at 50% 100%,#ffffff1f,#0000 44%);transition:background .26s linear;animation:5.6s ease-in-out infinite spotlightBreath;position:absolute;inset:0}.brand-header,.showcase-section,.entry-actions-center{z-index:1;width:min(980px,100%);position:relative}.brand-header{justify-content:center;margin-top:clamp(.1rem,.8vh,.65rem);display:flex}.brand-logo-stack{--edition-tag-scale:1.34;--edition-tag-right:-2px;--edition-tag-bottom:20%;--edition-tag-rotate:-18deg;--edition-tag-font-min:.68rem;--edition-tag-font-fluid:1.35vw;--edition-tag-font-max:.84rem;--edition-tag-pad-top:.08rem;--edition-tag-pad-x:.58rem;--edition-tag-pad-bottom:.14rem;line-height:0;display:inline-block;position:relative}.brand-logo-image{filter:drop-shadow(0 8px 16px #1c0f3452);width:min(196px,46vw);display:block}.brand-edition-tag{right:var(--edition-tag-right);bottom:var(--edition-tag-bottom);transform:rotate(var(--edition-tag-rotate));white-space:nowrap;padding:calc(var(--edition-tag-pad-top) * var(--edition-tag-scale)) calc(var(--edition-tag-pad-x) * var(--edition-tag-scale)) calc(var(--edition-tag-pad-bottom) * var(--edition-tag-scale));border:calc(2px * var(--edition-tag-scale)) solid #ffffffd9;color:#602f8e;font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(calc(var(--edition-tag-font-min) * var(--edition-tag-scale)), calc(var(--edition-tag-font-fluid) * var(--edition-tag-scale)), calc(var(--edition-tag-font-max) * var(--edition-tag-scale)));-webkit-user-select:none;user-select:none;background:linear-gradient(#fff,#efe5f9f2);border-radius:999px;line-height:1;position:absolute;box-shadow:0 7px 16px #1c0f3447}.showcase-section{flex:auto;align-content:center;justify-items:center;gap:.6rem;display:grid}.variant-carousel{justify-content:center;width:min(540px,100%);display:flex;position:relative}.variant-nav-button{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;z-index:2;background:#fff3;border-color:#ffffff8f;border-radius:999px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:none!important}.variant-nav-button.ui-button{letter-spacing:0;filter:none;border-width:1px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;transition:none;transform:translateY(-50%)}.variant-nav-button.ui-button:hover:not(:disabled),.variant-nav-button.ui-button:active:not(:disabled){filter:none;transition:none;transform:translateY(-50%)}.variant-nav-left{left:-22px}.variant-nav-right{right:-22px}.variant-viewport{touch-action:pan-y;cursor:grab;border-radius:0;width:100%;min-height:min(62vh,560px);position:relative;overflow:hidden visible}.variant-viewport:active{cursor:grabbing}.variant-track{--carousel-drag-offset:0px;height:100%;transform:translateX(calc(-100% + var(--carousel-drag-offset)));will-change:transform;transition:transform .48s cubic-bezier(.2,.8,.22,1);display:flex}.variant-track.is-dragging,.variant-track.is-settling{transition:none}.variant-slide{flex:0 0 100%;place-items:center;min-width:100%;padding:.95rem 0 2.8rem;display:grid}.variant-cover-image{aspect-ratio:auto;object-fit:contain;width:clamp(230px,38vw,330px);box-shadow:none;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform;backface-visibility:hidden;filter:drop-shadow(0 24px 24px var(--home-shadow));border:none;border-radius:0;animation:4.8s ease-in-out infinite coverLevitate;display:block}.entry-actions-center{justify-items:center;gap:.65rem;margin-bottom:clamp(.1rem,.8vh,.7rem);display:grid}.entry-label{color:#3f2f66;gap:.36rem;font-size:.92rem;font-weight:800;display:grid}.entry-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.entry-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.entry-dice-button.ui-button{border-radius:12px;width:46px;min-width:46px;height:46px;min-height:46px;padding:0}.lobby-dialog-content .entry-label{margin-top:.6rem}.layout{gap:1rem;width:min(1360px,98.5vw);margin:1.4rem auto 0;display:grid}.room-page{background:linear-gradient(180deg, color-mix(in srgb, var(--room-bg-top) 88%, white 12%), color-mix(in srgb, var(--room-bg-middle) 84%, black 16%) 52%, color-mix(in srgb, var(--room-bg-bottom) 78%, black 22%));min-height:100vh;padding:.6rem 0 1.4rem;position:relative}.room-antigravity-layer{z-index:0;pointer-events:none;opacity:.45;position:absolute;inset:0;overflow:hidden}.room-antigravity-canvas{filter:saturate(1.05)brightness(1.03);width:100%;height:100%;display:block}.room-layout{z-index:1;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(280px,320px) minmax(300px,360px);position:relative}.panel{background:linear-gradient(#fbf7fff2,#f1e8fcf0);border:2px solid #ffffffbd;border-radius:18px;padding:1rem;box-shadow:0 16px 30px #10091e47}.panel-main{background:#f8f3fff5;grid-area:1/1;align-content:start;place-self:start stretch;gap:.5rem;width:100%;max-width:100%;padding:.92rem 1rem .96rem;display:grid}.eyebrow{color:#6b5494;letter-spacing:.13em;text-transform:uppercase;font-size:.74rem;font-weight:800}.panel-main h1{color:#592f88;font-size:clamp(2.6rem,5.1vw,4rem);line-height:1}.lead{color:#5d4b80;margin-top:0;line-height:1.36}.room-code-row{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.34rem;width:fit-content;max-width:100%;margin-top:0;display:flex}.room-code-row h1{text-shadow:none;margin:0;line-height:1;overflow:visible}.room-code-copy-button.ui-button{border-radius:11px;flex-shrink:0;width:38px;min-width:38px;height:38px;min-height:38px;margin-left:0}.room-actions{flex-wrap:wrap;gap:.5rem;margin-top:.38rem;display:flex}.room-actions .ui-button{justify-content:center;align-items:center;gap:.34rem;width:172px;min-width:172px;height:42px;min-height:42px;padding:.54rem .72rem;font-size:.86rem;display:inline-flex}.room-extra-card{gap:.55rem;display:grid}.room-side-card{justify-self:end;width:100%;padding-inline:.98rem}.room-players-card{grid-area:1/2;grid-template-rows:auto minmax(0,1fr);align-self:stretch;min-height:0;display:grid;overflow:hidden}.room-players-scroll-area{--scroll-fade-color:#f7f1fff2;background:#ffffff8f;border:1px solid #785ca938;border-radius:12px;height:100%;min-height:0;max-height:100%;padding:.24rem .26rem .24rem .2rem}.room-section-title{color:#4f2f80;margin-bottom:.72rem;font-size:clamp(1.28rem,2.4vw,1.6rem);line-height:1.04}.room-players-card .room-section-title{margin-bottom:0}.room-players-title-row{justify-content:space-between;align-items:center;gap:.42rem;display:flex}.room-add-bot-button.ui-button{border-radius:10px;width:34px;min-width:34px;height:34px;min-height:34px}.room-add-bot-icon-wrap{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:relative}.room-add-bot-icon-wrap svg:last-child{position:absolute;bottom:-4px;right:-5px}.room-ballpit-wrap{width:100%;min-height:var(--room-ballpit-height,400px);height:var(--room-ballpit-height,400px);box-shadow:none;background:linear-gradient(#faf5ff42,#f0e7fc3d);border:none;border-radius:0 0 14px 14px;position:relative;overflow:hidden}.room-ballpit-canvas{width:100%;height:100%;min-height:0;display:block}.ballpit-root{width:100%;height:100%;min-height:inherit;position:relative}.ballpit-floating-label{font-family:var(--font-display);letter-spacing:.04em;pointer-events:none;border-radius:999px;padding:.3rem .44rem .24rem;font-size:.74rem;line-height:1;position:absolute;box-shadow:0 7px 14px #120a2238}.ballpit-self-label{--ballpit-self-x:50%;--ballpit-self-y:50%;left:var(--ballpit-self-x);top:var(--ballpit-self-y);color:#4f2f80;background:#ffffffe0;border:1px solid #ffffffe6;transform:translate(-50%,-155%)}.ballpit-germ-label{--ballpit-germ-x:50%;--ballpit-germ-y:50%;left:var(--ballpit-germ-x);top:var(--ballpit-germ-y);color:#237b45;box-shadow:none;background:#e5ffeae6;border:1px solid #a9dcade6;transform:translate(-50%,72%)}.ballpit-player-label{--ballpit-player-x:50%;--ballpit-player-y:50%;left:var(--ballpit-player-x);top:var(--ballpit-player-y);color:#2f5f8c;background:#e6f5ffe6;border:1px solid #97c7f4eb;transform:translate(-50%,-145%)}.ballpit-player-label-content{align-items:center;gap:.24rem;display:inline-flex}.ballpit-player-label-icon{color:#2a67af}.room-ballpit-card{--room-ballpit-height:400px;width:100%;max-width:100%;min-height:calc(var(--room-ballpit-height,400px) + 90px);grid-area:2/1;grid-template-rows:auto minmax(0,1fr);align-content:stretch;justify-self:stretch;padding:0;overflow:hidden}.room-ballpit-card .room-section-title{margin-bottom:0;padding:1rem 1rem .7rem}.room-ballpit-title-row{justify-content:space-between;align-items:center;gap:.7rem;padding-right:.86rem;display:flex}.room-germ-control{align-items:center;gap:.36rem;display:inline-flex}.room-germ-control-value{text-align:center;min-width:2.2rem;font-family:var(--font-display);color:#4f2f80;font-size:.98rem}.room-germ-control-button.ui-button{border-radius:10px;width:34px;min-width:34px;height:34px;min-height:34px}.room-ballpit-counter{z-index:2;color:#2d7a47;font-family:var(--font-display);letter-spacing:.04em;pointer-events:none;background:#ffffffe6;border:1px solid #ffffffe6;border-radius:999px;padding:.32rem .52rem .26rem;font-size:.74rem;line-height:1;position:absolute;top:.6rem;right:.6rem}.room-variant-card{text-align:center;grid-area:2/2;grid-template-rows:auto 1fr auto;align-content:stretch;justify-items:center;gap:.74rem;min-height:420px;padding:.96rem 1rem 1rem}.room-variant-title{place-self:start center;margin-bottom:.08rem}.room-variant-cover{aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 5px 7px #1d0c372e);align-self:center;width:clamp(140px,24vw,190px);margin-block:.16rem .28rem}.room-rules-button.ui-button{justify-content:center;align-self:end;align-items:center;gap:.4rem;width:100%;display:inline-flex}.room-chat-card{grid-area:1/3/span 2;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;gap:.7rem;min-height:0;display:grid;overflow:hidden}.room-chat-header{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.room-chat-header .room-section-title{margin-bottom:0}.room-germ-switch-wrap{align-items:center;gap:.36rem;display:inline-flex}.room-germ-tooltip-trigger{color:#5e3d91;cursor:pointer;background:#ffffffd9;border:1px solid #6e539c61;border-radius:999px;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;padding:0;display:inline-flex}.room-chat-scroll-area{--scroll-fade-color:#f7f1fff5;background:#fff9;border:1px solid #785ca940;border-radius:12px;height:100%;min-height:0;max-height:100%}.room-germ-popover{max-width:min(300px,88vw)}.room-chat-messages{align-content:start;gap:.56rem;min-height:0;padding:.68rem;display:grid;overflow:hidden}.room-chat-empty{color:#715e95;font-size:.9rem}.room-chat-message{background:#7c5cac1f;border:1px solid #7a5caa4d;border-radius:10px;gap:.18rem;padding:.46rem .54rem;display:grid}.room-chat-message.is-own{background:#3d8ed921;border-color:#3685cc59}.room-chat-message.is-germ{background:#5cae7426;border-color:#44965d5c}.room-chat-message-author{font-family:var(--font-display);letter-spacing:.04em;color:#51357d;font-size:.76rem}.room-chat-message-author-row{justify-content:space-between;align-items:center;gap:.5rem;margin:0;display:flex}.room-chat-message-meta{align-items:center;gap:.3rem;display:inline-flex}.room-chat-message-time{color:#7b69a2;font-size:.68rem;font-weight:800}.room-chat-remove-button.ui-button{--button-start:#ffeff4fa;--button-end:#ffe1e9fa;color:#b73356;width:22px;min-width:22px;height:22px;min-height:22px;box-shadow:none;border-width:1px;border-color:#bb385a6b;border-radius:7px}.room-chat-remove-button.ui-button:hover:not(:disabled){--button-start:#ffe7effa;--button-end:#ffd6e2fa;color:#a42346}.room-chat-remove-button.ui-button:active:not(:disabled){--button-start:#ffdce7fa;--button-end:#ffcddcfa;color:#972041}.room-chat-message.is-germ .room-chat-message-author{color:#2f7a49}.room-chat-message-text{color:#2f2746;font-size:.9rem;line-height:1.28}.room-chat-form{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.room-chat-send-button.ui-button{border-radius:12px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.room-code-gradient{font-size:inherit;line-height:inherit;letter-spacing:.04em;text-shadow:none;font-style:normal;font-weight:700}.room-code-gradient.gradient-text{max-width:none;margin:0 -.04em;padding:0 .12em;line-height:1;display:inline-flex;overflow:visible}.room-code-gradient .gradient-text-content{white-space:nowrap;margin:0;padding:0;line-height:1;overflow:visible}.room-germ-switch{-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;display:inline-flex}.room-germ-switch input{display:none}.room-germ-switch-track{background:#ffffffc2;border:1px solid #775da366;border-radius:999px;align-items:center;width:44px;height:24px;padding:2px;transition:background .18s,border-color .18s;display:inline-flex}.room-germ-switch-thumb{background:#6f4aad;border-radius:999px;width:18px;height:18px;transition:transform .2s,background .2s}.room-germ-switch input:checked+.room-germ-switch-track{background:#d7f7e0e6;border-color:#3e966480}.room-germ-switch input:checked+.room-germ-switch-track .room-germ-switch-thumb{background:#2f9157;transform:translate(19px)}.room-germ-switch input:disabled+.room-germ-switch-track{background:#eceff4;border-color:#bcc5d3}.room-germ-switch input:disabled+.room-germ-switch-track .room-germ-switch-thumb{background:#9aa7bb}.room-germ-switch input:disabled~.room-germ-switch-label{color:#6f7a8f}.room-germ-switch-label{color:#4f3d73;font-size:.78rem;font-weight:800}.gradient-text{--gradient-text-color-1:#5227ff;--gradient-text-color-2:#ff9ffc;--gradient-text-color-3:#b19eef;--gradient-text-duration:8s;justify-content:center;align-items:center;max-width:fit-content;display:inline-flex;position:relative}.gradient-text-content{background-image:linear-gradient(90deg, var(--gradient-text-color-1), var(--gradient-text-color-2), var(--gradient-text-color-3), var(--gradient-text-color-1));animation:gradientTextShift var(--gradient-text-duration) ease-in-out infinite;color:#0000;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block}.players-list{gap:.52rem;margin:0;padding:.06rem .04rem;list-style:none;display:grid}.player-row{color:#4a3677;background:#7354ac1f;border:1px solid #6f51a34d;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.62rem .72rem;display:flex}.player-row.is-clickable{cursor:pointer;transition:background-color .16s,border-color .16s,transform .16s}.player-row.is-clickable:hover{background:#5b93da24;border-color:#5690da75;transform:translateY(-1px)}.player-row.is-clickable:focus-visible{outline-offset:2px;outline:3px solid #608cd457}.player-row.host{background:#28926c21;border-color:#2b997361}.player-row.bot{background:#4a86d51f;border-color:#4783d65c}.player-name-cell{align-items:center;gap:.26rem;font-size:.88rem;line-height:1.22;display:inline-flex}.player-name-text{font-weight:700}.player-bot-state{flex-direction:column;align-items:flex-end;gap:.08rem;display:inline-flex}.player-bot-type{color:#2c649f;align-items:center;gap:.22rem;font-size:.73rem;font-weight:900;display:inline-flex}.player-bot-difficulty{color:#305f95;font-size:.74rem;font-weight:800}.player-host-crown{color:#2f7b58}.player-host-label{color:#2f7b58;align-items:center;gap:.24rem;font-size:.74rem;font-weight:900;display:inline-flex}.player-ready-state{align-items:center;gap:.25rem;font-size:.74rem;font-weight:800;display:inline-flex}.player-ready-state.is-ready{color:#256f47}.player-ready-state.is-not-ready{color:#6d5d8b}.player-row.muted{color:#77638f}.room-participant-dialog{width:min(510px,100vw - 1.2rem)}.room-participant-dialog-body{gap:.72rem;display:grid}.room-participant-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.56rem;display:grid}.room-participant-meta-item{color:#4b3673;background:#ffffffb8;border:1px solid #684d973d;border-radius:10px;gap:.18rem;margin:0;padding:.56rem .64rem;display:grid}.room-participant-meta-item span{color:#6b5894;font-size:.74rem;font-weight:800}.room-participant-meta-item strong{font-size:.92rem}.room-participant-bot-type{align-items:center;gap:.26rem;display:inline-flex}.room-bot-editor{gap:.56rem;display:grid}.room-bot-editor-field{margin:0}.room-bot-difficulty-trigger{width:100%}.room-participant-protected{color:#216446;background:#42a57029;border:1px solid #358c5f59;border-radius:10px;margin:0;padding:.48rem .58rem;font-size:.82rem;font-weight:800}.room-participant-dialog-footer{margin-top:.2rem}.realtime-dock{--dock-left:0px;--dock-top:0px;left:var(--dock-left);top:var(--dock-top);z-index:35;border:1.5px solid color-mix(in srgb, var(--dock-accent,#763674) 68%, #1c132f 32%);background:linear-gradient(180deg, color-mix(in srgb, #fff 76%, var(--dock-start,var(--dock-accent,#763674)) 24%), color-mix(in srgb, #fff 58%, var(--dock-end,var(--dock-accent,#763674)) 42%));color:#241435;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;transition:left .2s,top .2s,width .2s,height .2s,opacity .2s,border-radius .2s,background .2s,box-shadow .2s;display:inline-flex;position:fixed;box-shadow:0 10px 22px #0d08184d}.realtime-dock:not(.is-ready){opacity:0;transition:none}.realtime-dock:focus-visible{outline:3px solid color-mix(in srgb, var(--dock-accent,#763674) 60%, #fff 40%);outline-offset:2px}.realtime-dock.is-dragging{cursor:grabbing;transition:none}.realtime-dock-mode-expanded{border-radius:16px;justify-content:flex-start;gap:.6rem;width:248px;height:58px;padding-inline:.7rem}.realtime-dock-mode-hidden{opacity:.34}.realtime-dock-icon-wrap{background:#ffffffb8;border:1px solid #ffffffeb;border-radius:999px;flex-shrink:0;place-items:center;width:30px;height:30px;display:inline-grid}.realtime-dock-text{opacity:0;text-overflow:clip;white-space:nowrap;width:0;font-size:.82rem;font-weight:800;transition:width .2s,opacity .16s,transform .2s;display:inline-block;overflow:hidden;transform:translate(-6px)}.realtime-dock-mode-expanded .realtime-dock-text{opacity:1;width:180px;transition-delay:40ms,60ms,40ms;transform:translate(0)}.realtime-dock-online .realtime-dock-icon-wrap{color:#1d9c62}.realtime-dock-offline .realtime-dock-icon-wrap{color:#cf304f}@keyframes coverLevitate{0%,to{transform:translate(0,0)}50%{transform:translateY(-10px)}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes spotlightRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spotlightBreath{0%,to{opacity:.58;transform:scale(.98)}50%{opacity:.84;transform:scale(1.02)}}@keyframes gradientTextShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-icon-spin{animation:.95s linear infinite iconSpin}@keyframes dialogOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes dialogOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes dialogContentIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dialogContentOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-52%)scale(.97)}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=920px){.variant-carousel{width:min(420px,100%)}.variant-viewport{min-height:min(54vh,420px)}.entry-actions{flex-direction:column}.entry-actions .ui-button{width:100%}.variant-nav-left{left:-4px}.variant-nav-right{right:-4px}.room-layout{grid-template-rows:none;grid-template-columns:1fr}.room-side-card{justify-self:stretch;width:100%}.room-ballpit-card{display:none}.room-chat-card{grid-area:auto;height:min(64vh,600px);min-height:460px;max-height:min(64vh,600px)}.room-players-card{height:min(58vh,520px);min-height:min(58vh,520px);max-height:min(58vh,520px)}.room-players-scroll-area{min-height:0;max-height:100%}.room-antigravity-layer{opacity:.3}.ui-dialog-footer{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.app-inactive .home:before,body.app-inactive .home:after{transition:none;animation-play-state:paused}body.app-inactive .variant-cover-image,body.app-inactive .gradient-text-content,body.app-inactive .ui-icon-spin{animation-play-state:paused}
