:root{color-scheme:light;font-size:16px;--node-black:#000000;--node-sand:#ebe4d8;--surface-base:#ebe4d8;--surface-raised:#f3eee6;--surface-inset:#e0d8ca;--surface-ink:#000000;--surface-ink-raised:#17150f;--surface-shadow:rgb(162 156 138/30%);--scrim:rgba(0,0,0,0.55);--text-primary:#17150f;--text-secondary:#5c574b;--text-muted:#8a8375;--text-on-ink:#ebe4d8;--text-on-ink-muted:rgba(235,228,216,0.58);--text-on-accent:#ebe4d8;--line:rgba(23,21,15,0.14);--line-strong:rgba(23,21,15,0.30);--line-on-ink:rgba(235,228,216,0.16);--blueprint-line:rgba(235,228,216,0.72);--blueprint-fill:rgba(235,228,216,0.05);--layer-light:#d9a441;--layer-sound:#4e86b0;--layer-furniture:#2a8b53;--layer-art:#b0567e;--cal-task:#673ab7;--cal-happening:var(--text-secondary);--status-design:#7c7669;--status-sourcing:#b0863a;--status-fabrication:#c1673c;--status-delivered:#4e86b0;--status-installed:#6a5ba0;--status-tested:#3e8f8a;--status-complete:#4f8a52;--status-risk:#b23b3b;--status-warning:#c99a2e;--avatar-ab:var(--status-risk);--avatar-cd:var(--status-fabrication);--avatar-ef:var(--status-sourcing);--avatar-gh:var(--layer-light);--avatar-ij:#c8b830;--avatar-kl:#5e9e3a;--avatar-mn:var(--status-complete);--avatar-op:var(--status-tested);--avatar-qr:var(--layer-sound);--avatar-st:#3d5db5;--avatar-uv:var(--status-installed);--avatar-wx:#8b4dab;--avatar-yz:var(--layer-art);--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"General Sans",system-ui,-apple-system,sans-serif;--text-2xs:0.6875em;--text-xs:0.75em;--text-sm:0.8125em;--text-md:1em;--text-lg:1.25em;--text-xl:1.75em;--text-2xl:2.5em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading-tight:1.15;--leading-body:1.5;--tracking-caps:0.08em;--gap-xs:0.375em;--gap-sm:0.75em;--gap-md:1.25em;--gap-lg:2em;--gap-xl:3.5em;--radius-sm:0.25em;--radius-md:0.5em;--radius-lg:0.875em;--radius-pill:62.5em;--shadow-popover:0 0.5em 1.25em rgba(23,21,15,0.18);--shadow-panel:-0.5em 0 2.5em rgba(23,21,15,0.22);--shadow-modal:0 1.25em 4em rgba(0,0,0,0.35);--ease:cubic-bezier(0.2,0,0,1);--dur:160ms;--dur-panel:200ms;--icon-sm:1em;--icon-md:1.25em;--icon-lg:1.5em;--icon-xl:2.5em;--row-lead:1em;--topbar-h:3.5em;--panel-w:32em;--ruler-px:22px;--z-canvas:0;--z-chrome:10;--z-panel:20;--z-popover:100;--z-modal:1000;--z-dropdown:1050;--z-tooltip:1100}*,:after,:before{box-sizing:border-box}a,button{text-decoration:none}button{border-radius:var(--radius-pill)}.is-hidden{display:none!important}.stack{display:flex;flex-direction:column;gap:var(--gap-xs)}.wordmark-logo{display:inline-flex;align-items:center}.wordmark-logo svg{height:1em;width:auto;display:block}.wordmark-logo path{fill:var(--text-primary)}body,html{margin:0;padding:0}html{overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased}.display{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin:0}.display--xl{font-size:var(--text-2xl)}.display--lg,.display--md{font-size:var(--text-xl)}.display--sm{font-size:var(--text-lg)}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);margin:0}.label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.placeholder,.text-muted{color:var(--text-muted)}.placeholder{font-size:var(--text-sm)}.text-secondary{color:var(--text-secondary)}.sr-only{width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.icon-sprite,.sr-only{position:absolute}.icon{width:var(--icon-md);height:var(--icon-md);flex:0 0 auto;fill:currentColor;display:inline-block;vertical-align:middle}.icon--sm{width:var(--icon-sm);height:var(--icon-sm)}.icon--lg{width:var(--icon-lg);height:var(--icon-lg)}.btn{--btn-pad-y:1em;--btn-pad-x:1.75em;display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-xs);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;padding:var(--btn-pad-y) var(--btn-pad-x);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:focus-visible{outline:1px solid var(--text-muted)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--sm{--btn-pad-y:0.5em;--btn-pad-x:0.75em;font-size:var(--text-xs)}.btn--primary{background:var(--surface-ink);color:var(--text-on-accent)}.btn--primary:hover:not(:disabled){background:#322d22}.btn--secondary{border-color:var(--line-strong);color:var(--text-secondary)}.btn--secondary:hover:not(:disabled){background:var(--surface-inset)}.btn--ghost{color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-inset);color:var(--text-primary)}.btn--danger{background:var(--status-risk);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(.92)}.btn--icon{--btn-pad-x:0.75em;--btn-pad-y:0.75em}.btn--icon.btn--sm{--btn-pad-x:0.5em;--btn-pad-y:0.5em}.field{display:flex;flex-direction:column;gap:var(--gap-xs)}.field>.label{color:var(--text-secondary)}.field-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:calc(.25em - var(--gap-xs))}.field-hint--error{color:var(--status-risk)}.category-new{display:flex;align-items:center;gap:var(--gap-xs)}.category-new .input{flex:1 1;min-width:0}.category-cancel{color:var(--status-risk)}.category-cancel:hover:not(:disabled){background:color-mix(in srgb,var(--status-risk) 12%,transparent)}.input,.textarea{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:.75em;width:100%;transition:border-color .12s ease,background .12s ease}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.textarea:focus{outline:none;border-color:var(--text-primary);background:#fff;color:var(--node-black)}.input--sm{padding:.5em .75em;font-size:var(--text-xs)}.textarea{min-height:5em;resize:vertical;line-height:var(--leading-body)}.search{position:relative;display:flex;align-items:center}.search .icon{position:absolute;left:.75em;color:var(--text-muted);pointer-events:none}.search .input{padding-left:2.25em}.custom-select{position:relative;display:inline-grid;min-width:10em;vertical-align:middle}.custom-select-sizer{grid-area:1/1;height:0;overflow:hidden;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:0 calc(.75em + var(--gap-sm) + var(--icon-sm)) 0 .75em;white-space:nowrap;pointer-events:none;border:1px solid transparent}.custom-select-sizer span{display:block}.custom-select--sm .custom-select-sizer{font-size:var(--text-xs);padding:0 calc(.75em + var(--gap-sm) + var(--icon-sm)) 0 .75em}.custom-select-trigger{grid-area:1/1;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:.75em;width:100%;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,background .12s ease}.custom-select-trigger:hover{border-color:var(--text-muted)}.custom-select-trigger:focus-visible{outline:1px solid var(--text-muted)}.custom-select-trigger[aria-expanded=true]{border-color:var(--text-primary);background:#fff}.custom-select--sm .custom-select-trigger{padding:.5em .75em;font-size:var(--text-xs)}.custom-select-label{flex:1 1;text-align:left}.custom-select-arrow{color:var(--text-muted);transition:transform var(--dur) var(--ease)}.custom-select-trigger[aria-expanded=true] .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:fixed;left:var(--sel-x,0);top:var(--sel-y,0);min-width:var(--sel-w,auto);max-height:min(16em,var(--sel-max-h,16em));overflow-y:auto;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:.25em;z-index:var(--z-dropdown);display:flex;flex-direction:column;gap:.25em;animation:node-pop var(--dur) var(--ease)}.custom-select-option{display:block;width:100%;padding:.5em .75em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.custom-select-option--active,.custom-select-option:hover{background:var(--surface-inset)}.custom-select-option--active{font-weight:var(--weight-semibold)}.custom-select-option:disabled{color:var(--text-muted);cursor:default}.custom-select-option:disabled:hover{background:transparent}.custom-select-option--action{margin-top:.25em;padding-top:.75em;border-top:1px solid var(--line);border-radius:0;color:var(--text-secondary);font-weight:var(--weight-medium)}.custom-select--sm .custom-select-option{font-size:var(--text-xs);padding:.5em}.context-menu-scrim{inset:0}.context-menu,.context-menu-scrim{position:fixed;z-index:var(--z-dropdown)}.context-menu{left:var(--menu-x,0);top:var(--menu-y,0);min-width:12em;padding:.25em;display:flex;flex-direction:column;border:1px solid var(--line-on-ink);border-radius:var(--radius-md);background:var(--surface-ink-raised);box-shadow:var(--shadow-modal);animation:node-pop var(--dur) var(--ease)}.context-menu-item{display:block;width:100%;padding:.5em .75em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-on-ink);font:inherit;font-size:var(--text-sm);text-align:left;white-space:nowrap;cursor:pointer}.context-menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--text-on-ink) 12%,transparent)}.context-menu-item:disabled{color:var(--text-on-ink-muted);cursor:default}.context-menu-item--divided{margin-top:.25em;padding-top:.75em;border-top:1px solid var(--line-on-ink);border-radius:0}.context-menu-item--danger{color:var(--status-risk)}.context-menu-item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-risk) 20%,transparent)}.chip{gap:var(--gap-xs);padding:.5em .75em;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface-inset)}.chip,.tag{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary)}.tag{border:1px solid var(--line-strong);border-radius:var(--radius-lg)}.status-pill,.tag{gap:.5em;padding:.25em .75em}.status-pill{--pill:var(--status-design);display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;border-radius:var(--radius-pill);color:var(--pill);background:color-mix(in srgb,var(--pill) 14%,var(--surface-raised));border:1px solid color-mix(in srgb,var(--pill) 30%,transparent);white-space:nowrap}.status-pill:before{content:"";width:.75em;height:.75em;border-radius:50%;background:var(--pill);flex:0 0 auto}.status-pill--design{--pill:var(--status-design)}.status-pill--sourcing{--pill:var(--status-sourcing)}.status-pill--fabrication{--pill:var(--status-fabrication)}.status-pill--delivered{--pill:var(--status-delivered)}.status-pill--installed{--pill:var(--status-installed)}.status-pill--tested{--pill:var(--status-tested)}.status-pill--complete{--pill:var(--status-complete)}.status-pill--risk{--pill:var(--status-risk)}.status-pill--warning{--pill:var(--status-warning)}.avatar{--avatar-accent:var(--avatar-ab);position:relative;overflow:hidden;width:3em;height:3em;border-radius:50%;background:color-mix(in srgb,var(--avatar-accent) 15%,transparent);color:var(--avatar-accent);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.02em;flex:0 0 auto;border:2px solid var(--surface-base)}.avatar-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.avatar-img--loaded{opacity:1}.avatar-fab-trigger:hover,a.avatar:hover{transform:scale(1.06)}.avatar--sm{width:2.5em;height:2.5em;font-size:var(--text-xs)}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{margin-left:-.5em;border:2px solid var(--surface-raised)}.avatar-stack .avatar:first-child{margin-left:0}.avatar--more{background:var(--surface-inset);color:var(--text-secondary);font-size:var(--text-2xs)}.avatar-fab{position:relative;display:inline-flex}.avatar-fab-trigger{cursor:pointer}.avatar-fab-menu{position:absolute;top:calc(100% + .5em);right:0;min-width:12em;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:.5em;z-index:var(--z-popover);display:flex;flex-direction:column;gap:.25em;animation:node-pop var(--dur) var(--ease)}.avatar-fab-item{display:flex;align-items:center;gap:.5em;width:100%;padding:.5em .75em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);text-decoration:none;text-align:left;cursor:pointer}.avatar-fab-item:hover{background:var(--surface-inset);color:var(--text-primary)}.avatar-fab-item--current{background:var(--surface-raised);color:var(--text-primary)}.avatar-fab-divider{height:1px;background:var(--line);margin:.25em 0}.toolbar-spacer{flex:1 1}.delete-link{margin-top:var(--gap-md);align-self:flex-start;padding:0;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--status-risk);cursor:pointer}.delete-link:hover{text-decoration:underline}.text-link{padding:0;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.text-link:hover{color:var(--text-primary);text-decoration:underline}.modal-trash-link{margin-top:0;align-self:center;display:inline-flex;align-items:center;gap:.5em}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--gap-md)}.segmented{display:inline-flex;background:var(--surface-inset);border-radius:var(--radius-sm);border:1px solid var(--surface-inset)}.modal-body .segmented{align-self:flex-start}.segmented-item{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);padding:.5em 1em;border-radius:var(--radius-sm);border:1px solid var(--surface-inset)!important;border:0;background:transparent;cursor:pointer}header nav.segmented .segmented-item{font-size:var(--text-md);padding:.5em .75em}.segmented-item:hover:not(.segmented-item--active){background:var(--surface-base);color:var(--text-primary)}.segmented-item--active,.tooltip{background:var(--surface-raised);color:var(--text-primary)}.tooltip{position:fixed;left:var(--tip-x,-100vw);top:var(--tip-y,-100vh);padding:.25em .75em;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-sm);pointer-events:none;z-index:var(--z-tooltip)}.tooltip--left{translate:0 -50%}.hovercard{width:15em;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--gap-sm) var(--gap-md)}.hovercard-thumb{display:block;width:calc(100% + 2 * var(--gap-md));margin:calc(-1 * var(--gap-sm)) calc(-1 * var(--gap-md)) var(--gap-sm);aspect-ratio:16/9;object-fit:cover;background:var(--surface-inset);border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}.hovercard-title{font-weight:var(--weight-semibold);font-size:var(--text-sm);margin-bottom:.5em}.hovercard-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);font-size:var(--text-xs);color:var(--text-secondary);padding:.25em 0}.fab-picker{position:relative;display:inline-flex}.fab-picker-trigger{display:grid;place-items:center;width:1.75em;height:1.75em;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.fab-picker-trigger:hover{border-color:var(--text-primary);color:var(--text-primary)}.fab-picker-menu{position:absolute;top:calc(100% + .5em);right:0;min-width:13em;max-height:18em;overflow-y:auto;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:.5em;z-index:var(--z-popover);display:flex;flex-direction:column;gap:.25em;animation:node-pop var(--dur) var(--ease)}.fab-picker-option{display:flex;align-items:center;gap:var(--gap-sm);width:100%;padding:.5em;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.fab-picker-option:hover{background:var(--surface-inset)}.fab-picker-divider{height:1px;background:var(--line);margin:.25em 0}.modal-scrim{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--gap-lg)}.modal{width:min(34em,100%);max-height:90vh;background:var(--surface-base);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);overflow:visible;display:flex;flex-direction:column}.modal-header{display:flex;align-items:start;justify-content:space-between;padding:var(--gap-md);border-bottom:1px solid var(--line)}.modal-header>.display{min-width:0;overflow-wrap:anywhere}.modal-body{padding:var(--gap-md);display:flex;flex-direction:column;gap:var(--gap-md);overflow:auto;min-height:0}.modal--fields-row .modal-body{flex-direction:row}.modal--fields-row .modal-body>.field{flex:1 1;min-width:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-sm);padding:var(--gap-md);border-top:1px solid var(--line)}.modal-footer-start{margin-right:auto}.modal-footer .delete-link,.modal-footer .text-link{margin-top:0}.modal--ink{background:var(--surface-ink-raised);color:var(--text-on-ink)}.modal--compact{width:min(20em,100%)}.modal--ink .modal-footer,.modal--ink .modal-header{border-color:var(--line-on-ink)}.modal--ink .label{color:var(--text-on-ink)}.modal--ink .field-hint,.modal--ink .text-muted{color:var(--text-on-ink-muted)}.modal--ink .input{background:var(--surface-ink);border-color:var(--line-on-ink);color:var(--text-on-ink)}.modal--ink .input:disabled{opacity:.4;cursor:not-allowed}.modal--ink .btn--secondary{border-color:var(--line-on-ink);color:var(--text-on-ink)}.modal--ink .btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--text-on-ink) 12%,transparent)}.modal--ink .btn--primary{background:var(--text-on-ink);color:var(--surface-ink)}.modal--ink .btn--primary:hover:not(:disabled){background:#fff}.modal--ink .modal-header .btn,.modal--ink .modal-header .display{color:var(--text-on-ink)}.modal--ink .modal-header .btn:hover:not(:disabled){background:color-mix(in srgb,var(--text-on-ink) 12%,transparent)}.dialog-group{margin:0;padding:var(--gap-sm) var(--gap-sm) var(--gap-md);border:1px solid var(--line-on-ink);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--gap-sm)}.dialog-group-title{padding:0 .25em;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-on-ink-muted)}.dialog-field{display:grid;grid-template-columns:6em minmax(0,1fr);align-items:center;grid-gap:var(--gap-sm);gap:var(--gap-sm)}.dialog-field--indented{padding-left:1.75em;grid-template-columns:calc(6em - 1.75em) minmax(0,1fr)}.dialog-field-label{font-size:var(--text-sm);color:var(--text-on-ink);text-align:right}.dialog-field-control{display:flex;align-items:center;gap:var(--gap-xs)}.dialog-field-control .input{flex:1 1;min-width:0}.dialog-rule{width:100%;height:0;margin:0;border:0;border-top:1px solid var(--line-on-ink)}.angle-dial{width:1.75em;height:1.75em;flex:none;color:var(--text-on-ink-muted)}.angle-dial line{stroke-width:1.5}.dialog-radio{display:grid;grid-template-columns:1.25em auto minmax(0,1fr);align-items:center;grid-gap:var(--gap-xs);gap:var(--gap-xs);cursor:pointer}.dialog-radio>input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dialog-radio-dot{width:1.25em;height:1.25em;border:1.5px solid var(--line-on-ink);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center}.dialog-radio>input[type=radio]:checked+.dialog-radio-dot{border-color:var(--text-on-ink)}.dialog-radio>input[type=radio]:checked+.dialog-radio-dot:after{content:"";width:.5em;height:.5em;border-radius:var(--radius-pill);background:var(--text-on-ink)}.dialog-radio>input[type=radio]:focus-visible+.dialog-radio-dot{outline:2px solid var(--line-on-ink);outline-offset:2px}.dialog-radio-label{font-size:var(--text-sm);color:var(--text-on-ink)}.dialog-radio:not(:has(.dialog-radio-input)) .dialog-radio-label{grid-column:2/-1}.toggle-row{display:flex;align-items:center;gap:var(--gap-sm);min-height:2.25em;padding:.25em .5em;cursor:pointer}.toggle-row:hover{background:var(--surface-shadow)}.toggle-row-swatch{width:var(--row-lead);height:var(--row-lead);border-radius:.25em;flex:0 0 auto}.toggle-row-swatch[data-layer=light]{background:var(--layer-light)}.toggle-row-swatch[data-layer=sound]{background:var(--layer-sound)}.toggle-row-swatch[data-layer=furniture]{background:var(--layer-furniture)}.toggle-row-swatch[data-layer=art]{background:var(--layer-art)}.toggle-row-name{flex:1 1;font-size:var(--text-sm);font-weight:var(--weight-medium)}.toggle-row-actions{display:inline-flex;gap:.25em;color:var(--text-muted)}.toggle-row-actions .btn{color:inherit}.toggle-row--active{background:var(--surface-inset)}.toggle-row--active .toggle-row-name{color:var(--text-primary)}.toggle-row{transition:background var(--dur) var(--ease)}.segmented-item{transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.chip,.tag{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.avatar{transition:transform var(--dur) var(--ease)}.version-select{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.hovercard{animation:node-pop var(--dur) var(--ease)}.modal-scrim{animation:node-fade var(--dur) var(--ease)}.modal{animation:node-pop var(--dur-panel) var(--ease)}@keyframes node-fade{0%{opacity:0}to{opacity:1}}@keyframes node-pop{0%{opacity:0;transform:translateY(.5em) scale(.99)}to{opacity:1;transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--gap-sm);padding:var(--gap-xl) var(--gap-lg);color:var(--text-secondary);animation:node-pop var(--dur) var(--ease)}.empty-state-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-xl);line-height:var(--leading-tight);color:var(--text-primary)}.empty-state-body{max-width:26em;font-size:var(--text-md)}.empty-state-icon{width:var(--icon-xl);height:var(--icon-xl);color:var(--text-muted)}.checklist{gap:var(--gap-lg)}.checklist,.checklist-group{display:flex;flex-direction:column}.checklist-group{gap:var(--gap-sm)}.checklist-grouphead{display:flex;align-items:baseline;gap:var(--gap-sm)}.checklist-row{border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--gap-sm) var(--gap-md);display:flex;align-items:flex-start;gap:var(--gap-lg);transition:border-color var(--dur) var(--ease)}.checklist-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--gap-sm)}.checklist-meta{flex:0 0 13em;display:flex;flex-direction:column;align-items:end;gap:var(--gap-sm)}.checklist-row:hover{border-top-color:var(--line-strong);border-right-color:var(--line-strong);border-bottom-color:var(--line-strong)}.checklist-row[data-layer=light]{border-left-color:var(--layer-light)}.checklist-row[data-layer=sound]{border-left-color:var(--layer-sound)}.checklist-row[data-layer=furniture]{border-left-color:var(--layer-furniture)}.checklist-row[data-layer=art]{border-left-color:var(--layer-art)}.checklist-main{display:flex;align-items:center;gap:var(--gap-sm)}.checklist-name{font-weight:var(--weight-medium)}.checklist-due,.checklist-manager{font-size:var(--text-sm);color:var(--text-muted)}.checklist-manager{display:inline-flex;align-items:center;gap:var(--gap-xs)}.row-actions{display:flex;justify-content:end;gap:var(--gap-xs)}.mywork-sort{margin-left:auto}.checklist-sub{display:flex;flex-direction:column;gap:var(--gap-xs);padding-left:0}.checklist-step{display:flex;align-items:center;gap:var(--gap-xs)}.checklist-step-title{padding:0;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.checklist-step-title:hover{color:var(--text-primary);text-decoration:underline}.checklist-step-title--done{color:var(--text-muted);text-decoration:line-through}.checklist-name--link{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--weight-medium);cursor:pointer}.checklist-name--link:hover{text-decoration:underline}.checkbox{gap:var(--gap-xs);font-size:var(--text-sm);color:var(--text-secondary)}.checkbox,.checkbox-box{display:inline-flex;align-items:center}.checkbox-box{width:1.25em;height:1.25em;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);justify-content:center;flex:none}.checkbox-box svg{width:1em;height:1em;fill:var(--text-on-ink);opacity:0}.checkbox input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.checkbox input:checked+.checkbox-box{background:var(--text-primary);border-color:var(--text-primary)}.checkbox input:checked+.checkbox-box svg{opacity:1}.checkbox input:focus-visible+.checkbox-box{outline:2px solid var(--line-strong);outline-offset:2px}.checkbox{cursor:pointer;position:relative}.checkbox--done{color:var(--text-muted);text-decoration:line-through}.checkbox--done .checkbox-box{background:var(--status-complete);border-color:var(--status-complete)}.checkbox--done .checkbox-box svg{opacity:1}.unit-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden}.unit-switch-option{padding:.5em .75em;border:0;border-radius:0;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:1;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.unit-switch-option:hover{color:var(--text-primary)}.unit-switch-option.is-on{background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.unit-switch--field .unit-switch-option{flex:1 1;display:flex;align-items:center;justify-content:center;padding:0 1.5em}.unit-switch--on-ink{border-color:var(--line-on-ink)}.unit-switch--on-ink .unit-switch-option{color:var(--text-on-ink-muted)}.unit-switch--on-ink .unit-switch-option:hover{color:var(--text-on-ink)}.unit-switch--on-ink .unit-switch-option.is-on{background:color-mix(in srgb,var(--text-on-ink) 16%,transparent);color:var(--text-on-ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{position:relative;display:grid;grid-template-columns:18em 1fr;grid-template-rows:1fr;grid-template-areas:"sidebar main";height:100vh;padding-top:var(--topbar-h);overflow:hidden;transition:grid-template-columns var(--dur-panel) var(--ease)}.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:var(--gap-md);padding:0 var(--gap-md);height:var(--topbar-h);background:var(--surface-base);border-bottom:1px solid var(--line);z-index:100}.wordmark{font-family:var(--font-display);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.14em;font-size:var(--text-lg)}.topbar-project{display:flex;align-items:center;gap:var(--gap-sm);padding-left:var(--gap-md);border-left:1px solid var(--line)}.topbar-project a{color:var(--text-primary)}.topbar .avatar{width:2.5em;height:2.5em}.topbar .bell-wrap .btn--icon{width:2.5em;height:2.5em;border:1px solid var(--line);border-radius:50%}.version-select{display:inline-flex;align-items:center;gap:var(--gap-xs);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:.5em .75em;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);cursor:pointer}.version-wrap{position:relative}.version-menu{position:absolute;top:calc(100% + .5em);left:0;min-width:21em;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:.5em;z-index:var(--z-popover);display:flex;flex-direction:column;gap:.25em;animation:node-pop var(--dur) var(--ease)}.version-menu-note{padding:.5em .75em}.version-menu-row{display:flex;align-items:center;gap:.25em}.version-menu-row--active .version-menu-name{font-weight:var(--weight-semibold)}.version-menu-pick{flex:1 1;display:flex;align-items:center;gap:var(--gap-xs);padding:.5em;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.version-menu-pick:hover{background:var(--surface-inset)}.version-menu-check{width:1.25em;display:inline-flex}.version-menu-name{flex:1 1}.version-menu-tag{font-size:var(--text-2xs);color:var(--text-secondary);background:var(--surface-inset);border-radius:var(--radius-pill);padding:0 .5em;white-space:nowrap}.version-menu-new{display:flex;align-items:center;gap:var(--gap-xs);padding:.5em;margin-top:.25em;border:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer}.version-menu-new:hover{background:var(--surface-inset);color:var(--text-primary)}.sidebar{grid-area:sidebar;position:relative;background:var(--surface-base);border-right:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.sidebar-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:0 0 var(--gap-lg);transition:padding var(--dur-panel) var(--ease)}.sidebar-scroll,.sidebar-section{display:flex;flex-direction:column;gap:0}.sidebar-section{border-bottom:1px solid var(--line-strong);transition:opacity var(--dur) var(--ease)}.sidebar-section:last-child{border-bottom:0}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);width:100%;background:var(--surface-shadow)}.sidebar-heading-chevron{color:var(--text-muted);transition:transform var(--dur) var(--ease);transform:rotate(0deg)}.sidebar-heading-chevron--open{transform:rotate(90deg)}.sidebar-tablist{display:flex}.sidebar-heading-toggle,.sidebar-tab{display:flex;align-items:center;border:0;background:transparent;font:inherit;cursor:pointer}.sidebar-tab{padding:.5em;border-radius:0;color:inherit}.sidebar-tab .eyebrow{font-size:var(--text-2xs)}.sidebar-heading-toggle{padding:.5em .75em;color:var(--text-muted)}.sidebar-tab:hover .eyebrow{color:var(--text-primary)}.sidebar-heading-toggle:hover,.sidebar-tab:not(.sidebar-tab--current):hover{background:var(--surface-inset)}.sidebar-heading-toggle:hover{color:var(--text-primary)}.sidebar-tab--current{background:var(--node-sand)}.sidebar-tab--current .eyebrow{color:var(--text-primary)}.sidebar-section-body{padding:0}.sidebar-section-body,.sidebar-tabpanel{display:flex;flex-direction:column;gap:0}.sidebar-tabpanels{display:grid}.sidebar-tabpanels>.sidebar-tabpanel{grid-area:1/1}.sidebar-tabpanels>.sidebar-tabpanel[data-active=false]{visibility:hidden;pointer-events:none}.palette-shapes{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:.25em;gap:.25em;padding:.5em}.shape-btn{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer}.shape-btn:hover{border-color:var(--line-strong);color:var(--text-primary)}.shape-btn svg{width:1.25em;height:1.25em}.palette-list{display:flex;flex-direction:column;gap:0}.palette-item{display:flex;align-items:center;gap:var(--gap-xs);padding:.25em .5em;border:0;border-bottom:1px solid var(--line);border-left:4px solid transparent;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer}.palette-item:hover{background:var(--surface-inset)}.palette-item-glyph{width:1.5em;height:2em;display:grid;place-items:center;color:var(--text-secondary)}.palette-item-glyph svg{width:1em;height:1em}.palette-item-name{flex:1 1;font-size:var(--text-sm);font-weight:var(--weight-medium)}.palette-item-dim{font-size:var(--text-2xs);color:var(--text-muted)}.main{grid-area:main;position:relative;overflow:hidden}.blueprint{position:absolute;inset:0;background:var(--surface-ink);z-index:var(--z-canvas)}.canvas-controls{position:absolute;right:var(--gap-md);top:var(--gap-md);display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);z-index:var(--z-panel)}.canvas-controls .btn--icon{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text-secondary)}.canvas-controls .btn--icon:first-child{border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}.canvas-controls .btn--icon:last-child{border-bottom:0;border-radius:0 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px)}.canvas-controls .btn--icon:hover{background:var(--surface-inset);color:var(--text-primary)}.canvas-controls-tool+.btn:not(.canvas-controls-tool){margin-top:0}.canvas-controls-trash{position:relative}.canvas-controls-count{position:absolute;bottom:18px;right:0;min-width:1.25em;height:1.25em;padding:0 .5em;border-radius:var(--radius-pill);background:var(--surface-ink);color:var(--text-on-ink);font-size:var(--text-2xs);display:inline-flex;align-items:center;justify-content:center;line-height:1}.canvas-hovercard{position:absolute;top:0;left:0;transform:translate3d(var(--hover-x,-9999px),var(--hover-y,-9999px),0);z-index:var(--z-popover)}.hovercard-more{width:100%;margin-top:.75em}.detail-panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:var(--panel-w);background:var(--surface-base);border-left:1px solid var(--line-strong);z-index:var(--z-panel);display:flex;flex-direction:column;overflow:hidden}.detail-panel-header{padding:var(--gap-md);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:var(--gap-sm)}.detail-panel-back{display:flex;align-items:center;gap:var(--gap-xs);align-self:flex-start;padding:0;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.detail-panel-back:hover{color:var(--text-primary)}.detail-panel-headrow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-sm)}.detail-panel-trash{margin-left:auto;color:var(--text-muted)}.detail-panel-trash:hover:not(:disabled){color:var(--status-risk)}.group-member{display:flex;align-items:center;gap:var(--gap-xs);font-size:var(--text-sm)}.group-member-name{flex:1 1;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--weight-medium);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}button.group-member-name:hover{text-decoration:underline}.group-total{padding-top:var(--gap-xs);border-top:1px solid var(--line)}.group-total .meta-row-key,.group-total .meta-row-val{color:var(--text-primary);font-weight:var(--weight-medium)}.detail-panel-link{padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;text-decoration:underline;cursor:pointer}.detail-panel-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap-sm)}.detail-panel-titlerow h2{display:flex;align-items:center}.detail-panel-body{overflow-y:auto}.detail-section{border-bottom:1px solid var(--line)}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);padding:1em var(--gap-md)}.detail-section-head:hover{background:var(--surface-inset)}.detail-section-head .eyebrow{color:var(--text-secondary)}.detail-section-toggle{flex:1 1;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.detail-section-chevron{color:var(--text-muted);transition:transform var(--dur) var(--ease);transform:rotate(0deg)}.detail-section-chevron--open{transform:rotate(90deg)}.detail-section-body{padding:.25em var(--gap-md) var(--gap-md);display:flex;flex-direction:column;gap:var(--gap-sm)}.meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);font-size:var(--text-sm)}.meta-row-key{color:var(--text-muted)}.meta-row-val{color:var(--text-secondary)}.meta-row--stacked{flex-direction:column;align-items:stretch;gap:var(--gap-xs)}.meta-row--stacked .meta-row-val{display:flex;flex-direction:column;gap:var(--gap-xs)}.dimension-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--gap-xs)}.dimension-field{display:inline-flex;align-items:center;gap:.5em}.dimension-key{color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-medium)}.dimension-input{width:5.5em;text-align:right}.dimension-row--fill{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--gap-sm);gap:var(--gap-sm);justify-content:normal}.dimension-row--fill .dimension-field{display:flex}.dimension-row--fill .dimension-input{flex:1 1;width:auto;min-width:0;text-align:left}.dimension-row--fill.dimension-row--unit{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.dimension-row--unit>.unit-switch{align-self:stretch}.dimension-row--fill.dimension-row--shape{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}.dimension-row--shape>.unit-switch{align-self:stretch}.dimension-row--shape .custom-select{flex:1 1;min-width:0}.dimension-key--icon{display:flex;align-items:center;font-size:var(--text-sm);color:var(--text-muted)}.pipeline{display:flex;gap:.25em}.pipeline,.pipeline--design{--pill:var(--status-design)}.pipeline--sourcing{--pill:var(--status-sourcing)}.pipeline--fabrication{--pill:var(--status-fabrication)}.pipeline--delivered{--pill:var(--status-delivered)}.pipeline--installed{--pill:var(--status-installed)}.pipeline--tested{--pill:var(--status-tested)}.pipeline--complete{--pill:var(--status-complete)}.pipeline-step{flex:1 1;height:.5em;border-radius:var(--radius-pill);background:var(--surface-inset);transition:background var(--dur) var(--ease)}.pipeline-step--current,.pipeline-step--done{background:var(--pill)}.thumb-strip{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.thumb{width:3.5em;height:3.5em;border-radius:var(--radius-sm);background:var(--surface-inset);border:1px solid var(--line);display:grid;place-items:center;color:var(--text-muted);cursor:pointer;font:inherit}.detail-row{display:flex;align-items:stretch;gap:var(--gap-sm);padding:.75em;border:1px solid var(--line);font-size:var(--text-sm)}.detail-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.detail-row-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.25em}.detail-row-name{min-width:0;font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis}.detail-row-value{margin-right:.25em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-row-meta{color:var(--text-muted)}.detail-row-name--link{display:flex;align-items:center;gap:var(--gap-xs);padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:var(--weight-medium);text-align:left;cursor:pointer}.detail-row-name--link:hover{text-decoration:underline}.detail-row--done .detail-row-name{color:var(--text-muted);text-decoration:line-through}.detail-row-flag{margin-left:.5em;font-size:var(--text-2xs);padding:.25em .5em}.budget-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.cost-total{display:flex;align-items:baseline;justify-content:space-between;font-weight:var(--weight-semibold)}.cost-total-num{font-family:var(--font-display);font-size:var(--text-lg)}.board-grouphead{display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-sm)}.board-table{width:100%;border-collapse:collapse}.board-table th{text-align:left;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);padding:.5em .75em;cursor:pointer}.board-table td,.board-table th{border-bottom:1px solid var(--line)}.board-table td{padding:var(--gap-sm);vertical-align:middle;font-size:var(--text-sm)}.board-row-disclose{display:inline-flex;align-items:center;padding:0;margin-right:var(--gap-xs);border:0;background:transparent;color:var(--text-muted);cursor:pointer}.board-row-disclose:hover{color:var(--text-primary)}.board-row--member>td:first-child{padding-left:2.5em}.board-row--member>td{color:var(--text-secondary)}.board-table-actions{width:1%;text-align:right;white-space:nowrap}.board-table-actions .btn{vertical-align:middle}.board-table tr:hover td{background:var(--surface-raised)}.board-table th .icon{opacity:.6}.board-toolbar{display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-md);flex-wrap:wrap}.board-toolbar .eyebrow{margin-right:var(--gap-xs)}.board-table-name{font-weight:var(--weight-medium)}.board-table-name .avatar,.board-table-name .chip{vertical-align:middle}.board-table-name .layer-dot{margin-right:1em}.board-table-name .chip{margin-left:1em}.layer-dot{width:.75em;height:.75em;border-radius:.25em;display:inline-block;vertical-align:middle;margin-right:.5em}.layer-dot--light{background:var(--layer-light)}.layer-dot--sound{background:var(--layer-sound)}.layer-dot--furniture{background:var(--layer-furniture)}.layer-dot--art{background:var(--layer-art)}.help-panel{width:min(28em,100vw)}.help-panel-header{align-items:center;justify-content:space-between;padding:var(--gap-md)}.help-panel-header,.help-panel-tabs{display:flex;border-bottom:1px solid var(--line)}.help-panel-tabs{gap:.25em;padding:0 var(--gap-md)}.help-panel-tab{all:unset;cursor:pointer;padding:.5em .75em;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.help-panel-tab--active,.help-panel-tab:hover{color:var(--text-primary)}.help-panel-tab--active{border-bottom-color:var(--text-primary)}.help-panel-body{flex:1 1;overflow-y:auto;padding:var(--gap-md) var(--gap-md) var(--gap-xl);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--gap-md)}.help-section-heading{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);margin-bottom:var(--gap-xs)}.help-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5em}.help-section-list li{color:var(--text-secondary);line-height:var(--leading-body);padding-left:1em;text-indent:-1em}.help-section-list li:before{content:"·";margin-right:.5em;color:var(--text-muted)}.help-btn{flex-shrink:0}.route-loading{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}.route-error,.route-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted)}.route-error{flex-direction:column;gap:var(--gap-md);text-align:center}.route-error h1{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.route-error p{max-width:30em}.guide{max-width:60em;margin:0 auto;padding:var(--gap-xl) var(--gap-lg)}.swatch{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line)}.sidebar-rail-toggle{display:flex;align-items:center;gap:var(--gap-xs);flex:0 0 auto;padding:.75em var(--gap-sm);border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer}.sidebar-rail-toggle:hover{background:var(--surface-inset);color:var(--text-primary)}.palette-fab{display:none;align-items:center;justify-content:center;gap:var(--gap-xs);width:100%;padding:.5em;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer}.palette-fab:hover{color:var(--text-primary)}.floating-palette{position:absolute;left:5.75em;top:5.5em;width:15em;z-index:var(--z-popover);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--gap-sm);display:flex;flex-direction:column;gap:var(--gap-sm)}.floating-palette-head{display:flex;align-items:center;justify-content:space-between;flex:none}.floating-palette{max-height:calc(100% - 7em)}.floating-palette-body{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--gap-sm)}.app--rail{grid-template-columns:3.25em 1fr}.app--rail .sidebar-scroll{padding:var(--gap-md) .5em}.app--rail .sidebar-section-body{padding-left:0;padding-right:0}.app--rail .sidebar-section{border:none}.app--rail .sidebar-rail-toggle{justify-content:center;padding:.75em 0}.app--rail .sidebar-rail-toggle span{display:none}.app--rail .toggle-row{justify-content:center;min-height:2em;padding:.5em 0}.app--rail .toggle-row-main{flex:0 0 auto;justify-content:center}.app--rail .toggle-row-actions,.app--rail .toggle-row-name{display:none}.app--rail .toggle-row-swatch{width:1em;height:1em}.app--rail .palette-inline{display:none}.app--rail .palette-fab{display:flex;padding:.5em 0}.app--rail .palette-fab span{display:none}.timeline{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:var(--gap-lg) 0;background:var(--surface-base)}.gantt-scroll{overflow-x:auto;overflow-y:hidden}.gantt{--gantt-day-w:1.25em;--gantt-name-w:15em;display:grid;width:max-content;min-width:100%}.gantt-row{display:grid;grid-template-columns:var(--gantt-name-w) calc(var(--days) * var(--gantt-day-w));align-items:center;border-bottom:1px solid var(--line)}.gantt-body .gantt-row:hover{background:var(--surface-raised)}.gantt-name{position:-webkit-sticky;position:sticky;left:0;z-index:2;display:flex;align-items:center;align-self:stretch;gap:.5em;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:1em;background:var(--surface-base);border-radius:0;border-right:1px solid var(--line-strong)!important}.gantt-body .gantt-row:hover .gantt-name{background:var(--surface-raised)}.gantt-name--head,.gantt-row--rail .gantt-name{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.gantt-name--link{border:0;font-weight:var(--weight-medium);color:inherit;text-align:left;cursor:pointer}.gantt-name--link:hover{color:var(--text-primary)}.gantt-plot{position:relative;width:calc(var(--days) * var(--gantt-day-w));min-height:2em;background-image:repeating-linear-gradient(to right,var(--line-strong) 0 1px,transparent 1px calc(var(--gantt-day-w) * 7)),repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px var(--gantt-day-w))}.gantt-plot--head{background-image:none}.gantt-weekhead{bottom:0;width:calc(100% * 7 / var(--days));font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary);padding:.5em 0 .5em .5em;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.gantt-bar,.gantt-weekhead{position:absolute;left:calc(100% * var(--col) / var(--days));white-space:nowrap;overflow:hidden}.gantt-bar{--pill:var(--text-primary);top:50%;transform:translateY(-50%);width:calc(100% * var(--span) / var(--days));min-width:0;text-overflow:ellipsis;font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:.5em .75em;border-radius:var(--radius-pill);color:var(--pill);background:color-mix(in srgb,var(--pill) 20%,var(--surface-raised));border:1px solid color-mix(in srgb,var(--pill) 40%,transparent)}.gantt-bar--grab{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gantt-bar--grab:active{cursor:-webkit-grabbing;cursor:grabbing}.gantt-bar--ghost{opacity:.55;border-style:dashed}.gantt-bar--risk{box-shadow:0 0 0 1.5px var(--status-risk)}.gantt-risk{font-size:var(--text-2xs);padding:.25em .5em;background:color-mix(in srgb,var(--status-risk) 12%,var(--surface-raised));border:1px solid color-mix(in srgb,var(--status-risk) 35%,transparent);white-space:nowrap}.gantt-risk,.gantt-risk-note{font-weight:var(--weight-semibold);color:var(--status-risk)}.gantt-crew{position:absolute;top:50%;transform:translateY(-50%);left:calc(100% * var(--col) / var(--days));margin-left:.5em;line-height:0}.gantt-crew .avatar{box-shadow:0 0 0 1.5px var(--surface-base)}.gantt-toggle[aria-pressed=false]{color:var(--status-risk);border-color:color-mix(in srgb,var(--status-risk) 55%,transparent);background:color-mix(in srgb,var(--status-risk) 12%,transparent);font-weight:var(--weight-semibold)}.gantt-toggle[aria-pressed=false]:hover:not(:disabled){background:color-mix(in srgb,var(--status-risk) 20%,transparent)}.gantt-handle{position:absolute;top:0;bottom:0;width:.75em;cursor:ew-resize;touch-action:none;opacity:0;background:color-mix(in srgb,var(--pill) 65%,transparent)}.gantt-handle--start{left:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.gantt-handle--end{right:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0}.gantt-bar:hover .gantt-handle,.gantt-handle:active{opacity:1}.gantt-bar.gantt-bar--design{--pill:var(--status-design)}.gantt-bar.gantt-bar--sourcing{--pill:var(--status-sourcing)}.gantt-bar.gantt-bar--fabrication{--pill:var(--status-fabrication)}.gantt-bar.gantt-bar--delivered{--pill:var(--status-delivered)}.gantt-bar.gantt-bar--installed{--pill:var(--status-installed)}.gantt-bar.gantt-bar--tested{--pill:var(--status-tested)}.gantt-bar.gantt-bar--complete{--pill:var(--status-complete)}.gantt-body{position:relative;display:grid}.gantt-pin{position:absolute;top:50%;transform:translateY(-50%);left:calc(100% * var(--col) / var(--days));display:inline-flex;align-items:center;padding:.25em 0 .25em .5em;border-left:2px solid var(--status-risk);font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--status-risk);white-space:nowrap;pointer-events:none}.gantt-pin--today{border-left-color:var(--text-primary);color:var(--text-primary)}.gantt-rules{position:absolute;top:0;bottom:0;left:var(--gantt-name-w);right:0;display:grid;grid-template-columns:repeat(var(--days),var(--gantt-day-w));pointer-events:none;z-index:1}.gantt-rule{grid-column:calc(var(--col) + 1);grid-row:1;width:2px;height:100%;background:var(--status-risk);opacity:.55}.gantt-rule--today{background:var(--text-primary);opacity:.35}.gantt-card{position:fixed;top:var(--card-y,-9999px);left:var(--card-x,-9999px);z-index:var(--z-popover)}.gantt-card .hovercard-title{display:flex;align-items:center;gap:.5em}.gantt-card .hovercard-more{display:flex;gap:var(--gap-xs)}.gantt-range{font-size:var(--text-xs)}.calendar-dow{display:flex;align-items:center;flex-wrap:wrap;gap:.5em;min-width:0;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);padding:.75em;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-raised)}.cal-cell{min-height:7em;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:.5em;display:flex;flex-direction:column;gap:.5em}.cal-cell--empty{background:var(--surface-inset)}.cal-date{font-size:var(--text-xs);color:var(--text-muted);background:none;border:0;padding:0;font-family:inherit;text-align:left;width:-moz-fit-content;width:fit-content;cursor:pointer}.cal-date:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:.25em}.cal-cell--key{background:color-mix(in srgb,var(--status-risk) 6%,var(--surface-base))}.cal-cell--key .cal-date{color:var(--text-primary);font-weight:var(--weight-semibold)}.cal-cell-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5em;min-width:0}.cal-cell-head .cal-event{flex:0 1 auto}.cal-event{--pill:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:.25em .5em;border-radius:var(--radius-sm);color:var(--pill);background:color-mix(in srgb,var(--pill) 15%,var(--surface-raised));border-left:2px solid var(--pill)}.cal-event--milestone{--pill:var(--status-risk)}.cal-event--task{--pill:var(--cal-task)}.cal-event--happening{--pill:var(--cal-happening)}.cal-event--done{opacity:.55;text-decoration:line-through}.cal-event--active{background:color-mix(in srgb,var(--pill) 42%,var(--surface-raised));box-shadow:inset 0 0 0 1px var(--pill)}.cal-event--more{background:none;border:0;border-left:2px solid transparent;padding:.25em .5em;font:inherit;font-size:var(--text-2xs);color:var(--text-muted);text-align:left;cursor:pointer}.cal-event--more:hover{color:var(--text-primary)}.cal-event--foreign{--pill:var(--text-muted);background:color-mix(in srgb,var(--pill) 8%,var(--surface-raised));border-left-style:dashed;color:var(--text-secondary)}.cal-cell--conflict{background:color-mix(in srgb,var(--status-sourcing) 14%,var(--surface-base))}.mini-day--conflict{background:color-mix(in srgb,var(--status-sourcing) 32%,var(--surface-raised));color:var(--text-primary)}.cal-cell--drop{outline:2px dashed var(--text-secondary);outline-offset:-2px}.cal-card{position:absolute;top:var(--card-y,-9999px);left:var(--card-x,-9999px);z-index:var(--z-popover)}.cal-card .hovercard-more{display:flex;gap:var(--gap-xs)}.cal-card .avatar-stack{margin-top:.25em}.avatar-pick-row{display:flex;gap:.5em;flex-wrap:wrap}.avatar-pick{border:0;padding:0;background:none;border-radius:50%;cursor:pointer;opacity:.5}.avatar-pick.is-selected{opacity:1;box-shadow:0 0 0 2px var(--text-primary)}.cal-event--action{border:0;border-left:2px solid var(--pill);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-2xs);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.cal-event--action:hover{background:color-mix(in srgb,var(--pill) 30%,var(--surface-raised))}.calendar-dow .cal-event{text-transform:none;letter-spacing:normal}.cal-cell--today .cal-date,.calendar-dow--today{color:var(--text-primary);font-weight:var(--weight-semibold);background:var(--surface-raised)}.cal-panel-notes{margin-top:var(--gap-sm);white-space:pre-wrap}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.lightbox-close{position:fixed;top:var(--gap-md);right:var(--gap-md);color:var(--text-on-ink)}.lightbox-stage{position:relative;width:min(60em,88vw);display:flex;flex-direction:column;align-items:center;gap:var(--gap-md)}.lightbox-img{width:100%;height:92vh;border-radius:var(--radius-md);background:none;display:grid;place-items:center;color:var(--text-secondary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-lg)}.lightbox-arrow{position:absolute;top:37vh;width:2.75em;height:2.75em;border-radius:50%;border:0;background:var(--surface-raised);color:var(--text-primary);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-popover)}.lightbox-arrow--prev{left:-1.5em}.lightbox-arrow--next{right:-1.5em}.lightbox-counter{color:var(--text-on-ink-muted);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase}.lightbox{animation:node-fade var(--dur) var(--ease)}.lightbox-img{animation:node-pop var(--dur-panel) var(--ease)}