:root[data-theme=light]{--canvas:#f1f4fb;--surface:#ffffff;--raised:#e8edf7;--sidebar:#e9eef8;--text:#18283d;--muted:#526179;--line:#cdd7e8;--input-line:#7c8ca5;--accent:#08665f;--accent-hover:#07554f;--accent-ink:#ffffff;--tint:#deeee9;--own:#deeee9;--focus:#6247b5;--error:#a52230;--error-bg:#fff1f2;--warning:#795015;--success:#1d6b3a;--success-bg:#e6f4ea;--space-glass:#f6f8fdef;--space-glaze:#ffffff80;--space-nebula:#b8a2ed30;--space-halo:#62cfc12b;--space-star:#60789455;--space-star-near:#4c66867a;--space-glow:#6247b526;--space-orbit:#7054bc;--shadow:0 12px 36px #25304e18;--elev-1:0 1px 2px #25304e14;--elev-2:0 6px 18px #25304e1c}:root,:root[data-theme=dark]{--canvas:#090e1b;--surface:#111c2d;--raised:#1c2a40;--sidebar:#0d1627;--text:#edf2ff;--muted:#b0bed5;--line:#31445f;--input-line:#7f94b4;--accent:#8cdecf;--accent-hover:#b1eee2;--accent-ink:#092b28;--tint:#193c3b;--own:#193c3b;--focus:#c1b2ff;--error:#ffb9bf;--error-bg:#39232a;--warning:#e9c38a;--success:#9be0b0;--success-bg:#1f3a2a;--space-glass:#101b2ded;--space-glaze:#adbbff0a;--space-nebula:#7960d82b;--space-halo:#2fbbbf1f;--space-star:#c4d7ff66;--space-star-near:#e3ecffb3;--space-glow:#89c9ff26;--space-orbit:#bcadf5;--shadow:0 12px 36px #0006;--elev-1:0 1px 2px #0006;--elev-2:0 6px 18px #0006}body{isolation:isolate;background:var(--canvas)}body:after,body:before{content:"";position:fixed;pointer-events:none;z-index:-1}body:before{inset:0;background:radial-gradient(ellipse at 80% 8%,var(--space-nebula),transparent 58%),radial-gradient(ellipse at 12% 85%,var(--space-halo),transparent 55%)}body:after{top:-254px;left:-226px;background-image:radial-gradient(circle,var(--space-star) .7px,transparent 1.2px),radial-gradient(circle,var(--space-star) .6px,transparent 1.1px);background-size:113px 127px,226px 254px;background-position:13px 29px,71px 83px}.starfield-near,body:after{right:0;bottom:0;will-change:transform}.starfield-near{position:fixed;top:-173px;left:-173px;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--space-star-near) 1px,transparent 1.7px),radial-gradient(circle,var(--space-star-near) .8px,transparent 1.4px);background-size:173px 173px,346px 346px;background-position:41px 97px,229px 17px}.bottom-navigation,.sidebar,.workspace-header{background:var(--space-glass)}.account-panel,.game-panel,.home-entry,.mode-card,.random-search-card,.room-list>li{background:linear-gradient(135deg,var(--space-glaze),transparent 65%),var(--surface);box-shadow:var(--elev-1),inset 0 1px 0 var(--space-glaze)}.private-detail,.private-stream,.room-chat,.room-stream{background:var(--surface)}nav a[aria-current=page]{background:var(--tint);box-shadow:inset 2px 0 var(--accent),0 0 16px var(--space-glow)}:focus-visible{outline-color:var(--focus)}.brand-mark{position:relative;isolation:isolate;border-radius:50%;background:var(--tint)}.brand-mark:before{content:"";position:absolute;inset:5px -4px;border:1px solid var(--space-orbit);border-radius:50%;transform:rotate(-32deg);pointer-events:none;z-index:-1}.empty-state{background:var(--surface)}.empty-state>.icon,.private-welcome-mark{border-radius:50%;color:var(--accent);background:var(--tint);box-shadow:0 0 0 5px var(--surface),0 0 0 6px var(--space-orbit),0 0 22px var(--space-glow)}@keyframes space-drift{0%{transform:translateZ(0)}to{transform:translate3d(226px,254px,0)}}@keyframes space-drift-near{0%{transform:translateZ(0)}to{transform:translate3d(346px,346px,0)}}@media (prefers-reduced-motion:no-preference){body:after{animation:space-drift 160s linear infinite}.starfield-near{animation:space-drift-near 110s linear infinite}:root[data-tab-hidden] .starfield-near,:root[data-tab-hidden] body:after{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.starfield-near,body:after,body:before{animation:none;transform:none}}.btn{transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--surface)}.btn-quiet{background:transparent;border-color:transparent}.btn-quiet:hover:not(:disabled){background:var(--raised);border-color:transparent}.btn-danger{color:var(--error);border-color:var(--error);background:var(--surface)}.btn-danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error)}.btn:disabled{color:var(--muted);background:var(--raised);border-color:var(--line);cursor:not-allowed}.btn-quiet:disabled{background:transparent;border-color:transparent}.btn-icon{width:44px;padding:0;list-style:none;cursor:pointer}.btn-icon::-webkit-details-marker{display:none}.btn-spinner{width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.tooltip-host{position:relative;display:inline-flex}.tooltip{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);z-index:30;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--text);color:var(--canvas);font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--motion-fast) var(--ease)}.tooltip-host:focus-within .tooltip,.tooltip-host:hover .tooltip{opacity:1}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;min-width:200px;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-2)}.menu-list a,.menu-list button{justify-content:flex-start;border-color:transparent;background:transparent}.menu-list a:hover,.menu-list button:hover{background:var(--raised)}:root{--popup-width:520px;--popup-padding:var(--space-6);--popup-radius:var(--radius-lg);--popup-gap:var(--space-4);--popup-backdrop:#101a2080}:root[data-theme=dark]{--popup-backdrop:#0009}.dialog,.dialog.group-sheet,.dialog.profile-sheet{box-sizing:border-box;position:fixed;inset:var(--chat-viewport-top,0) 0 auto;margin:max(12px,env(safe-area-inset-top)) auto;top:calc(var(--chat-viewport-top,0px) + max(12px,env(safe-area-inset-top)));width:min(var(--popup-width),calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:none;max-height:calc(var(--chat-viewport-height,100dvh) - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;overflow:hidden;color:var(--text);background:var(--surface);border:1px solid var(--input-line);border-radius:var(--popup-radius);box-shadow:var(--elev-3);animation:kit-pop var(--motion-base) var(--ease)}.dialog[open]{display:flex;flex-direction:column}.dialog::backdrop{background:var(--popup-backdrop)}.dialog-head{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--popup-padding);border-bottom:1px solid var(--line)}.dialog .dialog-head h2{margin:0;min-width:0;font-size:18px;line-height:1.35;overflow-wrap:anywhere}.dialog-head .tooltip-host{flex-shrink:0}.dialog .dialog-head button{margin:0}.dialog-body{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:var(--popup-padding);overflow-wrap:anywhere;scroll-padding:var(--space-4)}.dialog-body>:first-child{margin-top:0}.dialog-body>:last-child{margin-bottom:0}.dialog-body :is(form,fieldset,input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}.dialog .account-actions,.dialog .photo-sheet-actions,.dialog .room-actions,.dialog .safety-actions,.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-2)}.dialog-actions{flex-shrink:0;padding:var(--space-4) var(--popup-padding);border-top:1px solid var(--line)}.dialog :is(.safety-actions,.room-actions,.account-actions,.photo-sheet-actions)>*{margin:0}.dialog :is(button,a){white-space:normal;overflow-wrap:anywhere}.dialog .photo-sheet-card{max-width:100%;padding:0;gap:var(--space-3);background:transparent}.dialog :is(.photo-sheet-card,.dialog-body)>img{display:block;max-width:100%;max-height:50dvh;-o-object-fit:contain;object-fit:contain;margin-inline:auto;border-radius:var(--radius-md)}.dialog .photo-viewer-bar{position:static;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.dialog.photo-viewer-dialog{--popup-width:800px}.dialog.photo-viewer-dialog img{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.account-menu-list,.chat-inbox-panel,.conversation-bar .conversation-menu-panel,.emoji-grid,.menu-list,.room-panel .participant-menu{box-sizing:border-box;border-radius:var(--popup-radius);border-color:var(--line);box-shadow:var(--elev-2);padding:var(--space-2);overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.menu-list{min-width:min(200px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(var(--chat-viewport-height,100dvh) - 96px)}.chat-inbox-panel{padding:var(--space-4)}.tooltip{width:-moz-max-content;width:max-content;max-width:min(280px,calc(100vw - 24px));white-space:normal;overflow-wrap:anywhere;text-align:center;box-shadow:var(--elev-2)}@media (max-width:600px){:root{--popup-padding:var(--space-4)}.dialog-actions>*{flex:1 1 auto}.dialog.group-sheet form{min-width:0}}@keyframes kit-pop{0%{opacity:0;transform:translateY(6px)}}.toast-region{position:fixed;right:max(var(--space-4),env(safe-area-inset-right));bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:60;max-height:calc(var(--chat-viewport-height,100dvh) - 32px);overflow:auto;display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:var(--popup-radius);box-shadow:var(--elev-2);overflow-wrap:anywhere;animation:kit-pop var(--motion-base) var(--ease)}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-lg)}.empty-state .icon{width:32px;height:32px;color:var(--accent)}.empty-state p{margin:0}.badge{display:inline-flex;align-items:center;min-height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--raised);color:var(--muted)}.badge-accent{background:var(--tint);color:var(--accent)}.badge-warning{background:var(--raised);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.avatar{position:relative;display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--tint);color:var(--accent);font-weight:700}.avatar-sm{width:24px;height:24px;font-size:12px}.avatar-md{width:36px;height:36px;font-size:15px}.avatar-lg{width:56px;height:56px;font-size:22px}.avatar-presence{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface)}.avatar-online{background:var(--success)}.avatar-away{background:var(--warning)}.explore-panel{display:grid;gap:var(--space-4);min-width:0}.explore-results-head,.explore-visibility{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.explore-visibility{padding:var(--space-4);background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-lg)}.explore-results-head p,.explore-visibility p{margin:var(--space-2) 0}.explore-filters{display:grid;gap:var(--space-3)}.explore-filters>summary{cursor:pointer;font-weight:600}.explore-join-card{border-color:var(--accent)}.explore-filters fieldset{margin:0;min-width:0;border:0;padding:0}.explore-filters legend{margin-bottom:var(--space-2);font-weight:600}.explore-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.explore-chip{border-radius:var(--radius-pill)}.explore-chip[aria-pressed=true]{background:var(--tint);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.explore-people{display:grid;gap:var(--space-2);list-style:none;padding:0;margin:0}.explore-people li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg)}.explore-people strong{flex:1;min-width:0;overflow-wrap:anywhere}.admin-workspace{display:grid;gap:var(--space-4);min-width:0}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.admin-head h2,.admin-head p{margin:0;overflow-wrap:anywhere}.admin-head p{color:var(--muted);font-size:13px}.admin-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--line)}.admin-tabs [role=tab]{border-radius:var(--radius-md) var(--radius-md) 0 0;border-color:transparent;background:transparent;margin-bottom:-1px}.admin-tabs [role=tab][aria-selected=true]{background:var(--surface);border-color:var(--line);border-bottom-color:var(--surface);color:var(--accent);font-weight:650}.admin-switcher{display:none;margin:0}.admin-panel{display:grid;gap:var(--space-4);min-width:0}.admin-panel[hidden]{display:none}.admin-panel h3{margin:0;font-size:16px}.admin-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.admin-list{display:grid;gap:var(--space-2);list-style:none;padding:0;margin:0}.admin-list li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow-wrap:anywhere}.admin-list li>strong{flex:1;min-width:0}.admin-roles{margin:0 0 var(--space-3);padding-left:var(--space-4);color:var(--muted)}.admin-audit time{color:var(--muted);font-size:13px}.admin-form{display:grid;gap:var(--space-2);max-width:420px}.admin-form input,.admin-form select{margin-bottom:var(--space-2)}@media (max-width:600px){.admin-tabs{display:none}.admin-switcher{display:block}}.avatar,.participant-avatar,.private-avatar,.universe-chat-photo{position:relative}.user-photo{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%;background:var(--tint)}.chat-inbox-panel li a.inbox-chat{display:grid;grid-template-columns:auto 1fr;-moz-column-gap:10px;column-gap:10px;align-items:center}.inbox-chat .avatar{grid-row:span 2}.recent-conversations a .avatar{flex-shrink:0}.profile-photo-editor{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.profile-photo-editor .avatar-xl{width:88px;height:88px;font-size:34px}.profile-photo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.profile-photo-actions input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.gif-picker{position:relative}.gif-picker>summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:40px;min-height:40px;padding:0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;border-radius:8px}.gif-picker>summary::-webkit-details-marker{display:none}.gif-grid{position:absolute;bottom:calc(100% + 8px);left:0;z-index:20;width:min(320px,calc(100vw - 32px));max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgb(0 0 0/.25)}.gif-grid>p{grid-column:1/-1;margin:0}.gif-grid button{padding:0;border:0;background:none;border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer}.gif-grid img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.composer .gif-picker>summary{min-width:44px;min-height:44px;border-radius:50%}.message-gif img{display:block;max-width:min(240px,100%);max-height:240px;border-radius:12px}.gif-admin-add{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-block:var(--space-3)}.gif-admin-list img{border-radius:8px;-o-object-fit:cover;object-fit:cover}a.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-weight:550}a.btn-primary{border-color:var(--accent)}.sound-picker>summary[data-playing]{color:var(--accent)}.gif-grid.sound-list{display:flex;flex-direction:column;align-items:stretch}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.sound-row strong{min-width:0;overflow-wrap:anywhere}.sound-row button{flex-shrink:0;min-height:44px}.gif-admin-list audio{max-width:100%}