.town-wrap{background:#7cbd52;height:100dvh;position:relative;overflow:hidden}.town-on .room-bar,.town-on .home-sections{display:none}.town-on main.room-in{max-width:none;padding:0}.town-on .home-intro{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.town-wrap[hidden]{display:none}.stage{--k:2;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.town-canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:pan-y;display:block}.stage .layer{pointer-events:none;position:absolute;inset:0}.hud{z-index:5;border:2px solid var(--parchment);max-width:min(58%,330px);box-shadow:0 0 0 2px var(--night-navy);background:var(--night-navy);color:var(--parchment);font-family:var(--font-pixel);font-size:var(--pix-s);gap:1px;padding:7px 12px 8px;line-height:1.3;display:grid;position:absolute;top:10px;left:10px}.hud b{color:var(--lantern-gold);font-weight:400}.hud span{color:#d9d6ee}.hud-r{z-index:6;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:40%;display:flex;position:absolute;top:10px;right:10px}.hbtn{border:2px solid var(--parchment);box-shadow:0 0 0 2px var(--night-navy);background:var(--night-navy);color:var(--parchment);font-family:var(--font-pixel);font-size:var(--pix-s);cursor:pointer;align-items:center;padding:4px 10px;line-height:1.3;text-decoration:none;display:inline-flex}.hbtn:hover{background:var(--rose)}.hbtn[aria-pressed=false]{color:#9a97b8}@media (width<=620px){.hud .ry{display:none}}.plate{background:var(--night-navy);color:#fff6dc;width:max-content;font-family:var(--font-pixel);font-size:var(--pix-s);white-space:nowrap;cursor:pointer;pointer-events:auto;border:2px solid #fff6dc;align-items:center;gap:5px;padding:3px 7px 3px 4px;line-height:1;transition:transform .12s steps(2,end),opacity .15s;display:flex;position:absolute;transform:translate(-50%,-100%)}.plate:after{content:"";border:4px solid #0000;border-top-color:#fff6dc;border-bottom:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.plate img{width:14px;height:14px;image-rendering:pixelated}.plate .pn{color:#ffc2cf;display:none}.plate:hover,.plate:focus-visible,.plate.hot{z-index:2;background:var(--rose);outline:none;transform:translate(-50%,calc(-100% - 3px))}.plate:focus-visible{box-shadow:0 0 0 3px var(--lantern-gold)}.plate:hover .pn,.plate:focus-visible .pn,.plate.hot .pn{display:inline}.plate.off:not(:focus-visible),.names-off .plate:not(:hover,:focus-visible,.hot){opacity:0}.plate.off:not(:focus-visible){pointer-events:none}.say{z-index:3;border:2px solid var(--night-navy);background:var(--pin-paper);width:max-content;max-width:210px;color:var(--night-navy);font-family:var(--font-pixel);font-size:var(--pix-s);pointer-events:none;padding:6px 9px;line-height:1.3;position:absolute;transform:translate(-50%,-100%)}.say:after{content:"";border:5px solid #0000;border-top-color:var(--night-navy);border-bottom:0;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.stage .menu{z-index:8;border:2px solid var(--parchment);min-width:230px;max-height:calc(100% - 60px);box-shadow:0 0 0 2px var(--night-navy);background:var(--night-navy);font-family:var(--font-pixel);padding:4px 0;display:grid;position:absolute;top:50px;right:10px;overflow:auto}.stage .menu[hidden]{display:none}.menu button{color:var(--parchment);font:inherit;font-size:var(--pix-s);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:7px 14px;display:flex}.menu button:hover,.menu button:focus-visible{background:var(--rose);outline:none}.menu button small{color:#a9a6c8;font-size:var(--pix-s);margin-left:auto}.menu img{width:16px;height:16px;image-rendering:pixelated}.menu .menu-motion{border-top:2px solid var(--dusk-indigo);color:var(--lantern-gold);margin-top:4px}.dlg{z-index:10;border:3px solid var(--parchment);width:min(700px,100% - 20px);max-height:calc(100% - 70px);box-shadow:0 0 0 3px var(--night-navy);background:var(--night-navy);color:var(--parchment);font-family:var(--font-pixel);grid-template-rows:minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px 16px 14px;display:grid;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.dlg[hidden]{display:none}.dlg-face{border:2px solid var(--parchment);background:var(--dusk-indigo);align-self:start;place-items:center;width:84px;height:84px;display:grid}.dlg-face canvas{width:68px;height:68px;image-rendering:pixelated}.dlg-name{border:3px solid var(--parchment);background:var(--rose);color:#fff;font-size:var(--pix-s);border-bottom:0;padding:3px 10px;position:absolute;top:-3px;left:116px;transform:translateY(-100%)}.dlg-main{min-height:0;overflow:auto}.dlg-text{min-height:3em;font-family:var(--font-pixel-10);font-size:var(--pix-m);margin:0;line-height:1.45}.dlg-choices{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.choice{border:2px solid var(--periwinkle);background:var(--dusk-indigo);color:var(--parchment);font:inherit;font-size:var(--pix-s);cursor:pointer;align-items:center;padding:6px 12px 6px 22px;text-decoration:none;display:inline-flex;position:relative}.choice:before{content:"▶";font-family:var(--font-pixel-10);opacity:0;font-size:10px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.choice:hover,.choice:focus-visible{border-color:var(--lantern-gold);color:var(--lantern-gold);outline:none}.choice:hover:before,.choice:focus-visible:before{opacity:1}.choice.primary{border-color:var(--parchment);background:var(--rose)}.choice.primary:hover,.choice.primary:focus-visible{border-color:var(--lantern-gold);color:#fff}.sign-form{gap:8px;display:grid}.sign-form .dlg-text{min-height:0}.sign-form label{font-size:var(--pix-s)}.sign-form input[type=text]{width:100%;min-height:var(--tap);border:2px solid var(--periwinkle);background:var(--night-navy);color:#fff;font-family:var(--font-body);padding:6px 10px;font-size:16px}.sign-form input[type=text]:focus-visible{outline:2px solid var(--lantern-gold);outline-offset:1px}.looks{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.looks label{border:2px solid var(--periwinkle);background:var(--dusk-indigo);cursor:pointer;place-items:center;padding:4px 10px;display:grid;position:relative}.looks input{opacity:0;pointer-events:none;position:absolute}.looks label:has(input:checked){border-color:var(--lantern-gold);background:var(--rose)}.looks label:has(input:focus-visible){outline:2px dashed var(--lantern-gold);outline-offset:2px}.looks canvas{width:36px;height:56px;image-rendering:pixelated}.sign-error{color:var(--lantern-gold);font-size:var(--pix-s);margin:0}@media (width<=560px){.dlg{grid-template-columns:1fr}.dlg-face{display:none}.dlg-name{left:12px}}.pan-hint{z-index:7;background:var(--night-navy);color:#fff;font-family:var(--font-pixel);font-size:var(--pix-s);pointer-events:none;padding:5px 12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.pan-hint[hidden]{display:none}@media (pointer:coarse){.hbtn,.choice,.menu button{min-height:var(--tap)}.hbtn{padding:4px 12px}.plate:before{content:"";position:absolute;inset:-12px -4px}}@media (width<=560px),(height<=500px){.hbtn--demo,.hud .ry{display:none}.hud-r{max-width:none}.dlg{right:0;bottom:var(--kb,0px);width:auto;max-height:calc(85dvh - var(--kb,0px));padding-bottom:max(14px, env(safe-area-inset-bottom));box-shadow:none;border-width:3px 0 0;position:fixed;left:0;transform:none}}@media (width<=560px){.hud-r{top:auto;bottom:10px}.stage .menu{max-height:calc(100% - 128px);top:auto;bottom:64px}.pan-hint{bottom:64px}}@media (prefers-reduced-motion:reduce){.plate{transition:none}}
