@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:var(--lightningcss-light,#f5f4f6)var(--lightningcss-dark,#141517);--paper-raised:var(--lightningcss-light,#fbfafb)var(--lightningcss-dark,#1c1d20);--paper-sunken:var(--lightningcss-light,#ecebee)var(--lightningcss-dark,#0f1012);--paper-drift-warm:var(--lightningcss-light,#faf2ee)var(--lightningcss-dark,#1b1719);--paper-drift-cool:var(--lightningcss-light,#ebf2ed)var(--lightningcss-dark,#12181a);--ink:var(--lightningcss-light,#16181a)var(--lightningcss-dark,#ecebe8);--ink-muted:var(--lightningcss-light,#5a5c61)var(--lightningcss-dark,#a3a4a8);--on-ink:var(--lightningcss-light,#f5f4f6)var(--lightningcss-dark,#16181a);--line:var(--lightningcss-light,#c9c7c4)var(--lightningcss-dark,#34363a);--line-control:var(--lightningcss-light,#7e7c79)var(--lightningcss-dark,#7c7d82);--seal:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#a4a8ff);--seal-soft:var(--lightningcss-light,#dcddf3)var(--lightningcss-dark,#2a2c4a);--on-seal-soft:var(--lightningcss-light,#2f338f)var(--lightningcss-dark,#d9daff);--danger:var(--lightningcss-light,#b3261e)var(--lightningcss-dark,#ff8a80);--danger-soft:var(--lightningcss-light,#fbe7e5)var(--lightningcss-dark,#3a1a18);--on-danger-soft:var(--lightningcss-light,#8c1d17)var(--lightningcss-dark,#ffd3ce);--warning-soft:var(--lightningcss-light,#fff1cc)var(--lightningcss-dark,#3a2f12);--on-warning-soft:var(--lightningcss-light,#6b4a00)var(--lightningcss-dark,#f5dfa0);--success:var(--lightningcss-light,#2e7d4f)var(--lightningcss-dark,#7fd3a1);--focus-ring:var(--seal);--scrim:var(--lightningcss-light,#16181a59)var(--lightningcss-dark,#0000008c);--shadow-overlay:0 6px 24px var(--lightningcss-light,#16181a24)var(--lightningcss-dark,#00000080), 0 1px 2px var(--lightningcss-light,#16181a14)var(--lightningcss-dark,#0006);--canvas-ground:var(--lightningcss-light,#ecebe8)var(--lightningcss-dark,#1a1b1e);--canvas-grid:var(--lightningcss-light,#d7d5d1)var(--lightningcss-dark,#2a2c30);--canvas-grid-section:var(--lightningcss-light,#a19e99)var(--lightningcss-dark,#4a4c51);--canvas-selected:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#6f74e0);--canvas-valid:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#a4a8ff);--canvas-invalid:var(--lightningcss-light,#c62828)var(--lightningcss-dark,#ff6b60);--canvas-cut:var(--lightningcss-light,#3a3c40)var(--lightningcss-dark,#8e8c88);--canvas-overhead:var(--lightningcss-light,#16181a)var(--lightningcss-dark,#ecebe8);--canvas-symbol:var(--lightningcss-light,#5a5c61)var(--lightningcss-dark,#a3a4a8);--canvas-plant:var(--lightningcss-light,#2f5d2f)var(--lightningcss-dark,#8cc08c);--canvas-separator:var(--lightningcss-light,#3a3c40)var(--lightningcss-dark,#c9c7c4);--canvas-separator-floor:var(--lightningcss-light,#5a5c61)var(--lightningcss-dark,#a3a4a8);--canvas-handle:var(--lightningcss-light,#fbfafb)var(--lightningcss-dark,#ecebe8);--canvas-handle-hover:var(--lightningcss-light,#f2a93b)var(--lightningcss-dark,#f5b94f);--canvas-handle-active:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#a4a8ff);--canvas-handle-edge:var(--lightningcss-light,#16181a)var(--lightningcss-dark,#141517);--canvas-snap:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#a4a8ff);--canvas-snap-end:var(--lightningcss-light,#d97f00)var(--lightningcss-dark,#f5b94f);--canvas-guide:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#a4a8ff);--canvas-avatar-arrow:var(--lightningcss-light,#4a4fd1)var(--lightningcss-dark,#8c91ff);--canvas-avatar-arrow-hover:var(--lightningcss-light,#7c80f0)var(--lightningcss-dark,#b9bcff);--canvas-fallback:var(--lightningcss-light,#c9a0f0)var(--lightningcss-dark,#b48ce0);--canvas-terrain:var(--lightningcss-light,#cfd6c5)var(--lightningcss-dark,#262e24);--canvas-axis-x:var(--lightningcss-light,#c0392b)var(--lightningcss-dark,#ff7a66);--canvas-axis-z:var(--lightningcss-light,#1f6f9f)var(--lightningcss-dark,#5fb4e6);--room-bedroom:var(--lightningcss-light,#cfe0f2)var(--lightningcss-dark,#2b3a4d);--room-bathroom:var(--lightningcss-light,#cbe9e6)var(--lightningcss-dark,#23403d);--room-kitchen:var(--lightningcss-light,#f7e1c2)var(--lightningcss-dark,#4a3a24);--room-dining:var(--lightningcss-light,#f3d9d6)var(--lightningcss-dark,#4a2e2c);--room-living:var(--lightningcss-light,#e1ebcb)var(--lightningcss-dark,#36432a);--room-laundry:var(--lightningcss-light,#dcd7ef)var(--lightningcss-dark,#36324a);--room-hallway:var(--lightningcss-light,#e6e5e2)var(--lightningcss-dark,#34353a);--room-garage:var(--lightningcss-light,#d9d4cc)var(--lightningcss-dark,#3d3a35);--room-outdoor:var(--lightningcss-light,#d5e7cc)var(--lightningcss-dark,#2e4029);--room-other:var(--lightningcss-light,#efead8)var(--lightningcss-dark,#43402f);--presence-1:var(--lightningcss-light,#1d4ed8)var(--lightningcss-dark,#93b4ff);--presence-2:var(--lightningcss-light,#b91c1c)var(--lightningcss-dark,#ff9a9a);--presence-3:var(--lightningcss-light,#047857)var(--lightningcss-dark,#6fd6ae);--presence-4:var(--lightningcss-light,#7e22ce)var(--lightningcss-dark,#d2a6ff);--presence-5:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#ffad7a);--presence-6:var(--lightningcss-light,#0e7490)var(--lightningcss-dark,#6ed3e6);--presence-7:var(--lightningcss-light,#be185d)var(--lightningcss-dark,#ff9ccb);--presence-8:var(--lightningcss-light,#4d7c0f)var(--lightningcss-dark,#b5d96b);--presence-agent:var(--lightningcss-light,#5a5c61)var(--lightningcss-dark,#a3a4a8);--on-presence:var(--lightningcss-light,#fff)var(--lightningcss-dark,#16181a);--font-sans:"Geist Variable", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.75rem;--leading-tight:1.2;--leading-normal:1.45;--tracking-label:.12em;--weight-regular:400;--weight-medium:500;--weight-strong:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-none:0;--radius-sm:2px;--radius-round:999px;--line-width:1px;--line-strong:1.5px;--focus-width:2px;--focus-offset:2px;--z-canvas:0;--z-canvas-labels-min:10;--z-canvas-labels-max:19;--z-canvas-overlay:20;--z-canvas-ui:30;--z-panel:40;--z-popover:50;--duration-fast:.12s;--duration-base:.2s;--ease-out:cubic-bezier(.19, 1, .22, 1);--seal-spin:1.2s;--target-min:2.75rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}:root{min-height:100%;font-family:var(--font-sans);color:var(--ink);background:radial-gradient(circle at 0% 0%, var(--paper-drift-warm), transparent 55%), radial-gradient(circle at 100% 100%, var(--paper-drift-cool), transparent 55%), var(--paper);caret-color:var(--seal);accent-color:var(--ink);scrollbar-color:var(--line-control) transparent;scrollbar-width:thin;-webkit-font-smoothing:antialiased;background-attachment:fixed}*{box-sizing:border-box}body{font-size:var(--text-md);line-height:var(--leading-normal);margin:0}::selection{background:var(--seal-soft);color:var(--on-seal-soft)}h1,h2{font-weight:var(--weight-strong);line-height:var(--leading-tight);margin:0}.login-form h1,.projects-page h1,.admin-page h1{font-weight:var(--weight-regular);letter-spacing:-.02em}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.numeric,input[type=number],.unit,.room-summary dd,.measure-label,.room-label,.admin-number{font-variant-numeric:tabular-nums}button{font:inherit;line-height:var(--leading-tight);padding:var(--space-1) var(--space-3);border:var(--line-width) solid var(--line-control);border-radius:var(--radius-none);background:var(--paper-raised);min-height:2rem;color:var(--ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}@media (hover:hover){button:hover:not(:disabled){background:var(--paper-sunken);border-color:var(--ink)}}button:disabled{cursor:not-allowed;color:color-mix(in srgb, var(--ink-muted) 70%, transparent);border-color:var(--line);background:0 0}button[aria-pressed=true],button[aria-pressed=true]:hover:not(:disabled),button[type=submit],.button-primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}@media (hover:hover){button[type=submit]:hover:not(:disabled),.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 82%, var(--paper));border-color:color-mix(in srgb, var(--ink) 82%, var(--paper))}}button[type=submit]:disabled,.button-primary:disabled{border-color:var(--line);color:var(--ink-muted);background:0 0}.button-danger{color:var(--danger);border-color:var(--danger)}button.button-destructive{background:var(--danger);border-color:var(--danger);color:var(--on-ink)}.button-small{min-height:1.75rem;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.button-icon,.link-icon{align-items:center;gap:var(--space-1);display:inline-flex}.icon{flex-shrink:0;width:1em;height:1em}.button-icon-only{flex:none;place-items:center;width:2rem;height:2rem;padding:0;display:inline-grid}.button-icon-only .icon{width:1.125rem;height:1.125rem}@media (pointer:coarse){button,select,input:not([type=checkbox],[type=radio]),.button-small,.sheet-handle,.user-menu-item,.island-back{min-height:var(--target-min)}.button-icon-only,.island-back,.user-menu-button--compact{width:var(--target-min);min-width:var(--target-min);height:var(--target-min)}.checkbox{min-height:var(--target-min)}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem}.admin-page .projects-header .link-icon,.admin-docs-link{min-height:var(--target-min);align-items:center;display:inline-flex}}input,select{font:inherit;padding:var(--space-1) var(--space-2);border:var(--line-width) solid var(--line-control);border-radius:var(--radius-none);background:var(--paper-raised);min-height:2rem;color:var(--ink);min-width:0;transition:border-color var(--duration-fast) var(--ease-out)}select{appearance:none;padding-right:var(--space-6);background-image:linear-gradient(45deg, transparent calc(50% - .75px), var(--ink) calc(50% - .75px), var(--ink) calc(50% + .75px), transparent calc(50% + .75px)), linear-gradient(135deg, transparent calc(50% - .75px), var(--ink) calc(50% - .75px), var(--ink) calc(50% + .75px), transparent calc(50% + .75px));background-position:calc(100% - 1rem),calc(100% - .6875rem);background-repeat:no-repeat;background-size:.3125rem .3125rem}input:focus,select:focus{border-color:var(--ink);box-shadow:inset 0 0 0 calc(var(--line-strong) - var(--line-width)) var(--ink)}input:disabled,select:disabled{color:var(--ink-muted);border-color:var(--line);background:var(--paper-sunken)}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:inset 0 0 0 100px var(--paper-raised);caret-color:var(--seal)}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:inset 0 0 0 100px var(--paper-raised);caret-color:var(--seal)}input::placeholder{color:var(--ink-muted)}input[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;min-height:0;margin:0}a{color:var(--seal);text-underline-offset:.2em;text-decoration-thickness:var(--line-width)}code,kbd{font-family:var(--font-mono);font-size:.92em}.notice{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:var(--line-width) solid transparent;border-radius:var(--radius-sm)}.notice-with-action{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.notice-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--on-danger-soft)}.notice-warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--on-warning-soft) 30%, transparent);color:var(--on-warning-soft)}.notice-info{background:var(--seal-soft);border-color:color-mix(in srgb, var(--seal) 40%, transparent);color:var(--on-seal-soft)}.field-error{font-size:var(--text-sm);color:var(--danger);margin:0}.segmented{border:0;margin:0;padding:0;display:flex}.segmented>:not(:first-child){margin-left:calc(-1 * var(--line-width))}.segmented button[aria-pressed=true]{position:relative}.panel-hint{color:var(--ink-muted);margin:0}.checkbox{align-items:center;gap:var(--space-2);display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.panel+.panel{border-top:var(--line-width) solid var(--line)}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel-header h2{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-muted)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label{color:var(--ink-muted);font-size:var(--text-sm)}.field-input{align-items:center;gap:var(--space-2);display:flex}.field-input input{flex:1;width:100%;min-width:0}.unit{color:var(--ink-muted)}.dialog-field{gap:var(--space-1);flex-direction:column;display:flex}.password-error{color:var(--danger);font-size:var(--text-sm);margin:0}.points-field li .field{flex:1;min-width:0}.save-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted);white-space:nowrap;display:inline-flex}.seal{border-radius:var(--radius-round);background:var(--seal-soft);width:1.375rem;height:1.375rem;color:var(--on-seal-soft);place-items:center;display:inline-grid;position:relative}.seal .icon{width:.75rem;height:.75rem}.seal-ring{width:calc(100% + 6px);height:calc(100% + 6px);color:var(--seal);position:absolute;inset:-3px}.save-dirty,.save-saving{color:var(--ink)}.save-saving .seal-ring{animation:seal-spin var(--seal-spin) linear infinite}.save-error .seal,.save-conflict .seal,.save-noAccess .seal,.save-forbidden .seal{background:var(--danger-soft);color:var(--on-danger-soft)}.save-error .seal-ring,.save-conflict .seal-ring,.save-noAccess .seal-ring,.save-forbidden .seal-ring,.save-error,.save-conflict{color:var(--danger)}@keyframes seal-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.save-saving .seal-ring,.seal--busy .seal-ring{animation:none}}.loading-state{align-items:center;gap:var(--space-2);color:var(--ink-muted);margin:0;display:inline-flex}.seal--busy .seal-ring{animation:seal-spin var(--seal-spin) linear infinite}.skeleton-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skeleton-row{gap:var(--space-2);padding:var(--space-3) 0;border-top:var(--line-width) solid var(--line);flex-direction:column;display:flex}.skeleton-line{background:var(--paper-sunken);height:.75rem;display:block}.skeleton-line--title{width:min(40%,16rem);height:1rem}.skeleton-line--text{width:min(80%,32rem)}.skeleton-line--meta{width:min(30%,10rem)}.empty-state{align-items:flex-start;gap:var(--space-2);max-width:34rem;padding:var(--space-4) 0;border-top:var(--line-width) solid var(--line);flex-direction:column;display:flex}.empty-state__title{font-weight:var(--weight-strong);margin:0}.empty-state__text{color:var(--ink-muted);margin:0}.field-label{color:var(--ink-muted);font-size:var(--text-sm)}.login-form,.dialog-form{gap:var(--space-3);flex-direction:column;display:flex}.login-subtitle,.dialog-hint{color:var(--ink-muted);margin:0}.login-form label,.dialog-form label{gap:var(--space-1);flex-direction:column;display:flex}.badge{margin-right:var(--space-1);padding:.0625rem var(--space-2);border-radius:var(--radius-round);font-size:var(--text-xs);border:var(--line-width) solid var(--line-control);display:inline-block}.badge-on{background:var(--seal-soft);border-color:color-mix(in srgb, var(--seal) 50%, transparent);color:var(--on-seal-soft)}.badge-off{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 50%, transparent);color:var(--on-danger-soft)}.badge-warning{background:var(--warning-soft);color:var(--on-warning-soft);border-color:#0000}.editor{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--control-h:2rem;--island-h:calc(var(--control-h) + var(--space-1) * 2 + var(--line-width) * 2);background:var(--paper);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"catalog canvas properties";height:100dvh;display:grid;overflow:hidden}.editor-message{align-items:flex-start;gap:var(--space-3);max-width:40rem;padding:var(--space-6);flex-direction:column;display:flex}.editor-message .notice{margin:0}.editor-message__title{font-size:var(--text-xl);font-weight:var(--weight-regular);letter-spacing:-.02em;margin:0}.editor-message__actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.editor-loading{justify-content:center;align-items:center;max-width:none;min-height:100dvh}@media (pointer:coarse){.editor{--control-h:var(--target-min)}.view-switch button{min-width:var(--target-min);justify-content:center}}.editor-canvas{--registration-clear:calc(var(--space-2) * 2 + 1.5rem);--overlay-top:calc(var(--safe-top) + var(--space-2) * 2 + var(--island-h));--overlay-bottom:calc(var(--safe-bottom) + var(--space-2) * 3 + var(--island-h) * 2);isolation:isolate;background:var(--canvas-ground);grid-area:canvas;min-width:0;min-height:0;position:relative;overflow:hidden}.editor-canvas canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.shell-top{z-index:var(--z-canvas-ui);top:calc(var(--safe-top) + var(--space-2));left:calc(var(--safe-left) + var(--registration-clear));right:calc(var(--safe-right) + var(--registration-clear));gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute;container:shell-top/inline-size}.shell-top__islands{justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.shell-bottom{z-index:var(--z-canvas-ui);bottom:calc(var(--safe-bottom) + var(--space-2));left:calc(var(--safe-left) + var(--registration-clear));right:calc(var(--safe-right) + var(--registration-clear));align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute;container:shell-bottom/inline-size}.shell-bottom>*,.shell-top__islands>*,.canvas-notices>*{pointer-events:auto}.editor[data-layout=phone] .shell-bottom{bottom:calc(var(--safe-bottom) + var(--registration-clear));left:calc(var(--safe-left) + var(--space-2));right:calc(var(--safe-right) + var(--space-2))}.island{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--island-h);padding:var(--space-1);background:var(--paper-raised);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);display:flex}.island-identity{gap:var(--space-1);white-space:nowrap;flex:0 auto}.island-status{padding-inline:var(--space-2) var(--space-1);flex:none}.island-back{width:var(--control-h);height:var(--control-h);color:var(--ink);transition:background-color var(--duration-fast) var(--ease-out);flex:none;place-items:center;display:inline-grid}.island-back--text{align-items:center;gap:var(--space-1);width:auto;padding-inline:var(--space-2);white-space:nowrap;text-decoration:none;display:inline-flex}button.island-back{font:inherit;background:0 0;border-color:#0000}@media (hover:hover){.island-back:hover{background:var(--paper-sunken)}}.island-title{min-width:3rem;max-width:11rem;font-size:var(--text-md);flex:0 auto;overflow:hidden}.island-title__button,.level-picker{align-items:center;gap:var(--space-1);min-width:0;padding-inline:var(--space-1);font-weight:inherit;background:0 0;border-color:#0000;display:inline-flex}.island-title__button{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.level-picker{color:var(--ink);font-size:var(--text-sm);flex:none}.level-picker .icon{color:var(--ink-muted)}@media (hover:hover){.island-title__button:hover:not(:disabled),.level-picker:hover:not(:disabled){border-color:#0000}}.level-picker--with-name{text-align:left;flex-direction:column;flex:0 auto;justify-content:center;align-items:flex-start;gap:0;padding-block:0}.level-picker__project{text-overflow:ellipsis;max-width:100%;font-size:var(--text-md);font-weight:var(--weight-strong);overflow:hidden}.level-picker__level{align-items:center;gap:var(--space-1);white-space:nowrap;flex:none;display:inline-flex}.level-picker--with-name .level-picker__level{color:var(--ink-muted);font-size:var(--text-xs)}.guide-words{text-overflow:ellipsis;min-width:4rem;color:var(--ink-muted);font-size:var(--text-sm);flex:0 auto;overflow:hidden}.project-name-popover{max-width:min(28rem,100vw - 1rem);padding:var(--space-2) var(--space-3)}.project-name-popover__name{font-weight:var(--weight-strong);overflow-wrap:anywhere;margin:0}.dock{align-items:center;gap:var(--space-1);max-width:100%;padding:var(--space-1);background:var(--paper-raised);border:var(--line-width) solid var(--line);display:flex}.dock-group{gap:var(--space-1);display:flex}.editor:not([data-layout=phone]) .dock>:not(.popover,dialog)+:not(.popover,dialog){margin-left:var(--space-1);padding-left:var(--space-2);border-left:var(--line-width) solid var(--line)}.dock-tool[aria-pressed=true],.dock-tool[aria-pressed=true]:hover:not(:disabled){background:var(--paper-sunken);border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 calc(var(--line-strong) - var(--line-width)) var(--ink)}.view-switch button{padding-inline:var(--space-2)}.editor[data-layout=phone] .dock{gap:2px}.editor[data-layout=phone] .view-switch button:not([aria-pressed=true]) .view-switch__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container shell-bottom (width<=22.5rem){.view-switch__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.hint-pill{border:var(--line-width) solid var(--line);background:color-mix(in srgb, var(--paper-raised) 94%, transparent);align-items:stretch;min-width:0;max-width:min(100%,46rem);display:flex}.tool-hint{min-width:0;padding:var(--space-1) var(--space-3);color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-normal);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.editor[data-layout=phone] .tool-hint{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.hint-pill__help{align-items:center;gap:var(--space-1);min-height:0;padding-inline:var(--space-2);border:0;border-left:var(--line-width) solid var(--line);color:var(--ink-muted);background:0 0;display:inline-flex}.panel-host{background:var(--paper);flex-direction:column;min-height:0;display:flex}.panel-host__body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.panel-host--column{overflow:hidden}.panel-host--column.panel-host--catalog{width:calc(260px + var(--safe-left));padding-left:var(--safe-left);border-right:var(--line-width) solid var(--line);grid-area:catalog}.panel-host--column.panel-host--properties{width:calc(280px + var(--safe-right));padding-right:var(--safe-right);border-left:var(--line-width) solid var(--line);grid-area:properties}.panel-host--drawer,.panel-host--card{z-index:var(--z-panel);top:var(--overlay-top);width:min(20rem, calc(100% - var(--space-2) * 2));max-height:calc(100% - var(--overlay-top) - var(--overlay-bottom));background:var(--paper-raised);border:var(--line-width) solid var(--line);position:absolute}.panel-host--drawer{bottom:var(--overlay-bottom);left:calc(var(--safe-left) + var(--space-2))}.panel-host--card{right:calc(var(--safe-right) + var(--space-2))}.editor[data-compact] .panel-host--drawer,.editor[data-compact] .panel-host--card{width:min(22rem,50%)}.panel-host--side{z-index:var(--z-panel);top:var(--overlay-top);bottom:var(--overlay-bottom);right:calc(var(--safe-right) + var(--space-2));background:var(--paper-raised);border:var(--line-width) solid var(--line);width:min(18rem,40%);position:absolute}.panel-host--side[data-size=full]{width:min(26rem,50%)}.panel-host--sheet{background:var(--paper-raised);border:var(--line-width) solid var(--line);max-height:35dvh;transform:translateY(var(--sheet-drag,0px));align-self:stretch}.panel-host--sheet[data-size=full]{height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - var(--registration-clear) - var(--island-h) * 2 - var(--space-2) * 3);max-height:none}.panel-host--sheet[data-size=peek] .panel-host__body{overflow:hidden}.sheet-handle{width:4rem;min-height:1.5rem;color:var(--ink-muted);cursor:grab;touch-action:none;background:0 0;border:0;align-self:center;place-items:center;padding:0;display:inline-grid}@media (pointer:coarse){.sheet-handle{min-height:var(--target-min)}}@media (hover:hover){.sheet-handle:hover:not(:disabled){border-color:#0000}}.panel-header__action{color:var(--ink-muted);margin-left:auto}.properties-peek-panel{flex-direction:row;align-items:center}.properties-peek-panel .panel-header__action{align-self:flex-start}.properties-peek__type{color:var(--ink-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.properties-peek{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.properties-peek__name{min-width:0;font-weight:var(--weight-strong);overflow-wrap:anywhere;flex-direction:column;flex:8rem;margin:0;display:flex}.properties-peek__measure{color:var(--ink-muted);margin:0}.level-summary{gap:var(--space-3);flex-direction:column;display:flex}.level-summary__facts{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.level-summary__facts dt{color:var(--ink-muted)}.level-summary__facts dd{margin:0}.level-summary__rooms{border-top:var(--line-width) solid var(--line);font-size:var(--text-sm);margin:0;padding:0;list-style:none}.level-summary__rooms li{justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:var(--line-width) solid var(--line);display:flex}.registration-mark{z-index:var(--z-canvas-overlay);pointer-events:none;width:1.5rem;height:1.5rem;color:color-mix(in srgb, var(--ink) 40%, transparent);position:absolute}.registration-mark:before,.registration-mark:after{content:"";background:currentColor;position:absolute}.registration-mark:before{width:var(--line-width);top:0;bottom:0;left:50%}.registration-mark:after{height:var(--line-width);top:50%;left:0;right:0}.registration-mark--tl{top:var(--space-2);left:var(--space-2)}.registration-mark--tr{top:var(--space-2);right:var(--space-2)}.registration-mark--bl{bottom:var(--space-2);left:var(--space-2)}.registration-mark--br{bottom:var(--space-2);right:var(--space-2)}.selection-box{z-index:var(--z-canvas-overlay);pointer-events:none;border:var(--line-width) solid var(--seal);background:color-mix(in srgb, var(--seal) 8%, transparent);position:absolute}.selection-box[data-mode=touch]{border-style:dashed;border-color:var(--success);background:color-mix(in srgb, var(--success) 8%, transparent)}.selection-box[hidden]{display:none}.canvas-notices{gap:var(--space-1);pointer-events:none;flex-direction:column;display:flex}.canvas-notices .notice{margin:0}.action-notice{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.walk-crosshair{z-index:var(--z-canvas-overlay);border-radius:var(--radius-round);background:var(--paper-raised);width:6px;height:6px;box-shadow:0 0 0 var(--line-strong) var(--ink);pointer-events:none;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%}.measure-label{padding:.125rem var(--space-2);border-radius:var(--radius-sm);background:var(--ink);color:var(--on-ink);font-size:var(--text-xs);white-space:nowrap;-webkit-user-select:none;user-select:none}.catalog-group+.catalog-group{padding-top:var(--space-2);border-top:var(--line-width) solid var(--line)}.catalog-group h3{margin:0 0 var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-muted)}.catalog-items{gap:var(--space-1);flex-wrap:wrap;display:flex}.properties{gap:var(--space-2);flex-direction:column;display:flex}.properties-type{color:var(--ink-muted);font-size:var(--text-sm);margin:0}.properties-warnings{margin:0;padding:0;list-style:none}.properties-warnings .notice{margin:var(--space-1) 0}.schema-form{gap:var(--space-2);flex-direction:column;display:flex}.points-field{padding:var(--space-2);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);align-items:flex-start;margin:0}.points-field legend{padding:0 var(--space-1);color:var(--ink-muted);font-size:var(--text-sm)}.points-field ol{padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;width:100%;margin:0;display:flex}.points-field li>*{vertical-align:middle}.points-field li{gap:var(--space-1);align-items:flex-start;display:flex}.level-editor{gap:var(--space-2);flex-direction:column;display:flex}.presence-bar{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.presence-bar ul{margin:0;padding:0;list-style:none;display:flex}.presence-peer{width:1.75rem;height:1.75rem;margin-left:calc(-1 * var(--space-1));border:2px solid var(--paper);border-radius:var(--radius-round);outline:var(--line-width) solid color-mix(in srgb, var(--ink) 25%, transparent);outline-offset:-4px;color:var(--on-presence);font-size:var(--text-xs);font-weight:var(--weight-strong);cursor:default;-webkit-user-select:none;user-select:none;place-items:center;display:grid}.presence-peer:first-child{margin-left:0}.presence-more{background:var(--ink-muted)}.presence-agent{border-radius:var(--radius-sm);background:var(--presence-agent)}.presence-active{animation:presence-pulse 1s var(--ease-out) 2}@keyframes presence-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--seal) 60%, transparent)}to{box-shadow:0 0 0 .45rem color-mix(in srgb, var(--seal) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.presence-active{box-shadow:0 0 0 2px var(--seal);animation:none}}.presence-offline{align-items:center;gap:var(--space-1);font-size:var(--text-sm);padding:.125rem var(--space-2);border-radius:var(--radius-round);background:var(--warning-soft);color:var(--on-warning-soft);white-space:nowrap;display:inline-flex}.measure-label--handle{pointer-events:none;transform:translateY(calc(-50% - 16px))}.measure-label--static{border:var(--line-width) solid var(--seal);background:color-mix(in srgb, var(--paper-raised) 92%, transparent);color:var(--ink);pointer-events:none}.measure-label--muted{border-color:var(--line);color:var(--ink-muted)}.measure-label--invalid{background:var(--danger);color:var(--on-ink)}.measure-label__message{width:max-content;max-width:22rem;font-size:var(--text-xs);white-space:normal;display:block}.wall-options{align-items:center;gap:var(--space-3);max-width:100%;display:flex}.wall-options .field{align-items:center;gap:var(--space-2);flex-direction:row;position:relative}.wall-options .field-input input{flex:none;width:4.5rem}.wall-options .field-error{bottom:calc(100% + var(--space-2));z-index:var(--z-popover);padding:var(--space-1) var(--space-2);border:var(--line-width) solid var(--danger);border-radius:var(--radius-sm);background:var(--paper-raised);white-space:nowrap;position:absolute;left:0}.island-tool{white-space:nowrap}.editor[data-layout=phone] .island-tool{overflow-x:auto}.touch-controls button,.island-tool .button-icon,.island-tool .segmented button{min-height:var(--target-min)}.touch-controls .button-icon-only,.island-tool .button-icon-only{width:var(--target-min);min-width:var(--target-min);height:var(--target-min)}.editor[data-pointer=touch]{--control-h:var(--target-min)}.editor[data-pointer=touch] :is(button,select,input:not([type=checkbox],[type=radio]),.checkbox){min-height:var(--target-min)}.editor[data-pointer=touch] .button-icon-only{width:var(--target-min);min-width:var(--target-min);height:var(--target-min)}.selection-bar{z-index:var(--z-canvas-ui);align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--paper-raised);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);animation:selection-bar-in var(--duration-fast) var(--ease-out);display:flex;position:absolute}.selection-bar[hidden]{display:none}@keyframes selection-bar-in{0%{opacity:0;translate:0 4px}}.move-pad{align-items:center;gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:flex}.move-pad__arrows{gap:var(--space-1);display:flex}.editor[data-layout=phone] .island-tool:has(.move-pad){overflow-x:visible}.editor[data-layout=phone] .move-pad{flex-wrap:wrap;justify-content:center}.editor[data-layout=phone] .move-pad .segmented{order:1}.tool-options-popover:popover-open{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.tool-options-popover .field{align-items:center;gap:var(--space-2);display:flex;position:relative}.tool-options-popover .field-input input{width:4.5rem}.editor[data-pointer=touch] .measure-label--handle{transform:translateY(calc(-50% - 3.5rem))}.room-label{color:var(--ink);font-size:var(--text-xs);line-height:var(--leading-tight);text-align:center;white-space:nowrap;text-shadow:0 0 3px var(--paper), 0 0 1px var(--paper);-webkit-user-select:none;user-select:none;pointer-events:none;flex-direction:column;align-items:center;display:flex}.room-label__name{font-weight:var(--weight-strong)}.room-label--level{color:var(--ink);font-size:var(--text-xs);align-items:flex-start;transform:translateY(-100%)}.action-notice span{white-space:pre-line}.room-summary{gap:var(--space-2);flex-direction:column;display:flex}.room-summary dl{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.room-summary dt{color:var(--ink-muted)}.room-summary dd{margin:0}.room-draft__note{font-size:var(--text-sm)}.room-draft__sides{gap:var(--space-2);flex-direction:column;display:flex}.room-draft__closing{margin:0}.room-draft__closing span{color:var(--ink-muted);font-size:var(--text-sm)}.room-draft__actions{gap:var(--space-2);display:flex}.readonly-banner{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:var(--line-width) solid color-mix(in srgb, var(--seal) 50%, transparent);border-radius:var(--radius-sm);background:var(--seal-soft);color:var(--on-seal-soft);font-weight:var(--weight-strong);display:flex}.readonly-banner .seal{background:var(--paper-raised);box-shadow:0 0 0 var(--line-width) color-mix(in srgb, var(--seal) 50%, transparent)}.properties-fieldset{border:0;min-width:0;margin:0;padding:0}@container shell-top (width<=48rem){.island-status .button-icon:has(.share-label){min-width:var(--control-h);justify-content:center}.island-status .button-icon .share-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.island-title{max-width:8rem}.presence-offline__text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.user-menu-icon{display:none}@container shell-top (width<=60rem){.island-status .user-menu-icon{display:block}.island-status .user-menu-name{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.island-status .user-menu-chevron{display:none}.island-status .user-menu-button:not(.user-menu-button--compact){width:var(--control-h);justify-content:center;padding:0}}.editor[data-walk=touch] .shell-top,.editor[data-presenting] .shell-top{left:calc(var(--safe-left) + var(--space-3));right:calc(var(--safe-right) + var(--space-3))}.island-walk{flex:0 auto}.shell-top .island-walk .button-icon-only,.shell-top .island-presenting button{background:0 0;border-color:#0000}@media (hover:hover){.shell-top .island-walk .button-icon-only:hover,.shell-top .island-presenting button:hover{background:var(--paper-sunken)}}.walk-menu:popover-open{align-items:stretch;gap:var(--space-1);min-width:15rem;padding:var(--space-2);flex-direction:column;display:flex}.walk-menu .field{padding:var(--space-1) var(--space-2) var(--space-2)}.walk-hint{background:var(--paper-raised);border:var(--line-width) solid var(--line);text-align:center;white-space:normal;max-width:min(100%,34rem);animation:walk-in var(--duration-base) var(--ease-out);align-self:center}.walk-stick{z-index:var(--z-canvas-ui);left:calc(var(--safe-left) + var(--space-4) - var(--space-2));bottom:calc(var(--safe-bottom) + var(--space-4) - var(--space-2));min-inline-size:0;padding:var(--space-2);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:0;margin:0;position:absolute}.walk-stick__base{background:var(--paper-raised);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);place-items:center;width:7.5rem;height:7.5rem;display:grid;position:relative}.walk-stick__cross{width:5rem;height:5rem;color:var(--line-control);position:absolute}.walk-stick__cross:before,.walk-stick__cross:after{content:"";background:currentColor;position:absolute}.walk-stick__cross:before{width:var(--line-width);top:0;bottom:0;left:50%}.walk-stick__cross:after{height:var(--line-width);top:50%;left:0;right:0}.walk-stick__knob{width:var(--target-min);height:var(--target-min);border:var(--line-strong) solid var(--seal);border-radius:var(--radius-round);background:var(--seal-soft);transition:background-color var(--duration-fast) var(--ease-out), scale var(--duration-fast) var(--ease-out)}.walk-stick[data-running] .walk-stick__knob{background:var(--seal);scale:1.15}.walk-door{z-index:var(--z-canvas-ui);right:calc(var(--safe-right) + var(--space-4));bottom:calc(var(--safe-bottom) + var(--space-4));animation:walk-in var(--duration-fast) var(--ease-out);position:absolute}.walk-door .island-back{min-height:var(--target-min);padding-inline:var(--space-3);gap:var(--space-2);font-size:var(--text-md)}@keyframes walk-in{0%{opacity:0}}.shell-top__islands--end{justify-content:flex-end}.catalog-note,.field-hint{color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.catalog-note{flex-basis:100%}.catalog-item__note{color:var(--ink-muted)}.projects-page{max-width:760px;padding:var(--space-6) var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.projects-page h1,.admin-page h1{font-size:var(--text-xl)}.projects-page>h2{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.create-form,.rename-form{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.create-form label{font-weight:var(--weight-strong)}.create-form input,.rename-form input{flex:1}.project-list{border-top:var(--line-width) solid var(--line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-row{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--line-width) solid var(--line);flex-wrap:wrap;align-items:center;display:flex}.project-row .rename-form,.project-info{flex:1}.project-info{gap:var(--space-1);flex-direction:column;display:flex}.project-name{font-weight:var(--weight-strong);font-size:var(--text-lg)}.project-description{color:var(--ink-muted);margin:0}.project-info small{color:var(--ink-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.project-actions{gap:var(--space-2);display:flex}.project-error{flex-basis:100%;margin:0}.login-page{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.login-form{width:min(100%,24rem);padding:var(--space-6) var(--space-5);background:var(--paper-raised);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);position:relative}.login-form:before,.login-form:after{content:"";pointer-events:none;background:linear-gradient(var(--line-control), var(--line-control)) center / var(--line-width) 100% no-repeat, linear-gradient(var(--line-control), var(--line-control)) center / 100% var(--line-width) no-repeat;width:1.5rem;height:1.5rem;position:absolute}.login-form:before{top:-.75rem;left:-.75rem}.login-form:after{bottom:-.75rem;right:-.75rem}.login-form h1{font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:-.02em}.projects-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.admin-page{max-width:1200px;padding:var(--space-6) var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.admin-page .projects-header h1{margin-right:auto}.admin-toolbar{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-search{flex:1;min-width:12rem}.admin-docs-link{align-self:center}.admin-table-wrapper{background:var(--paper-raised);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-table :is(button){padding-inline:var(--space-2);font-size:var(--text-sm)}.admin-table th,.admin-table td{padding:var(--space-2);text-align:left;vertical-align:middle;border-bottom:var(--line-width) solid var(--line);white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table th{font-weight:var(--weight-medium);color:var(--ink-muted)}.admin-row-disabled td:not(:last-child),.admin-own{color:var(--ink-muted)}.admin-number{text-align:right}.admin-actions{gap:var(--space-1);display:flex}.pagination{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pagination>span:first-child{color:var(--ink-muted);margin-right:auto}.project-badge{margin-left:var(--space-2)}.project-owner{align-items:center;display:flex}.authorize-card{width:min(100%,28rem)}.authorize-title{font-weight:var(--weight-regular);line-height:var(--leading-normal)}.authorize-card p{margin:0}.authorize-scopes{margin:var(--space-1) 0 0;padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.agent-site{color:var(--ink-muted)}.agents-empty code{overflow-wrap:anywhere}.authorize-sensitive{gap:var(--space-1);flex-direction:column;display:flex}.project-row{position:relative}.project-name{text-decoration:none}.project-name:after{content:"";position:absolute;inset:0}.project-actions{z-index:1;align-items:center;position:relative}@media (hover:hover){.project-row:hover .project-name{text-decoration:underline}}.project-actions__menu{display:none}.admin-actions{align-items:center}@media (width<=767px){.login-page{padding:max(var(--space-6), 10dvh) var(--space-6) var(--space-6);place-items:start center}.projects-page,.admin-page{padding:var(--space-5) var(--space-4) var(--space-6)}.create-form{flex-direction:column;align-items:stretch}.create-form input{flex:none;width:100%}.project-actions__wide{display:none}.project-actions__menu{display:inline-grid}}@media (width<=1023px){.admin-toolbar>*{flex:100%}.admin-docs-link{align-self:flex-start}.admin-table-wrapper{background:0 0;border:0;overflow:visible}.admin-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-table,.admin-table tbody{display:block}.admin-table tr{gap:var(--space-1) var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3);background:var(--paper-raised);border:var(--line-width) solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-table th,.admin-table td{white-space:normal;border:0;padding:0;display:block}.admin-table td{overflow-wrap:anywhere;grid-column:1;min-width:0}.admin-name{font-weight:var(--weight-strong)}.admin-actions-cell{padding-top:var(--space-2);grid-column:1/-1}.admin-actions{justify-content:flex-end}.admin-table td[data-label]{justify-content:space-between;gap:var(--space-3);text-align:right;grid-column:1/-1;display:flex}.admin-table td[data-label]:before{content:attr(data-label);color:var(--ink-muted);text-align:left}.pagination{justify-content:space-between}.pagination>span:first-child{flex-basis:100%}}.room-merge-dialog,.app-dialog{border:var(--line-width) solid var(--line);border-radius:var(--radius-none);background:var(--paper-raised);color:var(--ink);box-shadow:var(--shadow-overlay)}.room-merge-dialog::backdrop,.app-dialog::backdrop{background:var(--scrim)}.room-merge-dialog{max-width:28rem;padding:var(--space-4)}.room-merge-dialog h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.room-merge-options{gap:var(--space-2);margin:var(--space-3) 0;flex-direction:column;display:flex}.room-merge-options button{text-align:left}.room-merge-options small{color:var(--ink-muted);display:block}.app-dialog{white-space:normal;width:min(100% - 2rem,24rem);max-height:calc(100dvh - 2rem);padding:var(--space-5)}.confirm-dialog h2{overflow-wrap:anywhere}.shortcuts-dialog{width:min(100% - 2rem,40rem);padding:0}.shortcuts-dialog[open]{flex-direction:column;display:flex}.shortcuts-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--line-width) solid var(--line);display:flex}.shortcuts-dialog>.dialog-hint{padding:var(--space-2) var(--space-5) 0}.shortcuts-dialog__body{min-height:0;padding:var(--space-2) var(--space-5) var(--space-5);overflow-y:auto}.shortcuts-dialog h3{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);scroll-margin-top:var(--space-2)}.shortcut-list{border-top:var(--line-width) solid var(--line);margin:0}.shortcut-list__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:var(--line-width) solid var(--line);font-size:var(--text-sm);display:flex}.shortcut-list__row dd{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;flex:none;max-width:50%;margin:0;display:flex}kbd{padding:0 var(--space-1);border:var(--line-width) solid var(--line-control);border-radius:var(--radius-sm);background:var(--paper);font-size:var(--text-xs);white-space:nowrap}.app-dialog h2{font-size:var(--text-lg)}.app-dialog p{margin:0}.dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}@media (width<=767px){.app-dialog,.room-merge-dialog{width:calc(100% - var(--space-4) * 2);max-width:none;max-height:90dvh;padding:var(--space-4)}.shortcuts-dialog{padding:0}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.dialog-actions .dialog-link{align-self:center;margin:0}}.popover{max-width:calc(100vw - var(--space-4));max-height:calc(100dvh - 1rem);padding:var(--space-1);background:var(--paper-raised);color:var(--ink);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);box-shadow:var(--shadow-overlay);opacity:1;transition:opacity var(--duration-fast) var(--ease-out);margin:0;position:fixed;inset:auto;overflow:hidden auto}@starting-style{.popover:popover-open{opacity:0}}.menu{flex-direction:column;min-width:13rem}.menu:popover-open{display:flex}.menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);text-align:left;white-space:nowrap;background:0 0;border-color:#0000;display:flex}@media (hover:hover){.menu-item:hover:not(:disabled){border-color:#0000}}.menu-item:focus-visible{outline-offset:calc(-1 * var(--focus-width))}.menu-item__label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.menu-item:disabled{background:0 0;border-color:#0000}.menu-item__meta{margin-left:var(--space-3);color:var(--ink-muted);font-size:var(--text-sm)}.menu-item__check{visibility:hidden}.menu-item[aria-checked=true] .menu-item__check{visibility:visible}.level-menu .menu-item[aria-checked=true]{background:var(--seal-soft);color:var(--on-seal-soft)}.level-menu .menu-item[aria-checked=true] .menu-item__meta{color:inherit}.menu-group{border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.menu-label,.menu-title{padding:var(--space-2) var(--space-2) var(--space-1);margin:0}.menu-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.menu-title{max-width:18rem;font-weight:var(--weight-strong);white-space:normal;overflow-wrap:anywhere}.menu-item--danger{color:var(--danger)}.menu-note{max-width:16rem;margin:var(--space-1) var(--space-2);color:var(--ink-muted);font-size:var(--text-sm);white-space:normal}.menu-separator{width:100%;margin:var(--space-1) 0;border:0;border-top:var(--line-width) solid var(--line)}.user-menu-button{align-items:center;gap:var(--space-1);max-width:14rem;padding-inline:var(--space-2);display:inline-flex}.user-menu-button--compact{width:var(--control-h,2rem);justify-content:center;padding:0}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-chevron{color:var(--ink-muted);transition:transform var(--duration-base) var(--ease-out)}.user-menu-button[aria-expanded=true]{border-color:var(--ink)}.user-menu-button[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-panel{gap:var(--space-2);min-width:15rem;padding:var(--space-3);flex-direction:column}.user-menu-panel:popover-open{display:flex}.user-menu-email{margin:0 0 var(--space-1);color:var(--ink-muted);overflow-wrap:anywhere;flex-direction:column;display:flex}.user-menu-who{color:var(--ink);font-weight:var(--weight-strong)}.user-menu-item{min-height:2rem;padding:var(--space-1) var(--space-3);border:var(--line-width) solid var(--line-control);background:var(--paper-raised);color:var(--ink);text-align:left;align-items:center;text-decoration:none;display:flex}@media (hover:hover){a.user-menu-item:hover{background:var(--paper-sunken);border-color:var(--ink)}}.theme-picker{gap:var(--space-1);padding:var(--space-2) 0 0;border:0;border-top:var(--line-width) solid var(--line);flex-direction:column;margin:0;display:flex}.theme-picker legend{float:left;width:100%;margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.theme-picker .segmented button{text-align:center;flex:1}.dialog-link{align-self:center;margin-right:auto}.generated-password{gap:var(--space-2);display:flex}.generated-password-input{font-family:var(--font-mono);flex:1}.dialog-choice{gap:var(--space-2);padding:var(--space-3);border:var(--line-width) solid var(--line);border-radius:var(--radius-none);flex-direction:column;margin:0;display:flex}.dialog-choice legend{padding:0 var(--space-1)}.dialog-form .dialog-radio{align-items:center;gap:var(--space-2);flex-direction:row}.share-dialog{width:min(100% - 2rem,34rem)}.share-dialog h3{margin:var(--space-2) 0 0;font-size:var(--text-md)}.share-form{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.share-email{flex:14rem}.share-list{border-top:var(--line-width) solid var(--line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.share-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:var(--line-width) solid var(--line);display:flex}.share-person{flex-direction:column;flex:1;min-width:0;display:flex}.share-person small{color:var(--ink-muted);overflow-wrap:anywhere}.share-disabled{margin-left:var(--space-1)}
