:root{color-scheme:dark;--rail:64px;--sidebar:246px;--bg:#202126;--panel:#27272e;--panel-soft:#2e2e36;--line:#ffffff0c;--text:#eeedf3;--muted:#96959f;--faint:#696872;--accent:#a891f5;--lime:#b7f284;--danger:#ec858b;--shadow:0 16px 50px #10111540;font-family:'DM Sans',sans-serif;font-size:13px;font-synthesis:none}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.42;cursor:not-allowed}button,input,textarea{outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,textarea:focus-visible{border-color:var(--accent)!important;box-shadow:0 0 0 3px #a891f51c}button{transition:background .16s,color .16s,box-shadow .16s,opacity .16s,transform .16s}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}svg use{pointer-events:none}[hidden]{display:none!important}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,p{margin:0}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:20px;padding:0 5px;border:1px solid #ffffff19;border-bottom:2px solid #ffffff18;border-radius:5px;background:#ffffff07;color:#c2c1c9;font-family:inherit;font-size:10px;font-weight:500;line-height:1}::selection{background:#a891f544;color:#fff}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#ffffff1b;border-radius:5px}::-webkit-scrollbar-track{background:transparent}
.app-shell{display:grid;grid-template-columns:var(--rail) var(--sidebar) minmax(0,1fr);width:100%;height:100dvh;min-height:0;overflow:hidden}.app-rail{position:relative;z-index:40;display:flex;flex-direction:column;align-items:center;min-width:0;padding:17px 7px 16px;background:#202126;border-right:1px solid #ffffff07}.brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--lime);color:#283326;font-size:30px;line-height:1;font-weight:700;letter-spacing:-4px;padding-right:5px;box-shadow:0 3px 12px #101a1425}.brand-mark span{font-size:29px;line-height:.5;align-self:flex-end;margin:0 0 8px 1px}.rail-main{display:flex;flex-direction:column;gap:11px;width:100%;margin-top:34px}.rail-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:50px;width:100%;padding:8px 0;border-radius:10px;color:#898992}.rail-button svg{width:21px;height:21px;stroke-width:1.7}.rail-button>span{font-size:9px;line-height:1.1;font-weight:500;letter-spacing:-.1px}.rail-button:hover{color:#d9d6e3;background:#ffffff06}.rail-button.active{background:#a891f516;color:#bba5ff}.rail-button.active:before{position:absolute;top:14px;left:-7px;content:'';width:3px;height:23px;border-radius:0 3px 3px 0;background:#b29af9}.rail-button i{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 3px #202126}.rail-bottom{display:flex;align-items:center;flex-direction:column;gap:7px;width:100%;margin-top:auto}.rail-bottom .rail-button{min-height:39px}.rail-status{width:6px;height:6px;background:#6b717b;border-radius:50%;margin-top:10px;box-shadow:0 0 0 4px #ffffff03}.rail-status.connected,.rail-status.is-online{background:var(--lime)}
.sidebar{position:relative;z-index:30;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#27272e;border-right:1px solid #ffffff07}.office-heading{display:flex;align-items:center;gap:10px;padding:24px 18px 22px}.office-monogram{display:flex;align-items:center;justify-content:center;width:36px;height:38px;flex-shrink:0;border:1px solid #a891f533;border-radius:10px;background:#a891f510;color:#c1acf7;font-size:11px;font-weight:700;letter-spacing:-.6px}.office-heading h1{font-size:14px;font-weight:700;letter-spacing:-.35px;white-space:nowrap}.office-heading p{margin-top:4px;font-size:10px;color:#8e8d98;letter-spacing:-.1px}.floor-select{display:flex;align-items:center;gap:9px;margin:0 16px 14px;padding:11px 10px;border-radius:8px;background:#ffffff04;color:#b4b2be;font-size:11px}.floor-select svg{width:16px;height:16px;color:#90909b}.floor-tag{margin-left:auto;font-size:9px;color:#74737f}.invite-button{display:flex;align-items:center;gap:7px;min-height:35px;margin:0 16px 25px;padding:8px 10px;border:1px solid #a891f527;border-radius:7px;color:#c0acf5;background:#a891f50a;font-size:11px;font-weight:600}.invite-button svg{width:14px;height:14px}.invite-button>span{margin-left:auto;font-size:16px;color:#a790df}.invite-button:hover{background:#a891f51b;border-color:#a891f54a}.sidebar-view{flex:1;min-height:0;overflow:auto;padding:0 16px 12px}.people-search{display:flex;align-items:center;gap:7px;padding:8px 9px;margin-bottom:23px;border:1px solid #ffffff09;border-radius:7px;background:#202127}.people-search svg{width:14px;height:14px;color:#75747f}.people-search input{min-width:0;width:100%;padding:0;border:0;outline:none!important;background:transparent;color:#d9d6e1;font-size:11px}.people-search input::placeholder{color:#777680}.people-search kbd{height:16px;min-width:15px;border-color:#ffffff0b;font-size:9px;color:#6c6b76}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:11px;color:#9997a4;font-size:10px;font-weight:600;letter-spacing:.2px}.list-heading>span:last-child:not(:first-child){color:#777680;font-size:9px}.count-badge{display:flex;align-items:center;justify-content:center;min-width:19px;height:17px;padding:0 5px;border-radius:5px;background:#ffffff05;color:#94929f!important;font-size:9px!important}.online-list,.nearby-list{display:flex;flex-direction:column;gap:3px}.person-row{display:flex;align-items:center;gap:9px;min-height:43px;padding:5px 4px;border-radius:7px;transition:background .15s}.person-row:hover{background:#ffffff04}.person-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:10px;background:var(--avatar-color,#8974b9);color:#24242b;font-size:12px;font-weight:700}.person-avatar:after{position:absolute;right:-1px;bottom:-1px;width:6px;height:6px;content:'';border:2px solid var(--panel);box-sizing:content-box;background:var(--lime);border-radius:50%}.person-avatar canvas{width:29px;height:29px;image-rendering:pixelated}.person-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.person-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:#dbd8e3}.person-copy small,.person-copy span{font-size:9px;color:#83818e}.person-self{margin-left:4px;color:#74727f!important;font-size:9px!important;font-weight:400}.person-distance{font-size:9px;color:#74747e;white-space:nowrap}.person-action{display:flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;border-radius:7px;color:#96909e}.person-action:hover{background:#a891f51a;color:#c5b0fc}.person-action svg{width:14px;height:14px}.nearby-card{margin-top:23px;padding-top:19px;border-top:1px solid #ffffff07}.empty-nearby{padding:8px 0 6px;color:#777580;font-size:10px;line-height:1.65}.empty-nearby svg{width:17px;height:17px;margin-right:5px;color:#9690a8}.sidebar-tip{position:relative;margin-top:28px;padding:14px 12px 14px 36px;border-radius:8px;background:linear-gradient(120deg,#a891f50c,transparent)}.tip-icon{position:absolute;top:15px;left:11px;color:#ad98e0}.tip-icon svg{width:15px;height:15px}.sidebar-tip strong{font-size:10px;font-weight:600;color:#b6adca}.sidebar-tip p{margin-top:5px;line-height:1.7;font-size:10px;color:#7f7a8d}.sidebar-bottom{margin-top:auto;padding:12px 16px 0;border-top:1px solid #ffffff07}.area-entry{display:flex;align-items:center;gap:9px;width:100%;padding:9px 2px 16px;text-align:left}.area-entry-icon{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;background:#a891f50b;color:#a58dce}.area-entry-icon svg{width:16px;height:16px}.area-entry>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.area-entry strong{font-size:10px;font-weight:500;color:#c6c0d1}.area-entry small{font-size:9px;color:#797480}.area-arrow{width:13px;height:13px;color:#77717f}.area-entry:hover strong,.area-entry:hover .area-arrow{color:#c4aef8}.you-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #ffffff07}.you-row>canvas{width:33px;height:33px;image-rendering:pixelated;border-radius:10px;background:#a891f516}.you-row>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.you-row strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-row>div>span{display:flex;align-items:center;gap:5px;font-size:9px;color:#8e8b98}.live-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;background:var(--lime);border-radius:50%}.connection-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:0 -16px;padding:10px 16px 11px;border-top:1px solid #ffffff05;font-size:8px;color:#62616d}.connection-copy{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-dot{padding:0 4px}.spaces-list{display:flex;flex-direction:column;gap:5px}.space-button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 8px;border-radius:9px;text-align:left}.space-button:hover{background:#ffffff05}.space-button.active{background:#a891f513}.space-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;color:#b7a6dd;background:#a891f50e;font-size:16px}.space-symbol svg{width:16px;height:16px}.space-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.space-copy strong{font-size:11px;font-weight:500;color:#cac5d6}.space-copy small,.space-copy span{font-size:9px;color:#827b90}.space-button>svg{width:13px;height:13px;margin-left:auto;color:#77717f}
.stage-column{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.stage-toolbar{position:relative;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;height:52px;padding:0 22px;background:#222329;border-bottom:1px solid #ffffff07}.stage-title{display:flex;align-items:center;gap:10px;min-width:0;font-size:11px;color:#8f8d9a;white-space:nowrap}.stage-title>svg{width:16px;height:16px;color:#94909f}.stage-title strong{font-size:11px;font-weight:500;color:#d7d4e1}.breadcrumb-slash{color:#5d5b68;font-size:13px;padding:0 2px}.room-code{max-width:170px;overflow:hidden;text-overflow:ellipsis;margin-left:6px;padding:3px 6px;background:#ffffff04;border-radius:4px;color:#6d6b77;font-size:9px}.stage-tools{display:flex;align-items:center;gap:12px}.presence-pill{display:flex;align-items:center;gap:6px;margin-right:6px;font-size:10px;color:#96929e}.presence-pill .live-dot{width:5px;height:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-width:29px;min-height:29px;padding:5px;border-radius:7px;color:#9b98a6;font-size:10px}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:#ffffff08;color:#e1dcec}#meet-button{color:#a9a3b5}#meet-button svg{width:15px;height:15px}.stage-wrap{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden;isolation:isolate;background:#36575c}#room-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none;image-rendering:pixelated;cursor:crosshair}#room-canvas:focus-visible{outline:1px solid #a891f53b;outline-offset:-1px}.map-location{position:absolute;z-index:8;left:22px;top:18px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 44px);padding:9px 11px;border:1px solid #ffffff13;border-radius:8px;background:#262831e8;box-shadow:0 4px 15px #17252f1a;backdrop-filter:blur(12px);font-size:10px;color:#e1dce8}.map-location>.live-dot{width:5px;height:5px;background:#c6b4ff}.map-location>span:last-child{color:#8c8997;font-size:9px}.map-location-divider{width:1px;height:11px;margin:0 3px;background:#ffffff16}.walk-hint{position:absolute;z-index:7;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:430px;padding:11px 13px;border:1px solid #ffffff0d;border-radius:10px;background:#282831eb;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.hint-spark{display:flex;align-items:center;justify-content:center;width:28px;height:31px;flex-shrink:0;border-radius:8px;background:#a891f514;color:#c2acf8;font-size:18px}.walk-hint>div{display:flex;flex-direction:column;gap:6px;white-space:nowrap}.walk-hint strong{font-size:10px;font-weight:600;color:#d2cadd}.walk-hint>div>span{font-size:9px;color:#8e879c}.walk-hint kbd{height:15px;min-width:13px;padding:0 3px;margin-right:2px;font-size:8px;border-radius:3px}.walk-hint button{align-self:flex-start;padding:0 0 0 7px;color:#77717f;font-size:16px;line-height:15px}.walk-hint button:hover{color:#dcd4e8}.map-legend{position:absolute;z-index:5;left:50%;bottom:99px;transform:translateX(-50%);display:flex;gap:16px;padding:6px 10px;border-radius:6px;color:#e6e5e0ad;background:#233b3d42;font-size:9px;pointer-events:none;text-shadow:0 1px 3px #1d3033}.map-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.map-legend kbd{height:17px;border-color:#ffffff22;background:#24323955;font-size:8px;color:#eeede3}.interaction-prompt{position:absolute;z-index:13;bottom:131px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;min-height:39px;padding:7px 11px 7px 8px;border:1px solid #b7f28440;border-radius:10px;background:#252c25ed;box-shadow:0 8px 24px #14292340;color:#d9edc8;font-size:11px;white-space:nowrap;backdrop-filter:blur(10px)}.interaction-prompt kbd{height:24px;min-width:25px;border-color:#b7f28433;background:#b7f28413;color:var(--lime);font-size:11px}.interaction-prompt>svg{width:14px;height:14px;margin-left:3px;color:#a8be96}.interaction-prompt:hover{background:#303f2cf0;border-color:#b7f28477}.toast{position:absolute;z-index:55;top:74px;left:50%;max-width:min(430px,calc(100% - 36px));transform:translate(-50%,-8px);padding:11px 16px;border:1px solid #c7b5f530;border-radius:9px;background:#292731f5;box-shadow:0 12px 30px #192c343d;color:#e3d9ef;font-size:11px;line-height:1.6;text-align:center;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;backdrop-filter:blur(12px)}.toast.show{opacity:1;transform:translate(-50%,0)}
.minimap-card{position:absolute;z-index:11;left:20px;bottom:20px;display:flex;flex-direction:column;gap:0;width:176px;height:148px;padding:6px 6px 0;overflow:hidden;border:1px solid #ffffff19;border-radius:12px;background:#24272eed;box-shadow:0 8px 24px #19292d33;backdrop-filter:blur(8px);text-align:left}.minimap-card>canvas{display:block;width:162px;height:114px;border-radius:6px;background:#273c42;image-rendering:pixelated}.minimap-card>span{display:flex;align-items:center;gap:5px;flex:1;width:100%;padding:0 3px;color:#9d9aa8;font-size:8px}.minimap-card .live-dot{width:4px;height:4px}.minimap-card>span>svg{width:11px;height:11px;margin-left:auto;color:#86808f}.minimap-card:hover{border-color:#c8b4fc55;background:#2c2c37}.zoom-controls{position:absolute;z-index:12;bottom:25px;right:20px;display:flex;flex-direction:column;align-items:center;width:36px;padding:4px 3px;border:1px solid #ffffff17;border-radius:10px;background:#262831ec;box-shadow:0 8px 22px #182b3033;backdrop-filter:blur(8px)}.zoom-controls button{display:flex;align-items:center;justify-content:center;width:30px;height:31px;border-radius:6px;font-size:21px;font-weight:400;line-height:1;color:#b1aabf}.zoom-controls button:hover{color:#e8e1f3;background:#ffffff08}.zoom-controls button svg{width:17px;height:17px}.zoom-controls>span:not([id]){width:18px;height:1px;margin:3px 0;background:#ffffff0d}#zoom-value{font-size:8px;font-weight:500;color:#706b7e;padding:2px 0;user-select:none}.quick-controls{position:absolute;z-index:22;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;height:58px;max-width:calc(100% - 32px);padding:7px 8px;border:1px solid #ffffff14;border-radius:16px;background:#26272ef2;box-shadow:0 8px 30px #172b3540;backdrop-filter:blur(16px)}.profile-button{position:relative;display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:12px;background:#b39bf2;color:#2f234a;font-size:17px;font-weight:700}.profile-button>span{overflow:hidden;max-width:35px;text-overflow:clip}.profile-button>.live-dot{position:absolute;width:8px;height:8px;right:-1px;bottom:-1px;border:2px solid #2b2b32;box-sizing:content-box}.profile-button:hover{box-shadow:0 0 0 2px #a891f54f}.dock-divider{height:23px;width:1px;flex-shrink:0;margin:0 4px;background:#ffffff0b}.control-button{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;width:36px;height:36px;border-radius:10px;color:#b0a9bc;background:#ffffff03}.control-button svg{width:18px;height:18px;stroke-width:1.65}.control-button:hover{background:#ffffff0a;color:#ded4ed}.control-button.is-off{color:#d48794;background:#ffffff05}.control-button.is-on{color:#c4aff8;background:#a891f51c;box-shadow:inset 0 0 0 1px #a891f52a}.control-button.is-on:hover{background:#a891f52c}.audio-control{width:auto;min-width:96px;padding:0 12px;color:#c7b4f5;background:#a891f515;font-size:10px;font-weight:600}.audio-control svg{width:16px;height:16px}.audio-control:hover{background:#a891f525}.audio-control.is-on{color:#d6edc6;background:#b7f28413;box-shadow:inset 0 0 0 1px #b7f28420}.leave-control{color:#dc848d;background:#df6d7a0c}.leave-control:hover{background:#df6d7a21;color:#f2a7ad}.reactions-menu{position:absolute;z-index:28;bottom:94px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:7px;border:1px solid #ffffff12;border-radius:12px;background:#2a2832f7;box-shadow:var(--shadow)}.reactions-menu button{width:34px;height:34px;border-radius:8px;font-size:22px;line-height:1}.reactions-menu button:hover{background:#a891f51a;transform:translateY(-3px)}.stage-bottom{position:absolute;z-index:5;right:21px;bottom:9px;max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#e1e3d87a;font-size:8px;pointer-events:none;text-shadow:0 1px 3px #182b31}
.call-dock{position:absolute;z-index:18;top:18px;left:50%;transform:translateX(-50%);width:500px;max-width:calc(100% - 38px);padding:0 6px 4px;border:1px solid #b3a1cc26;border-radius:13px;background:#33303bef;box-shadow:0 12px 40px #17232d30;backdrop-filter:blur(14px);overflow:hidden}.call-dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:37px;padding:0 4px}.call-dock-head>span{display:flex;align-items:center;gap:7px;min-width:0;color:#d3c9dc;font-size:10px;font-weight:600;white-space:nowrap}.call-dock-head>span>svg{width:12px;height:12px;margin-left:5px;color:#8f859d}.call-avatars{display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:7px;background:#a891f522;color:#c3acf7;font-size:12px}.call-dock-head>div{display:flex;gap:2px}.call-dock-head .icon-button{min-width:26px;min-height:25px;padding:4px;border-radius:6px;background:#ffffff04}.call-dock-head .icon-button svg{width:13px;height:13px}.call-video-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;min-height:0}.video-tile{position:relative;aspect-ratio:16/9;min-width:0;min-height:100px;overflow:hidden;border:1px solid #ffffff0d;border-radius:8px;background:#17171b}.video-tile video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.video-tile video.local-video{transform:scaleX(-1)}.video-tile.screen-tile video{object-fit:contain;transform:none}.tile-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#17171b}.tile-initial{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:2px solid #ffffff21;border-radius:50%;background:var(--tile-color,#b7a0ec);color:#342c46;font-size:21px;font-weight:700;box-shadow:0 0 0 1px #ffffff06}.tile-name{position:absolute;z-index:2;left:7px;bottom:6px;display:flex;align-items:center;gap:4px;max-width:calc(100% - 14px);padding:3px 5px;border-radius:4px;background:#101014c9;color:#d2cdda;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2}.tile-name svg{width:11px;height:11px;stroke-width:2;color:#d2838a}.tile-status{position:absolute;top:7px;right:7px;display:flex;align-items:center;justify-content:center;gap:3px;min-width:20px;height:20px;padding:3px;border-radius:6px;background:#13131885;color:#a49aac;font-size:8px}.tile-status svg{width:12px;height:12px}.screen-label{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:5px;max-width:calc(100% - 16px);padding:4px 6px;border-radius:5px;background:#25202cd9;color:#c8b9e8;font-size:9px}.screen-label svg{width:12px;height:12px}.call-caption{text-align:center;padding:5px 0 1px;color:#a79daf;font-size:8px}.call-dock.collapsed{width:290px;max-width:calc(100% - 38px);padding-bottom:0}.call-dock.collapsed .call-video-grid,.call-dock.collapsed .call-caption{display:none}.call-dock.expanded{inset:16px 18px 105px;width:auto;max-width:none;transform:none;display:flex;flex-direction:column;padding:0 8px 6px;background:#20242ce8;backdrop-filter:blur(24px);border-color:#c3b4d223;box-shadow:0 0 0 100vmax #102b2e60}.call-dock.expanded .call-dock-head{height:42px;flex-shrink:0;padding:0 3px}.call-dock.expanded .call-video-grid{flex:1;min-height:0;gap:8px}.call-dock.expanded .video-tile{height:100%;min-height:0;aspect-ratio:auto;border-radius:9px}.call-dock.expanded .tile-initial{width:57px;height:57px;font-size:27px}.call-dock.expanded .tile-name{bottom:9px;left:9px;font-size:10px}.call-dock.expanded .call-caption{padding-top:8px;padding-bottom:2px;font-size:9px}.stage-wrap:has(.call-dock:not([hidden])) .walk-hint{opacity:0;pointer-events:none}.stage-wrap:has(.call-dock.expanded:not([hidden])) .map-location,.stage-wrap:has(.call-dock.expanded:not([hidden])) .map-legend{visibility:hidden}
.chat-card{position:absolute;z-index:32;top:14px;right:14px;bottom:99px;display:flex;flex-direction:column;width:320px;max-width:calc(100% - 28px);min-height:150px;overflow:hidden;border:1px solid #ffffff10;border-radius:13px;background:#282730f5;box-shadow:-10px 12px 40px #14262b36;backdrop-filter:blur(20px)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 16px 16px;border-bottom:1px solid #ffffff08}.eyebrow{color:#a791d1;font-size:9px;font-weight:700;letter-spacing:1.1px;line-height:1.4}.chat-header h2{margin-top:6px;color:#e1d9eb;font-size:14px;font-weight:600;letter-spacing:-.25px}.chat-messages{display:flex;flex:1;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding:17px 15px;scroll-behavior:smooth}.chat-system{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;max-width:235px;margin:auto;text-align:center}.chat-system svg{width:29px;height:29px;margin-bottom:2px;color:#a68ec9;stroke-width:1.3}.chat-system strong{color:#c8bdd9;font-size:12px;font-weight:500}.chat-system>span{max-width:205px;color:#81788e;font-size:10px;line-height:1.7}.message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:10px 11px;border-radius:10px;background:#ffffff05}.message.own,.message.self{background:#a891f50c}.message-author{font-size:10px;font-weight:600;color:#bea6e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-time{grid-column:2;grid-row:1;color:#70687e;font-size:8px;align-self:center}.message-body{grid-column:1/-1;font-size:11px;line-height:1.65;color:#c8bfd5;overflow-wrap:anywhere;white-space:pre-wrap}.chat-form{display:flex;align-items:center;gap:7px;margin:0 11px 11px;padding:6px 6px 6px 10px;border:1px solid #ffffff10;border-radius:9px;background:#202029}.chat-form:focus-within{border-color:#a891f55e}.chat-form input{flex:1;min-width:0;padding:6px 0;border:0;box-shadow:none!important;outline:none;background:transparent;color:#ddd3eb;font-size:11px}.chat-form input::placeholder{color:#756c82}.chat-form button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:7px;background:#a891f51b;color:#bba0f0}.chat-form button:hover{background:#a891f536}.chat-form button svg{width:15px;height:15px}.stage-wrap:has(.chat-card:not([hidden])) .zoom-controls{right:348px}.stage-wrap:has(.chat-card:not([hidden])) .stage-bottom{right:350px}.stage-wrap:has(.chat-card:not([hidden])) .call-dock.expanded{right:348px}
.touch-controls{display:none}.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls button:active{background:#a891f542;color:#eee3ff}body.sidebar-collapsed .app-shell{grid-template-columns:var(--rail) 0 minmax(0,1fr)}body.sidebar-collapsed .sidebar{visibility:hidden;pointer-events:none}
/* Dialogs */
dialog{max-height:calc(100dvh - 36px);margin:auto;overflow:auto;border:1px solid #ffffff12;border-radius:20px;background:#29272f;color:var(--text);box-shadow:0 25px 100px #080d1559}dialog::backdrop{background:#141920a8;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .18s ease-out}.join-dialog{width:414px;max-width:calc(100vw - 32px);padding:0}.join-dialog form{padding:25px 29px 22px}.dialog-topline{display:flex;align-items:center;gap:12px;margin-bottom:23px}.dialog-brand{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--lime);color:#293525;font-size:25px;font-weight:700;letter-spacing:-3px;padding-right:4px;line-height:1}.dialog-brand>span{align-self:flex-end;font-size:22px;margin:0 0 5px 1px}.dialog-topline>span:nth-child(2){color:#80788e;font-size:7px;font-weight:600;letter-spacing:1.2px}.dialog-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:#ffffff04;color:#8f829f;font-size:23px;line-height:1}.dialog-close:hover{background:#ffffff0a;color:#e4d5f6}.dialog-topline .dialog-close{margin-left:auto}.join-visual{position:relative;display:flex;align-items:center;justify-content:center;height:169px;margin-bottom:24px;overflow:hidden;border:1px solid #bfa6eb17;border-radius:12px;background:radial-gradient(ellipse at 50% 65%,#a892d750,transparent 65%),linear-gradient(145deg,#3c344c,#393445);isolation:isolate}.join-visual:before,.join-visual:after{position:absolute;content:'';z-index:-1;width:290px;height:1px;top:95px;left:29px;transform:rotate(-26deg);background:#c7aef810}.join-visual:after{transform:rotate(26deg)}.join-visual canvas{width:154px;height:154px;image-rendering:pixelated;filter:drop-shadow(0 8px 8px #1b162044);transform:translateY(-5px)}.join-orbit{position:absolute;z-index:-1;width:129px;height:129px;border:1px solid #c6a4fb17;border-radius:50%;transform:rotateX(58deg);top:43px}.orbit-two{width:205px;height:205px;top:6px;border-color:#c6a4fb0b}.preview-tag{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;max-width:240px;padding:5px 9px;border:1px solid #dac2fa21;border-radius:5px;background:#332a43e6;color:#e0d1ee;font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden}.preview-tag .live-dot{width:4px;height:4px}.join-dialog .eyebrow{margin-bottom:8px;font-size:8px;color:#a88fc9;letter-spacing:1.3px}.join-dialog h1{font-size:28px;font-weight:600;letter-spacing:-1.1px;line-height:1.15;color:#f2edf6}.join-description{margin-top:11px;margin-bottom:24px;color:#9e92ad;font-size:11px;line-height:1.7}.join-dialog label{display:block;margin:17px 0 8px;color:#c4b7d3;font-size:10px;font-weight:500}.join-dialog input{display:block;width:100%;height:42px;padding:10px 13px;border:1px solid #ffffff12;border-radius:8px;background:#222029;color:#e7dff1;font-size:12px}.join-dialog input::placeholder{color:#75677f}.avatar-options{display:flex;align-items:center;gap:12px;margin:12px 1px 24px}.avatar-options button{position:relative;width:28px;height:28px;flex-shrink:0;border:3px solid #29272f;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px transparent}.avatar-options button:hover{transform:translateY(-2px)}.avatar-options button[aria-pressed=true]{box-shadow:0 0 0 1px #b7a1dc}.avatar-options button[aria-pressed=true]:after{position:absolute;inset:0;content:'✓';display:flex;align-items:center;justify-content:center;color:#332b43;font-size:13px;font-weight:700}.join-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:43px;border-radius:8px;background:var(--lime);box-shadow:0 5px 18px #b7f28408;color:#283523;font-size:11px;font-weight:700}.join-submit svg{width:16px;height:16px}.join-submit:hover{background:#c6f69e;box-shadow:0 5px 20px #b7f28412}.join-submit:active{transform:translateY(1px)}.join-dialog form>small{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:13px;color:#776b83;font-size:8px}.join-dialog form>small>svg{width:10px;height:10px}
.zone-dialog{width:490px;max-width:calc(100vw - 32px);padding:0}.zone-dialog-form{padding:26px}.zone-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.zone-symbol{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #a891f521;border-radius:12px;background:#a891f512;color:#bfa5ec;font-size:20px}.zone-symbol svg{width:21px;height:21px}.zone-dialog h2,.help-dialog h2{margin-top:7px;color:#eee5f5;font-size:23px;font-weight:600;letter-spacing:-.7px}.zone-description{margin-top:9px;color:#9c8daa;font-size:11px;line-height:1.8}.zone-content{margin-top:24px}.zone-textarea{display:block;width:100%;min-height:200px;resize:vertical;padding:14px;border:1px solid #ffffff12;border-radius:9px;background:#211e28;color:#dacee7;font-size:12px;line-height:1.8}.zone-textarea::placeholder,.zone-input::placeholder{color:#73637f}.zone-input{width:100%;height:41px;padding:9px 11px;border:1px solid #ffffff12;border-radius:8px;background:#211e28;color:#dfd1ec;font-size:12px}.zone-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:9px 14px;border-radius:7px;background:var(--lime);color:#2b3525;font-size:11px;font-weight:700}.zone-action svg{width:15px;height:15px}.zone-action:hover{background:#c7f4a3}.zone-action.secondary,.zone-action.secondary-action{border:1px solid #a891f529;background:#a891f510;color:#c3a9ed}.zone-action.secondary:hover,.zone-action.secondary-action:hover{background:#a891f51e}.zone-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px}.save-status{margin-left:auto;color:#8ca77d;font-size:10px}.zone-content label{display:block;margin:14px 0 7px;color:#b9a6cc;font-size:10px;font-weight:500}.zone-content>p{margin:12px 0;color:#9f8eac;font-size:11px;line-height:1.8}.zone-content>form{display:flex;flex-direction:column;gap:10px}.zone-content h3{font-size:12px;font-weight:500;color:#bfa9d2;margin-bottom:12px}.note-list{display:flex;flex-direction:column;gap:9px;margin-top:18px;max-height:265px;overflow:auto}.note-card{padding:13px 14px;border-left:2px solid #b9a0e95c;border-radius:0 8px 8px 0;background:#ffffff03;color:#c8b7d8;font-size:11px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.note-card-meta{display:flex;align-items:center;gap:7px;margin-top:8px;color:#7e6c8c;font-size:9px}.note-card-meta button{margin-left:auto;color:#a77889;font-size:10px}.zone-content .empty{padding:20px 8px;text-align:center;color:#8c7b9c;font-size:11px;line-height:1.7}.help-dialog{width:470px;max-width:calc(100vw - 32px);padding:27px}.help-dialog .zone-dialog-head{margin-bottom:11px}.help-dialog p{margin:12px 0 21px;color:#9d8cae;font-size:11px;line-height:1.8}.help-dialog>p:last-child{margin-bottom:0;color:#887594;font-size:10px}.help-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;border-bottom:1px solid #ffffff07;color:#9582a7;font-size:10px}.help-row strong{color:#beabcf;font-size:10px;font-weight:500;text-align:right}.help-row>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.help-row kbd,.key-guide kbd{min-width:23px;height:25px;border-color:#ffffff13;background:#ffffff03;color:#bba5cc}.key-guide{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px;color:#a68bb9;font-size:11px}
@keyframes dialog-in{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1500px){.quick-controls{bottom:28px}.minimap-card{bottom:28px;left:25px}.zoom-controls{bottom:32px;right:25px}.map-legend{bottom:103px}.interaction-prompt{bottom:137px}}
@media(max-width:1200px){.stage-toolbar{padding:0 16px}.stage-title{gap:7px}.stage-tools{gap:6px}.room-code{display:none}.presence-pill{font-size:9px}.walk-hint{top:64px}.map-location{left:16px;top:15px}.call-dock{top:61px;width:460px}.call-dock.expanded{top:14px}.minimap-card{width:146px;height:125px;left:14px;bottom:18px;padding:5px 5px 0}.minimap-card>canvas{width:134px;height:96px}.minimap-card>span{font-size:7px}.quick-controls{gap:4px;padding:6px;bottom:21px;height:54px}.control-button{width:33px;height:35px}.audio-control{width:auto;min-width:88px;padding:0 10px}.profile-button{width:36px;height:36px;border-radius:11px}.dock-divider{margin:0 2px}.map-legend{gap:11px;bottom:91px}.interaction-prompt{bottom:120px}.zoom-controls{right:14px;bottom:21px}.stage-wrap:has(.chat-card:not([hidden])) .zoom-controls{right:344px}.stage-wrap:has(.chat-card:not([hidden])) .call-dock:not(.expanded){max-width:calc(100% - 355px);left:15px;transform:none}.stage-wrap:has(.chat-card:not([hidden])) .call-dock-head>span>svg{display:none}.stage-wrap:has(.chat-card:not([hidden])) .call-dock-head>span{font-size:9px}.stage-wrap:has(.chat-card:not([hidden])) .call-avatars{display:none}}
@media(max-width:900px){.app-shell,body.sidebar-collapsed .app-shell{grid-template-columns:var(--rail) 0 minmax(0,1fr)}.sidebar{position:absolute;left:var(--rail);top:0;bottom:0;width:var(--sidebar);transform:translateX(-105%);visibility:hidden;pointer-events:none;box-shadow:15px 0 35px #10182455;transition:transform .2s,visibility .2s}.sidebar-open .sidebar,.sidebar-open.sidebar-collapsed .sidebar{transform:none;visibility:visible;pointer-events:auto}.stage-toolbar{height:49px;padding:0 15px}.stage-tools{gap:7px}.presence-pill{margin-right:3px}.stage-title>span:nth-child(2){display:none}.stage-title .breadcrumb-slash{display:none}.walk-hint{max-width:340px;padding:9px;gap:7px}.walk-hint strong{font-size:9px}.walk-hint>div>span{font-size:8px}.hint-spark{width:24px;height:29px;font-size:16px}.call-dock{width:440px}.map-legend{display:none}.quick-controls{max-width:calc(100% - 24px)}.interaction-prompt{bottom:98px}.stage-wrap:has(.chat-card:not([hidden])) .zoom-controls{right:14px;bottom:107px}.stage-wrap:has(.chat-card:not([hidden])) .stage-bottom{right:21px}.stage-wrap:has(.chat-card:not([hidden])) .call-dock.expanded{right:18px}.stage-wrap:has(.chat-card:not([hidden])) .call-dock:not(.expanded){display:none}}
@media(max-width:620px){:root{--rail:52px;--sidebar:236px}.app-rail{padding:13px 5px 15px}.brand-mark{width:33px;height:33px;border-radius:11px;font-size:27px}.brand-mark span{font-size:25px;margin-bottom:7px}.rail-main{margin-top:27px;gap:10px}.rail-button{gap:5px;padding:8px 0;min-height:47px;border-radius:9px}.rail-button svg{width:19px;height:19px}.rail-button>span{font-size:8px;letter-spacing:-.2px}.rail-button.active:before{left:-5px;height:20px}.rail-bottom{gap:5px}.rail-bottom .rail-button{min-height:34px}.rail-bottom .rail-button svg{width:17px;height:17px}.stage-toolbar{height:45px;padding:0 11px;gap:7px}.stage-title{gap:6px}.stage-title strong{font-size:10px}.stage-title>svg{width:14px;height:14px}.stage-tools{gap:5px}.presence-pill{font-size:8px;gap:4px}.presence-pill>.live-dot{width:4px;height:4px}.stage-tools .icon-button{min-width:24px;min-height:27px;padding:3px}.stage-tools .icon-button svg{width:14px;height:14px}#meet-button{display:none}.map-location{top:12px;left:11px;gap:5px;padding:7px 9px;border-radius:7px;font-size:9px;max-width:calc(100% - 22px)}.map-location>span:last-child{font-size:8px}.map-location-divider{height:9px}.walk-hint{left:11px;top:53px;transform:none;max-width:calc(100% - 22px);width:307px;padding:9px;gap:7px;border-radius:9px}.walk-hint strong{font-size:9px}.walk-hint>div{gap:5px;white-space:normal}.walk-hint>div>span{font-size:8px;line-height:1.6}.walk-hint button{margin-left:auto}.walk-hint .hint-spark{width:23px;height:29px;flex-shrink:0}.minimap-card{width:112px;height:100px;left:11px;bottom:89px;padding:4px 4px 0;border-radius:9px}.minimap-card>canvas{width:102px;height:74px;border-radius:5px}.minimap-card>span{padding:0 2px;font-size:6px;gap:4px}.minimap-card .live-dot{width:3px;height:3px}.minimap-card>span>svg{width:9px;height:9px}.zoom-controls{width:31px;right:11px;bottom:89px;padding:3px 2px;border-radius:9px}.zoom-controls button{width:25px;height:27px;font-size:19px}.zoom-controls button svg{width:15px;height:15px}#zoom-value{font-size:7px}.quick-controls{bottom:17px;gap:3px;height:49px;padding:5px 6px;border-radius:13px;max-width:calc(100% - 16px);width:auto}.profile-button{width:32px;height:33px;font-size:14px;border-radius:9px}.profile-button .live-dot{width:6px;height:6px;border-width:2px}.control-button{width:29px;height:32px;border-radius:8px}.control-button svg{width:16px;height:16px}.audio-control{width:29px;min-width:29px;padding:0}.audio-control>span{display:none}.dock-divider{height:19px;margin:0 1px}.quick-controls .dock-divider:last-of-type{display:none}.interaction-prompt{bottom:81px;max-width:calc(100% - 32px);padding:6px 9px 6px 6px;gap:7px;min-height:35px;font-size:10px}.interaction-prompt kbd{min-width:23px;height:22px;font-size:10px}.interaction-prompt>svg{width:12px;height:12px}.interaction-prompt #interaction-label{overflow:hidden;text-overflow:ellipsis}.stage-bottom{right:11px;bottom:4px;font-size:6px;max-width:180px}.call-dock{top:52px;max-width:calc(100% - 20px);width:410px;border-radius:10px;padding:0 4px 3px}.call-dock-head{height:31px;padding:0 3px}.call-dock-head>span{font-size:8px;gap:5px}.call-avatars{width:16px;height:16px;font-size:9px;border-radius:5px}.call-dock-head>span>svg{width:10px;height:10px;margin-left:1px}.call-dock-head .icon-button{min-width:21px;min-height:21px}.call-dock-head .icon-button svg{width:11px;height:11px}.call-video-grid{gap:4px}.video-tile{min-height:82px;border-radius:6px}.tile-initial{width:32px;height:32px;font-size:15px}.tile-name{bottom:4px;left:4px;max-width:calc(100% - 8px);font-size:7px;padding:3px 4px}.tile-name svg{width:9px;height:9px}.tile-status{top:4px;right:4px;min-width:17px;height:17px}.tile-status svg{width:10px;height:10px}.call-caption{font-size:7px;padding-top:4px}.call-dock.collapsed{width:245px}.call-dock.expanded{inset:10px 10px 82px;border-radius:11px;padding:0 5px 5px}.call-dock.expanded .call-video-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:minmax(0,1fr);gap:6px}.call-dock.expanded .call-dock-head{height:35px}.call-dock.expanded .tile-initial{width:43px;height:43px;font-size:21px}.call-dock.expanded .tile-name{font-size:8px;left:6px;bottom:6px}.call-dock.expanded .call-caption{font-size:8px;padding-top:6px}.toast{top:54px;padding:10px 12px;max-width:calc(100% - 24px);font-size:10px}.chat-card{top:10px;right:10px;bottom:79px;width:320px;max-width:calc(100% - 20px);border-radius:11px}.chat-header{padding:16px 13px 13px}.chat-header h2{font-size:13px}.chat-messages{padding:13px;gap:10px}.chat-form{margin:0 9px 9px;padding-left:9px}.stage-wrap:has(.chat-card:not([hidden])) .zoom-controls{display:none}.stage-wrap:has(.chat-card:not([hidden])) .minimap-card{visibility:hidden}.stage-wrap:has(.chat-card:not([hidden])) .call-dock.expanded{right:10px}.reactions-menu{bottom:77px;gap:2px;padding:5px;border-radius:10px}.reactions-menu button{width:31px;height:33px;font-size:20px}.join-dialog{max-width:calc(100vw - 26px);border-radius:17px}.join-dialog form{padding:22px 24px 20px}.dialog-topline{margin-bottom:19px}.dialog-topline>span:nth-child(2){font-size:6px;letter-spacing:1px}.join-visual{height:150px;margin-bottom:21px}.join-visual canvas{width:145px;height:145px}.preview-tag{bottom:12px;font-size:8px}.join-dialog h1{font-size:26px}.join-description{font-size:11px;margin-bottom:21px}.join-dialog label{font-size:10px}.avatar-options{gap:11px}.avatar-options button{width:27px;height:27px}.zone-dialog{max-width:calc(100vw - 26px);border-radius:15px}.zone-dialog-form{padding:22px}.zone-dialog h2,.help-dialog h2{font-size:21px}.zone-dialog-head{margin-bottom:17px}.zone-content{margin-top:19px}.zone-textarea{min-height:165px;padding:12px;font-size:11px}.zone-description{font-size:10px}.help-dialog{max-width:calc(100vw - 26px);padding:23px;border-radius:16px}.help-row{gap:9px;font-size:9px}.help-row strong{font-size:9px}.help-row kbd{height:22px;min-width:20px;font-size:9px}}
@media(max-width:385px){.quick-controls{gap:1px;padding:5px}.profile-button{width:29px;height:31px}.control-button{width:26px;height:30px}.audio-control{min-width:26px;width:26px}.dock-divider{margin:0;height:17px}.control-button svg{width:15px;height:15px}.presence-pill{display:none}.stage-title strong{font-size:10px}.avatar-options{gap:8px}.avatar-options button{width:26px;height:26px}.join-dialog form{padding:19px 20px}.join-dialog h1{font-size:24px}.map-location>span:last-child,.map-location-divider{display:none}.walk-hint>div>span{font-size:7px}.call-dock-head>span>svg{display:none}}
@media(pointer:coarse){.touch-controls{position:absolute;z-index:16;left:18px;bottom:185px;display:grid;grid-template-columns:34px 34px 34px;grid-template-rows:34px 34px;gap:3px;opacity:.8}.touch-controls button{display:flex;align-items:center;justify-content:center;border:1px solid #ffffff15;border-radius:9px;background:#252b33c9;color:#d3c5e5;font-size:20px;box-shadow:0 3px 10px #14282e22;backdrop-filter:blur(8px)}.touch-controls button[data-dir=up]{grid-column:2}.touch-controls button[data-dir=left]{grid-column:1;grid-row:2}.touch-controls button[data-dir=down]{grid-column:2;grid-row:2}.touch-controls button[data-dir=right]{grid-column:3;grid-row:2}.map-legend{display:none}}
@media(pointer:coarse) and (max-width:620px){.touch-controls{left:12px;bottom:203px;grid-template-columns:29px 29px 29px;grid-template-rows:29px 29px;gap:3px}.touch-controls button{font-size:17px;border-radius:8px}.stage-wrap:has(.chat-card:not([hidden])) .touch-controls{visibility:hidden}}
@media(max-height:750px) and (min-width:621px){.office-heading{padding-top:19px;padding-bottom:17px}.invite-button{margin-bottom:19px}.people-search{margin-bottom:17px}.sidebar-tip{margin-top:20px}.join-dialog{max-height:calc(100dvh - 24px)}.join-dialog form{padding-top:19px;padding-bottom:18px}.dialog-topline{margin-bottom:15px}.join-visual{height:134px;margin-bottom:17px}.join-visual canvas{width:135px;height:135px}.preview-tag{bottom:10px}.join-dialog h1{font-size:26px}.join-description{margin-top:8px;margin-bottom:17px}.join-dialog label{margin-top:14px}.avatar-options{margin-bottom:19px}.join-dialog input{height:39px}.join-submit{height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Explicit grid slots keep the map full-width when the team panel becomes an overlay. */
.app-rail{grid-column:1;grid-row:1}.sidebar{grid-column:2;grid-row:1}.stage-column{grid-column:3;grid-row:1}
@media(min-width:621px){.person-copy strong{font-size:12px}.person-copy small,.person-copy span{font-size:10px}.list-heading{font-size:11px}.invite-button{font-size:12px}.area-entry strong{font-size:11px}.stage-title,.stage-title strong{font-size:12px}.presence-pill{font-size:11px}.audio-control{font-size:11px}.space-copy strong{font-size:12px}.empty-nearby{font-size:11px}.call-dock-head>span{font-size:11px}.join-description{font-size:12px}.join-dialog label{font-size:11px}.join-submit{font-size:12px}.zone-description{font-size:12px}.zone-textarea{font-size:13px}.zone-action{font-size:12px}.message-body{font-size:12px}.chat-form input{font-size:12px}}

/* Interactive content and audio controls. */
.space-row{width:100%;text-align:left}.space-row>.space-copy{flex:1}.space-row>span:last-child>svg{width:14px;height:14px;color:#827a94}.person-row{width:100%;text-align:left}.person-row>.live-dot{margin-left:auto;width:5px;height:5px}.empty-nearby{display:flex;align-items:center;gap:10px}.empty-spark{font-size:25px;color:#a895c2}.pad-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:9px;letter-spacing:.5px;color:#9e94af}#pad-status{color:#a7cfa7;letter-spacing:0}.zone-actions{display:flex;gap:9px;margin-top:8px}.zone-actions .zone-action{flex:1}.board-form{display:flex;flex-direction:column;gap:8px}.board-textarea{min-height:96px!important}.notes-empty{padding:22px 8px;text-align:center;color:#a49bad;font-size:12px;line-height:1.7}.meeting-detail{display:flex;align-items:center;flex-direction:column;gap:13px;padding:20px 12px 25px;text-align:center;border:1px solid #ffffff0b;border-radius:12px;background:#a891f507;margin-bottom:15px}.meeting-detail>svg{width:34px;height:34px;color:#bda7ed}.meeting-detail>strong{font-size:15px}.meeting-detail>p{font-size:12px;line-height:1.7;color:#a69daf}.zone-content>.zone-action{width:100%;margin-top:9px}.zone-action.secondary{background:#ffffff08;color:#c9bfd9;border:1px solid #ffffff12}.meet-explanation{display:block;color:#8c8398;font-size:10px;line-height:1.7;margin-top:14px}.tile-state{position:absolute;top:7px;right:7px;padding:3px 5px;border-radius:4px;font-size:8px;color:#c9bed6;background:#15121c90;z-index:2}.tile-state:empty{display:none}.tile-listen{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 13px;border-radius:7px;background:#a891f5;color:#231b34;font-size:11px;font-weight:700}.video-tile.sharing video{object-fit:contain;background:#151519}.music-providers{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.music-providers a{padding:10px 12px;border:1px solid #ffffff14;border-radius:9px;display:flex;align-items:center;gap:7px;background:#ffffff04;font-size:11px}.music-providers a:hover{background:#ffffff0b}.youtube-mark{color:#f28c8d}.spotify-mark{color:#a1d7a5;font-size:21px}.music-instructions{padding:18px;border-radius:11px;border:1px solid #ffffff0b;background:#a891f507}.music-instructions strong{font-size:13px}.music-instructions p{font-size:12px;line-height:1.8;color:#b2a8bf;margin:9px 0 14px}.music-instructions .zone-action{width:100%;margin-top:7px;display:flex;align-items:center;justify-content:center;gap:8px}.music-instructions .zone-action svg{width:16px;height:16px}.volume-control{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:22px;font-size:12px;color:#bdb2ca}.volume-control output{color:#bca5ee}.volume-control input{grid-column:1/-1;width:100%;accent-color:#a891f5;cursor:pointer}.music-status{font-size:11px;line-height:1.6;color:#a9cfb2;margin-top:13px}.music-dialog{width:min(480px,calc(100vw - 28px))}.call-video-grid{grid-auto-flow:row;grid-template-columns:repeat(var(--tile-count,2),minmax(0,1fr));grid-auto-rows:auto}.call-dock.expanded .call-video-grid{grid-template-columns:repeat(min(var(--tile-count,2),2),minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}.touch-controls{touch-action:none}
@media(max-width:900px){body.sidebar-open .sidebar{transform:translateX(0);visibility:visible;opacity:1}.space-copy strong{font-size:11px}.music-providers{gap:6px}.music-providers a{font-size:10px;padding:9px}.call-dock.expanded .call-video-grid{grid-template-columns:repeat(min(var(--tile-count,2),2),minmax(0,1fr))}}
@media(max-width:620px){.call-dock.expanded .call-video-grid{grid-template-columns:1fr}.zone-actions{flex-wrap:wrap}.tile-state{font-size:7px}.music-instructions{padding:14px}.music-instructions p{font-size:11px}.volume-control{font-size:11px}}

.call-dock.expanded .call-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.call-dock.expanded .call-video-grid:has(.video-tile:only-child){grid-template-columns:1fr}@media(max-width:620px){.call-dock.expanded .call-video-grid{grid-template-columns:1fr}}
.space-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #ffffff0b;border-radius:8px;background:#a891f50b;color:#b9a1ed}.space-icon svg{width:17px;height:17px}.music-dialog .zone-dialog-form{max-height:calc(100dvh - 46px);overflow:auto}

/* Character wardrobe. Rounded avatars share the office's soft 2D visual. */
.join-dialog{max-height:calc(100dvh - 24px);overflow:auto}.join-dialog .join-visual{height:138px;margin-bottom:18px}.join-dialog .join-visual canvas{width:138px;height:138px;image-rendering:pixelated}.join-dialog .preview-tag{bottom:8px}.join-dialog .avatar-options{margin-bottom:17px}.appearance-editor{margin:0 0 20px;padding:15px 0 0;border-top:1px solid #ffffff0b}.appearance-palettes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appearance-palettes>div>span{display:block;font-size:10px;font-weight:500;color:#aba2b8;margin-bottom:9px}.detail-swatches{display:flex;flex-wrap:wrap;gap:6px}.detail-swatches button{width:18px;height:18px;flex-shrink:0;border-radius:6px;background:var(--swatch);border:1px solid #ffffff18;position:relative}.detail-swatches button[aria-pressed=true]{outline:2px solid #cebbff;outline-offset:2px;box-shadow:0 0 0 4px #a891f51a}.detail-swatches button:hover{transform:translateY(-2px)}.appearance-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.join-dialog .appearance-selects label{font-size:9px;margin:0;display:flex;flex-direction:column;gap:6px;color:#a99eb7}.appearance-selects select{width:100%;min-width:0;border:1px solid #ffffff12;border-radius:7px;padding:9px 6px;background:#302b39;color:#ddd5e8;cursor:pointer;font-size:10px;outline:none}.appearance-selects select:focus{border-color:#a891f5}.join-dialog .join-description{margin-bottom:17px}.join-dialog:has(.appearance-editor) .join-submit{margin-top:0}
@media(max-width:620px){.join-dialog .join-visual{height:118px;margin-bottom:14px}.join-dialog .join-visual canvas{width:118px;height:118px}.join-dialog .join-description{margin-bottom:15px}.appearance-palettes{gap:10px}.detail-swatches{gap:5px}.detail-swatches button{width:17px;height:17px}.appearance-editor{padding-top:12px;margin-bottom:16px}.appearance-selects{gap:6px}.appearance-selects select{font-size:9px;padding:9px 4px}}

/* Character portraits and nearby workstation action. */
#profile-preview,.join-dialog .join-visual canvas{image-rendering:auto}.customize-pc{position:absolute;left:50%;bottom:164px;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #bdabe34d;border-radius:10px;background:#282a35ee;color:#e1d6f3;font-size:11px;font-weight:600;box-shadow:0 4px 18px #161f2933}.customize-pc svg{width:17px;height:17px;color:#c3afe8}.customize-pc:hover{background:#3b3549}.customize-pc kbd{font-size:10px;color:#bba6db;border-color:#bba6db35}@media(max-width:620px){.customize-pc{bottom:170px;padding:9px 12px;font-size:10px}}
/* Contextual actions share one calm surface above the conversation controls. */
.context-actions{position:absolute;z-index:12;left:50%;bottom:105px;transform:translateX(-50%);max-width:calc(100% - 36px);padding:10px 12px 12px;border:1px solid #c1b2df26;border-radius:15px;background:#242732f2;box-shadow:0 12px 36px #10121f44;backdrop-filter:blur(14px)}.context-caption{display:flex;align-items:center;gap:7px;margin:0 3px 8px;color:#b4b1c4;font-size:10px;letter-spacing:.15px}.context-dot{width:5px;height:5px;border-radius:50%;background:#b6dbc0}.context-buttons{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}.context-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:9px 12px;border:1px solid #ffffff10;border-radius:9px;background:#ffffff05;color:#e5e0ef;font-size:11px;white-space:nowrap}.context-button:hover{background:#b7a0e51c;border-color:#b7a0e550}.context-button svg{width:15px;height:15px;color:#bda9e6}.context-button kbd{font-size:9px;min-width:18px;height:18px;color:#b5a8ca;border-color:#baa5d528;background:#191d252e}.context-button#seat-action{background:#b4e0c60c;color:#d2eedc}.object-hint{position:absolute;z-index:14;max-width:182px;pointer-events:none;padding:7px 10px;border:1px solid #b9adce40;border-radius:8px;background:#242632ed;box-shadow:0 4px 14px #10121f33;color:#e5deef;font-size:10px}.context-actions #customize-pc{position:static;transform:none;box-shadow:none}.context-actions~.toast{bottom:auto}@media(max-width:900px){.context-actions{bottom:104px;max-width:calc(100% - 24px);width:max-content}.context-buttons{justify-content:center}}@media(max-width:620px){.context-actions{bottom:98px;padding:9px;max-width:calc(100% - 20px)}.context-caption{font-size:9px}.context-button{min-height:35px;padding:8px 9px;font-size:10px;gap:6px}.context-button kbd{display:none}.object-hint{display:none}.context-buttons{gap:5px}}
.person-avatar{overflow:hidden;background:color-mix(in srgb,var(--avatar-color,#a891f5) 24%,#313542);border:1px solid #ffffff14}.person-avatar canvas{display:block;width:100%;height:100%;image-rendering:auto}.context-button:focus-visible{outline:2px solid #cab6f1;outline-offset:2px}

/* Personal workspace entry points stay available beside people and places. */
.office-personal-tools{display:grid;gap:6px;margin:0 0 17px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.personal-tool{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:10px 9px;border:1px solid #ffffff0b;border-radius:11px;background:#ffffff03;text-align:left}
.personal-tool:hover{background:#a891f50d;border-color:#a891f52b}.personal-tool>span:nth-child(2){min-width:0;flex:1}.personal-tool strong{display:block;font-size:11px;font-weight:600}.personal-tool small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-tool-icon{display:grid;place-items:center;width:31px;height:33px;flex-shrink:0;border-radius:8px;color:#c9b7f8;background:#a891f514}.personal-tool-icon svg{width:17px;height:17px}.personal-tool-icon.decoration-icon{background:#b7f2840c;color:#bedba7}.personal-tool .personal-tool-arrow{width:14px;height:14px;color:var(--faint)}
@media(max-height:800px){.office-personal-tools{margin-bottom:10px;padding-bottom:10px}.personal-tool{padding:7px 9px}.sidebar-tip{display:none}}
.tasks-dialog{width:calc(100vw - 48px);height:calc(100dvh - 48px);max-width:none;max-height:none;padding:0;overflow:hidden;flex-direction:column}.tasks-dialog[open]{display:flex}.tasks-dialog-head{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 18px;border-bottom:1px solid #ffffff10}.tasks-dialog-head strong{font-size:15px}.tasks-dialog-head span{color:var(--faint);font-size:12px}.tasks-dialog-head a{margin-left:auto;color:#b9a1ed;font-size:12px;text-decoration:none}.tasks-dialog-head a:hover{text-decoration:underline}.tasks-dialog-head .dialog-close{margin-left:0}.tasks-dialog iframe{flex:1;width:100%;min-height:0;border:0;background:#1d2b5c}
@media(max-width:620px){.tasks-dialog{width:100vw;height:100dvh;border-radius:0}.tasks-dialog-head span{display:none}}

.tasks-dialog-head a.tasks-site{margin-left:0;color:#9fd4f2}

/* Bottom overlays never sit on each other. The key legend gives way to nearby actions. With the chat open
   the chat card ends above nearby actions, so the zoom buttons keep their corner under it. When the stage
   is too narrow for the minimap, the conversation bar and the zoom buttons on one line, the minimap rises
   above the bar and nearby actions move between it and the zoom buttons. */
.stage-wrap{container:stage/inline-size}
.map-legend{transition:opacity .16s}
.stage-wrap:has(#context-actions:not([hidden])) .map-legend{opacity:0}
@media(min-width:901px){
  .stage-wrap:has(.chat-card:not([hidden])) .chat-card{bottom:200px}
  .stage-wrap:has(.chat-card:not([hidden])) .zoom-controls{right:20px}
  .stage-wrap:has(.chat-card:not([hidden])) .stage-bottom{right:21px}
  .stage-wrap:has(.chat-card:not([hidden])) .map-legend{display:none}
  @container stage (max-width:1000px){.stage-wrap:has(.chat-card:not([hidden])) .walk-hint{opacity:0;pointer-events:none}}
}
@media(min-width:1201px){@container stage (max-width:880px){
  .minimap-card{bottom:96px}
  .context-actions{left:auto;right:68px;transform:none;max-width:calc(100% - 276px)}
}}
@media(min-width:901px) and (max-width:1200px){
  .stage-wrap:has(.chat-card:not([hidden])) .chat-card{bottom:250px}
  @container stage (max-width:740px){
  .minimap-card{bottom:88px}
  .context-actions{left:auto;right:60px;transform:none;max-width:calc(100% - 232px)}
}}
