:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--ink:#f4f5fb;--muted:#b1b2bb;--quiet:#9598a4;--field:#0b0c0f;--surface:#141518;--surface-raised:#202126;--line:#2a2d33;--violet:#7668ff;--violet-soft:#aca4ff;--green:#49d99a;--coral:#ff776d;--amber:#f6bf63;background:var(--field);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--field);min-width:320px}button{color:inherit;font:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #c9c5ff}::selection{background:var(--violet);color:#fff}*{scrollbar-color:#4a536d transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#4a536d padding-box padding-box;border:2px solid #0000;border-radius:8px}.app-shell{background:var(--field);flex-direction:column;height:100dvh;min-height:360px;display:flex}.topbar{z-index:30;background:var(--field);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px 20px;display:flex}.room-identity,.topbar-actions,.demo-switch{align-items:center;display:flex}.room-identity{gap:12px;min-width:0}.room-identity>div{align-items:center;gap:10px;min-width:0;display:flex}.room-identity h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-status{flex-shrink:0}.room-status.is-quiet .status-copy{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room-identity h1,.participant-panel h2{letter-spacing:-.025em;margin:0}.room-identity h1{font-size:.85rem;font-weight:550}.room-identity p,.participant-panel p{color:var(--muted);margin:4px 0 0;font-size:.76rem}.status-dot{background:var(--amber);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.status-dot.is-online{background:var(--green)}.topbar-actions{flex-shrink:0;gap:4px}.view-switch{gap:2px;display:flex}.view-switch button{width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.view-switch button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink)}.view-switch button:hover{color:#fff;background:var(--surface)}.invite-control{position:relative}.invite-button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.invite-popover{z-index:60;background:#171d2a;border:1px solid #394158;border-radius:14px;gap:9px;width:min(420px,100vw - 28px);padding:14px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 44px #0000007a}.invite-popover label,.join-card label{color:var(--muted);font-size:.72rem;font-weight:650}.invite-popover input,.join-card input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#0d111b;border:1px solid #3a435a;border-radius:10px;outline:0;padding:0 12px}.invite-popover input:focus,.join-card input:focus{border-color:var(--violet-soft);box-shadow:0 0 0 3px #7668ff33}.invite-popover button{background:var(--violet);color:#fff;border:0;border-radius:10px;min-height:40px;font-weight:680}.demo-switch{background:#0d111b;border:1px solid #2c354a;border-radius:14px;gap:3px;padding:4px}.demo-switch button,.icon-button,.panel-header button{background:0 0;border:0;min-height:42px}.demo-switch button{color:var(--muted);border-radius:10px;padding:0 14px;font-size:.82rem}.demo-switch button.is-active{color:#fff;background:#2d3151;box-shadow:0 4px 12px #02040c33}.demo-switch button span{margin-left:3px}.icon-button{min-width:44px;min-height:44px;color:var(--muted);border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:relative}.button-count{background:var(--field);min-width:17px;height:17px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;font-size:.62rem;display:grid;position:absolute;top:4px;right:4px}.workspace{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.workspace.panel-is-open{grid-template-columns:minmax(0,1fr) 320px}.stage-column{min-width:0;min-height:0;position:relative;overflow:hidden}.spatial-stage{background-color:var(--field);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.spatial-stage:active{cursor:grabbing}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.video-clip{border-radius:inherit;isolation:isolate;pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.local-camera{border-radius:inherit;object-fit:cover;pointer-events:none;width:100%;max-width:100%;height:100%;max-height:100%;display:block;position:absolute;inset:0}.local-camera.is-mirrored{transform:scaleX(-1)}.camera-playback-error{border-radius:inherit;background:var(--surface);padding:5px;font-size:.6rem;position:absolute}.local-media-notice{z-index:11;background:var(--surface);max-width:calc(100% - 24px);color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:6px 10px;font-size:.75rem;display:flex;position:absolute;top:12px;left:12px}.local-media-notice p{margin:0}.local-media-notice button{min-height:44px;color:var(--violet-soft);font-size:inherit;text-align:left;background:0 0;border:0;border-radius:8px;padding:6px 8px}.local-media-notice button:hover{background:var(--surface-raised)}.stage-column:has(.local-media-notice) .gesture-hint{top:80px}.device-panel{z-index:12;width:min(380px,100% - 24px);max-height:calc(100% - 175px - env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;border-radius:14px;padding:16px;position:absolute;top:12px;left:12px;overflow-y:auto}.device-panel-heading,.device-row-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.device-panel h2{margin:0;font-size:1rem}.device-panel h3{margin:0;font-size:.85rem;font-weight:650}.device-panel button{border:1px solid var(--line);background:var(--surface-raised);min-height:44px;color:var(--ink);border-radius:9px;padding:6px 12px;font-size:.75rem}.device-panel button:hover{border-color:var(--violet-soft)}.device-panel-heading>button{place-items:center;min-width:44px;padding:6px;display:grid}.device-disclosure{color:var(--muted);margin:10px 0 20px;font-size:.8rem;line-height:1.5}.device-row{margin-top:18px}.device-row-heading{margin-bottom:8px}.device-row-heading h3{flex:1}.device-camera-preview{border-radius:8px;flex:0 0 56px;width:56px;height:56px;display:block;position:relative;overflow:hidden}.device-row select{border:1px solid var(--line);background:var(--field);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:8px;font-size:.8rem}.device-status,.device-help{color:var(--muted);margin:8px 0;font-size:.75rem;line-height:1.5}.device-status.has-message{color:#ffd8a6}.device-help{margin:16px 0}.microphone-level{color:var(--muted);gap:6px;font-size:.75rem;display:grid}.microphone-level meter{width:100%;height:12px;accent-color:var(--green)}.stop-devices{width:100%}.control-dock button.leave-room{color:#ffc0bb}.remote-audio{z-index:13;gap:8px;max-width:min(250px,100% - 24px);display:grid;position:absolute;top:84px;right:12px}.audio-unlock{border:1px solid var(--line);background:var(--surface-raised);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:10px 14px;font-size:.8rem}.world{transform-origin:0 0;will-change:transform;width:1600px;height:1000px;position:absolute;top:0;left:0}.participant{width:144px;min-height:152px;transform:translate3d(var(--display-x,var(--participant-x)), var(--display-y,var(--participant-y)), 0) translate(-50%, -50%);color:var(--ink);cursor:default;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;top:0;left:0}.participant.is-self{z-index:1;cursor:grab;touch-action:none}.participant.is-self:active{cursor:grabbing}.view-field .participant{transform:translate3d(var(--display-x,var(--participant-x)), var(--display-y,var(--participant-y)), 0) translate(-50%, -62px);padding-top:6px}.view-field .participant.is-self{padding-top:0}.avatar-contact{flex:none;place-items:center;display:grid}.view-field .is-self .avatar-contact{transform:rotate(var(--contact-angle,0deg)) scale(var(--contact-squash,1), var(--contact-stretch,1)) rotate(calc(-1 * var(--contact-angle,0deg)));transition:transform .36s cubic-bezier(.34,1.56,.64,1)}.view-field .is-self[data-contact] .avatar-contact{transition-duration:.11s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.view-grid .avatar-contact{width:100%;height:100%;min-height:0}.chat-panel[hidden]{display:none}.chat-panel{min-height:0;padding-bottom:0}.chat-messages{overscroll-behavior:contain;flex:1;min-height:0;padding:0 16px 20px;overflow-y:auto}.chat-empty{color:var(--muted);padding:40px 4px}.chat-empty h3{color:var(--ink);margin:18px 0 10px;font-size:1rem}.chat-empty p{max-width:32ch;margin:0;font-size:.8rem;line-height:1.65}.chat-message{margin:0 0 20px}.chat-message header{align-items:baseline;gap:8px;display:flex}.chat-message strong{color:var(--violet-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.chat-message time{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.66rem}.chat-message p{overflow-wrap:anywhere;color:var(--ink);white-space:pre-wrap;margin:6px 0 0;font-size:.85rem;line-height:1.6}.chat-compose{background:#151a27;gap:9px;padding:16px;display:grid}.chat-compose label{color:var(--muted);font-size:.78rem}.chat-compose textarea{resize:vertical;width:100%;min-height:80px;max-height:180px;color:var(--ink);font:inherit;background:#0e121d;border:1px solid #42495d;border-radius:10px;padding:10px;font-size:16px;line-height:1.5}.chat-compose textarea::placeholder{color:#9aa4bd}.chat-compose>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-compose small{color:var(--muted);font-size:.7rem}.chat-compose button{color:#fff;background:#6050d2;border:0;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 14px;display:flex}.chat-compose button:hover{background:#7161e3}.chat-compose button:disabled{opacity:.5;cursor:not-allowed}.chat-compose p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.5}.chat-compose p.chat-error{color:#ffc0bb}.stage-column.has-presentation{grid-template-rows:minmax(180px,44%) minmax(0,1fr);display:grid}.has-presentation .spatial-stage{grid-row:2;min-height:0;position:relative}.screen-presentation{background:#03050a;border-radius:14px;flex-direction:column;min-height:0;margin:10px 12px 0;display:flex;position:relative;overflow:hidden}.screen-presentation header{z-index:1;background:#151a27;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:4px 10px;display:flex}.screen-presentation header>span{align-items:center;gap:8px;min-width:0;display:flex}.screen-presentation strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.screen-presentation small{color:var(--muted);font-size:.7rem}.screen-presentation header>div{gap:4px;display:flex}.screen-presentation button{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:9px;padding:8px}.screen-presentation button:hover{background:#252c40}.screen-presentation button.stop-sharing{color:#ffc0bb}.screen-presentation video{object-fit:contain;flex:1;width:100%;height:100%;min-height:0;display:block}.screen-presentation>p{color:var(--muted);margin:auto;padding:20px}.screen-presentation.is-expanded{z-index:45;margin:0;position:fixed;inset:10px}.screen-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#252c40!important}.screen-notice{z-index:16;background:#242b3c;border-radius:12px;align-items:center;gap:12px;max-width:620px;margin:auto;padding:12px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 10px 26px #00000059}.screen-notice p{margin:0;font-size:.8rem;line-height:1.6}.screen-notice button{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:9px}.control-dock button.is-sharing{color:#a0edc4;background:#19372d}@media (width<=640px){.screen-presentation{margin:6px 8px 0}.screen-presentation small{display:none}.stage-column.has-presentation{grid-template-rows:minmax(150px,37%) minmax(0,1fr)}.chat-panel{width:min(100%,420px);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);top:0}.chat-compose{padding-bottom:max(16px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.view-field .is-self .avatar-contact{transition:none;transform:none}}.avatar-shell{aspect-ratio:1;background:var(--participant-color);border:1px solid #ebeeff8c;border-radius:50%;flex:none;place-items:center;width:112px;height:112px;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .16s;display:grid;position:relative}.is-self .avatar-shell{outline-offset:4px;border:2px solid #b8b2ff;outline:1px dashed #9186ffc7;width:124px;height:124px}.is-speaking .avatar-shell{box-shadow:none;border-color:#8aefbf;animation:.42s cubic-bezier(.16,1,.3,1) both speaker-pop;transform:scale(1.06)}.speaking-badge{border:2px solid var(--field);color:#102e23;pointer-events:none;background:#8aefbf;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;top:-6px;right:-4px}.avatar-initials{letter-spacing:-.02em;font-size:1.06rem;font-weight:760}.media-dot{border:2px solid var(--field);color:#fff;background:#1d8a66;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;bottom:2px;right:-4px}.media-dot.is-off{background:#bc574f}.participant-name{text-overflow:ellipsis;white-space:nowrap;background:0 0;max-width:130px;margin-top:9px;padding:2px 4px;font-size:.76rem;font-weight:500;display:block;overflow:hidden}.participant-name small{color:var(--violet-soft);font-size:.65rem;font-weight:600}.camera-state{color:#d9a4a0;margin-top:3px;font-size:.62rem}.participant-reaction{z-index:2;pointer-events:none;filter:drop-shadow(0 7px 9px #00000073);place-items:center;width:48px;height:48px;font-size:2.2rem;animation:2.6s cubic-bezier(.16,1,.3,1) both reaction-float;display:grid;position:absolute;top:0;right:-5px}.view-grid{cursor:default;touch-action:pan-y;overflow:auto}.view-grid .world{width:100%;height:max(calc(100% - 98px - env(safe-area-inset-bottom)), var(--grid-min-height));min-height:200px;margin-bottom:calc(98px + env(safe-area-inset-bottom));grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));will-change:auto;grid-auto-rows:minmax(130px,1fr);gap:12px;padding:12px;display:grid;position:relative;transform:none}.view-grid .participant{cursor:default;touch-action:pan-y;justify-content:center;align-items:center;width:100%;min-height:0;padding:7px;position:relative;transform:none}.view-grid .avatar-shell{aspect-ratio:auto;border-radius:14px;width:100%;max-width:1000px;height:100%}.view-grid .is-self .avatar-shell{outline-offset:3px}.view-grid .is-speaking .avatar-shell{animation-name:tile-speaker-pop;transform:scale(1.025)}.view-grid .participant-name{z-index:1;text-align:left;background:#141518;border-radius:6px;max-width:calc(100% - 34px);margin:0;padding:4px 8px;position:absolute;bottom:17px;left:17px}.view-grid .avatar-initials{font-size:2rem}.view-grid .media-dot{bottom:9px;right:9px}.view-grid .speaking-badge{top:9px;right:9px}.view-grid .participant-reaction{z-index:3;top:40%;right:18%}.view-grid .camera-state{background:var(--surface);border-radius:6px;padding:4px;position:absolute;bottom:50px;left:17px}.emoji-popover{z-index:70;bottom:calc(98px + env(safe-area-inset-bottom));background:#171d2a;border:1px solid #343d53;border-radius:14px;flex-direction:column;gap:10px;width:min(360px,100vw - 20px);max-height:min(510px,100dvh - 190px);padding:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0000006b}.emoji-heading,.emoji-search{align-items:center;gap:8px;display:flex}.emoji-heading{justify-content:space-between}.emoji-heading strong{font-size:.9rem}.emoji-popover button{min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:9px}.emoji-popover button:hover{background:#293148}.emoji-popover button:disabled{opacity:.4;cursor:not-allowed}.emoji-search input,.emoji-popover select{border:1px solid var(--line);background:var(--field);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:9px;padding:8px;font-size:.8rem}.emoji-search input::placeholder{color:var(--muted)}.emoji-search button{background:#39325f}.emoji-quick,.emoji-grid{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:2px;display:grid}.emoji-quick{grid-template-columns:repeat(5,minmax(0,1fr))}.emoji-quick button,.emoji-grid button{min-width:0;font-size:1.5rem}.emoji-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.emoji-scroll p{color:var(--muted);margin:10px 0;font-size:.8rem}.emoji-more{width:100%}.mute-participant{width:44px;height:44px;color:var(--coral);background:0 0;border:0;border-radius:9px;grid-column:5;place-items:center;display:grid}.mute-participant:hover{background:#35252c}.mute-participant:disabled{opacity:.35;cursor:not-allowed}.participant-row:has(.mute-participant){grid-template-columns:36px minmax(0,1fr) 9px auto 44px}.room-notice{z-index:14;background:var(--surface-raised);border-radius:8px;align-items:center;gap:8px;max-width:min(430px,100% - 32px);padding:0 4px 0 12px;display:flex;position:absolute;top:8px;right:16px}.room-notice p{color:var(--ink);margin:0;font-size:.8rem;line-height:1.4}.room-notice button{background:0 0;border:0;border-radius:8px;min-width:44px;min-height:44px}.zoom-cluster{z-index:5;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--surface);cursor:default;touch-action:manipulation;border-radius:8px;align-items:center;height:44px;display:flex;position:absolute;left:20px}.zoom-cluster button{background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.zoom-cluster output{width:46px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.72rem}.gesture-hint{color:var(--muted);pointer-events:none;background:#0f141feb;border-radius:9px;margin:0;padding:7px 11px;font-size:.68rem;position:absolute;top:14px;left:50%;transform:translate(-50%)}.control-dock{z-index:10;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:12px;gap:4px;padding:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.control-dock>button,.reaction-control>button{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0;font-size:.74rem;display:flex;position:relative}.control-dock button:hover{color:var(--ink);background:var(--surface-raised)}.control-dock button.is-disabled-state{color:#b1b2bb;background:0 0}.control-dock button:disabled{cursor:not-allowed;opacity:.5}.join-layer{z-index:15;background:var(--field);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.join-card{background:0 0;gap:13px;width:min(430px,100%);padding:28px;display:grid}.join-card .eyebrow{color:var(--violet-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:760}.join-card h2{letter-spacing:-.03em;margin:0;font-size:1.45rem}.join-card p{color:var(--muted);margin:0 0 4px;font-size:.85rem;line-height:1.5}.join-card p.join-error{color:#ffaaa4;margin:0}.join-card>button{background:var(--violet);color:#fff;border:0;border-radius:11px;min-height:48px;font-weight:720}.join-card>button:disabled{cursor:wait;opacity:.55}.join-card a{color:var(--muted);justify-self:center;font-size:.75rem}.connection-banner{z-index:14;color:#ffdda4;background:#2b2114;border:1px solid #f6bf6361;border-radius:9px;margin:0;padding:9px 12px;font-size:.74rem;position:absolute;top:14px;left:50%;transform:translate(-50%)}.control-dock small{color:var(--quiet);letter-spacing:.04em;text-transform:uppercase;font-size:.54rem;position:absolute;top:3px;right:6px}.reaction-control{position:relative}.reaction-picker{background:#171d2a;border:1px solid #343d53;border-radius:14px;gap:4px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0000006b}.reaction-picker button{background:0 0;border:0;border-radius:10px;place-items:center;width:42px;height:42px;font-size:1.2rem;display:grid}.participant-panel{z-index:20;border-left:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.panel-header{border-bottom:1px solid #242b3b;justify-content:space-between;align-items:center;gap:14px;min-height:76px;padding:14px 12px 12px 18px;display:flex}.participant-panel h2{font-size:.96rem}.panel-header button{width:44px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.participant-list{min-height:0;padding:8px;overflow-y:auto}.participant-row{border-radius:11px;grid-template-columns:36px minmax(0,1fr) 9px auto;align-items:center;gap:10px;min-height:54px;padding:7px 8px;display:grid}.participant-row:hover{background:#181e2c}.list-avatar{color:#fff;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.66rem;font-weight:760;display:grid}.list-person{min-width:0}.list-person strong,.list-person small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-person strong{font-size:.79rem;font-weight:640}.list-person small{color:var(--quiet);margin-top:2px;font-size:.64rem}.presence-indicator{background:#4c566e;border-radius:50%;width:7px;height:7px}.presence-indicator.is-speaking{background:var(--green);box-shadow:0 2px 7px #49d99a94}.list-reaction{font-size:.9rem}@keyframes speaker-pop{0%{transform:scale(1)}55%{transform:scale(1.095)}to{transform:scale(1.06)}}@keyframes tile-speaker-pop{0%{transform:scale(1)}55%{transform:scale(1.045)}to{transform:scale(1.025)}}@keyframes reaction-float{0%{opacity:0;transform:translateY(16px)scale(.5)rotate(-12deg)}16%{opacity:1;transform:translateY(-20px)scale(1.16)rotate(7deg)}30%{opacity:1;transform:translateY(-25px)scale(1)rotate(0)}75%{opacity:1;transform:translateY(-48px)scale(1)rotate(0)}to{opacity:0;transform:translateY(-95px)scale(.85)rotate(10deg)}}@media (width<=900px){.workspace.panel-is-open{grid-template-columns:minmax(0,1fr)}.participant-panel{z-index:40;width:min(88vw,340px);position:fixed;top:60px;bottom:0;right:0}}@media (width<=640px){.local-media-notice{gap:8px;max-width:none;font-size:.7rem;left:10px;right:10px}.local-media-notice p{flex:1}.local-media-notice button{max-width:110px}.device-panel{width:auto;left:10px;right:10px}.invite-popover{width:auto;position:fixed;top:64px;left:10px;right:10px}.demo-switch button{min-height:44px}.demo-switch button span{display:none}.gesture-hint{text-overflow:ellipsis;white-space:nowrap;width:max-content;max-width:calc(100% - 24px);top:9px;overflow:hidden}.reaction-picker{left:0;transform:translate(-34%)}.join-layer{padding:14px}.join-card{gap:11px;padding:22px 18px}}@media (height<=590px) and (orientation:landscape){.topbar{min-height:58px}.participant-panel{top:58px}.gesture-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.control-dock{width:max-content;max-width:calc(100% - 16px);right:auto}.control-dock>button,.reaction-control>button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.control-dock .reaction-control{flex:0 0 44px;min-width:44px}.unread-count{background:var(--violet);color:#fff;border-radius:8px;min-width:16px;padding:1px 3px;font-size:.6rem;position:absolute;top:0;right:0}.icon-button:hover,.invite-button:hover,.zoom-cluster button:hover{background:var(--surface-raised);color:#fff}.topbar button[aria-expanded=true],.control-dock button[aria-expanded=true]{color:var(--ink);background:var(--surface-raised)}.room-identity .room-status{margin:0}.view-grid .world{height:max(calc(100% - 94px - env(safe-area-inset-bottom)), var(--grid-min-height));margin-bottom:calc(94px + env(safe-area-inset-bottom));padding-bottom:12px}.invite-popover,.emoji-popover,.chat-compose,.screen-presentation header{background:var(--surface)}.invite-popover,.emoji-popover{border:1px solid var(--line);box-shadow:none}.emoji-popover{bottom:calc(86px + env(safe-area-inset-bottom))}.screen-notice{background:var(--surface-raised);box-shadow:none;border-radius:8px;padding:4px 6px 4px 12px}.panel-header{border-bottom-color:var(--line);min-height:64px}.participant-panel{top:60px}@media (width<=640px){.app-shell{min-height:360px}.topbar{flex-direction:row;align-items:center;gap:4px;min-height:60px;padding:8px}.topbar-actions{justify-content:flex-end;gap:0}.room-identity h1{font-size:.75rem}.room-identity>div{flex-direction:column;align-items:flex-start;gap:2px}.room-status{flex-shrink:1;font-size:.65rem}.room-status.is-quiet{display:none}.control-dock{bottom:calc(16px + env(safe-area-inset-bottom));border-radius:12px;justify-content:center;display:flex;left:50%;right:auto;transform:translate(-50%)}.zoom-cluster{bottom:calc(84px + env(safe-area-inset-bottom));left:12px}.chat-panel{width:100%;height:100dvh;top:0;bottom:0}.screen-presentation.is-expanded{inset:6px}.emoji-popover{max-height:min(510px,100dvh - 170px)}.device-panel{max-height:calc(100% - 140px - env(safe-area-inset-bottom))}.invite-popover{top:64px}.demo-switch{flex:none}.demo-switch button{padding:0 8px}}
