: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;--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;--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}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))}.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--sm .custom-select-option{font-size:var(--text-xs);padding:.5em}.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{position:relative;overflow:hidden;width:3em;height:3em;border-radius:50%;background:var(--surface-ink);color:var(--text-on-ink);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}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)}.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}.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);translate:-50% 0;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)}.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-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}.toggle-row{display:flex;align-items:center;gap:var(--gap-sm);min-height:2.25em;padding:.25em .5em;border-radius:var(--radius-sm);cursor:pointer}.toggle-row:hover{background:var(--surface-inset)}.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)}.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--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-count{color:var(--text-muted)}.version-menu-count,.version-menu-tag{font-size:var(--text-2xs);white-space:nowrap}.version-menu-tag{color:var(--text-secondary);background:var(--surface-inset);border-radius:var(--radius-pill);padding:0 .5em}.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;border-radius:var(--radius-sm);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:.5em}.sidebar-section-body,.sidebar-tabpanel{display:flex;flex-direction:column;gap:var(--gap-xs)}.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:.5em;gap:.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:.25em}.palette-item{display:flex;align-items:center;gap:var(--gap-xs);padding:.5em .75em;border:1px solid var(--line);border-left:2px solid transparent;border-radius:var(--radius-sm);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);bottom:var(--gap-md);display:flex;flex-direction:column;gap:.5em;z-index:var(--z-panel)}.canvas-controls .btn--icon{background:var(--surface-raised);border:1px solid var(--line);color:var(--text-secondary)}.canvas-controls .btn--icon:hover{color:var(--text-primary)}.canvas-controls-note{margin-bottom:.5em}.canvas-controls-trash{position:relative;margin-top:.5em}.canvas-controls-count{position:absolute;top:-.25em;right:-.25em;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);font-weight:var(--weight-semibold);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}.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{display:flex;align-items:center;justify-content:space-between;padding:var(--gap-md);border-bottom:1px solid var(--line)}.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}.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)}.detail-panel{transform:translateX(100%);opacity:0;pointer-events:none;transition:transform var(--dur-panel) var(--ease),opacity var(--dur-panel) var(--ease)}.detail-panel.is-open{transform:translateX(0);opacity:1;pointer-events:auto;box-shadow:var(--shadow-panel)}.floating-palette:not(.is-hidden){animation:node-slide-left var(--dur) var(--ease)}@keyframes node-slide-left{0%{opacity:0;transform:translateX(.75em)}to{opacity:1;transform:none}}.board-table td,.board-table th,.cal-cell,.canvas-controls .btn--icon,.gantt-row,.palette-fab,.palette-item,.shape-btn,.sidebar-heading,.sidebar-rail-toggle,.thumb{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.palette-item--unplaced{opacity:.5}.palette-item--unplaced .palette-item-dim{font-style:italic}.board-table .th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.board-table .th-sortable.is-sorted,.board-table th.is-sorted{color:var(--text-primary)}.app-flat{display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.app-flat>.buildplan,.app-flat>.console{flex:1 1 auto;min-height:0;overflow:auto}.buildplan,.calendar{display:flex;flex-direction:column;gap:var(--gap-md);overflow:hidden;flex:1 1 auto;min-height:0;padding:calc(var(--gap-lg) + var(--topbar-h)) var(--gap-lg) var(--gap-lg);background:var(--surface-base)}.cal-toolbar{display:flex;align-items:center;gap:var(--gap-sm);flex-wrap:wrap}.cal-toolbar .input{width:auto}.cal-nav{display:flex;align-items:center;gap:var(--gap-sm)}.cal-nav h2{min-width:7em}.cal-views{position:relative}.cal-view,.cal-views{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.cal-view.is-hidden{display:none}.cal-view--month{display:flex;flex-direction:column}.calendar-body,.calendar-head{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-body{flex:1 1;min-height:0;grid-auto-rows:1fr;border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}.calendar-body .cal-cell{min-height:0}.calendar-body--rows{--cal-week-h:8.5em;display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(var(--cal-week-h),1fr)}.cal-week-row{min-height:0;position:relative;display:grid;grid-template-columns:repeat(7,1fr);--cal-lane-h:1.75em;--cal-date-line:2em}.cal-week-row--milestones{--cal-date-line:3.5em}.cal-bar-lanes{position:absolute;left:0;right:0;top:var(--cal-date-line);display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:calc(var(--cal-lane-h) - 2px);grid-gap:2px;gap:2px;padding:0 2px;pointer-events:none}.cal-bar-lanes .cal-bar{pointer-events:auto}.cal-cell-items{display:flex;flex-direction:column;gap:.5em;min-height:0;padding-top:calc(var(--lanes, 0) * var(--cal-lane-h))}.cal-bar{--pill:var(--text-primary);grid-column:calc(var(--bar-col, 0) + 1) /span var(--bar-span,1);grid-row:calc(var(--bar-lane, 0) + 1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:.25em .5em;border:0;border-left:3px solid var(--pill);border-radius:var(--radius-sm);color:var(--pill);background:color-mix(in srgb,var(--pill) 22%,var(--surface-raised));cursor:pointer}.cal-bar--clip-start{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.cal-bar--clip-end{border-top-right-radius:0;border-bottom-right-radius:0}.cal-bar--more{--pill:var(--text-muted);border-left-style:dashed;background:color-mix(in srgb,#000000 10%,var(--surface-raised));color:var(--text-secondary)}.cal-bar--active{background:color-mix(in srgb,var(--pill) 42%,var(--surface-raised));box-shadow:inset 0 0 0 1px var(--pill)}.cal-bar--art{--pill:var(--layer-art)}.cal-bar--light{--pill:var(--layer-light)}.cal-bar--sound{--pill:var(--layer-sound)}.cal-bar--furniture{--pill:var(--layer-furniture)}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}.cal-week--cols{flex:1 1;min-height:0;border-top:0;position:relative;--cal-lane-h:1.75em}.cal-week-bars{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:calc(var(--cal-lane-h) - 2px);grid-gap:2px;gap:2px;padding:2px;pointer-events:none}.cal-week-bars .cal-bar{pointer-events:auto}.cal-week-col{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:.5em;padding-top:calc(.5em + var(--lanes, 0) * var(--cal-lane-h));display:flex;flex-direction:column;gap:.5em}.cal-week-col--key{background:color-mix(in srgb,var(--status-risk) 6%,var(--surface-base))}.cal-year{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--gap-lg);gap:var(--gap-lg);align-content:start}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.25em;gap:.25em;margin-top:var(--gap-sm)}.mini-dow{color:var(--text-muted);text-align:center;padding-bottom:.25em}.mini-day,.mini-dow{font-size:var(--text-2xs)}.mini-day{aspect-ratio:1;display:grid;place-items:center;font-family:inherit;color:var(--text-secondary);border:0;background:none;padding:0;cursor:pointer;border-radius:var(--radius-sm)}.mini-day--muted{opacity:.35}.mini-day--event{background:color-mix(in srgb,var(--status-risk) 18%,var(--surface-raised));color:var(--text-primary);font-weight:var(--weight-semibold)}.mini-day--key{background:color-mix(in srgb,var(--status-risk) 42%,var(--surface-raised));box-shadow:inset 0 0 0 1px var(--status-risk)}.console{width:100%;max-width:96em;margin:0 auto;padding:calc(var(--gap-xl) + var(--topbar-h)) var(--gap-lg) var(--gap-xl);display:flex;flex-direction:column;gap:var(--gap-xl)}.console--slim{max-width:72em}.console-title{margin-bottom:calc(-1 * var(--gap-sm))}.console-section{gap:var(--gap-md)}.console-section,.settings-form{display:flex;flex-direction:column}.settings-form{gap:var(--gap-sm);max-width:56em}.usage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--gap-xs)}.usage-list li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-md);padding:.5em .75em;border-radius:var(--radius-sm);background:var(--surface-inset);font-size:var(--text-sm)}.usage-list-name{font-weight:var(--weight-medium)}.account{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--gap-lg);gap:var(--gap-lg);align-items:start}.avatar--xl{width:5em;height:5em;font-size:var(--text-lg);border-width:0}.account-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--gap-sm)}.avatar--upload{cursor:pointer;overflow:hidden}.avatar--upload:hover{transform:scale(1.03)}.avatar--upload input{display:none}.account-avatar-hint{font-size:var(--text-2xs);color:var(--text-muted);text-align:center;max-width:6em}.account-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap-md);gap:var(--gap-md)}.account-fields--3{grid-template-columns:repeat(3,1fr)}.account-fields .field--wide{grid-column:1/-1}.account-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:var(--gap-xs)}.address-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap-sm);gap:var(--gap-sm)}.address-grid+.address-grid{margin-top:var(--gap-sm)}.address-grid--3{grid-template-columns:2fr 1fr 1fr}.access-chips{display:flex;flex-wrap:wrap;gap:.5em}.access-chips .chip,.access-chips .tag{cursor:pointer}.console-note{font-size:var(--text-sm);color:var(--text-secondary)}.remove-vocab-choice{display:flex;align-items:flex-start;gap:.5em;padding:.5em 0;font-size:var(--text-sm);cursor:pointer}.remove-vocab-choice input{margin-top:.25em;flex:0 0 auto}.remove-vocab-choice input:disabled{cursor:not-allowed}.remove-vocab-choice input:disabled+span{color:var(--text-muted)}.invite-link-row{display:flex;align-items:center;gap:.5em}.invite-link-row .input{flex:1 1;font-size:var(--text-sm)}.invite-link-note{font-size:var(--text-2xs);color:var(--text-secondary);margin:0}.invite-link-actions{display:flex;align-items:center;gap:.5em}.invite-link-failed{font-size:var(--text-2xs);color:var(--status-risk)}.deactivated-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:.5em;padding:.5em .75em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.deactivated-toggle:hover{background:var(--surface-inset);color:var(--text-primary)}.deactivated-toggle-chevron{color:var(--text-muted);transition:transform var(--dur) var(--ease)}.deactivated-toggle-chevron.is-open{transform:rotate(90deg)}.console-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);margin-bottom:var(--gap-sm)}