@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-primary:#906df0;--c-primary-hover:#8160ea;--c-primary-press:#7150d9;--c-primary-edge:#6646c7;--c-primary-soft:#e8defc;--c-primary-ink:#5b3cc0;--c-lavender:#f2eaf9;--c-lavender-deep:#e6d9f6;--c-cream:#fff9ef;--c-cream-deep:#f7ecdb;--c-peach:#ffb77d;--c-peach-deep:#f39a55;--c-peach-soft:#fed;--c-peach-ink:#9a4a12;--c-ink:#343047;--c-ink-muted:#6b6580;--c-ink-subtle:#8d879f;--c-ink-inverse:#fff;--c-success:#3faf78;--c-success-soft:#e2f6ec;--c-success-ink:#1d7049;--c-warning:#f0a33c;--c-warning-soft:#fff1da;--c-warning-ink:#85540e;--c-danger:#e0566b;--c-danger-press:#c94459;--c-danger-soft:#fde6ea;--c-danger-ink:#a3283d;--c-info-soft:var(--c-lavender);--c-disabled-bg:#efe9f0;--c-disabled-ink:#aaa3b5;--c-focus:#5b3cc0;--c-focus-halo:#906df059;--c-presence-online:var(--c-success);--c-presence-busy:var(--c-danger);--c-presence-meeting:var(--c-warning);--c-presence-away:#a5a0b3;--surface:var(--c-cream);--surface-raised:#fffdf8;--surface-sunken:#f6eddf;--surface-tint:var(--c-lavender);--surface-overlay:#34304752;--border:#eadfcd;--border-strong:#dccdb4;--border-tint:#ddd0f2;--edge:#e3d5bf;--edge-tint:#d4c4ef;--highlight:inset 0 1px 0 #fffffff2;--font-display:"Fredoka Variable", "Fredoka", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-ui:"Nunito Sans Variable", "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:30px;--lh-tight:1.15;--lh-snug:1.3;--lh-body:1.45;--fw-regular:450;--fw-medium:600;--fw-bold:750;--fw-display:560;--sp-0:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-xs:6px;--r-sm:9px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--edge-1:0 2px 0 var(--edge);--edge-2:0 3px 0 var(--edge);--shadow-sm:0 1px 2px #34304714, 0 2px 6px #3430470f;--shadow-md:0 6px 16px #3430471a, 0 2px 4px #3430470f;--shadow-lg:0 16px 40px #3430472e, 0 4px 10px #34304714;--panel-depth:var(--highlight), 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-md);--raised-depth:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge);--primary-depth:inset 0 1px 0 #ffffff59, 0 3px 0 var(--c-primary-edge), 0 4px 10px #906df04d;--focus-ring:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--c-focus);--dur-fast:.11s;--dur:.17s;--dur-slow:.24s;--ease:cubic-bezier(.2, .7, .3, 1);--ease-bounce:cubic-bezier(.34, 1.4, .64, 1);--z-hud:10;--z-hud-raised:15;--z-popover:30;--z-modal:40;--z-tooltip:50;--gutter:max(var(--sp-3), env(safe-area-inset-left));--safe-top:max(var(--sp-3), env(safe-area-inset-top));--safe-bottom:max(var(--sp-3), env(safe-area-inset-bottom));--safe-left:max(var(--sp-3), env(safe-area-inset-left));--safe-right:max(var(--sp-3), env(safe-area-inset-right));--dock-height:90px;--ink:var(--c-ink);--ink-muted:var(--c-ink-muted);--accent:var(--c-primary);--accent-soft:var(--c-lavender);--accent-strong:var(--c-primary-ink);--panel-bg:var(--surface);--panel-border:var(--border);--panel-shadow:var(--panel-depth);--radius:var(--r-lg);--radius-sm:var(--r-sm)}@media (width>=1440px){:root{--gutter:max(var(--sp-5), env(safe-area-inset-left));--safe-top:max(var(--sp-5), env(safe-area-inset-top));--safe-bottom:max(var(--sp-5), env(safe-area-inset-bottom));--safe-left:max(var(--sp-5), env(safe-area-inset-left));--safe-right:max(var(--sp-5), env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s;--dur-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{-webkit-user-select:none;user-select:none;touch-action:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.game-canvas{inset:0;position:fixed!important}.ui-layer{z-index:10;pointer-events:none;position:fixed;inset:0}.ui-layer>div{pointer-events:none;gap:12px;display:flex;position:absolute}.ui-layer>div>*{pointer-events:auto}.ui-top-left{top:var(--gutter);left:var(--gutter)}.ui-top-right{top:var(--gutter);right:var(--gutter);flex-direction:column;align-items:flex-end;width:300px}.ui-bottom-left{bottom:var(--gutter);left:var(--gutter)}.ui-bottom-center{bottom:var(--gutter);flex-direction:column;align-items:center;left:50%;transform:translate(-50%)}.ui-bottom-right{bottom:104px;right:var(--gutter)}.panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(14px)saturate(1.3);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow)}.panel__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel__title{font-size:15px;font-weight:650}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-size:10.5px;font-weight:700}.muted{color:var(--ink-muted);font-size:12.5px}.badge{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:650;display:inline-flex}kbd{min-width:22px;height:22px;color:var(--ink);background:var(--c-ink-inverse);border:1px solid var(--border-tint);box-shadow:0 2px 0 var(--border-tint);border-radius:6px;place-items:center;padding:0 6px;font-family:inherit;font-size:11px;font-weight:700;display:inline-grid}.icon-btn{width:28px;height:28px;color:var(--ink-muted);border-radius:8px;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--accent-soft);color:var(--ink)}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,transform .1s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn--block{width:100%}.btn--primary:hover,.btn--primary.is-active{background:var(--accent-strong)}.btn--ghost{color:var(--ink);background:#8b6cf014}.btn:disabled{opacity:.5}.swatch{width:40px;height:40px;color:var(--c-ink-inverse);border:2px solid #ffffffe6;border-radius:12px;place-items:center;transition:transform .12s,box-shadow .12s;display:inline-grid;box-shadow:0 0 0 1px #2b28401f,0 2px 6px #2b28401f}.swatch.is-selected svg{filter:drop-shadow(0 1px 1px #00000080)}.swatch--sm{border-width:1px;border-radius:5px;width:16px;height:16px}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);white-space:nowrap;color:var(--c-ink-inverse);pointer-events:none;z-index:5;background:#2b2840eb;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.side-panel{flex-direction:column;gap:12px;width:100%;padding:14px;animation:.18s ease-out slide-in;display:flex}.desk-panel__title{align-items:center;gap:10px;display:flex}.desk-panel__icon{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border-radius:10px;place-items:center;display:grid}.desk-panel__row{border-radius:var(--radius-sm);background:#8b6cf00f;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.desk-panel__finish{align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.customize{flex-direction:column;gap:10px;display:flex}.swatch-grid{grid-template-columns:repeat(4,1fr);justify-items:center;gap:10px;display:grid}.popover{flex-direction:column;gap:10px;width:290px;padding:14px;animation:.18s ease-out slide-up;display:flex}.list{flex-direction:column;gap:4px;list-style:none;display:flex}.list__item,.list--static li{border-radius:var(--radius-sm);text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.list__item:hover,.list__item.is-selected{background:var(--accent-soft)}.list__label{flex:1}.field{flex-direction:column;gap:6px;display:flex}.input{border-radius:var(--radius-sm);border:1px solid var(--border-tint);background:var(--c-ink-inverse);-webkit-user-select:text;user-select:text;height:36px;padding:0 10px}.input:focus{outline:2px solid var(--accent);outline-offset:0}.toggle{cursor:pointer;justify-content:space-between;align-items:center;padding:4px 2px;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle__track{background:var(--border-strong);border-radius:999px;width:36px;height:20px;transition:background .15s;position:relative}.toggle__track:after{content:"";background:var(--c-ink-inverse);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle__track{background:var(--accent)}.toggle input:checked+.toggle__track:after{transform:translate(16px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--accent);outline-offset:2px}.interaction-hint{flex-direction:column;align-items:center;gap:4px;animation:.18s ease-out slide-up;display:flex}.interaction-hint__btn{border-radius:999px;align-items:center;gap:10px;padding:8px 16px 8px 8px;font-weight:600;display:inline-flex}.interaction-hint__btn:hover{color:var(--accent-strong)}.interaction-hint__btn kbd{min-width:28px;height:28px;color:var(--c-ink-inverse);background:var(--accent);border-color:var(--accent-strong);box-shadow:0 2px 0 var(--accent-strong)}.interaction-hint__sub{color:var(--ink-muted);text-shadow:0 1px #ffffffb3;font-size:11.5px}.ui-layer>.name-label{pointer-events:none;will-change:transform;gap:6px;margin-top:-6px;position:absolute;top:0;left:0}.name-label{white-space:nowrap;color:var(--ink);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12.5px;font-weight:650;display:inline-flex;box-shadow:0 4px 12px #3c28782e}.name-label__dot{border-radius:50%;width:8px;height:8px}.name-label__you{color:var(--c-ink-inverse);background:var(--accent);border-radius:999px;padding:1px 6px;font-size:10px}.desk-panel__actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.desk-panel__note{color:var(--ink-muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.desk-panel__note.is-error{color:var(--c-danger-press)}.customize__group{flex-direction:column;gap:8px;display:flex}.segmented{background:#8b6cf014;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--ink-muted);border-radius:9px;flex:1;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.segmented button:hover{color:var(--ink)}.ui-layer>.asset-library{z-index:20;pointer-events:auto;place-items:center;padding:24px;display:grid;inset:0}.asset-library__backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2b284047;position:absolute;inset:0}.asset-library__window{background:#fffffff5;flex-direction:column;width:min(1180px,100%);height:min(760px,100%);animation:.18s ease-out slide-up;display:flex;position:relative;overflow:hidden}.asset-library__header{border-bottom:1px solid #2b284014;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.asset-library__body{flex:1;grid-template-columns:200px 1fr 290px;min-height:0;display:grid}.asset-library__list{border-right:1px solid #2b284014;flex-direction:column;gap:14px;padding:14px 10px;display:flex;overflow-y:auto}.asset-library__list .eyebrow{padding:0 10px 4px}.asset-library__viewport{background:var(--c-lavender);min-width:0;position:relative}.asset-preview__canvas{inset:0;position:absolute!important}.asset-library__views{box-shadow:var(--panel-shadow);background:#ffffffd9;position:absolute;top:12px;left:50%;transform:translate(-50%)}.asset-library__legend{font-size:11.5px;position:absolute;bottom:10px;left:12px}.asset-library__inspector{border-left:1px solid #2b284014;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.asset-library__inspector p{margin-top:4px}.specs{border-radius:var(--radius-sm);background:#8b6cf00f;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 12px;font-size:12.5px;display:grid}.specs dt{color:var(--ink-muted)}.specs dd{text-align:right;font-weight:600}.socket-list{flex-direction:column;gap:4px;font-size:12px;list-style:none;display:flex}.socket-list li{align-items:center;gap:8px;display:flex}.socket-list__dot{border-radius:3px;width:10px;height:10px}.socket-list__name{min-width:60px;font-weight:600}.swatch-grid--compact{gap:8px}.swatch-grid--compact .swatch{border-radius:9px;width:32px;height:32px}.toggle.is-disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.asset-library__body{grid-template-rows:auto minmax(260px,1fr) auto;grid-template-columns:1fr;overflow-y:auto}.asset-library__list{border-bottom:1px solid #2b284014;border-right:none;flex-direction:row;overflow-x:auto}.asset-library__inspector{border-left:none}}.ui-top-center{top:var(--gutter);flex-direction:column;align-items:center;left:50%;transform:translate(-50%)}.ui-left{top:var(--gutter);bottom:var(--gutter);left:var(--gutter)}.mode-bar{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex}.mode-bar>*{pointer-events:auto}.mode-bar__toggle{border-radius:14px;padding:4px}.mode-bar__toggle button{align-items:center;gap:6px;height:34px;padding:0 16px;font-size:13px;display:inline-flex}.mode-bar__toggle button.is-active{color:var(--c-ink-inverse);background:var(--accent)}.status{text-align:center;border-radius:999px;max-width:min(520px,70vw);padding:7px 14px;font-size:12.5px;font-weight:600;animation:.15s ease-out slide-up}.status--success{color:var(--c-success-ink);background:#e8f8eff2}.status--error{color:var(--c-danger-ink);background:#ffeceff5}.catalog{flex-direction:column;width:288px;max-height:100%;display:flex;overflow:hidden}.catalog__header{border-bottom:1px solid #2b284014;padding:14px 16px 10px}.catalog__scroll{flex-direction:column;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.catalog__scroll section{flex-direction:column;gap:8px;display:flex}.catalog__grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.catalog-card{text-align:left;background:#ffffffb3;border:1px solid #8b6cf01f;border-radius:12px;flex-direction:column;align-items:stretch;gap:2px;padding:6px 6px 8px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.catalog-card:hover{border-color:#8b6cf073;transform:translateY(-1px)}.catalog-card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #8b6cf040}.catalog-card__thumb{height:78px;color:var(--accent);background:linear-gradient(160deg, var(--c-lavender), var(--c-lavender-deep));border-radius:9px;place-items:center;display:grid}.catalog-card__thumb img{object-fit:contain;width:100%;height:100%}.catalog-card__name{margin-top:4px;font-size:12.5px;font-weight:650;line-height:1.2}.catalog-card__sub{color:var(--ink-muted);font-size:11px}.catalog__options .segmented{display:flex}.catalog__options .segmented button{padding:0 8px;font-size:11.5px}.catalog__keys ul{color:var(--ink-muted);flex-direction:column;gap:5px;font-size:11.5px;list-style:none;display:flex}.catalog__keys kbd{min-width:18px;height:18px;padding:0 4px;font-size:10px}.props__actions{gap:8px;display:flex}.props__actions--grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.props__actions--grid .btn{gap:4px;padding:0 6px;font-size:12px}.props__note{color:var(--ink-muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.equipment-list{flex-direction:column;gap:6px;list-style:none;display:flex}.equipment-list li{align-items:center;gap:8px;min-height:28px;display:flex}.equipment-list__name{flex:1;font-size:12.5px;font-weight:600}.equipment-list__colors{gap:4px;display:inline-flex}.swatch--xs{border-width:1px;border-radius:6px;width:18px;height:18px}.btn--xs{gap:4px;height:26px;padding:0 8px;font-size:11.5px}.btn--danger:hover{background:var(--c-danger-press)}.btn--danger-ghost{color:var(--c-danger-press);background:#e0485f14}.btn--danger-ghost:hover{background:#e0485f29}.ui-layer>.dialog{z-index:30;pointer-events:auto;place-items:center;display:grid;inset:0}.dialog__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b28404d;position:absolute;inset:0}.dialog__box{background:#fffffffa;flex-direction:column;gap:10px;width:min(400px,100vw - 32px);padding:20px;animation:.15s ease-out slide-up;display:flex;position:relative}.dialog__icon{width:36px;height:36px;color:var(--c-danger-press);background:#e0485f1a;border-radius:10px;place-items:center;display:grid}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.is-editing .ui-top-right{width:300px;top:calc(var(--gutter) + 0px);max-height:calc(100% - 120px)}.is-editing .props{max-height:100%;overflow-y:auto}@media (width<=1100px){.catalog{width:236px}.catalog-card__thumb{height:60px}.is-editing .ui-top-right{width:260px}}@media (width<=760px){.ui-left{bottom:92px}.catalog{width:200px}.catalog__grid{grid-template-columns:1fr}.catalog__keys{display:none}}.catalog__tabs{margin-bottom:8px;display:flex}.catalog__tabs button{flex:1}.arch-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.arch-grid--sizes{grid-template-columns:1fr 1fr}.arch-list{flex-direction:column;gap:6px;display:flex}.arch-list .arch-tool{text-align:left;flex-flow:wrap;justify-content:flex-start;gap:2px 8px;padding:8px 10px}.arch-list .arch-tool__sub{width:100%;padding-left:26px}.arch-tool{min-height:58px;color:var(--ink);background:#ffffffb3;border:1px solid #8b6cf01f;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px;transition:border-color .15s,box-shadow .15s;display:flex}.arch-tool:hover{border-color:#8b6cf073}.arch-tool.is-active{border-color:var(--accent);color:var(--accent-strong);box-shadow:0 0 0 2px #8b6cf040}.arch-tool__label{text-align:center;font-size:11.5px;font-weight:650}.arch-tool__sub{color:var(--ink-muted);font-size:10.5px}.material-row{flex-wrap:wrap;gap:6px;display:flex}.swatch--sm-plus{border-radius:8px;width:28px;height:28px}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}}@keyframes slide-in{0%{opacity:0;transform:translate(8px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=1280px){.ui-bottom-left{bottom:104px}}@media (width<=1100px){.ui-bottom-left,.ui-bottom-right{bottom:88px}}@media (width<=760px){.ui-top-right{width:240px}.toolbar__divider{margin:0 1px}}.avatar-editor__body{grid-template-columns:190px 1fr 330px}.avatar-editor__viewport{cursor:grab;touch-action:none}.avatar-editor__viewport:active{cursor:grabbing}.avatar-editor__spin{background:#ffffffb3;border-radius:999px;align-items:center;gap:6px;padding:2px 6px;font-size:11.5px;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}.avatar-editor__actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.avatar-editor__options{gap:14px}.avatar-editor__field{flex-direction:column;gap:6px;display:flex}.avatar-editor__chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:30px;color:var(--ink);background:#8b6cf014;border-radius:999px;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s;box-shadow:inset 0 0 0 1px #8b6cf024}.chip:hover{background:var(--accent-soft);color:var(--accent-strong)}.avatar-editor__actions .chip:not(.is-active){background:#ffffffd9}.avatar-editor__swatches{gap:6px}.avatar-editor__swatches .swatch{border-radius:8px;width:28px;height:28px}.avatar-editor__custom{cursor:pointer;color:var(--ink-muted);background:conic-gradient(#f08a74,#e4b54a,#8fd6b4,#7fb6ef,#9d86e0,#e88fb4,#f08a74);font-weight:700;position:relative}.avatar-editor__custom span{color:var(--c-ink-inverse);text-shadow:0 1px 2px #0006}.avatar-editor__custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.avatar-editor__dots{display:inline-flex}.avatar-editor__dots span{border:1.5px solid var(--c-ink-inverse);border-radius:4px;width:12px;height:12px;margin-right:-3px}.avatar-editor__footer{border-top:1px solid #2b284014;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.avatar-editor__note{margin-right:auto;font-size:12.5px;font-weight:600}.toolbar{position:relative}@media (width<=900px){.avatar-editor__body{grid-template-rows:auto minmax(300px,1fr) auto;grid-template-columns:1fr}.avatar-editor__footer{flex-wrap:wrap}}.net-status--connecting,.net-status--reconnecting{color:var(--c-warning-ink);background:#f0a33c29}.net-status--connecting .online-dot,.net-status--reconnecting .online-dot{background:var(--c-warning);animation:1s ease-in-out infinite pulse}.net-status--offline{color:var(--ink-muted);background:#2b28400f}.net-status--offline .online-dot{background:var(--c-disabled-ink)}@keyframes pulse{50%{opacity:.35}}.online-list{flex-direction:column;gap:2px;max-height:320px;padding:0 4px;list-style:none;display:flex;overflow-y:auto}.online-list__item{border-radius:10px;align-items:center;gap:10px;padding:6px;display:flex}.online-list__item.is-offline{opacity:.55}.online-list__avatar{text-shadow:0 1px 1px #00000040;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid;position:relative}.online-list__avatar .player-card__presence{width:10px;height:10px}.online-list__text{flex-direction:column;min-width:0;display:flex}.online-list__name{align-items:center;gap:6px;font-size:13.5px;font-weight:650;display:inline-flex}.online-list__doing{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.connection-banner{color:var(--c-warning-ink);background:var(--c-warning-soft);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:650;display:inline-flex}.dialog-layer{z-index:30;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.join-dialog{background:#fffffffa;flex-direction:column;gap:12px;width:min(420px,100%);padding:18px;animation:.18s ease-out slide-up;display:flex;position:relative}.join-dialog__header{align-items:flex-start;gap:10px;display:flex}.join-dialog__header>div{flex:1}.join-dialog__note{font-size:12.5px}.join-dialog__note code{word-break:break-all;font-size:11.5px}.join-dialog__error{font-size:13px}.join-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.name-label--remote{pointer-events:none;will-change:transform;background:#ffffffd9;margin-top:-6px;padding-right:10px;position:absolute;top:0;left:0}.name-label--remote.is-offline{opacity:.6}.name-label__state{color:var(--c-warning-ink);font-size:10.5px;font-weight:600}.ui-layer>.ui-chat{top:150px;right:var(--gutter);z-index:5;bottom:104px}.chat-drawer{flex-direction:column;width:min(340px,100vw - 32px);height:100%;max-height:560px;margin-left:auto;animation:.18s ease-out slide-up;display:flex;position:relative;overflow:hidden}.chat-drawer__header{border-bottom:1px solid #2b284014;justify-content:space-between;align-items:flex-start;padding:12px 12px 10px 14px;display:flex}.chat-drawer__state{font-size:12px}.chat-drawer__list{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 12px 4px;display:flex;overflow-y:auto}.chat-drawer__empty{margin:auto;font-size:13px}.chat-msg{background:#8b6cf014;border-radius:12px 12px 12px 4px;max-width:88%;padding:7px 10px}.chat-msg.is-mine{background:var(--accent-soft);border-radius:12px 12px 4px;align-self:flex-end}.chat-msg.is-sending{opacity:.65}.chat-msg__meta{color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:2px;font-size:11px;display:flex}.chat-msg__author{color:var(--ink);font-weight:700}.chat-msg__text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px}.chat-msg__failed{color:var(--c-danger-ink);align-items:center;gap:5px;margin-top:4px;font-size:11.5px;display:flex}.chat-msg__retry{color:var(--c-danger-ink);background:#e0566b1a;border-radius:6px;align-items:center;gap:3px;margin-left:auto;padding:1px 6px;font-weight:700;display:inline-flex}.chat-drawer__latest{color:var(--c-ink-inverse);background:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:104px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #3c287840}.chat-drawer__compose{border-top:1px solid #2b284014;gap:8px;padding:10px 12px 4px;display:flex}.chat-drawer__input{resize:none;min-height:40px;max-height:120px;font:inherit;flex:1;font-size:13.5px}.chat-drawer__send{justify-content:center;align-self:flex-end;width:40px;height:40px;padding:0}.chat-drawer__foot{justify-content:space-between;gap:8px;padding:0 14px 10px;font-size:11.5px;display:flex}.chat-drawer__error{color:var(--c-danger-ink);font-weight:600}.media-status{flex-direction:column;align-items:center;gap:6px;display:flex}.media-status__line{border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:12.5px;font-weight:650;display:inline-flex}.media-status__line.is-pending{color:var(--c-warning-ink)}.live-badge{color:var(--c-ink-inverse);background:var(--c-danger);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.media-status__audio{height:26px;padding:0 10px;font-size:12px}.ui-layer>.video-dock{right:var(--gutter);z-index:4;bottom:104px}.video-panel{width:min(360px,100vw - 32px);padding:8px}.video-panel__header{justify-content:space-between;align-items:center;padding:0 2px 6px 6px;display:flex}.video-grid{grid-template-columns:1fr;gap:6px;max-height:46vh;display:grid;overflow-y:auto}.video-grid--2,.video-grid--3,.video-grid--4{grid-template-columns:1fr 1fr}.video-tile{aspect-ratio:4/3;background:var(--c-ink);border-radius:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000}.video-tile video{object-fit:cover;width:100%;height:100%}.video-tile video.is-mirrored{transform:scaleX(-1)}.video-tile figcaption{max-width:calc(100% - 12px);color:var(--c-ink-inverse);white-space:nowrap;text-overflow:ellipsis;background:#14122099;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;bottom:6px;left:6px;overflow:hidden}.video-pill{border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:inline-flex}.voice-badge{flex:none}.voice-badge--muted{color:var(--c-presence-away)}.voice-badge--live{color:var(--c-success-ink)}.voice-badge--speaking{color:var(--c-ink-inverse);background:var(--c-success);border-radius:50%;width:15px;height:15px;padding:2px}.name-label.is-speaking{box-shadow:0 0 0 2px var(--c-success), 0 0 14px #3fbf7f8c, 0 4px 12px #3c28782e}@media (width<=900px){.ui-layer>.ui-chat{top:90px;left:var(--gutter)}.chat-drawer{width:100%}.ui-layer>.video-dock{left:var(--gutter);bottom:96px}}.auth-page,.app-page{-webkit-user-select:text;user-select:text;touch-action:auto;background:radial-gradient(circle at 20% 10%, var(--c-lavender) 0, var(--c-lavender) 45%, var(--c-lavender-deep) 100%);height:100%;position:relative;overflow-y:auto}.auth-page{place-items:center;padding:32px 16px;display:grid}.auth-page__blocks span{width:calc(28px + (var(--i) * 7px) % 46px);aspect-ratio:1;left:calc((var(--i) * 37%) % 100%);top:calc((var(--i) * 53%) % 100%);background:linear-gradient(135deg, var(--c-primary-soft), var(--c-primary));opacity:.18;transform:rotate(calc(var(--i) * 17deg));pointer-events:none;border-radius:6px;position:absolute}.auth-card{background:#fffffff0;flex-direction:column;gap:14px;width:min(420px,100%);padding:28px;display:flex;position:relative}.auth-card__brand{color:var(--ink);align-items:center;gap:10px;font-size:15px;font-weight:750;text-decoration:none;display:inline-flex}.auth-card__title{margin:4px 0 0;font-size:22px;font-weight:750}.auth-card__subtitle{margin:-6px 0 0}.auth-card__footer{text-align:center;color:var(--ink-muted);font-size:13px}.auth-card a,.auth-card__footer a,.link-btn{color:var(--accent-strong);font-weight:600}.link-btn{font-size:inherit;padding:0}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form__aside{align-self:flex-end;margin-top:-6px;font-size:12.5px}.auth-form fieldset{border:none;margin:0;padding:0}.field__hint{font-size:12px}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form-alert{border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;font-weight:550}.form-alert--error{color:var(--c-danger-ink);background:#e0566b1f}.btn--danger{color:var(--c-ink-inverse);background:var(--c-danger)}.page-center{height:100%;min-height:40vh;color:var(--ink-muted);justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:2.5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-header{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-bottom:1px solid #2b28400f;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.app-header__nav{flex-wrap:wrap;gap:6px;display:flex}.app-header__nav a{text-decoration:none}.dashboard{flex-direction:column;gap:16px;width:min(1040px,100%);margin:0 auto;padding:28px 16px 48px;display:flex}.dashboard__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dashboard__title{margin:0;font-size:26px;font-weight:750}.office-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.office-card{flex-direction:column;gap:14px;padding:16px;display:flex}.office-card__top{gap:12px;display:flex}.office-card__text{min-width:0}.office-card__name{overflow-wrap:anywhere;margin:0 0 6px;font-size:16px;font-weight:700}.office-card__meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.office-card__actions{gap:8px;display:flex}.office-card__actions .btn{flex:1}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;display:flex}.modal{-webkit-user-select:text;user-select:text;background:#fffffffa;flex-direction:column;gap:14px;width:min(480px,100%);max-height:calc(100vh - 32px);padding:20px;animation:.18s ease-out slide-up;display:flex;position:relative;overflow-y:auto}.modal--wide{width:min(640px,100%)}.modal__header{justify-content:space-between;align-items:center;display:flex}.modal__header h2{margin:0}.modal__actions{justify-content:flex-end;gap:8px;display:flex}.starter-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.starter-card{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:3px;padding:10px 12px;font-size:12.5px;display:flex;box-shadow:inset 0 0 0 1.5px #8b6cf029}.starter-card input{opacity:0;position:absolute}.starter-card:focus-within{outline:2px solid var(--accent)}.starter-card__name{font-size:13.5px;font-weight:700}.radio-row{cursor:pointer;align-items:flex-start;gap:8px;margin-top:6px;font-size:13px;display:flex}.manage-tabs{align-self:flex-start}.manage-tab{flex-direction:column;gap:12px;display:flex}.member-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.member-row{border-radius:var(--radius-sm);background:#8b6cf00a;align-items:center;gap:10px;padding:8px;display:flex}.member-avatar{object-fit:cover;width:34px;height:34px;color:var(--c-ink-inverse);background:var(--accent);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.member-row__text{flex-direction:column;flex:1;min-width:0;font-size:12px;display:flex}.member-row__name{overflow-wrap:anywhere;align-items:center;gap:6px;font-size:13.5px;font-weight:650;display:inline-flex}.member-row__role{width:auto;height:32px;padding:0 8px}.role-help{grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;font-size:12px;display:grid}.role-help dt{font-weight:700}.role-help dd{margin:0}.invite-form{flex-direction:column;gap:10px;display:flex}.invite-form__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.invite-result{border-radius:var(--radius-sm);background:var(--accent-soft);flex-direction:column;gap:6px;padding:12px;font-size:12px;display:flex}.invite-result__row{gap:8px;display:flex}.invite-result__row .input{flex:1;min-width:0}.settings-block{border-top:1px solid #2b284014;flex-direction:column;gap:8px;padding-top:12px;display:flex}.settings-block p{margin:0}.profile-page{width:min(640px,100%)}.profile-card{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.profile-card .auth-form{flex:1}.profile-card>.member-avatar{border-radius:16px;width:64px;height:64px;font-size:20px}@media (width<=600px){.app-header{flex-direction:column;align-items:stretch;padding:10px 16px}.starter-grid,.invite-form__row,.role-help{grid-template-columns:1fr}.profile-card{flex-direction:column}}.g-title{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-lg);line-height:var(--lh-tight);color:var(--c-ink);letter-spacing:.005em}.g-title--lg{font-size:var(--fs-xl)}.g-eyebrow{font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-subtle)}.g-muted{color:var(--c-ink-muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.g-field-label{margin-bottom:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--c-ink-muted);display:block}.g-panel{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--panel-depth);color:var(--c-ink);position:relative}.g-panel--tint{background:linear-gradient(180deg, #fbf7ff, var(--c-lavender));box-shadow:var(--highlight), 0 0 0 1px var(--border-tint), 0 3px 0 1px var(--edge-tint), var(--shadow-md)}.g-panel--sunken{background:var(--surface-sunken);box-shadow:inset 0 2px 0 #3430470d, 0 0 0 1px var(--border)}.g-panel--floating{box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-lg)}.g-pad--none{padding:0}.g-pad--sm{padding:var(--sp-2)}.g-pad--md{padding:var(--sp-3)}.g-pad--lg{padding:var(--sp-5)}.g-panel__header{align-items:center;gap:var(--sp-2);display:flex}.g-panel__titles{flex:1;min-width:0}.g-panel__actions{gap:var(--sp-1);display:flex}.g-panel__icon{border-radius:var(--r-md);width:34px;height:34px;color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:inset 0 1px 0 #ffffff59, 0 2px 0 var(--c-primary-edge);flex:none;place-items:center;display:grid}.g-btn{justify-content:center;align-items:center;gap:var(--sp-2);height:38px;padding:0 var(--sp-4);border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-bold);white-space:nowrap;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);line-height:1;display:inline-flex;position:relative}.g-btn--sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.g-btn--lg{height:46px;padding:0 var(--sp-5);font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-lg)}.g-btn--block{width:100%}.g-btn--primary{color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:var(--primary-depth)}.g-btn--primary:hover:not(:disabled){background:var(--c-primary-hover)}.g-btn--primary:active:not(:disabled){background:var(--c-primary-press);box-shadow:inset 0 1px 0 #ffffff40, 0 1px 0 var(--c-primary-edge);transform:translateY(2px)}.g-btn--secondary{color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--raised-depth)}.g-btn--secondary:hover:not(:disabled){background:var(--c-lavender)}.g-btn--secondary:active:not(:disabled){box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 1px 0 1px var(--edge);transform:translateY(1px)}.g-btn--ghost{color:var(--c-ink);background:0 0}.g-btn--ghost:hover:not(:disabled){background:var(--c-lavender)}.g-btn--peach{color:var(--c-peach-ink);background:var(--c-peach);box-shadow:inset 0 1px 0 #ffffff73, 0 3px 0 var(--c-peach-deep)}.g-btn--peach:hover:not(:disabled){filter:brightness(1.03)}.g-btn--peach:active:not(:disabled){box-shadow:0 1px 0 var(--c-peach-deep);transform:translateY(2px)}.g-btn--danger{color:var(--c-ink-inverse);background:var(--c-danger);box-shadow:inset 0 1px 0 #ffffff4d, 0 3px 0 var(--c-danger-press)}.g-btn--danger:active:not(:disabled){box-shadow:0 1px 0 var(--c-danger-press);transform:translateY(2px)}.g-btn:disabled{color:var(--c-disabled-ink);background:var(--c-disabled-bg);box-shadow:0 0 0 1px var(--border);cursor:not-allowed}.g-btn.is-loading{cursor:progress}.g-btn:focus-visible,.g-ibtn:focus-visible,.g-dropdown__trigger:focus-visible,.g-tab:focus-visible,.g-close:focus-visible,.g-menu__item:focus-visible{box-shadow:var(--focus-ring);outline:none}.g-spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite g-spin}@keyframes g-spin{to{transform:rotate(360deg)}}.g-close{border-radius:var(--r-sm);width:30px;height:30px;color:var(--c-ink-muted);background:var(--surface-raised);box-shadow:var(--raised-depth);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);flex:none;place-items:center;display:grid}.g-close:hover{color:var(--c-ink);background:var(--c-lavender)}.g-close:active{transform:translateY(1px)}.g-ibtn{min-width:54px;height:56px;padding:0 var(--sp-2);border-radius:var(--r-md);color:var(--c-ink);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.g-ibtn--icon-only{min-width:44px;height:44px}.g-ibtn--sm{border-radius:var(--r-sm);min-width:34px;height:34px}.g-ibtn__icon{transition:transform var(--dur) var(--ease-bounce);place-items:center;display:grid;position:relative}.g-ibtn__label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.01em;white-space:nowrap;line-height:1}.g-ibtn:hover:not([aria-disabled=true]){background:var(--c-lavender);color:var(--c-primary-ink)}.g-ibtn:hover:not([aria-disabled=true]) .g-ibtn__icon{transform:translateY(-1px)scale(1.06)}.g-ibtn:active:not([aria-disabled=true]){background:var(--c-lavender-deep);transform:translateY(1px)}.g-ibtn.is-active{color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:inset 0 1px 0 #ffffff4d, 0 3px 0 var(--c-primary-edge);transform:translateY(-1px)}.g-ibtn.is-active:hover:not([aria-disabled=true]){color:var(--c-ink-inverse);background:var(--c-primary-hover)}.g-ibtn.is-active:active:not([aria-disabled=true]){box-shadow:0 1px 0 var(--c-primary-edge);transform:translateY(1px)}.g-ibtn.is-live,.g-ibtn.is-live:hover:not([aria-disabled=true]){color:var(--c-ink-inverse);background:var(--c-danger);box-shadow:inset 0 1px 0 #ffffff4d, 0 3px 0 var(--c-danger-press)}.g-ibtn__live{background:var(--c-ink-inverse);width:7px;height:7px;box-shadow:0 0 0 2px var(--c-danger);border-radius:50%;animation:1.4s ease-in-out infinite g-pulse;position:absolute;top:-3px;right:-5px}.g-ibtn.is-warn{color:var(--c-danger-ink)}.g-ibtn.is-warn .g-ibtn__icon:after{content:"!";width:12px;height:12px;color:var(--c-ink-inverse);background:var(--c-danger);border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;top:-5px;right:-7px}.g-ibtn.is-offline{color:var(--c-ink-subtle)}.g-ibtn[aria-disabled=true]{color:var(--c-disabled-ink);cursor:not-allowed}.g-ibtn[aria-disabled=true].is-active{color:var(--c-ink-inverse);background:var(--c-primary-soft);box-shadow:none}@keyframes g-pulse{50%{opacity:.35}}.g-count{border-radius:var(--r-pill);min-width:18px;height:18px;font-size:var(--fs-2xs);text-align:center;color:var(--c-ink-inverse);background:var(--c-danger);box-shadow:0 0 0 2px var(--surface), 0 1px 0 2px var(--edge);padding:0 5px;font-weight:800;line-height:18px;position:absolute;top:3px;right:5px}.g-badge{border-radius:var(--r-pill);height:19px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);white-space:nowrap;color:var(--c-ink-muted);background:var(--surface-sunken);align-items:center;gap:3px;padding:0 7px;line-height:1;display:inline-flex}.g-badge--primary{color:var(--c-ink-inverse);background:var(--c-primary)}.g-badge--peach{color:var(--c-peach-ink);background:var(--c-peach-soft)}.g-badge--success{color:var(--c-success-ink);background:var(--c-success-soft)}.g-badge--warning{color:var(--c-warning-ink);background:var(--c-warning-soft)}.g-badge--danger{color:var(--c-danger-ink);background:var(--c-danger-soft)}.g-key{min-width:26px;height:26px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:var(--fw-display);color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--highlight), 0 0 0 1px var(--border-strong), 0 3px 0 1px var(--edge);place-items:center;line-height:1;display:inline-grid;transform:translateY(-1px)}.g-key--wide{min-width:48px}.g-tip-anchor{display:inline-flex}.g-tooltip{z-index:var(--z-tooltip);border-radius:var(--r-sm);max-width:min(280px,100vw - 16px);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--c-cream);background:var(--c-ink);box-shadow:var(--shadow-md);pointer-events:none;animation:g-pop var(--dur) var(--ease);padding:6px 10px;position:fixed}@keyframes g-pop{0%{opacity:0;transform:translateY(3px)scale(.98)}}.g-dropdown{min-width:0}.g-dropdown__trigger{align-items:center;gap:var(--sp-2);width:100%;height:34px;padding:0 var(--sp-2) 0 var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-align:left;color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--raised-depth);transition:background-color var(--dur) var(--ease);display:flex}.g-dropdown--sm .g-dropdown__trigger{height:30px}.g-dropdown__trigger:hover:not(:disabled){background:var(--c-lavender)}.g-dropdown__trigger[aria-expanded=true]{background:var(--c-lavender);box-shadow:var(--highlight), 0 0 0 1.5px var(--c-primary), 0 2px 0 1px var(--edge-tint)}.g-dropdown__trigger:disabled{color:var(--c-disabled-ink);background:var(--c-disabled-bg)}.g-dropdown__value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.g-dropdown__chevron{color:var(--c-ink-muted);transition:transform var(--dur) var(--ease);flex:none}.g-dropdown__chevron.is-open{transform:rotate(180deg)}.g-listbox,.g-menu{z-index:var(--z-popover);min-width:180px;padding:var(--sp-1);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-lg);animation:g-pop var(--dur) var(--ease);flex-direction:column;gap:2px;list-style:none;display:flex;position:fixed;overflow-y:auto}.g-listbox[hidden]{display:none}.g-listbox:focus{outline:none}.g-option,.g-menu__item{align-items:center;gap:var(--sp-2);min-height:34px;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:left;color:var(--c-ink);cursor:pointer;display:flex;position:relative}.g-option.is-active{box-shadow:inset 0 0 0 1.5px var(--c-primary);background:var(--surface-raised)}.g-option.is-selected{font-weight:var(--fw-bold);color:var(--c-primary-ink);background:var(--c-lavender)}.g-option.is-selected.is-active{box-shadow:inset 0 0 0 1.5px var(--c-primary)}.g-option__text{flex-direction:column;flex:1;min-width:0;display:flex}.g-option__desc,.g-menu__desc{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--c-ink-muted)}.g-option__check{color:var(--c-primary);flex:none}.g-menu__item{width:100%}.g-menu__item:hover:not([aria-disabled=true]),.g-menu__item:focus-visible{background:var(--c-lavender);color:var(--c-primary-ink)}.g-menu__item.is-active{font-weight:var(--fw-bold);color:var(--c-primary-ink)}.g-menu__item[aria-disabled=true]{color:var(--c-disabled-ink);cursor:not-allowed}.g-menu__icon{width:22px;color:inherit;place-items:center;display:grid}.g-menu__text{flex-direction:column;flex:1;min-width:0;display:flex}.g-menu__hint{margin-left:auto}.g-menu .g-count{box-shadow:none;position:static}.g-tabs{border-radius:var(--r-md);background:var(--surface-sunken);box-shadow:inset 0 1px 2px #34304714, 0 0 0 1px var(--border);gap:2px;padding:3px;display:inline-flex}.g-tab{height:32px;padding:0 var(--sp-3);border-radius:var(--r-sm);font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-display);color:var(--c-ink-muted);white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);flex:1}.g-tabs--sm .g-tab{height:28px;font-size:var(--fs-sm)}.g-tab:hover:not(:disabled):not(.is-active){color:var(--c-ink);background:#fff9}.g-tab.is-active{color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge)}.g-tab:disabled{color:var(--c-disabled-ink);cursor:not-allowed}.g-toolbar{align-items:center;gap:var(--sp-1);display:flex}.g-toolbar__group{align-items:center;gap:2px;display:flex}.g-modal-layer{z-index:var(--z-modal);padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);place-items:center;display:grid;position:fixed;inset:0}.g-modal-backdrop{background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:g-fade var(--dur) var(--ease);position:absolute;inset:0}.g-modal{border-radius:var(--r-xl);background:var(--surface);width:min(480px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 4px 0 1px var(--edge), var(--shadow-lg);-webkit-user-select:text;user-select:text;animation:g-rise var(--dur-slow) var(--ease-bounce);flex-direction:column;display:flex;position:relative}.g-modal:focus{outline:none}.g-modal--sm{width:min(400px,100%)}.g-modal--lg{width:min(640px,100%)}.g-modal--xl{width:min(1180px,100%)}.g-modal__header{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3) var(--sp-5);display:flex}.g-modal__header h2{margin:0}.g-modal__body{min-height:0;padding:0 var(--sp-5) var(--sp-5);flex:1;overflow-y:auto}.g-modal__footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid var(--border);display:flex}@keyframes g-fade{0%{opacity:0}}@keyframes g-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}}body{font-family:var(--font-ui);font-size:var(--fs-md);line-height:var(--lh-body);color:var(--c-ink);background:var(--c-lavender)}.rotate-180{transform:rotate(180deg)}.ui-layer{z-index:var(--z-hud)}.ui-layer>div{gap:var(--sp-3)}.ui-top-left{top:var(--safe-top);left:var(--safe-left);max-width:calc(50vw - 120px)}.ui-top-right{top:var(--safe-top);right:var(--safe-right);width:288px;max-height:calc(100dvh - var(--safe-top) - var(--dock-height) - 40px)}.ui-top-center{top:var(--safe-top);gap:var(--sp-2)!important}.ui-bottom-left{left:var(--safe-left);bottom:calc(var(--safe-bottom) + var(--dock-height) + var(--sp-3))}.ui-bottom-center{bottom:var(--safe-bottom);max-width:calc(100vw - var(--safe-left) - var(--safe-right));gap:var(--sp-2)!important}.ui-bottom-right{right:var(--safe-right);bottom:calc(var(--safe-bottom) + var(--dock-height) + var(--sp-3))}.ui-bottom-right .popover{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - var(--dock-height) - 2 * var(--sp-3));overflow-y:auto}.ui-left{top:calc(var(--safe-top) + 64px);left:var(--safe-left);bottom:calc(var(--safe-bottom) + var(--dock-height) + var(--sp-3))}.hud-card{border-radius:var(--r-lg)}.hud-dock{max-width:100%;position:relative}.hud-dock>*{position:relative}.hud-dock__sep{align-self:stretch}.hud-dock--wide .hud-dock__camera{grid-template-columns:repeat(2,auto);gap:2px;display:grid}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only{border-radius:var(--r-xs);width:30px;min-width:30px;height:27px}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only svg{width:15px;height:15px}.hud-dock--compact{padding:var(--sp-1) var(--sp-2);gap:2px}.hud-dock--compact .g-ibtn{min-width:52px}.hud-menu-anchor{display:inline-flex}.hud-done{height:44px;margin-left:var(--sp-1);font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-lg)}.hud-dock{--vx-key-face:#fffaf2;--vx-key-face-2:#f6eefc;--vx-key-rim:#cdbcf1;--vx-key-side:#b7a2ea;--vx-key-side-dark:#9c84dd;--vx-ground:0 9px 14px #34286038, 0 3px 4px #3428601f;box-shadow:none;background:0 0;border-radius:0;align-items:flex-end;gap:8px;padding:0 4px 6px}.hud-dock .hud-dock__sep{width:10px;box-shadow:none;background:0 0;margin:0}.hud-dock .g-toolbar__group{gap:8px}.hud-dock .g-ibtn{color:var(--c-ink);background:linear-gradient(180deg, var(--vx-key-face) 0%, var(--vx-key-face-2) 100%);box-shadow:inset 0 2px 0 #fff, inset 0 -2px 0 #5440a314, 0 0 0 2px var(--vx-key-rim), 0 5px 0 2px var(--vx-key-side), var(--vx-ground);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:8px;margin-bottom:5px}.hud-dock .g-ibtn:before{content:"";pointer-events:none;background:#fffffff2;width:4px;height:4px;position:absolute;top:4px;left:4px;box-shadow:4px 0 #ffffff8c,0 4px #ffffff8c}.hud-dock .g-ibtn__label{font-family:var(--font-display);font-weight:var(--fw-display);letter-spacing:.02em;font-size:11px}.hud-dock .g-ibtn:hover:not([aria-disabled=true]){color:var(--c-primary-ink);background:linear-gradient(180deg, #fff 0%, var(--c-lavender) 100%);box-shadow:inset 0 2px 0 #fff, inset 0 -2px 0 #5440a31a, 0 0 0 2px var(--vx-key-side), 0 7px 0 2px var(--vx-key-side-dark), 0 14px 18px #34286038, 0 4px 6px #3428601f;transform:translateY(-3px)}.hud-dock .g-ibtn:active:not([aria-disabled=true]){background:linear-gradient(180deg, var(--c-lavender) 0%, var(--c-lavender-deep) 100%);box-shadow:inset 0 2px 3px #5440a32e, 0 0 0 2px var(--vx-key-side), 0 1px 0 2px var(--vx-key-side-dark), 0 3px 6px #34286033;transform:translateY(4px)}.hud-dock .g-ibtn:focus-visible{box-shadow:inset 0 2px 0 #fff, 0 0 0 2px var(--surface-raised), 0 0 0 4px var(--c-focus), 0 7px 0 4px var(--vx-key-side-dark), var(--vx-ground)}.hud-dock .g-ibtn.is-active,.hud-dock .g-ibtn.is-active:hover:not([aria-disabled=true]){color:var(--c-ink-inverse);background:linear-gradient(180deg, #a687ff 0%, var(--c-primary) 100%);box-shadow:inset 0 2px 0 #ffffff73, inset 0 -2px 0 #0000001f, 0 0 0 2px var(--c-primary-edge), 0 5px 0 2px #4b33a8, 0 10px 16px #5b3cc059;transform:translateY(-1px)}.hud-dock .g-ibtn.is-active:active:not([aria-disabled=true]){box-shadow:inset 0 2px 3px #0003, 0 0 0 2px var(--c-primary-edge), 0 1px 0 2px #4b33a8, 0 3px 6px #34286033;transform:translateY(4px)}.hud-dock .g-ibtn.is-live,.hud-dock .g-ibtn.is-live:hover:not([aria-disabled=true]){color:var(--c-ink-inverse);background:linear-gradient(180deg, #f2788a 0%, var(--c-danger) 100%);box-shadow:inset 0 2px 0 #fff6, 0 0 0 2px var(--c-danger-press), 0 5px 0 2px #a3283d, 0 10px 16px #a3283d4d}.hud-dock .g-ibtn[aria-disabled=true],.hud-dock .g-ibtn[aria-disabled=true]:hover{color:var(--c-disabled-ink);background:#f3eef5;transform:translateY(2px);box-shadow:inset 0 1px #fffc,0 0 0 2px #e3dbe8,0 3px 0 2px #d6cbdd,0 5px 8px #3428601f}.hud-dock .g-ibtn[aria-disabled=true]:before{opacity:.4}.hud-dock .g-count{border-radius:4px;top:-6px;right:-6px;box-shadow:0 0 0 2px #fff,0 3px 0 2px #a3283d}.hud-dock--wide .hud-dock__camera{align-self:center;gap:9px 7px}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only{height:24px;box-shadow:inset 0 2px 0 #fff, 0 0 0 2px var(--vx-key-rim), 0 3px 0 2px var(--vx-key-side), 0 6px 9px #3428602e;border-radius:6px;margin-bottom:3px}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only:before{width:3px;height:3px;box-shadow:none;top:3px;left:3px}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only:hover:not([aria-disabled=true]){box-shadow:inset 0 2px 0 #fff, 0 0 0 2px var(--vx-key-side), 0 5px 0 2px var(--vx-key-side-dark), 0 10px 12px #34286033;transform:translateY(-2px)}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only:active:not([aria-disabled=true]){box-shadow:inset 0 1px 2px #5440a333, 0 0 0 2px var(--vx-key-side), 0 1px 0 2px var(--vx-key-side-dark), 0 2px 4px #34286033;transform:translateY(3px)}.hud-dock--build{--vx-key-face-2:#fff3e6;--vx-key-rim:#f6c79f;--vx-key-side:#eaa36c;--vx-key-side-dark:#d98c50}.hud-dock .hud-done{box-shadow:inset 0 2px 0 #ffffff73, 0 0 0 2px var(--c-primary-edge), 0 5px 0 2px #4b33a8, 0 10px 16px #5b3cc059;border-radius:8px;margin-bottom:5px}.hud-dock .hud-done:active{box-shadow:inset 0 2px 3px #0003, 0 0 0 2px var(--c-primary-edge), 0 1px 0 2px #4b33a8;transform:translateY(4px)}.hud-dock--compact{gap:7px;padding:0 2px 6px}.room-selector{min-width:0;position:relative}.room-selector__trigger{align-items:center;gap:var(--sp-3);max-width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-2);text-align:left;transition:transform var(--dur-fast) var(--ease), background-color var(--dur) var(--ease);display:flex}.room-selector__trigger:hover{background:var(--surface-raised)}.room-selector__trigger:active{transform:translateY(1px)}.room-selector__trigger:focus-visible{box-shadow:var(--focus-ring), var(--panel-depth);outline:none}.room-selector__trigger[aria-expanded=true]{background:var(--surface-raised)}.room-selector__text{flex-direction:column;min-width:0;display:flex}.room-selector__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-selector__zone{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-ink-muted);white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.room-selector__chevron{color:var(--c-ink-muted);transition:transform var(--dur) var(--ease);flex:none}.room-glyph,.brand-icon{border-radius:var(--r-md);background:var(--c-primary);width:40px;height:40px;box-shadow:inset 0 1px 0 #ffffff59, 0 3px 0 var(--c-primary-edge);flex:none;position:relative}.room-glyph span{background:var(--c-cream);border-radius:3px;width:11px;height:11px;position:absolute;box-shadow:0 2px #3430472e}.room-glyph span:first-child{bottom:9px;left:9px}.room-glyph span:nth-child(2){background:var(--c-peach);bottom:9px;left:21px}.room-glyph span:nth-child(3){background:var(--c-lavender-deep);bottom:20px;left:15px}.room-glyph--shared span:nth-child(3){background:var(--c-peach)}.brand-icon{width:36px;height:36px;color:var(--c-ink-inverse);place-items:center;display:inline-grid}.net-pill{height:24px;padding:0 var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;color:var(--c-success-ink);background:var(--c-success-soft);flex:none;align-items:center;gap:6px;display:inline-flex}.net-pill__dot{background:var(--c-success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #3faf7833}.net-pill--offline{color:var(--c-ink-muted);background:var(--surface-sunken)}.net-pill--offline .net-pill__dot{background:var(--c-presence-away);box-shadow:none}.net-pill--connecting,.net-pill--reconnecting{color:var(--c-warning-ink);background:var(--c-warning-soft)}.net-pill--connecting .net-pill__dot,.net-pill--reconnecting .net-pill__dot{background:var(--c-warning);animation:1s ease-in-out infinite g-pulse}.room-popup{top:calc(100% + var(--sp-2));z-index:var(--z-popover);gap:var(--sp-2);width:min(320px, calc(100vw - var(--safe-left) - var(--safe-right)));max-height:calc(100dvh - 120px);padding:var(--sp-3);animation:g-pop var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;left:0;overflow-y:auto}.room-popup__head{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:0 var(--sp-1);display:flex}.room-popup__note{padding:0 var(--sp-1)}.room-popup__error{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--c-danger-ink);background:var(--c-danger-soft)}.room-popup__menu{padding-top:var(--sp-2);border-top:1px solid var(--border)}.online-list{max-height:300px;padding:0}.online-list__item{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm)}.online-list__item:hover{background:var(--surface-raised)}.online-list__avatar{border-radius:var(--r-sm);font-family:var(--font-display);box-shadow:0 2px #34304726}.online-list__name{font-weight:var(--fw-bold)}.player-hud{gap:var(--sp-2);width:100%;padding:var(--sp-3);flex-direction:column;display:flex}.player-hud__row{align-items:center;gap:var(--sp-3);display:flex}.player-hud__portrait{--portrait:var(--c-primary);border-radius:var(--r-md);width:44px;height:44px;font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-lg);color:var(--c-ink-inverse);background:linear-gradient(160deg, color-mix(in srgb, var(--portrait) 75%, white), var(--portrait));box-shadow:inset 0 1px 0 #fff6, 0 3px 0 color-mix(in srgb, var(--portrait) 70%, black);text-shadow:0 1px 1px #00000040;flex:none;place-items:center;display:grid;position:relative}.player-hud__presence,.player-card__presence{border:3px solid var(--surface);background:var(--c-presence-online);border-radius:50%;width:14px;height:14px;position:absolute;bottom:-4px;right:-4px}.player-hud__text{flex:1;min-width:0}.player-hud__name{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.player-hud__name .g-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-hud__meta{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-ink-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}.player-hud__toggle svg{transition:transform var(--dur) var(--ease)}.player-hud__more{gap:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed var(--border-strong);animation:g-pop var(--dur) var(--ease);flex-direction:column;display:flex}.player-hud__facts{gap:2px var(--sp-3);font-size:var(--fs-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.player-hud__facts div{display:contents}.player-hud__facts dt{color:var(--c-ink-muted)}.player-hud__facts dd{font-weight:var(--fw-bold);margin:0}.player-hud__actions{gap:var(--sp-2);display:flex}.player-hud__actions .g-btn{flex:1}.presence-dot{background:var(--c-presence-online);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 2px #ffffffe6}[data-presence=focused]{background:var(--c-presence-busy)}[data-presence=meeting]{background:var(--c-presence-meeting)}[data-presence=away]{background:var(--c-presence-away)}.mode-bar{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.mode-switch{border-radius:var(--r-pill);background:var(--surface-sunken);box-shadow:inset 0 2px 3px #3430471a, 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-sm);grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.mode-switch__thumb{border-radius:var(--r-pill);background:var(--c-primary);width:calc(50% - 4px);box-shadow:inset 0 1px 0 #ffffff59, 0 3px 0 var(--c-primary-edge);transition:transform var(--dur-slow) var(--ease-bounce), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);position:absolute;top:4px;bottom:4px;left:4px}.mode-switch--edit .mode-switch__thumb{background:var(--c-peach);box-shadow:inset 0 1px 0 #ffffff80, 0 3px 0 var(--c-peach-deep);transform:translate(100%)}.mode-switch__opt{min-width:92px;height:34px;padding:0 var(--sp-4);border-radius:var(--r-pill);font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-display);color:var(--c-ink-muted);transition:color var(--dur) var(--ease);justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.mode-switch__opt:hover:not(.is-active):not([aria-disabled=true]){color:var(--c-ink)}.mode-switch__opt.is-active{color:var(--c-ink-inverse)}.mode-switch__opt--build.is-active{color:var(--c-peach-ink)}.mode-switch__opt[aria-disabled=true]{color:var(--c-disabled-ink);cursor:not-allowed}.mode-switch__opt:focus-visible{box-shadow:var(--focus-ring);outline:none}.dirty-dot{background:var(--c-danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%}.toast,.status{max-width:min(520px,100vw - 32px);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-snug);text-align:center;color:var(--c-ink);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge), var(--shadow-md);animation:g-rise var(--dur) var(--ease)}.toast--success,.status--success{color:var(--c-success-ink);background:var(--c-success-soft);box-shadow:0 0 0 1px #3faf784d, 0 2px 0 1px #3faf7840, var(--shadow-md)}.toast--error,.status--error{color:var(--c-danger-ink);background:var(--c-danger-soft);box-shadow:0 0 0 1px #e0566b4d, 0 2px 0 1px #e0566b40, var(--shadow-md)}.toast--info,.status--info{color:var(--c-primary-ink);background:var(--c-lavender)}.controls-guide{width:284px;padding:var(--sp-2)}.controls-guide.is-collapsed{width:auto}.controls-guide__head{align-items:center;gap:var(--sp-1);display:flex}.controls-guide__toggle{align-items:center;gap:var(--sp-2);min-height:30px;padding:0 var(--sp-2) 0 0;border-radius:var(--r-sm);text-align:left;flex:1;display:flex}.controls-guide__toggle .g-title{font-size:var(--fs-md);flex:1}.controls-guide__toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.controls-guide__toggle svg{color:var(--c-ink-muted);transition:transform var(--dur) var(--ease)}.controls-guide__icon{border-radius:var(--r-sm);width:28px;height:28px;color:var(--c-peach-ink);background:var(--c-peach-soft);place-items:center;display:grid}.controls-guide__icon svg{color:inherit}.controls-guide__hide{width:26px;height:26px}.controls-guide__list{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-1) var(--sp-1);border-top:1px dashed var(--border-strong);flex-direction:column;gap:6px;list-style:none;display:flex}.controls-guide__list li{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-ink-muted);grid-template-columns:112px 1fr;display:grid}.controls-guide__keys{flex-wrap:wrap;gap:3px;display:flex}.controls-guide .g-key{min-width:22px;height:22px;font-size:var(--fs-2xs);padding:0 5px}.controls-guide .g-key--wide{min-width:40px}.interaction-hint__btn{align-items:center;gap:var(--sp-3);padding:6px var(--sp-4) 6px 6px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-display);color:var(--c-ink);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-md);transition:transform var(--dur-fast) var(--ease);display:inline-flex}.interaction-hint__btn:hover{color:var(--c-primary-ink);transform:translateY(-1px)}.interaction-hint__btn:active{transform:translateY(1px)}.interaction-hint__btn .g-key{min-width:30px;height:30px;color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:inset 0 1px 0 #ffffff59, 0 3px 0 var(--c-primary-edge)}.interaction-hint__sub{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-ink);text-shadow:0 1px #fffc}.name-label{border-radius:var(--r-pill);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-display);color:var(--c-ink);background:var(--surface);box-shadow:0 0 0 1px var(--border), 0 2px 0 1px var(--edge), var(--shadow-sm);gap:6px;padding:3px 4px 3px 9px}.name-label__you{border-radius:var(--r-pill);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--c-ink-inverse);background:var(--c-primary);padding:1px 7px}.name-label--remote{padding-right:10px}.connection-banner,.media-status__line{font-weight:var(--fw-bold);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge), var(--shadow-md)}.connection-banner{color:var(--c-warning-ink);background:var(--c-warning-soft)}.live-badge{background:var(--c-danger)}@media (width<=1279px){.ui-top-right{width:264px}}@media (width<=899px){:root{--dock-height:84px}.ui-top-left{max-width:calc(100vw - 264px - var(--safe-left) - var(--safe-right) - var(--sp-3))}.ui-top-right{width:248px}.ui-top-center{top:calc(var(--safe-top) + 64px)}.controls-guide:not(.is-collapsed){width:264px}}@media (width<=640px){.ui-top-left{max-width:calc(100vw - 196px - var(--sp-2) - var(--safe-left) - var(--safe-right))}.room-selector__trigger{gap:var(--sp-2);padding-right:var(--sp-2)}.room-selector__chevron,.room-selector__zone{display:none}.net-pill{padding:0 6px}.net-pill__text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.room-selector__text{flex:1}.room-glyph{width:34px;height:34px;transform:scale(.85)}.ui-top-right{width:196px}.player-hud{align-items:center;gap:var(--sp-2);padding:var(--sp-2);flex-flow:wrap}.player-hud__row{display:contents}.player-hud__text{display:none}.player-hud__status{flex:1;order:1}.player-hud__toggle{order:2}.player-hud__more{flex-basis:100%;order:3}.mode-switch__opt{min-width:80px;height:30px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.player-hud__portrait{display:none}.player-hud__facts{font-size:var(--fs-xs)}.player-hud__actions{flex-direction:column}.ui-bottom-left{max-width:calc(100vw - var(--safe-left) - var(--safe-right))}}.vx-icon{display:block;overflow:visible}.hud-dock .g-ibtn__icon .vx-icon{filter:drop-shadow(0 1px #ffffffb3)}.hud-dock .g-ibtn[aria-disabled=true] .vx-icon,.g-menu__item[aria-disabled=true] .vx-icon{filter:grayscale(.85)contrast(.8)brightness(1.08);opacity:.6}.hud-dock .g-ibtn:hover:not([aria-disabled=true]) .g-ibtn__icon{transform:translateY(-1px)scale(1.08)}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only{padding:0}.hud-dock--wide .hud-dock__camera .g-ibtn--icon-only svg.vx-icon{width:20px;height:20px}.panel{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--panel-depth);-webkit-backdrop-filter:none;backdrop-filter:none;border:none}.panel__title,.desk-panel__title .panel__title,.dashboard__title,.auth-card__title,.office-card__name{font-family:var(--font-display);font-weight:var(--fw-display);letter-spacing:.005em;color:var(--c-ink)}.panel__title{font-size:var(--fs-lg);line-height:var(--lh-tight)}.eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--c-ink-subtle)}.muted{color:var(--c-ink-muted)}.accent{color:var(--c-primary)}.btn{height:38px;padding:0 var(--sp-4);border-radius:var(--r-md);font-family:var(--font-ui);font-weight:var(--fw-bold);font-size:var(--fs-sm);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur) var(--ease)}.btn--primary{color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:var(--primary-depth)}.btn--primary:hover:not(:disabled),.btn--primary.is-active{background:var(--c-primary-hover)}.btn--primary:active:not(:disabled){box-shadow:0 1px 0 var(--c-primary-edge);transform:translateY(2px)}.btn--ghost{color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--raised-depth)}.btn--ghost:hover:not(:disabled){background:var(--c-lavender)}.btn--ghost:active:not(:disabled){box-shadow:var(--highlight), 0 0 0 1px var(--border);transform:translateY(1px)}.btn--danger{background:var(--c-danger);box-shadow:inset 0 1px 0 #ffffff4d, 0 3px 0 var(--c-danger-press)}.btn--danger:hover:not(:disabled){background:var(--c-danger-press)}.btn--danger-ghost{color:var(--c-danger-ink)}.btn:disabled{opacity:1;color:var(--c-disabled-ink);background:var(--c-disabled-bg);box-shadow:0 0 0 1px var(--border)}.btn:focus-visible,.icon-btn:focus-visible,.list__item:focus-visible,.catalog-card:focus-visible,.swatch:focus-visible,.chip:focus-visible,.arch-tool:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--c-ink-muted);background:var(--surface-raised);box-shadow:var(--raised-depth);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:grid}.icon-btn:hover:not(:disabled){color:var(--c-ink);background:var(--c-lavender)}.icon-btn:active:not(:disabled){transform:translateY(1px)}.link-btn,.auth-card a,.auth-card__footer a{color:var(--c-primary-ink);text-underline-offset:2px;text-decoration-thickness:2px}.badge{border-radius:var(--r-pill);height:19px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--c-ink-muted);background:var(--surface-sunken);padding:0 7px}.role-badge--owner{color:var(--c-ink-inverse);background:var(--c-primary)}.role-badge--admin{color:var(--c-primary-ink);background:var(--c-primary-soft)}.role-badge--guest{color:var(--c-ink-muted);background:var(--surface-sunken)}.input,.chat-drawer__input{border-radius:var(--r-sm);font-family:var(--font-ui);font-size:var(--fs-md);color:var(--c-ink);background:var(--surface-raised);box-shadow:inset 0 2px 0 #3430470a, 0 0 0 1px var(--border-strong);transition:box-shadow var(--dur) var(--ease);border:none}.input::placeholder,.chat-drawer__input::placeholder{color:var(--c-ink-subtle)}.input:hover:not(:disabled){box-shadow:inset 0 2px 0 #3430470a, 0 0 0 1px var(--c-primary)}.input:focus,.input:focus-visible,.chat-drawer__input:focus{box-shadow:0 0 0 2px var(--c-primary), 0 0 0 5px var(--c-focus-halo);outline:none}.input:disabled{color:var(--c-disabled-ink);background:var(--c-disabled-bg)}select.input{cursor:pointer}.field{gap:var(--sp-1)}.field__hint{color:var(--c-ink-muted)}.toggle__track{background:var(--c-disabled-bg);box-shadow:inset 0 1px 2px #34304726, 0 0 0 1px var(--border-strong)}.toggle__track:after{background:var(--surface-raised);box-shadow:0 2px 0 var(--edge), 0 1px 3px #34304733}.toggle input:checked+.toggle__track{background:var(--c-primary);box-shadow:inset 0 1px 2px #00000026}.segmented{border-radius:var(--r-md);background:var(--surface-sunken);box-shadow:inset 0 1px 2px #34304714, 0 0 0 1px var(--border);padding:3px}.segmented button{border-radius:var(--r-sm);font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-sm);color:var(--c-ink-muted)}.segmented button:hover:not(:disabled){color:var(--c-ink)}.segmented button.is-active{color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge)}.segmented button:disabled{color:var(--c-disabled-ink);cursor:not-allowed}.segmented button:focus-visible{box-shadow:var(--focus-ring);outline:none}.chip{font-weight:var(--fw-bold);color:var(--c-ink);background:var(--surface-raised);box-shadow:var(--raised-depth)}.chip:hover{color:var(--c-primary-ink);background:var(--c-lavender)}.chip.is-active{color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:inset 0 1px 0 #ffffff4d, 0 2px 0 var(--c-primary-edge)}.swatch{border-radius:var(--r-sm);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border:none;box-shadow:inset 0 1px #ffffff59,0 0 0 1px #3430471f,0 3px #3430472e}.swatch:hover{transform:translateY(-2px)}.swatch.is-selected{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c-primary), 0 4px 10px #906df059}.list__item{border-radius:var(--r-sm);font-weight:var(--fw-medium);color:var(--c-ink)}.list__item:hover{background:var(--surface-raised)}.list__item.is-selected{font-weight:var(--fw-bold);color:var(--c-primary-ink);background:var(--c-lavender);box-shadow:inset 3px 0 0 var(--c-primary)}.specs{border-radius:var(--r-md);background:var(--surface-sunken);box-shadow:inset 0 1px 2px #3430470f}.popover,.side-panel{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 3px 0 1px var(--edge), var(--shadow-lg)}.panel__header{gap:var(--sp-2)}.desk-panel__icon,.dialog__icon{border-radius:var(--r-md);color:var(--c-ink-inverse);background:var(--c-primary);box-shadow:inset 0 1px 0 #ffffff59, 0 2px 0 var(--c-primary-edge)}.catalog{border-radius:var(--r-lg)}.catalog-card{border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--raised-depth);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur) var(--ease);border:none}.catalog-card:hover{background:var(--surface-raised);box-shadow:var(--highlight), 0 0 0 1.5px var(--c-primary), 0 3px 0 1px var(--edge-tint);transform:translateY(-2px)}.catalog-card:active{transform:translateY(1px)}.catalog-card.is-active,.catalog-card[aria-pressed=true]{background:var(--c-lavender);box-shadow:inset 0 0 0 2px var(--c-primary), 0 2px 0 var(--c-primary-edge)}.catalog-card__thumb{border-radius:var(--r-sm);background:radial-gradient(circle at 50% 40%, #fff 0, var(--c-lavender) 70%)}.catalog-card__name{font-family:var(--font-display);font-weight:var(--fw-display)}.catalog-card__sub{color:var(--c-ink-muted)}.arch-tool{border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--raised-depth)}.arch-tool:hover{background:var(--c-lavender)}.arch-tool.is-active,.arch-tool[aria-pressed=true]{color:var(--c-primary-ink);background:var(--c-lavender);box-shadow:inset 0 0 0 2px var(--c-primary)}.asset-library__backdrop,.dialog__backdrop{background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.asset-library__window,.dialog__box,.dialog.panel,.modal{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 4px 0 1px var(--edge), var(--shadow-lg)}.asset-library__header,.avatar-editor__footer{border-color:var(--border)}.asset-library__list{border-color:var(--border);background:var(--surface-sunken)}.asset-library__inspector{border-color:var(--border)}.asset-library__viewport{background:radial-gradient(circle at 50% 35%, #fff 0, var(--c-lavender) 75%)}.asset-library__views,.avatar-editor__spin{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 2px 0 1px var(--edge), var(--shadow-sm)}.chat-drawer{border-radius:var(--r-lg)}.chat-drawer__header,.chat-drawer__compose{border-color:var(--border)}.chat-drawer__list{background:linear-gradient(180deg, var(--surface), var(--c-cream-deep) 140%)}.chat-msg{border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-xs);background:var(--surface-raised);box-shadow:0 0 0 1px var(--border), 0 2px 0 1px var(--edge)}.chat-msg.is-mine{border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-md);background:var(--c-lavender);box-shadow:0 0 0 1px var(--border-tint), 0 2px 0 1px var(--edge-tint)}.chat-msg.is-failed{box-shadow:0 0 0 1.5px var(--c-danger), 0 2px 0 1px #e0566b4d}.chat-msg__author{font-family:var(--font-display);font-weight:var(--fw-display)}.chat-msg__failed,.chat-msg__retry,.chat-drawer__error{color:var(--c-danger-ink)}.chat-msg__retry{background:var(--c-danger-soft)}.chat-drawer__latest{background:var(--c-primary);box-shadow:var(--primary-depth)}.video-panel,.video-pill{border-radius:var(--r-lg)}.video-tile{border-radius:var(--r-md);background:var(--c-ink);box-shadow:0 2px #3430474d}.video-tile.is-speaking{box-shadow:0 0 0 3px var(--c-success), 0 2px 0 3px #3faf7859}.form-alert{border-radius:var(--r-md);font-weight:var(--fw-medium)}.form-alert--error,.join-dialog__error,.office-menu__error{color:var(--c-danger-ink);background:var(--c-danger-soft)}.form-alert--info{color:var(--c-primary-ink);background:var(--c-lavender)}.dialog-layer{z-index:var(--z-modal)}.settings-block{border-color:var(--border)}.settings-block--danger .eyebrow{color:var(--c-danger-ink)}.auth-page,.app-page{font-family:var(--font-ui);background:radial-gradient(circle at 18% 8%, var(--c-cream) 0, var(--c-lavender) 48%, var(--c-lavender-deep) 100%)}.auth-page__blocks span{background:linear-gradient(135deg, var(--c-primary-soft), var(--c-primary));box-shadow:0 4px #6646c740}.auth-page__blocks span:nth-child(3n){background:linear-gradient(135deg, var(--c-peach-soft), var(--c-peach))}.auth-card{border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--highlight), 0 0 0 1px var(--border), 0 4px 0 1px var(--edge), var(--shadow-lg)}.auth-card__brand{font-family:var(--font-display);font-weight:var(--fw-display)}.app-header{background:color-mix(in srgb, var(--surface) 88%, transparent);border-bottom:1px solid var(--border);box-shadow:0 2px 0 var(--edge)}.office-card,.profile-card,.empty-state{border-radius:var(--r-lg)}.office-card{transition:transform var(--dur) var(--ease)}.office-card:hover{transform:translateY(-2px)}.starter-card{background:var(--surface-raised);box-shadow:var(--raised-depth)}.starter-card.is-selected{background:var(--c-lavender);box-shadow:inset 0 0 0 2px var(--c-primary), 0 2px 0 var(--c-primary-edge)}.member-row{background:var(--surface-raised);box-shadow:0 0 0 1px var(--border)}.member-avatar{font-family:var(--font-display);box-shadow:0 2px #3430472e}.invite-result{background:var(--c-lavender);box-shadow:inset 0 0 0 1px var(--border-tint)}.spinner{border-color:var(--c-primary-soft);border-top-color:var(--c-primary)}.profile-picture__actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.profile-picture__actions label.btn{cursor:pointer}.profile-picture__actions label.btn:focus-within{box-shadow:var(--focus-ring)}.profile-picture__actions .is-busy{cursor:progress;opacity:.7}.ac-remote{pointer-events:auto;background:linear-gradient(#fffdf8 0%,#f6efe4 100%);border-radius:26px 26px 20px 20px;flex-direction:column;align-self:flex-end;gap:10px;width:214px;padding:14px 14px 12px;display:flex;box-shadow:inset 0 2px #fff,inset 0 -3px #9e84601f,0 0 0 2px #e4d6c1,0 7px 0 2px #d2c0a4,0 18px 30px #34286047}.ac-remote__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ac-remote__eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-muted)}.ac-remote__title{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-lg);color:var(--c-ink)}.ac-remote__close{width:28px;height:28px;color:var(--c-ink-muted);background:#f1e8da;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 1px #fff,0 2px #dccab0}.ac-remote__close:hover{color:var(--c-ink);background:#ebdfcd}.ac-remote__close:active{transform:translateY(2px);box-shadow:inset 0 1px 2px #0000001f}.ac-lcd{color:#2f4a44;font-variant-numeric:tabular-nums;background:linear-gradient(#d7ebe2 0%,#c6e0d4 100%);border-radius:12px;flex-direction:column;gap:2px;min-height:104px;padding:9px 12px 8px;display:flex;box-shadow:inset 0 2px 4px #1e3c3240,inset 0 0 0 2px #b4cfc2,0 1px #fff}.ac-remote:not(.is-on) .ac-lcd{color:#6d837b;background:linear-gradient(#cfd9d4 0%,#c3cec8 100%)}.ac-lcd__row{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.ac-lcd__mode{align-items:center;gap:4px;display:inline-flex}.ac-lcd__fan{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.ac-lcd__fan i{background:#2f4a4433;width:4px}.ac-lcd__fan i:first-child{height:5px}.ac-lcd__fan i:nth-child(2){height:8px}.ac-lcd__fan i:nth-child(3){height:12px}.ac-lcd__fan i.is-lit{background:currentColor}.ac-lcd__temp{font-family:var(--font-display);text-align:center;letter-spacing:-.02em;font-size:44px;font-weight:640;line-height:1}.ac-lcd__temp span{vertical-align:16px;margin-left:2px;font-size:18px}.ac-lcd__off{font-family:var(--font-display);text-align:center;letter-spacing:.08em;opacity:.65;font-size:34px;font-weight:640;line-height:62px}.ac-lcd__status{min-height:15px;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-align:center}.ac-lcd__status.is-error{color:var(--c-danger-ink)}.ac-remote__keys{grid-template-columns:1fr 1fr;grid-template-areas:"power temp""mode fan";place-items:center;gap:10px;display:grid}.ac-key{color:var(--c-ink);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background-color var(--dur) var(--ease);background:linear-gradient(#fff 0%,#f1ebf8 100%);place-items:center;display:grid;box-shadow:inset 0 2px #fff,0 0 0 2px #d9ccf3,0 4px 0 2px #b7a2ea}.ac-key:hover:not(:disabled){background:linear-gradient(180deg, #fff 0%, var(--c-lavender) 100%)}.ac-key:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 3px #5440a333,0 0 0 2px #d9ccf3,0 1px 0 2px #b7a2ea}.ac-key:focus-visible,.ac-remote__close:focus-visible{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--c-focus);outline:none}.ac-key:disabled{color:var(--c-disabled-ink);cursor:not-allowed;background:#f1edf3;transform:translateY(2px);box-shadow:inset 0 1px #fff,0 0 0 2px #e6dfe9,0 2px 0 2px #ddd3e1}.ac-key[aria-busy=true]{cursor:progress}.ac-key--power{width:58px;height:58px;color:var(--c-danger);border-radius:50%;grid-area:power}.ac-key--power.is-on{color:var(--c-ink-inverse);background:linear-gradient(180deg, #6fd6a1 0%, var(--c-success) 100%);box-shadow:inset 0 2px #ffffff73,0 0 0 2px #2f9764,0 4px 0 2px #1d7049}.ac-key--power.is-on:active:not(:disabled){box-shadow:inset 0 2px 3px #0003,0 0 0 2px #2f9764,0 1px 0 2px #1d7049}.ac-remote__temp{flex-direction:column;grid-area:temp;gap:10px;display:flex}.ac-key--round{border-radius:15px;width:44px;height:30px}.ac-key--pill{width:100%;height:34px;font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-md);letter-spacing:.04em;text-transform:uppercase;border-radius:17px}.ac-key--pill[data-key=mode]{grid-area:mode}.ac-key--pill[data-key=fan]{grid-area:fan}.ac-remote__note{font-size:var(--fs-2xs);text-align:center;color:var(--c-ink-subtle);margin:0}.volume-group{flex-direction:column;gap:6px;display:flex}.volume-row{font-size:var(--fs-sm);grid-template-columns:96px 1fr 40px;align-items:center;gap:8px;display:grid}.volume-row__label{color:var(--c-ink)}.volume-row input{width:100%;accent-color:var(--c-primary)}.volume-row__value{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--c-ink-muted)}.volume-row.is-disabled{opacity:.5}.volume-row input:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-pill);outline:none}
