button{font:inherit;color:inherit;cursor:pointer}#ui{pointer-events:none;font-family:var(--font);color:var(--ink);position:fixed;inset:0}#ui button,#ui dialog,#ui a,#ui input{pointer-events:auto}.glass{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{border:1px solid var(--line);background:0 0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.icon-btn.glass{background:var(--glass)}.brand{top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 6px;display:flex;position:fixed}.brand-mark{border:1.5px solid var(--accent);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.brand-name{letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:700}.zone{top:calc(14px + env(safe-area-inset-top));text-align:center;white-space:nowrap;border-radius:999px;padding:6px 18px 7px;animation:.45s ease-out fade-down;position:fixed;left:50%;transform:translate(-50%)}.zone-name{font-size:17px;font-weight:700}.top-right{top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));gap:8px;display:flex;position:fixed}.dock{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.dock-btn{background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:500;display:flex}.dock-btn:hover,.dock-btn[aria-pressed=true]{background:#ffffff1a}.toasts{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:999px;padding:9px 16px;font-size:14px;animation:.25s ease-out fade-up}.dialog{border:1px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(560px,100vw - 32px);max-height:min(80vh,720px);color:var(--ink);border-radius:20px;padding:0;overflow:auto}.dialog::backdrop{background:#00000059}.dialog-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 8px 24px;display:flex}.dialog-head h2{margin:4px 0 0;font-size:22px}.dialog-body{padding:8px 24px 24px}.quality{border:0;margin:18px 0 0;padding:0}.quality legend{margin-bottom:8px;font-weight:600}.quality .segmented{flex-wrap:wrap;gap:6px;display:flex}.quality label{cursor:pointer;background:#ffffff14;border-radius:999px;padding:8px 14px;position:relative}.quality label.on{background:var(--accent);color:#1b1a18}#ui .quality input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.quality label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.quality .hint{opacity:.7;margin:8px 0 0;font-size:14px}.sound .slider{cursor:default;background:0 0;grid-template-columns:11em 1fr;align-items:center;gap:12px;padding:4px 0;display:grid}#ui .sound input[type=range]{opacity:1;width:100%;accent-color:var(--accent);position:static}.help-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.help-grid h3{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.help-grid dl{gap:8px;margin:0;display:grid}.help-grid dl div{justify-content:space-between;gap:12px;font-size:14px;display:flex}.help-grid dt{color:var(--muted)}.help-grid dd{margin:0}kbd{border:1px solid var(--line);color:var(--ink);background:#ffffff0f;border-radius:6px;padding:2px 7px;font-family:inherit;font-size:12px}@media (max-width:560px){.dock-btn span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dock-btn{padding:0 12px}.brand-name{display:none}.brand{padding-right:6px}}@keyframes fade-down{0%{opacity:0;transform:translate(-50%,-6px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.zone,.toast{animation:none}}.prompt{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 18px;animation:.25s ease-out fade-up-center;display:flex;position:fixed;transform:translate(-50%)}.prompt-name{font-size:15px;font-weight:600}.prompt-btn{background:var(--accent);color:#1b1a18;border:0;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:700;display:flex}.prompt-btn kbd{color:#1b1a18;background:#0000001f;border-color:#0003}@keyframes fade-up-center{0%{opacity:0;transform:translate(-50%,6px)}}@media (prefers-reduced-motion:reduce){.prompt{animation:none}}.dialog-sheet{width:min(420px,100vw);height:calc(100dvh - 28px);max-height:none;margin:14px 14px 0 auto;animation:.22s ease-out sheet-in}.dialog-sheet::backdrop{background:#00000026}@media (max-width:560px){.dialog-sheet{width:100vw;max-width:100vw;height:auto;max-height:82dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;margin:auto 0 0;animation:.22s ease-out sheet-up}}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.shop{gap:16px;display:grid}.shop-tagline{color:var(--shop-accent);margin:0;font-size:17px;font-weight:600}.shop-desc,.note{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.shop-features{gap:6px;margin:0;padding:0;list-style:none;display:grid}.shop-features li{align-items:baseline;gap:10px;display:flex}.shop-features li:before{content:"";background:var(--shop-accent);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-2px)}.section-title{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:4px 0 10px;font-size:11px;font-weight:600}.products{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.product{border:1px solid var(--line);color:inherit;background:#ffffff0d;border-radius:14px;gap:4px;padding:8px 8px 10px;text-decoration:none;display:grid}a.product:hover{border-color:var(--shop-accent)}.product-img{aspect-ratio:1;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 35%, #1b1a18), #1b1a18);color:var(--accent);border-radius:10px;place-items:center;font-size:32px;font-weight:700;display:grid;overflow:hidden}.product-img img{object-fit:cover;width:100%;height:100%}.product-name{font-size:14px;font-weight:500;line-height:1.3}.product-price{color:var(--shop-accent);align-items:baseline;gap:8px;font-size:14px;font-weight:700;display:flex}.product-price s{color:var(--muted);font-size:12px;font-weight:400}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff17,#ffffff0a) 0 0/200% 100%;min-height:180px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.shop-links{gap:8px;display:grid}.cta{border:1px solid var(--line);min-height:48px;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:flex}.cta:hover{border-color:var(--shop-accent)}.cta-primary{background:var(--shop-accent);color:#1b1a18;border-color:#0000}@media (prefers-reduced-motion:reduce){.dialog-sheet,.skeleton{animation:none}}.directory{gap:14px;display:grid}.search{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#ffffff0f;border-radius:12px;padding:0 16px;font-size:16px}.search:focus{outline:2px solid var(--accent);outline-offset:0}.dir-list,.dir-list ul{margin:0;padding:0;list-style:none}.dir-list>li+li{margin-top:14px}.dir-item{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.dir-item:hover,.dir-item:focus-visible{background:#ffffff12}.swatch{border:1px solid var(--line);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.dir-text{flex:1;min-width:0;display:grid}.dir-name{font-weight:600}.dir-sub,.dir-where{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dir-where{flex:none}@media (max-width:560px){.dir-where{display:none}}.fade{opacity:0;pointer-events:none;background:#0b0a09;transition:opacity .22s;position:fixed;inset:0}.fade.on{opacity:1}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.minimap{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));border-radius:14px;padding:8px 8px 10px;position:fixed}.minimap-head{justify-content:space-between;align-items:center;margin:0 2px 6px;display:flex}.minimap svg{cursor:pointer;pointer-events:auto;display:block}.map-shop:hover{filter:brightness(1.4)}.floor-switch{gap:2px;display:flex}#ui .floor-switch button{border:1px solid var(--line);background:0 0;border-radius:6px;min-width:22px;height:20px;padding:0 5px;font-size:11px;font-weight:600}#ui .floor-switch button.on{background:var(--accent);color:#1b1a18;border-color:#0000}@media (max-width:560px),(pointer:coarse){.minimap{top:calc(66px + env(safe-area-inset-top));transform-origin:100% 0;bottom:auto;transform:scale(.62)}}.landing{left:calc(24px + env(safe-area-inset-left));pointer-events:auto;border-radius:24px;gap:10px;width:min(420px,100vw - 32px);padding:28px;animation:.4s ease-out fade-in;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.landing h1{letter-spacing:-.02em;margin:2px 0 0;font-size:clamp(40px,7vw,56px);line-height:1}.landing h1 span{color:var(--accent)}.landing-tagline{color:var(--muted);margin:4px 0 10px;font-size:16px;line-height:1.45}.field-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:11px;font-weight:600}.field-error{color:#ff9b85;margin:0;font-size:14px}.avatars{border:0;grid-template-columns:repeat(6,1fr);gap:6px;margin:0 0 12px;padding:0;display:grid}.avatars legend{margin-bottom:8px;padding:0}.avatar-pick{cursor:pointer;position:relative}#ui .avatar-pick input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}#ui .avatar-pick img{aspect-ratio:1;image-rendering:auto;background:#ffffff0f;border:2px solid #0000;border-radius:12px;width:100%;height:auto;display:block}#ui .avatar-pick input:checked+img{border-color:var(--accent);background:#ffffff24}#ui .avatar-pick input:focus-visible+img{outline:2px solid var(--accent);outline-offset:2px}.swatches{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.swatches legend{margin-bottom:8px;padding:0}.swatch-pick{cursor:pointer;position:relative}#ui .swatch-pick input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}#ui .swatch-pick span{background:var(--c);border:2px solid #0000;border-radius:50%;width:36px;height:36px;display:block;box-shadow:inset 0 0 0 2px #00000040}#ui .swatch-pick input:checked+span{border-color:var(--ink)}#ui .swatch-pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}#ui .enter{background:var(--accent);color:#1b1a18;border:0;border-radius:999px;min-height:52px;margin-top:12px;font-size:16px;font-weight:700}#ui .enter:disabled{opacity:.7;cursor:progress}#ui .landing input{pointer-events:auto}@media (max-width:560px){.landing{top:auto;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;padding:22px;transform:none}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.landing{animation:none}}.cta-ghost{color:var(--muted);background:0 0;font-weight:500}.brand-online,.landing-here{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.brand-online{border-left:1px solid var(--line);margin-left:4px;padding-left:10px}.brand-online i,.landing-here i{background:#5bd28a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #5bd28a}.landing-here{margin:6px 0 0;font-size:14px}.net-notice{top:calc(72px + env(safe-area-inset-top));color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}@media (max-width:560px){.brand-online{display:none}}.chat{left:calc(14px + env(safe-area-inset-left));bottom:calc(84px + env(safe-area-inset-bottom));gap:6px;width:min(360px,100vw - 28px);display:grid;position:fixed}.chat-log{text-shadow:0 1px 6px #000000b3;overflow-wrap:anywhere;gap:3px;margin:0;padding:0;font-size:14px;line-height:1.35;list-style:none;display:grid}.chat.open .chat-log{background:var(--glass-strong);pointer-events:auto;max-height:40vh;text-shadow:none;border-radius:14px;padding:10px 12px;overflow-y:auto}#ui .chat-log li{animation:.2s ease-out fade-up}.chat-log b{color:var(--accent);margin-right:6px;font-weight:600}.chat-log b.host:before{content:"★ "}.chat-log .sys{color:var(--muted);font-size:13px;font-style:italic}.chat-hint{color:var(--muted);text-shadow:0 1px 6px #000000b3;margin:0;font-size:12px}.chat-form{pointer-events:auto;border-radius:999px;gap:6px;padding:5px;display:flex}#ui .chat-form input{min-width:0;min-height:40px;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:0 12px;font-size:16px}#ui .chat-form input:focus{outline:none}#ui .chat-form button{background:var(--accent);color:#1b1a18;border:0;border-radius:999px;min-height:40px;padding:0 16px;font-weight:700}#ui .chat-form button:disabled{opacity:.5}@media (max-width:560px),(pointer:coarse){.chat{width:calc(100vw - 150px)}.chat-hint{display:none}}.emotes{right:calc(14px + env(safe-area-inset-right));top:calc(72px + env(safe-area-inset-top));border-radius:999px;gap:2px;padding:6px;display:grid;position:fixed}#ui .emotes button{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid;position:relative}#ui .emotes button:hover{background:#ffffff1a}#ui .emotes kbd{padding:0 4px;font-size:9px;position:absolute;bottom:2px;right:0}@media (pointer:coarse){.emotes{top:auto;bottom:calc(150px + env(safe-area-inset-bottom));display:flex;left:50%;right:auto;transform:translate(-50%)}}.bubbles{pointer-events:none;font-family:var(--font);position:fixed;inset:0;overflow:hidden}.bubble{color:#1b1a18;overflow-wrap:anywhere;will-change:transform;background:#f6f1e7f0;border-radius:14px;max-width:220px;padding:7px 12px;font-size:14px;line-height:1.3;transition:opacity .2s;position:absolute;top:0;left:0}.bubble:after{content:"";border:6px solid #0000;border-top-color:#f6f1e7f0;border-bottom:0;margin-left:-6px;position:absolute;bottom:-6px;left:50%}.bubble.emote{background:0 0;padding:0;font-size:34px;animation:.35s ease-out pop}.bubble.emote:after{display:none}@keyframes pop{0%{font-size:10px}}@media (prefers-reduced-motion:reduce){.bubble.emote{animation:none}}#ui .chat-log .who{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;margin-right:6px;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#ui .chat-log .who.host:before{content:"★ "}.who-menu{gap:6px;margin-left:8px;display:inline-flex}#ui .who-menu button{border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:2px 10px;font-size:12px}#ui .link-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:13px;text-decoration:underline}#ui .pill-btn{background:var(--accent);color:#1b1a18;border:0;border-radius:999px;min-height:40px;padding:0 18px;font-weight:700}.host-signin{gap:8px;display:grid}.host-actions{justify-content:space-between;align-items:center;display:flex}.host-ok,.host-here{color:var(--accent);margin:0;font-size:13px;font-weight:600}.announce{top:calc(72px + env(safe-area-inset-top));border-color:var(--accent);text-align:center;border-radius:16px;gap:2px;max-width:min(520px,100vw - 32px);padding:10px 18px;font-weight:600;animation:.3s ease-out fade-down;display:grid;position:fixed;left:50%;transform:translate(-50%)}@media (max-width:560px){.zone{top:calc(64px + env(safe-area-inset-top));padding:4px 14px 5px}.zone-name{font-size:15px}.dialog:not(.dialog-sheet){margin:calc(12px + env(safe-area-inset-top)) auto auto;max-height:calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (max-height:520px){.landing{top:calc(8px + env(safe-area-inset-top));bottom:calc(8px + env(safe-area-inset-bottom));width:min(540px, calc(100vw - 32px - env(safe-area-inset-left)));gap:6px;padding:16px 20px;overflow-y:auto;transform:none}.landing h1{font-size:32px}.landing .eyebrow,.landing-tagline,.landing-here{display:none}.avatars{grid-template-columns:repeat(12,1fr);margin-bottom:4px}#ui .swatch-pick span{width:28px;height:28px}#ui .enter{min-height:44px;margin-top:6px}}:root{--ink:#f6f1e7;--muted:#b9b2a5;--accent:#e2b857;--bg:#12110f;--glass:#12110f9e;--font:"Outfit", "Noto Sans Myanmar", system-ui, -apple-system, "Segoe UI", sans-serif;--glass-strong:#0e0d0cf2;--line:#ffffff1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);margin:0;overflow:hidden}#gl{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.touch{display:none}@media (pointer:coarse){.touch{display:block}.touch.off{display:none}}.joy{opacity:0;pointer-events:none;background:#12110f59;border:1.5px solid #f6f1e759;border-radius:50%;width:120px;height:120px;transition:opacity .15s;position:fixed;top:-60px;left:-60px}.joy.on{opacity:1}.joy-knob{background:#f6f1e7d9;border-radius:50%;width:56px;height:56px;position:absolute;top:32px;left:32px}.touch-btn{background:var(--glass);width:64px;height:64px;color:var(--ink);font:600 13px var(--font);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:none;-webkit-user-select:none;user-select:none;border:1.5px solid #f6f1e74d;border-radius:50%;position:fixed}.touch-btn:active,.touch-btn[aria-pressed=true]{background:var(--accent);color:#1b1a18}.touch-jump{right:calc(20px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom))}.touch-run{right:calc(96px + env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));width:52px;height:52px}.skip-link{z-index:100;background:var(--accent);color:#1b1a18;font:600 14px var(--font);border-radius:999px;padding:10px 16px;text-decoration:none;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}
