@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#16142b;--panel:#16142bdb;--panel-solid:#1f1c3a;--line:#ffffff1f;--text:#f6f5ff;--muted:#b9b6d6;--accent:#5b5bd6;--accent-hi:#7373ec;--sun:#ffc233;--ok:#2f9e6b;--danger:#e5484d;--near:#8fd3ff;--room:#9be39b;--town:#ffc233;--r-btn:12px;--r-card:16px;--gap:12px;--head:"Bricolage Grotesque Variable", system-ui, sans-serif;--body:"Plus Jakarta Sans Variable", system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--ink);height:100%;color:var(--text);font:400 14px/1.45 var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas{touch-action:none;display:block}.labels{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}h1,h2,h3{font-family:var(--head);letter-spacing:-.01em;margin:0;font-weight:700}a{color:var(--sun)}p{margin:0}kbd{font:600 12px var(--body);border:1px solid var(--line);background:#ffffff24;border-bottom-width:2px;border-radius:6px;padding:1px 7px}button{font:600 14px var(--body);color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.primary,.ghost,.danger{border-radius:var(--r-btn);white-space:nowrap;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;display:inline-flex}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-hi)}.ghost{border:1px solid var(--line);background:#ffffff14}.ghost:hover{background:#ffffff29}.danger{background:var(--danger);color:#fff}.sm{border-radius:10px;height:30px;padding:0 12px;font-size:13px}.block{width:100%}.link{color:var(--muted);padding:0;text-decoration:underline}.link.danger{color:#ff9a9d;background:0 0;height:auto}button:disabled{opacity:.55;cursor:progress}.icon-btn{width:32px;height:32px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.icon-btn:hover{color:#fff;background:#ffffff1a}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.field{flex-direction:column;gap:6px;display:flex}.field .label{font-size:13px;font-weight:600}.field .hint,.muted{color:var(--muted)}.small{font-size:12.5px}input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{border:1px solid var(--line);width:100%;height:40px;color:var(--text);font:400 14px var(--body);background:#ffffff0f;border-radius:10px;padding:0 12px}textarea{resize:vertical;height:auto;padding:10px 12px}select option{background:var(--panel-solid)}.form-err{color:#ff9a9d;min-height:1.2em;font-weight:600}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch{border:2px solid #ffffff40;border-radius:50%;width:28px;height:28px}.swatch.on{box-shadow:0 0 0 2px var(--sun);border-color:#fff}.swatches input[type=color]{cursor:pointer;background:0 0;border:0;width:32px;height:28px;padding:0}.tabs{border-radius:var(--r-btn);background:#ffffff0f;gap:4px;padding:4px;display:flex}.tabs button{height:32px;color:var(--muted);border-radius:9px;flex:1}.tabs button.on{background:var(--accent);color:#fff}.login{background:radial-gradient(1200px 600px at 20% 10%, #3a3a9e 0%, transparent 60%), radial-gradient(900px 500px at 90% 90%, #7a4b17 0%, transparent 60%), var(--ink);place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.login-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:16px;width:min(420px,100%);padding:28px;display:flex;box-shadow:0 30px 80px #00000073}.login-card h1{font-size:40px;line-height:1.05}.login-card .lead{color:var(--muted);font-size:15px}.brand-mark{background:var(--accent);border-radius:14px;justify-content:center;align-items:flex-end;gap:5px;width:48px;height:48px;padding-bottom:10px;display:flex}.brand-mark span:first-child{background:#fff;border-radius:2px;width:11px;height:18px}.brand-mark span:nth-child(2){background:var(--sun);border-radius:2px;width:12px;height:26px}.brand-mark.sm{border-radius:8px;gap:3px;width:28px;height:28px;padding-bottom:6px}.brand-mark.sm span:first-child{width:6px;height:10px}.brand-mark.sm span:nth-child(2){width:7px;height:15px}.google-btn{border-radius:var(--r-btn);color:#1f1f1f;background:#fff;justify-content:center;align-items:center;gap:10px;height:40px;font-weight:600;text-decoration:none;display:flex}.google-btn:hover{background:#f1f1f4}.g-mark{width:20px;height:20px;font:800 13px var(--body);color:#fff;background:conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0);border-radius:50%;place-items:center;display:grid}.divider{color:var(--muted);align-items:center;gap:10px;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.card{background:var(--panel);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--r-card)}.hud-top{flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100vw - 240px);display:flex;position:fixed;top:14px;left:14px}.brand{background:var(--panel);border:1px solid var(--line);height:40px;font-family:var(--head);border-radius:14px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:16px;display:flex}.chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;height:32px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.chip.warn{background:#6b3d12}.hud-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;top:14px;right:14px}.minimap{border-radius:var(--r-card);width:176px;height:176px;image-rendering:pixelated;border:2px solid #ffffffb3;box-shadow:0 8px 24px #00000040}.hud-right .ghost{background:var(--panel)}.chat{flex-direction:column;gap:8px;width:min(380px,100vw - 28px);padding:12px;display:flex;position:fixed;bottom:14px;left:14px}.chat-tabs{gap:4px;display:flex}.chat-tabs button{height:28px;color:var(--muted);border-radius:9px;padding:0 12px;font-size:13px}.chat-tabs button.on{color:#fff;background:#ffffff1f}.chat-tabs button.on.ch-near{box-shadow:inset 0 -2px var(--near)}.chat-tabs button.on.ch-room{box-shadow:inset 0 -2px var(--room)}.chat-tabs button.on.ch-town{box-shadow:inset 0 -2px var(--town)}.chat-log{overflow-wrap:anywhere;flex-direction:column;gap:4px;height:168px;padding-right:4px;display:flex;overflow-y:auto}.chat-log::-webkit-scrollbar{width:6px}.chat-log::-webkit-scrollbar-thumb{background:#fff3;border-radius:6px}.msg{font-size:13.5px}.msg .tag{text-transform:uppercase;letter-spacing:.04em;color:var(--ink);border-radius:5px;margin-right:6px;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-block}.tag.ch-near{background:var(--near)}.tag.ch-room{background:var(--room)}.tag.ch-town{background:var(--town)}.msg.notice{color:var(--muted);font-style:italic}.chat-form{gap:8px;display:flex}.chat-form input{height:36px}.hint-bar{background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:999px;padding:8px 16px;font-weight:600;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.emotes{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:stretch;gap:4px;padding:6px;display:flex;position:fixed;bottom:14px;right:14px}.act{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:56px;min-height:54px;padding:6px 2px 4px;display:flex;position:relative}.act:hover{background:#ffffff1a}.act.active{box-shadow:inset 0 0 0 1px var(--sun);background:#ffc23338}.talk-act.active{background:#8a1f24;box-shadow:inset 0 0 0 1px #ff6b70}.act-ico{font-size:19px;line-height:1}.act-name{color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.2}.act-key{border-radius:4px;padding:0 4px;font-size:9.5px;line-height:1.5;position:absolute;top:3px;right:3px}.act-sep{background:var(--line);width:1px;margin:6px 2px}.quick-menu{z-index:5;flex-direction:column;gap:2px;width:260px;padding:8px;display:flex;position:fixed;bottom:84px;right:14px}.quick-head{justify-content:space-between;align-items:baseline;padding:4px 8px 6px;font-size:13px;font-weight:700;display:flex}.quick-item{text-align:left;border-radius:9px;align-items:center;gap:10px;padding:8px;font-size:13.5px;font-weight:500;display:flex}.quick-item:hover{background:#ffffff1a}.keyhints{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:11.5px;display:flex}.keyhints kbd{padding:0 5px;font-size:10.5px}@media (width>=721px){.talk{display:none!important}}@media (width<=1060px){.act{width:42px}.act-name{display:none}.quick-menu{bottom:76px}}.info{flex-direction:column;gap:10px;width:min(340px,100vw - 28px);max-height:calc(100vh - 330px);padding:16px;display:flex;position:fixed;top:248px;right:14px;overflow:auto}.info h3{padding-right:30px;font-size:22px;line-height:1.15}.info .close{position:absolute;top:10px;right:10px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--sun);font-size:11.5px;font-weight:700}.price b{font-family:var(--head);font-size:26px}.price span{color:var(--muted);margin-left:4px}.badge-beta{color:var(--ink);background:var(--sun);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:700}.units{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.units li{background:#ffffff0d;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.unit-floor{width:30px;height:30px;font-family:var(--head);background:#ffffff1a;border-radius:9px;place-items:center;font-weight:700;display:grid}.unit-body{flex-direction:column;flex:1;min-width:0;display:flex}.unit-body b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nametag{font:700 12.5px var(--body);color:#fff;white-space:nowrap;pointer-events:auto;cursor:pointer;background:#16142bb8;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;transition:box-shadow .15s;display:inline-flex}.nametag:hover{background:#16142be6}.nametag.voice:before{content:"🎙";opacity:.6;font-size:11px}.nametag.speaking{box-shadow:0 0 0 2px #2fd17a,0 0 12px #2fd17a}.nametag.speaking:before{opacity:1}.nametag.self{background:var(--accent)}.nametag.guest{opacity:.85}.bubble{max-width:220px;font:500 13px/1.35 var(--body);color:var(--ink);overflow-wrap:anywhere;background:#fff;border-radius:12px;padding:6px 10px;position:relative;box-shadow:0 4px 12px #0003}.bubble:after{content:"";border:6px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-6px;position:absolute;bottom:-6px;left:50%}.who{color:#fff;padding:0;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.who:hover{text-decoration-color:currentColor}.mic-modes{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:2px;padding:3px;display:flex}.mic-mode{height:28px;color:var(--muted);white-space:nowrap;border-radius:9px;padding:0 10px;font-size:12.5px}.mic-mode:hover{color:#fff;background:#ffffff14}.mic-mode.on{color:#fff;background:#ffffff24}.mic-mode.on.mode-ptt{background:#6b4a12}.mic-mode.on.mode-open{background:#1f6b46}.talk{background:var(--panel-solid);border:2px solid var(--sun);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:999px;height:52px;padding:0 26px;font-size:15px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.talk.active{background:#8a1f24;border-color:#ff6b70}.alert{color:#ffc9ca;border-color:var(--danger)!important}.mic-ask{z-index:6;border-color:#ffc23373;align-items:flex-start;gap:12px;width:min(420px,100vw - 28px);padding:14px 16px;animation:.35s ease-out drop;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)}.mic-ask-ico{padding-top:2px;font-size:22px;line-height:1}.mic-ask-body{flex-direction:column;gap:6px;display:flex}.mic-ask-body p{color:var(--muted)}@keyframes drop{0%{opacity:0;transform:translate(-50%,-8px)}}.steps-list{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.char-edit{grid-template-columns:260px 1fr;align-items:start;gap:20px;display:grid}.char-stage{flex-direction:column;align-items:center;gap:6px;display:flex;position:sticky;top:0}.char-preview{cursor:grab;background:radial-gradient(circle at 50% 35%,#3a3a7e,#1f1c3a 70%);border-radius:16px;width:260px;height:300px}.choice-row{flex-wrap:wrap;gap:6px;display:flex}.choice{border:1px solid var(--line);background:#ffffff0f;border-radius:10px;height:32px;padding:0 12px;font-size:13px}.choice.on{background:var(--accent);border-color:var(--accent);color:#fff}.stack.tight{gap:6px}.radio{cursor:pointer;background:#ffffff0d;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.radio:has(input:checked){background:#5b5bd659}.mod-box{background:#ffc2330f;border:1px dashed #ffc23380;border-radius:14px;padding:12px}.report{background:#ffffff0d;border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.evidence{overflow-wrap:anywhere;background:#00000040;border-radius:10px;flex-direction:column;gap:3px;margin:0;padding:8px 10px;font-size:13px;list-style:none;display:flex}.pill{background:#ffffff1f;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11.5px;font-weight:700;display:inline-block}.pill.danger{background:var(--danger)}.modal-back{z-index:10;background:#0807148c;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;width:min(440px,100%);max-height:calc(100vh - 44px);padding:20px;display:flex;overflow:auto;box-shadow:0 30px 80px #00000073}.modal.wide{width:min(640px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h2{font-size:22px}.dir-list{flex-direction:column;gap:8px;display:flex}.dir-item{background:#ffffff0d;border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.dir-item .dot{border-radius:50%;flex:none;width:14px;height:14px;margin-top:4px}.dir-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.empty{text-align:center;flex-direction:column;gap:6px;padding:28px 12px;display:flex}.keys{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;margin:0;display:grid}.keys dd{margin:0}.toasts{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;padding:8px 16px;font-weight:600;transition:opacity .4s,transform .4s}.toast.ok{border-color:var(--ok)}.toast.err{border-color:var(--danger);color:#ffc9ca}.toast.out{opacity:0;transform:translateY(-6px)}.stick{pointer-events:none;background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;place-items:center;width:100px;height:100px;display:grid;position:fixed}.stick span{background:#fff9;border-radius:50%;width:44px;height:44px}@media (width<=1000px){.talk{bottom:74px;left:auto;right:14px;transform:none}}@media (width<=720px){.hud-top{max-width:calc(100vw - 130px)}.brand b{display:none}.minimap{width:104px;height:104px}.chat{width:calc(100vw - 28px);bottom:70px}.chat-log{height:88px}.info{max-height:45vh;top:auto;bottom:280px}.hint-bar{bottom:290px}.mic-ask{top:120px}.talk{height:48px;bottom:290px;left:50%;right:auto;transform:translate(-50%)}.emotes{justify-content:space-between;left:14px;right:14px;overflow-x:auto}.act{width:44px;min-height:48px}.act-name,.keyhints,.act-key{display:none}.quick-menu{width:auto;bottom:74px;left:14px;right:14px}.char-edit{grid-template-columns:1fr}.char-stage{position:static}.char-preview{width:220px;height:240px}}.login label.check{color:var(--muted,#5b6472);align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.login label.check input{accent-color:currentColor;flex:none;width:16px;height:16px;margin-top:2px}
