:root{--bg:#0b0d12;--panel:#12151dd1;--edge:#ffffff17;--text:#e8eaf0;--muted:#98a0b3;--accent:#5865f2;font-family:gg sans,Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}#scene{z-index:1;touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}#labels{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}#status,#chat,#toolbar,#panels{z-index:10}.nametag{border:1px solid var(--edge);transform-origin:50%;will-change:transform;background:#0a0c12b8;border-radius:999px;flex-direction:row;align-items:center;gap:7px;padding:3px 12px 3px 3px;display:flex;box-shadow:0 3px 10px #00000073}.nametag .pfp{background:#0a0c12b8;border:1px solid #ffffff38;border-radius:50%;flex:none;width:28px;height:28px;display:block}.nametag .name{white-space:nowrap;text-shadow:0 1px 2px #0009;font-size:14px;font-weight:600}.nametag .name:first-child{padding-left:9px}.bubble-anchor{width:0;height:0}.bubble-stack{transform-origin:bottom;will-change:transform;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:0;left:0}.bubble{white-space:pre-wrap;border:1px solid var(--edge);word-wrap:break-word;opacity:0;background:#181c26f0;border-radius:14px;width:max-content;max-width:300px;padding:9px 14px;font-size:16px;line-height:1.35;transition:opacity .18s,transform .18s;transform:translateY(4px);box-shadow:0 6px 18px #00000073}.bubble.show{opacity:1;transform:translateY(0)}#status{background:var(--panel);border:1px solid var(--edge);color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:6px 14px;font-size:12px;transition:opacity .3s;position:fixed;top:12px;left:50%;transform:translate(-50%)}#status.hidden{opacity:0;pointer-events:none}#chat{flex-direction:column;gap:8px;width:min(340px,100vw - 32px);display:flex;position:fixed;bottom:16px;left:16px}#log{scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;flex-direction:column;gap:4px;max-height:34vh;padding-right:4px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 18px);mask-image:linear-gradient(#0000,#000 18px)}.line{background:var(--panel);border:1px solid var(--edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);word-wrap:break-word;border-radius:8px;flex:none;padding:4px 10px;font-size:13px;line-height:1.4}.line .who{font-weight:700}.line.system{color:var(--muted);font-style:italic}.line .sys-tag{color:var(--accent);font-style:normal;font-weight:700}.line.notice{transition:opacity .3s}.line.notice.fading{opacity:0}#chat-form{position:relative}#char-count{font-variant-numeric:tabular-nums;color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}#char-count.low{color:#faa61a}#char-count.spent{color:#ed4245}#chat-input{border:1px solid var(--edge);background:var(--panel);width:100%;color:var(--text);font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;outline:none;padding:10px 52px 10px 12px;font-size:13px;transition:border-color .15s}#chat-input:focus{border-color:var(--accent)}#chat-input::placeholder{color:var(--muted)}#toolbar{gap:8px;display:flex;position:fixed;bottom:16px;right:16px}#toolbar button{border:1px solid var(--edge);background:var(--panel);width:38px;height:38px;color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border-radius:10px;place-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:grid}#toolbar button:hover{color:var(--text)}#toolbar button[aria-expanded=true]{color:var(--text);border-color:var(--accent);background:#5865f238}#panels{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:62px;right:16px}.panel{background:var(--panel);border:1px solid var(--edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:10px}#palette{flex-wrap:wrap;gap:6px;display:flex}#hint{color:var(--muted);grid-template-columns:auto auto;gap:4px 10px;font-size:12px;display:grid}#hint div{display:contents}#hint b{color:var(--text);text-align:right;white-space:nowrap;font-size:11px;font-weight:600}#customize{flex-direction:column;gap:10px;width:172px;display:flex}.choice{color:var(--muted);flex-direction:column;gap:5px;font-size:11px;display:flex}.options{gap:4px;display:flex}.options button{border:1px solid var(--edge);color:var(--muted);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:7px;flex:1;padding:5px 0;font-size:11px;transition:color .12s,background .12s,border-color .12s}.options button:hover{color:var(--text)}.options button[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:#5865f247}#audio{flex-direction:column;gap:8px;width:152px;display:flex}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:9px;font-size:12px;display:flex}.toggle:hover{color:var(--text)}.toggle input{appearance:none;border:1px solid var(--edge);cursor:pointer;background:#ffffff29;border-radius:999px;flex:none;width:30px;height:17px;margin:0;transition:background .15s;position:relative}.toggle input:after{content:"";background:var(--text);border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:1px;left:1px}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(13px)}#palette button{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .12s,border-color .12s}#palette button:hover{transform:scale(1.15)}#palette button[aria-pressed=true]{border-color:#fff;transform:scale(1.15)}@media (width<=520px){#chat{width:calc(100vw - 32px)}}.afk-tag{color:var(--muted);letter-spacing:.08em;white-space:nowrap;pointer-events:none;background:#11141ed1;border:1px solid #ffffff29;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;left:50%;transform:translate(-50%,-50%)}
