:root{--gb-darkest: #0f380f;--gb-dark: #306230;--gb-light: #8bac0f;--gb-lightest: #9bbc0f;--bg: var(--gb-darkest);--bg2: var(--gb-dark);--panel: var(--gb-dark);--line: var(--gb-light);--text: var(--gb-lightest);--muted: var(--gb-light);--accent: var(--gb-lightest);--accent2: var(--gb-light);--radius: 0;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,Courier New,monospace;image-rendering:pixelated}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text)}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.05rem;margin:22px 0 10px}h3{font-size:.85rem;margin:0 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--muted)}.error{color:var(--gb-lightest);background:var(--gb-dark);padding:4px 8px;border:2px solid var(--gb-lightest);display:inline-block}a{color:var(--accent)}.shell,.centered{min-height:100vh}.centered{display:grid;place-items:center;color:var(--muted)}.topnav{padding:14px 20px;border-bottom:3px solid var(--gb-dark)}.brand{background:none;border:none;color:var(--text);font-size:1.1rem;font-weight:700;cursor:pointer;text-shadow:2px 2px 0 var(--gb-darkest)}.page{max-width:720px;margin:0 auto;padding:28px 20px 80px}.home{display:flex;flex-direction:column;min-height:100vh}.home__main{flex:1;display:grid;place-items:center;padding:32px 20px}.home__hero{width:100%;max-width:440px;background:var(--gb-dark);border:3px solid var(--gb-light);border-radius:var(--radius);padding:36px 32px;box-shadow:8px 8px 0 var(--gb-darkest)}.home__title{margin:0 0 6px;font-size:1.6rem;font-weight:800;text-align:center;letter-spacing:.04em;color:var(--gb-lightest);text-shadow:3px 3px 0 var(--gb-darkest)}.home__sub{margin:0 0 24px;text-align:center;font-size:.92rem;color:var(--gb-light)}.home__joinfield{display:flex;flex-direction:column;gap:8px}.home__join{display:flex;gap:10px;align-items:stretch}.joincode__input{flex:1;min-width:0;font-size:1.5rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;background:var(--gb-darkest);border:3px solid var(--gb-light);color:var(--gb-lightest);padding:10px 12px;outline:none;font-family:inherit}.joincode__input:focus{border-color:var(--gb-lightest)}.home__divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--gb-light);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.home__divider:before,.home__divider:after{content:"";flex:1;height:2px;background:var(--gb-dark)}.home__create{width:100%}@media(max-width:480px){.home__join{flex-direction:column}}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field>span{font-size:.85rem;color:var(--gb-light)}input,select{background:var(--gb-darkest);border:3px solid var(--gb-light);color:var(--gb-lightest);padding:10px 12px;border-radius:0;font-size:16px;outline:none;font-family:inherit}input:focus,select:focus{border-color:var(--gb-lightest)}.req{color:var(--gb-lightest);font-style:normal}.btn{border:3px solid var(--gb-lightest);border-radius:0;padding:11px 18px;font-size:.95rem;cursor:pointer;font-weight:700;font-family:inherit;letter-spacing:.04em;box-shadow:4px 4px 0 var(--gb-darkest);transition:transform .06s steps(2,end),box-shadow .06s steps(2,end)}.btn--primary{background:var(--gb-lightest);color:var(--gb-darkest);margin-top:18px}.btn--primary:active,.btn--ghost:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--gb-darkest)}.btn--primary:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.btn--ghost{background:var(--gb-darkest);border-color:var(--gb-light);color:var(--gb-light)}.icon{background:none;border:none;color:var(--gb-light);font-size:1.2rem;cursor:pointer}.schema-builder{display:flex;flex-direction:column;gap:10px}.schema-row{display:flex;gap:8px;align-items:center;background:var(--gb-dark);padding:8px;border:2px solid var(--gb-light);border-radius:0;flex-wrap:wrap}.schema-row__label,.schema-row__opts{flex:1 1 160px}.chk{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--gb-light)}.chk input{padding:0}.pet-picker,.color-picker{display:flex;gap:10px;flex-wrap:wrap}.pet-opt{font-size:1.6rem;background:var(--gb-darkest);border:3px solid var(--gb-light);border-radius:0;width:52px;height:52px;cursor:pointer;box-shadow:3px 3px 0 var(--gb-darkest)}.pet-opt.on{border-color:var(--gb-lightest);background:var(--gb-dark)}.color-opt{width:32px;height:32px;border-radius:0;border:3px solid var(--gb-dark);cursor:pointer;margin-top:10px}.color-opt.on{border-color:var(--gb-lightest);box-shadow:0 0 0 2px var(--gb-light)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--gb-darkest);border:2px solid var(--gb-light);color:var(--gb-light);padding:6px 12px;border-radius:0;cursor:pointer;font-size:.85rem;font-family:inherit}.chip--on{background:var(--gb-lightest);border-color:var(--gb-lightest);color:var(--gb-darkest)}.room{display:flex;flex-direction:column;height:100vh;height:100dvh}.room__bar{--hd-ink: var(--gb-darkest);--hd-gold: var(--gb-lightest);--hd-mint: var(--gb-light);display:flex;align-items:center;gap:18px;padding:9px 18px;background:var(--gb-dark);border-bottom:4px solid var(--gb-darkest)}.room__ident{flex:1;min-width:0}.room__title{margin:0;font-size:1.02rem;font-weight:900;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;color:var(--gb-lightest);text-shadow:2px 2px 0 var(--gb-darkest);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room__purpose{margin:2px 0 0;font-size:.74rem;line-height:1.1;color:var(--gb-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room__status{display:flex;align-items:center;gap:8px;flex-shrink:0}.room__code{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;background:var(--gb-darkest);border:2px solid var(--gb-light);box-shadow:2px 2px 0 var(--gb-darkest);flex-shrink:0}.room__code-label{font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gb-light)}.room__code-value{font-size:1rem;font-weight:900;letter-spacing:.22em;font-variant-numeric:tabular-nums;color:var(--gb-lightest)}.room__count{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--gb-lightest);background:var(--gb-darkest);border:2px solid var(--gb-light);box-shadow:2px 2px 0 var(--gb-darkest)}.room__count--muted{color:var(--gb-light);border-color:var(--gb-dark)}.room__live{width:8px;height:8px;background:var(--gb-lightest);box-shadow:0 0 0 1px var(--gb-darkest);animation:room-live 1.6s steps(2,end) infinite}@keyframes room-live{0%,to{opacity:1}50%{opacity:.3}}.room__actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.room__filters-btn{display:none;align-items:center;gap:6px;padding:7px 12px;background:var(--gb-darkest);border:2px solid var(--gb-light);color:var(--gb-light);font-family:inherit;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;box-shadow:2px 2px 0 var(--gb-darkest)}.room__filters-btn--on{background:var(--gb-lightest);color:var(--gb-darkest);border-color:var(--gb-lightest)}.room__filters-count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;background:var(--gb-lightest);color:var(--gb-darkest);font-size:.6rem;font-weight:900;line-height:1}.room__filters-btn--on .room__filters-count{background:var(--gb-darkest);color:var(--gb-lightest)}.badge{background:var(--gb-lightest);color:var(--gb-darkest);padding:4px 10px;border:2px solid var(--gb-darkest);font-size:.66rem;font-weight:800;text-transform:uppercase;box-shadow:2px 2px 0 var(--gb-darkest)}.toggle{display:inline-flex;background:var(--gb-darkest);border:2px solid var(--gb-light);overflow:hidden;box-shadow:2px 2px 0 var(--gb-darkest)}.toggle button{background:none;border:none;color:var(--gb-light);padding:6px 15px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;font-family:inherit;transition:background .08s steps(2,end),color .08s steps(2,end)}.toggle button+button{border-left:2px solid var(--gb-light)}.toggle button:hover{color:var(--gb-lightest)}.toggle button.on{background:var(--gb-lightest);color:var(--gb-darkest)}@media(prefers-reduced-motion:reduce){.room__live{animation:none}}.room__body{position:relative;flex:1;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0;overflow:hidden}.panel{background:var(--gb-dark);border-right:3px solid var(--gb-light);padding:16px;overflow-y:auto}.filters__head{display:flex;justify-content:space-between;align-items:baseline}.filters__count{color:var(--gb-lightest);font-weight:700;font-size:.85rem}.filters__group{margin:16px 0}.room__main{position:relative;display:flex;flex-direction:column;min-width:0}.panel__close{display:none;background:none;border:none;color:var(--gb-light);font-size:1.4rem;line-height:1;cursor:pointer}.sprite-room{--pixel-ink: var(--gb-darkest);--pixel-wall: var(--gb-dark);--pixel-wall-dark: var(--gb-darkest);--pixel-wood: var(--gb-light);--pixel-wood-dark: var(--gb-dark);--pixel-gold: var(--gb-lightest);--pixel-mint: var(--gb-lightest);--pixel-rose: var(--gb-light);--pixel-blue: var(--gb-light);position:relative;flex:1;min-height:0;overflow:hidden;background:var(--gb-darkest);image-rendering:pixelated}.sprite-room__crt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2200;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(15,56,15,.2) 3px 4px),radial-gradient(circle at 50% 28%,transparent 0 48%,rgba(0,0,0,.28) 100%)}.room-wall{position:absolute;top:0;left:0;right:0;height:190px;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,var(--gb-darkest),var(--gb-dark));border-bottom:6px solid var(--gb-darkest)}.room-neon-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.4;background:repeating-linear-gradient(90deg,transparent 0 38px,var(--gb-light) 38px 39px),repeating-linear-gradient(0deg,transparent 0 26px,var(--gb-light) 26px 27px);-webkit-mask-image:linear-gradient(180deg,transparent 4%,#000 88%);mask-image:linear-gradient(180deg,transparent 4%,#000 88%)}.room-neon-glow{position:absolute;top:50%;left:50%;width:460px;height:200px;transform:translate(-50%,-48%);background:radial-gradient(closest-side,rgba(155,188,15,.35),rgba(139,172,15,.12) 56%,transparent 74%);animation:neon-breathe 3.4s ease-in-out infinite}.room-scanline{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(15,56,15,.22) 3px 4px);opacity:.4}.room-neon-tube{position:absolute;top:30px;bottom:26px;width:4px;background:var(--gb-lightest);box-shadow:0 0 4px var(--gb-lightest);animation:neon-breathe 2.8s ease-in-out infinite}.room-neon-tube--l{left:9%}.room-neon-tube--r{right:9%;background:var(--gb-light);box-shadow:0 0 4px var(--gb-light);animation-delay:.7s}.room-neon{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);display:flex;flex-direction:column;align-items:center;gap:15px;max-width:min(560px,76%)}.room-neon__sign{max-width:100%;padding:2px 4px;color:var(--gb-lightest);font-size:clamp(1.15rem,3.4vw,1.95rem);font-weight:900;letter-spacing:.14em;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 4px var(--gb-lightest),0 0 11px var(--gb-light),0 0 22px var(--gb-light);animation:neon-flicker 6s steps(1,end) infinite}.room-neon__rule{width:74%;height:3px;background:var(--gb-lightest);box-shadow:0 0 5px var(--gb-lightest),0 0 13px var(--gb-light);animation:neon-breathe 2.2s ease-in-out infinite}@keyframes neon-breathe{0%,to{opacity:.82}50%{opacity:1}}@keyframes neon-flicker{0%,88%,to{opacity:1}90%{opacity:.55}91%{opacity:1}93%{opacity:.7}94%{opacity:1}}.sprite-room__floor{position:absolute;top:190px;left:0;right:0;bottom:0}.room-floor__surface{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(27% 0,73% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(58,36,24,.55) 0,transparent 22%,rgba(168,116,85,.1) 100%),repeating-linear-gradient(90deg,transparent 0 46px,rgba(58,36,24,.28) 46px 50px),repeating-linear-gradient(0deg,#8b5a3c 0,#8b5a3c 26px,#5c3a26 26px,#5c3a26 30px);box-shadow:inset 0 9px #3a241873}.room-floor__grid{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(27% 0,73% 0,100% 100%,0 100%);opacity:.26;background:repeating-linear-gradient(12deg,transparent 0 34px,rgba(168,116,85,.2) 34px 36px),repeating-linear-gradient(-12deg,transparent 0 34px,rgba(58,36,24,.24) 34px 36px)}.room-floor-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.room-garden{position:absolute;top:57%;left:50%;width:min(44%,420px);height:26%;transform:translate(-50%,-50%);z-index:0}.room-garden__box{position:absolute;left:0;right:0;bottom:0;height:38%;background:repeating-linear-gradient(90deg,var(--gb-light) 0 15px,var(--gb-dark) 15px 19px);border:5px solid var(--gb-darkest);box-shadow:7px 7px #0006,inset 0 7px 0 var(--gb-darkest)}.room-plant{position:absolute;bottom:30%;width:6px;background:var(--gb-light);box-shadow:2px 0 0 var(--gb-dark);transform-origin:bottom center;animation:plant-sway 3.6s ease-in-out infinite}.room-plant:before{content:"";position:absolute;left:50%;top:-8px;width:26px;height:22px;transform:translate(-50%);background:var(--gb-light);border:3px solid var(--gb-darkest);clip-path:polygon(50% 0,100% 42%,82% 100%,18% 100%,0 42%)}.room-plant:after{content:"";position:absolute;left:50%;top:-16px;width:10px;height:10px;transform:translate(-50%);background:var(--bud);box-shadow:0 0 6px var(--bud);animation:neon-breathe 2.4s ease-in-out infinite}.room-plant:nth-child(2){left:11%;height:34px;--bud: var(--gb-light)}.room-plant:nth-child(3){left:31%;height:46px;--bud: var(--gb-lightest);animation-delay:.4s}.room-plant:nth-child(4){left:51%;height:38px;--bud: var(--gb-lightest);animation-delay:.8s}.room-plant:nth-child(5){left:71%;height:48px;--bud: var(--gb-light);animation-delay:.2s}.room-plant:nth-child(6){left:88%;height:32px;--bud: var(--gb-lightest);animation-delay:.6s}@keyframes plant-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.room-stool{position:absolute;bottom:7%;width:54px;height:38px;background:var(--gb-light);border:5px solid var(--gb-darkest);box-shadow:inset 0 -8px 0 var(--gb-dark),7px 7px #00000059;z-index:1500}.room-stool:before,.room-stool:after{content:"";position:absolute;bottom:-22px;width:8px;height:24px;background:var(--gb-dark);border:4px solid var(--gb-darkest)}.room-stool:before{left:6px}.room-stool:after{right:6px}.room-stool--left{left:4%}.room-stool--right{right:10%;bottom:15%;transform:scale(.72)}.room-crate{position:absolute;left:14%;bottom:3%;width:76px;height:58px;background:var(--gb-light);border:6px solid var(--gb-darkest);box-shadow:inset 0 -10px 0 var(--gb-dark),8px 8px #00000059;z-index:1600}.room-crate span{position:absolute;background:var(--gb-darkest)}.room-crate span:nth-child(1){inset:22px 0 auto;height:5px}.room-crate span:nth-child(2){left:33px;top:0;bottom:0;width:5px}.room-crate span:nth-child(3){left:8px;right:8px;top:8px;height:5px;transform:rotate(31deg);transform-origin:left center}.room-lamp{position:absolute;right:2%;bottom:0;width:76px;height:158px;z-index:1700}.room-lamp__pole{position:absolute;bottom:0;left:50%;width:8px;height:120px;transform:translate(-50%);background:var(--gb-darkest)}.room-lamp__base{position:absolute;bottom:0;left:50%;width:44px;height:12px;transform:translate(-50%);background:var(--gb-darkest)}.room-lamp__shade{position:absolute;top:0;left:50%;width:66px;height:46px;transform:translate(-50%);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);background:var(--gb-lightest);border:5px solid var(--gb-darkest);box-shadow:0 0 0 7px #9bbc0f2e,0 0 34px 18px #9bbc0f47}.sprite{position:absolute;width:46px;height:46px;padding:0;border:none;background:none;cursor:pointer;transform:translate(-50%,-100%);transform-origin:bottom center;transition:left .13s steps(2,end),top .13s steps(2,end),opacity .3s}.sprite:focus-visible .sprite__aura{opacity:1;border-color:var(--gb-lightest)}.sprite--dim{opacity:.28}.sprite__scale{position:relative;display:block;width:46px;height:46px;transform-origin:bottom center;transition:transform .13s steps(2,end)}.sprite__aura{position:absolute;left:50%;bottom:-8px;width:38px;height:13px;opacity:0;transform:translate(-50%);border:2px solid var(--gb-lightest);box-shadow:inset 0 0 0 1px var(--gb-darkest);transition:opacity .18s steps(2,end)}.sprite--selected .sprite__aura,.sprite--self .sprite__aura{opacity:1;animation:selected-pulse 1.4s steps(2,end) infinite}.sprite__pet{position:relative;display:block;width:46px;height:46px;filter:drop-shadow(3px 3px 0 var(--gb-darkest))}.sprite__pet[data-facing=left]{transform:scaleX(-1)}.sprite__glyph{position:relative;z-index:2;display:block;width:46px;height:46px;font-size:34px;line-height:46px;text-align:center;transform-origin:50% 100%;text-shadow:2px 0 0 rgba(155,188,15,.5),-2px 0 0 rgba(15,56,15,.6)}.sprite__dust{position:absolute;left:2px;bottom:3px;z-index:1;width:8px;height:8px;background:var(--gb-light);box-shadow:10px 4px #8bac0f73,18px 0 #8bac0f4d;animation:dust-trail .42s steps(3,end) infinite}.sprite__sparkle{position:absolute;z-index:3;width:7px;height:7px;opacity:0;background:var(--gb-lightest);clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%)}.sprite__sparkle--a{top:-3px;right:-2px}.sprite__sparkle--b{top:8px;left:-4px;background:var(--gb-light);animation-delay:.24s}.sprite--selected .sprite__sparkle,.sprite--self .sprite__sparkle{animation:sparkle-pop .9s steps(4,end) infinite}.sprite__shadow{position:absolute;left:50%;bottom:-6px;width:30px;height:5px;transform:translate(-50%);opacity:.5;box-shadow:0 0 0 2px var(--gb-darkest)}.sprite--selected .sprite__shadow,.sprite--self .sprite__shadow{opacity:.85;box-shadow:0 0 0 2px var(--gb-darkest),0 0 0 5px var(--gb-lightest)}.sprite__energy{position:absolute;left:50%;bottom:-13px;width:18px;height:2px;transform:translate(-50%);background:#0f380f80;overflow:hidden;pointer-events:none}.sprite__energy-fill{display:block;height:100%;opacity:.8;background:var(--gb-lightest);transition:width .5s steps(4,end)}.sprite--selected .sprite__energy,.sprite--self .sprite__energy{width:22px}.sprite__tag{position:absolute;left:50%;bottom:54px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.sprite__name{max-width:140px;overflow:hidden;padding:3px 8px 4px;background:var(--gb-darkest);border:2px solid var(--gb-lightest);color:var(--gb-lightest);font-size:.66rem;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap;box-shadow:3px 3px 0 var(--gb-darkest)}.sprite__you{display:block;padding:4px 7px;background:var(--gb-lightest);border:3px solid var(--gb-darkest);color:var(--gb-darkest);font-size:.62rem;font-weight:900;line-height:1;text-transform:uppercase;box-shadow:3px 3px 0 var(--gb-darkest)}.sprite__emote{display:grid;width:34px;height:34px;place-items:center;background:var(--gb-lightest);border:3px solid var(--gb-darkest);color:var(--gb-darkest);font-size:1.25rem;line-height:1;box-shadow:4px 4px 0 var(--gb-darkest);animation:emote-burst .52s steps(4,end)}.sprite__glyph[data-pose=idle]{animation:sprite-idle 1.6s steps(2,end) infinite}.sprite__glyph[data-pose=stand]{animation:sprite-look 1.2s steps(2,end) infinite}.sprite__glyph[data-pose=walk]{animation:sprite-walk .42s steps(2,end) infinite}.sprite__glyph[data-pose=run]{animation:sprite-run .28s steps(2,end) infinite}.sprite__glyph[data-pose=lie]{transform:rotate(90deg) translateY(-6px);opacity:.88}@keyframes selected-pulse{0%,to{transform:translate(-50%) scaleX(1);opacity:.7}50%{transform:translate(-50%) scaleX(1.06);opacity:1}}@keyframes sparkle-pop{0%,45%,to{opacity:0;transform:translateY(0) scale(.6)}50%,75%{opacity:1;transform:translateY(-6px) scale(1)}}@keyframes dust-trail{0%{opacity:0;transform:translate(10px) scale(.8)}40%{opacity:1}to{opacity:0;transform:translate(-8px) scale(1.2)}}@keyframes emote-burst{0%{opacity:0;transform:translateY(8px) scale(.55)}55%{opacity:1;transform:translateY(-8px) scale(1.1)}to{opacity:1;transform:translateY(-2px) scale(1)}}@keyframes sprite-idle{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(1px) scaleY(.94)}}@keyframes sprite-look{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes sprite-walk{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-4px) rotate(4deg)}}@keyframes sprite-run{0%,to{transform:translateY(0) skew(-8deg)}50%{transform:translateY(-7px) skew(-8deg)}}@media(prefers-reduced-motion:reduce){.room-neon-glow,.room-neon__sign,.room-neon__rule,.room-neon-tube,.room-plant,.room-plant:after,.sprite--selected .sprite__aura,.sprite--self .sprite__aura,.sprite--selected .sprite__sparkle,.sprite--self .sprite__sparkle,.sprite__dust,.sprite__emote,.sprite__glyph{animation:none!important}.sprite,.sprite__scale,.sprite__energy-fill{transition-duration:.01ms}}.emotebar{display:flex;gap:10px;padding:10px;border-top:3px solid var(--gb-light);background:var(--gb-dark)}.emotebar button{display:grid;width:44px;height:44px;place-items:center;background:var(--gb-darkest);border:2px solid var(--gb-light);color:var(--gb-lightest);border-radius:0;cursor:pointer;font-family:inherit;transition:transform .08s steps(2,end),border-color .08s steps(2,end)}.emotebar button:hover{border-color:var(--gb-lightest);transform:translateY(-1px)}.emotebar button:active{transform:translateY(1px)}.emotebar button span{font-size:1.45rem;line-height:1}.directory{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.directory__empty{display:grid;min-height:180px;place-items:center;align-content:center;gap:8px;color:var(--gb-light)}.directory__empty span{font-size:2rem}.directory__empty p{margin:0}.directory-card{display:grid;grid-template-columns:52px minmax(0,1fr) 18px;gap:12px;align-items:center;width:100%;padding:12px;text-align:left;background:var(--gb-dark);border:2px solid var(--gb-light);border-radius:0;color:var(--gb-lightest);cursor:pointer;font-family:inherit;transition:transform .1s steps(2,end),border-color .1s steps(2,end),box-shadow .1s steps(2,end)}.directory-card:hover{transform:translate(-1px,-1px);border-color:var(--gb-lightest);box-shadow:3px 3px 0 var(--gb-darkest)}.directory-card--self{border-color:var(--gb-lightest);background:var(--gb-light);color:var(--gb-darkest)}.directory-card:active{transform:translate(1px,1px)}.directory-card__avatar{display:grid;width:52px;height:52px;place-items:center;border:3px solid var(--gb-light);border-radius:0;background:var(--gb-darkest);box-shadow:inset 0 -8px #0f380f66;font-size:1.65rem;line-height:1}.directory-card__body{display:grid;min-width:0;gap:5px}.directory-card__topline{display:flex;min-width:0;gap:8px;align-items:center}.directory-card__name{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.directory-card__pet{flex:0 0 auto;padding:3px 7px;background:var(--gb-darkest);border:2px solid var(--gb-light);border-radius:0;color:var(--gb-light);font-size:.68rem;line-height:1;text-transform:capitalize}.directory-card__you{flex:0 0 auto;padding:3px 7px;background:var(--gb-lightest);border-radius:0;color:var(--gb-darkest);font-size:.68rem;font-weight:800;line-height:1}.directory-card__meta{overflow:hidden;color:var(--gb-light);font-size:.82rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.directory-card__arrow{color:var(--gb-light);font-size:1.35rem;line-height:1}.profile{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(320px,calc(100% - 24px));background:var(--gb-dark);border-left:3px solid var(--gb-light);border-right:none;box-shadow:-8px 0 0 var(--gb-darkest);animation:profile-enter .24s steps(4,end)}.profile__close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--gb-light);font-size:1.4rem;cursor:pointer}.profile__avatar{display:grid;width:64px;height:64px;place-items:center;margin-bottom:10px;border:3px solid var(--gb-light);border-radius:0;background:var(--gb-darkest);box-shadow:inset 0 -10px #0f380f66;font-size:2rem;line-height:1}.profile__fields{display:flex;flex-direction:column;gap:12px}.profile__fields dt{color:var(--gb-light);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.profile__fields dd{margin:2px 0 0;word-break:break-word}@keyframes profile-enter{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media(max-width:820px){.room__body{grid-template-columns:1fr}.room__main{min-height:0}.room__bar{flex-wrap:wrap;gap:10px 14px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}.room__ident{flex:1 1 100%;min-width:0}.room__title{font-size:.95rem}.room__purpose{font-size:.7rem}.room__status{gap:6px;min-width:0}.room__code{padding:3px 8px}.room__code-label{display:none}.room__code-value{font-size:.92rem;letter-spacing:.16em}.room__count{padding:4px 8px;font-size:.66rem}.room__count--joined{display:none}.room__actions{gap:8px;min-width:0}.room__filters-btn{display:inline-flex}.toggle button{padding:6px 11px;font-size:.68rem}.badge{display:none}.panel.filters{position:absolute;z-index:30;inset:auto 0 0 0;max-height:70%;border-right:none;border-top:3px solid var(--gb-light);box-shadow:0 -8px 0 var(--gb-darkest);transform:translateY(100%);transition:transform .18s steps(4,end);padding-bottom:max(16px,env(safe-area-inset-bottom))}.panel.filters.panel--open{transform:translateY(0)}.panel.filters.panel--drawer .panel__close{display:block}.filters__head{gap:8px}.filters__head .filters__count{margin-right:auto}.profile{top:0;right:0;bottom:0;width:100%;max-height:none;padding-bottom:max(16px,env(safe-area-inset-bottom))}.room-neon{max-width:86%}.directory{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.directory-card{grid-template-columns:48px minmax(0,1fr) 16px}.directory-card__avatar{width:48px;height:48px}.emotebar{padding-bottom:max(10px,env(safe-area-inset-bottom))}}@media(max-width:540px){.home__main{padding:20px 14px}.home__hero{padding:24px 18px;box-shadow:6px 6px 0 var(--gb-darkest)}.home__title{font-size:1.35rem}.home__sub{font-size:.85rem;margin-bottom:18px}.topnav{padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}.page{padding:20px 14px;padding-bottom:max(40px,env(safe-area-inset-bottom))}h1{font-size:1.3rem}.schema-row{flex-direction:column;align-items:stretch;gap:8px}.schema-row__label,.schema-row__opts,.schema-row select{width:100%}.schema-row .chk{align-self:flex-start}.room__bar{padding-left:12px;padding-right:12px;gap:8px 10px}.room__actions{flex:1 1 0;justify-content:space-between}.toggle button{padding:6px 0;flex:1}.emotebar{gap:8px}.emotebar button{flex:1 1 0;width:auto}}@media(max-width:380px){.joincode__input{font-size:1.25rem;letter-spacing:.3em;padding:9px 8px}.home__title{font-size:1.2rem}}
