.home{display:flex;flex-direction:column;min-height:100vh;overflow:auto}.home-hero{flex:1 1;display:flex;flex-direction:column;gap:var(--gap-lg);padding:calc(var(--gap-xl) + var(--topbar-h)) var(--gap-xl) var(--gap-xl);width:100%;max-width:96em;margin:0 auto}.home-head{text-align:left}.home-toolbar{display:flex;align-items:center;gap:var(--gap-sm);flex-wrap:wrap}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18em,1fr));grid-gap:var(--gap-md);gap:var(--gap-md)}@media (min-width:68em){.project-grid{grid-template-columns:repeat(3,1fr)}}.project-card{display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);position:relative}.project-card--open{cursor:pointer}.project-card--open:hover{transform:translateY(-2px);box-shadow:var(--shadow-popover)}.project-card--current,.project-card--open:hover{border-color:var(--line-strong)}.project-thumb{position:relative;aspect-ratio:16/9;background:var(--surface-inset);overflow:hidden}.project-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur) var(--ease)}.project-thumb-img--loaded{opacity:1}.project-card-body{display:flex;flex-direction:column;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-md) var(--gap-md)}.project-card-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-lg);display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:0}.project-card-pin{text-transform:none;letter-spacing:0;font-size:var(--text-2xs);position:absolute;top:.5em;left:.5em;background:var(--node-sand)}.project-card-pin-btn{position:absolute;top:.5em;right:.5em;z-index:1;display:inline-grid;place-items:center;width:2em;height:2em;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-base) 82%,transparent);color:var(--text-secondary);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.project-card-pin-btn:hover{background:var(--surface-base);color:var(--text-primary)}.project-card-pin-btn.is-pinned{color:var(--node-black)}.project-row .project-card-pin-btn{position:static;background:transparent}.project-row .project-card-pin-btn.is-pinned{color:var(--node-black)}.project-card-meta{display:grid;grid-template-columns:auto 1fr;grid-gap:.25em var(--gap-sm);gap:.25em var(--gap-sm);font-size:var(--text-sm)}.project-card-key{color:var(--text-muted)}.project-card-val{color:var(--text-secondary);text-align:right}.project-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:var(--gap-xs)}.project-card-nocrew{font-size:var(--text-xs)}.project-card--create .project-card-create-art{display:grid;place-items:center;aspect-ratio:16/9;background:var(--surface-inset);color:var(--text-muted)}.project-card--create .project-card-create-art svg{width:2.5em;height:2.5em;fill:currentColor}.project-card-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5em}.link-btn{display:inline-flex;align-items:center;gap:.5em;border:0;background:transparent;padding:0;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.link-btn-play{color:var(--text-muted);flex:none}.link-btn:hover .link-btn-play{color:var(--text-primary)}.link-btn:hover{text-decoration:underline}.project-list{display:flex;flex-direction:column;gap:var(--gap-xs)}.project-row{display:grid;grid-template-columns:4em 1.4fr 1fr 1fr 1fr auto auto;align-items:center;grid-gap:var(--gap-md);gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color var(--dur) var(--ease)}.project-row--open{cursor:pointer}.project-row--current,.project-row--open:hover{border-color:var(--line-strong)}.project-row--create{grid-template-columns:4em 1fr}.project-row--create .project-card-create-art,.project-row-thumb{aspect-ratio:16/9;border-radius:var(--radius-sm)}.project-row-thumb{width:4em;overflow:hidden}.project-row-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-md);display:flex;align-items:center;gap:var(--gap-sm)}.project-row-cell{font-size:var(--text-sm);color:var(--text-secondary)}.thumb-upload{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--surface-inset);overflow:hidden;cursor:pointer;margin-bottom:var(--gap-md)}.thumb-upload input{display:none}.thumb-upload-img{width:100%;height:100%;object-fit:cover;display:block}.thumb-upload-hint{position:absolute;inset:0;display:grid;place-items:center;align-content:center;grid-gap:.5em;gap:.5em;color:var(--text-muted);font-size:var(--text-sm)}.thumb-upload-hint svg{width:1.5em;height:1.5em;fill:currentColor}.object-thumb{display:inline-flex;width:1.5em;height:1.5em;vertical-align:middle;margin-right:.5em;color:var(--text-secondary)}.object-thumb svg{width:100%;height:100%}.shape-pick{display:flex;gap:.5em;flex-wrap:wrap}.shape-pick-item{width:2.75em;height:2.75em;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;padding:.5em}.shape-pick-item svg{width:100%;height:100%}.shape-pick-item.is-selected{border-color:var(--text-primary);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--text-primary)}.svg-drop{display:grid;place-items:center;min-height:8em;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-inset);cursor:pointer;padding:var(--gap-sm)}.svg-drop input{display:none}.svg-drop-preview{width:7em;height:7em;color:var(--text-primary)}.media-layout{display:grid;grid-template-columns:15em 1fr;grid-gap:var(--gap-lg);gap:var(--gap-lg);align-items:start}.media-content{gap:var(--gap-md);min-width:0}.media-content,.media-folders{display:flex;flex-direction:column}.media-folders{gap:.25em}.media-folder{display:flex;align-items:center;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease)}.media-folder--active,.media-folder:hover{background:var(--surface-inset)}.media-folder--active .media-folder-btn{color:var(--text-primary);font-weight:var(--weight-semibold)}.media-folder--drop{outline:2px dashed var(--text-secondary);outline-offset:-2px}.media-folder--sub{margin-left:1.5em}.media-folder-btn{flex:1 1;min-width:0;display:flex;align-items:center;gap:.5em;padding:.5em;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--text-secondary);text-align:left;cursor:pointer}.media-folder-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-folder-count{font-size:var(--text-2xs);color:var(--text-muted)}.media-folder-tools{display:none;align-items:center}.media-folder-add,.media-folder:hover .media-folder-tools{display:inline-flex}.media-folder-add{align-items:center;gap:.5em;margin-top:var(--gap-sm);padding:.5em;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.media-folder-add:hover{background:var(--surface-inset);color:var(--text-primary)}.media-bulkbar{display:flex;align-items:center;gap:var(--gap-sm);padding:.5em .75em;background:var(--surface-inset);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.media-bulkbar .input{width:auto}.media-row--picked td{background:var(--surface-inset)}.media-actions{display:flex;align-items:center;gap:var(--gap-md);margin-top:auto;padding-top:var(--gap-md)}.media-actions .delete-link{margin-top:0;margin-right:auto}.media-action-link{padding:0;border:0;background:none;font:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.media-action-link:hover{text-decoration:underline;color:var(--text-primary)}.media-search .input{width:16em}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7em,1fr));grid-gap:var(--gap-md);gap:var(--gap-md)}.media-card{display:flex;flex-direction:column;gap:.5em;padding:0;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer;text-align:left;font:inherit;color:inherit;min-width:0}.media-card:focus-visible{outline:1px solid var(--text-muted);outline-offset:2px}.media-card-img{width:100%;aspect-ratio:2/2;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-inset);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.media-card:hover .media-card-img{border-color:var(--line-strong)}.media-card--picked .media-card-img{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--text-primary)}.media-card-name{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-row-thumb{display:block;width:4.5em}.media-row-thumb img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-sm);display:block}.media-dropzone{position:fixed;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--surface-base) 80%,transparent);border:3px dashed var(--text-primary);z-index:var(--z-modal);pointer-events:none}.modal--wide{width:min(56em,92vw)}.media-details{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:var(--gap-md);gap:var(--gap-md);align-items:stretch;padding:0;min-height:512px}.media-details-preview{display:flex;align-items:center;background:var(--surface-shadow)}.media-details-preview img{display:block;width:100%;max-height:min(32em,70vh);object-fit:contain;border-radius:0;background:var(--surface-inset)}.media-details-meta{display:flex;flex-direction:column;gap:var(--gap-sm);padding:1em 1em 1em 0}.media-details-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.media-details-nav{display:flex;align-items:center;gap:.25em;flex:none}.media-grid--picker{max-height:22em;overflow-y:auto;padding-right:.25em}.media-drop{min-height:5em}.media-pending{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:var(--gap-sm);gap:var(--gap-sm);align-items:center}.media-pending-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs)}.trash-row{display:flex;align-items:center;gap:var(--gap-md);padding:.5em 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}.trash-row-name{flex:1 1;font-weight:var(--weight-medium)}.shell-nav{display:flex;align-items:center;gap:var(--gap-sm)}.shell-nav-link{display:inline-flex;align-items:center;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);text-decoration:none;cursor:pointer}.shell-nav-link:hover{background:var(--surface-inset);color:var(--text-primary)}.shell-nav-link[aria-current=page]{background:var(--surface-raised);color:var(--text-primary)}.clone-picker{display:flex;flex-direction:column;gap:.25em;max-height:24em;overflow-y:auto}.clone-picker-item{display:flex;align-items:center;gap:var(--gap-md);padding:.5em;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.clone-picker-item:hover{background:var(--surface-inset)}.clone-picker-thumb{width:4.5em;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;flex:none}.clone-picker-name{flex:1 1;font-weight:var(--weight-medium)}.risk-banner{display:flex;flex-direction:column;gap:.5em;padding:var(--gap-sm) var(--gap-md);background:color-mix(in srgb,var(--status-risk) 8%,var(--surface-base));border-bottom:1px solid color-mix(in srgb,var(--status-risk) 30%,var(--line))}.risk-banner-item{display:flex;align-items:flex-start;gap:.5em;font-size:var(--text-sm);color:var(--status-risk)}.risk-banner-item .icon{flex:none;margin-top:.25em}.risk-banner-title{font-weight:var(--weight-semibold)}.risk-banner-body{color:color-mix(in srgb,var(--status-risk) 75%,var(--text-secondary))}.bell-wrap{position:relative;display:inline-flex}.notif-badge{position:absolute;top:-.25em;right:-.25em;min-width:1.25em;height:1.25em;padding:0 .5em;border-radius:var(--radius-pill);background:var(--status-risk);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}.notif-panel .detail-panel-header{gap:var(--gap-sm)}.notif-group-head{padding:var(--gap-md) var(--gap-md) var(--gap-xs)}.notif-list{display:flex;flex-direction:column}.notif-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:var(--gap-sm);gap:var(--gap-sm);align-items:start;padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease);cursor:pointer}.notif-item:hover{background:var(--surface-inset)}.notif-item--unread{background:color-mix(in srgb,var(--layer-art) 6%,transparent)}.notif-item-icon{color:var(--text-secondary);margin-top:.25em}.notif-item-icon--risk{color:var(--status-risk)}.notif-item-title{font-weight:var(--weight-medium)}.notif-item-body{font-size:var(--text-sm);color:var(--text-secondary)}.notif-item-time{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap}.notif-note{padding:var(--gap-md)}.file-thumb-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--surface-inset);border-radius:var(--radius-sm);color:var(--text-muted)}.auth-split{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-half{display:grid;grid-template-rows:1fr auto;grid-gap:var(--gap-lg);gap:var(--gap-lg);padding:var(--gap-xl)}.auth-half--brand{background:var(--surface-raised);border-right:1px solid var(--line)}.auth-half--form{background:var(--surface-base)}.auth-half-main{display:flex;align-items:center}.auth-half--brand .auth-half-main{justify-content:end}.auth-half--form .auth-half-main{justify-content:start}.auth-half-foot{font-size:var(--text-xs);font-style:normal;line-height:var(--leading-body);color:var(--text-secondary)}.auth-half>.site-credit{justify-self:end;color:var(--text-secondary)}.auth-half-foot a,.auth-half>.site-credit a{color:var(--text-secondary);text-decoration:underline}.auth-half-foot a:hover,.auth-half>.site-credit a:hover{color:var(--text-primary)}.auth-lockup{container-type:inline-size;width:min(26em,84%);color:var(--node-black)}.auth-lockup-mark{display:block;width:100%;height:auto;margin-top:-60px}.auth-lockup-mark path{fill:currentColor}.auth-lockup-line{display:flex;justify-content:space-between;margin-top:2.5cqi;font-family:var(--font-body);font-size:11cqi;font-weight:var(--weight-regular);line-height:1}.auth-column{width:min(21em,100%);display:flex;flex-direction:column;gap:var(--gap-md)}@media (max-width:52em){.auth-split{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-half{padding:var(--gap-lg)}.auth-half--brand{border-right:none;border-bottom:1px solid var(--line)}.auth-half--brand .auth-half-main,.auth-half--form .auth-half-main{justify-content:center}.auth-lockup{width:min(20em,80%)}.auth-lockup-mark{margin-top:0}}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--gap-lg) + var(--topbar-h)) var(--gap-lg) var(--gap-lg)}.auth-card{width:100%;max-width:24em;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--gap-lg);gap:var(--gap-md)}.auth-card,.auth-head{display:flex;flex-direction:column}.auth-head{gap:var(--gap-xs)}.auth-form{display:flex;flex-direction:column;gap:var(--gap-md)}.auth-form .btn{width:100%}.auth-error{padding:var(--gap-sm) var(--gap-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--status-risk) 12%,transparent);color:var(--status-risk)}.auth-error,.auth-link,.auth-note{font-size:var(--text-sm)}.auth-link{color:var(--text-secondary);text-decoration:underline}.auth-link:hover{color:var(--text-primary)}.map{position:relative;height:calc(100vh - 3.5em);background:#1b1a19;overflow:hidden}.map-stage{position:absolute;inset:0;cursor:-webkit-grab;cursor:grab}.map-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.map-presence{position:absolute;top:var(--gap-md);right:var(--gap-md);z-index:var(--z-chrome);display:flex;gap:var(--gap-xs);margin:0;padding:0;list-style:none}.map-presence-person{display:grid;place-items:center;width:2em;height:2em;border-radius:var(--radius-pill);border:1px solid var(--line-on-ink);background:var(--surface-ink-raised);color:var(--text-on-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em}.map-overlays{position:absolute;left:50%;top:var(--gap-md);transform:translateX(-50%);z-index:var(--z-chrome);display:flex;flex-direction:column;align-items:center;gap:var(--gap-sm);pointer-events:none;transition:transform var(--dur-panel) var(--ease)}.app--paneled .map-overlays{transform:translateX(calc(-50% - var(--panel-w) / 2))}.app--ruled .map-overlays,.app--ruled .map-presence{top:calc(var(--gap-md) + var(--ruler-px))}.map-overlays>*{pointer-events:auto}.map-cue{max-width:34em;margin:0;padding:var(--gap-sm) var(--gap-md);border-radius:var(--radius-pill);background:var(--surface-ink-raised);color:var(--text-on-ink-muted);font-size:var(--text-sm);text-align:center;border:1px solid var(--line-on-ink)}.map-cue a,.map-cue-retry{padding:0;border:0;background:transparent;color:var(--text-on-ink);font-size:inherit;cursor:pointer}.map-cue--error{color:var(--text-on-ink);border-color:var(--status-risk)}.map-cue--conflict,.map-cue--offline{color:var(--text-on-ink);border-color:var(--status-warning)}.measure-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.measure-row{display:flex;align-items:center;gap:var(--gap-sm);min-height:2.25em;padding:.25em .75em;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease)}.measure-row--active,.measure-row:hover{background:var(--surface-inset)}.measure-row--active{box-shadow:inset .25em 0 0 var(--surface-ink)}.measure-row-length{flex:0 0 auto;min-width:4.75em;font-size:var(--text-xs);font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.measure-row-note{flex:1 1;min-width:0;padding:.25em .5em;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-xs);text-overflow:ellipsis}input.measure-row-note::placeholder{color:var(--text-muted)}input.measure-row-note:hover{border-color:var(--line)}input.measure-row-note:focus{border-color:var(--line-strong);background:var(--surface-raised);color:var(--text-primary);outline:none}.canvas-hovercard .hovercard-more{display:flex;gap:var(--gap-xs)}.map-stage-placing{cursor:crosshair}.meta-row-date{width:9.5em}.timeline .board-grouphead{margin-bottom:var(--gap-md)}.timeline-undated{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-sm);margin-top:var(--gap-lg)}.timeline-undated-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--gap-sm)}.timeline-undated-item{background:var(--surface-raised);cursor:pointer}.timeline-undated-item:hover{border-color:var(--text-primary);color:var(--text-primary)}.budget-summary{display:flex;flex-direction:column;gap:var(--gap-md)}.budget-cap{display:flex;align-items:flex-end;gap:var(--gap-sm);max-width:34em}.budget-cap .field{flex:1 1}.budget-tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--gap-sm);gap:var(--gap-sm);max-width:60em}.budget-tile{display:flex;flex-direction:column;gap:.5em;padding:var(--gap-md);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.budget-tile-num{font-family:var(--font-display);font-size:var(--text-xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-tile--over{border-color:var(--status-risk)}.budget-tile--over .budget-tile-num{color:var(--status-risk)}.budget-group-row td{font-weight:var(--weight-semibold);background:var(--surface-raised)}.budget-group-row{border-left:4px solid transparent}.budget-group-row[data-kind=event],.budget-group-row[data-kind=item]{border-left-color:var(--text-secondary)}.budget-group-row[data-layer=light]{border-left-color:var(--layer-light)}.budget-group-row[data-layer=sound]{border-left-color:var(--layer-sound)}.budget-group-row[data-layer=furniture]{border-left-color:var(--layer-furniture)}.budget-group-row[data-layer=art]{border-left-color:var(--layer-art)}.budget-table tbody tr{cursor:default}.budget-lines{flex-direction:column}.budget-line,.budget-lines{display:flex;gap:var(--gap-xs)}.budget-line{align-items:center}.budget-line-desc{flex:3 1;min-width:0}.budget-line-vendor{flex:2 1;min-width:0}.budget-line-qty{flex:0 0 3.75em;text-align:right}.budget-line-unit{flex:0 0 5.5em;text-align:right}.budget-line-x{color:var(--text-muted);font-size:var(--text-xs)}.budget-line-amt{flex:0 0 5.5em;text-align:right;font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-secondary)}.budget-line .palette-item-remove{flex:0 0 auto}.budget-line .palette-item-remove:disabled{opacity:.25;cursor:not-allowed}.budget-item-totals{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap-sm);padding:.5em 0;border-top:1px solid var(--line)}.budget-item-estimate{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.budget-item-estimate--replaced{color:var(--text-muted);text-decoration:line-through}.budget-actual-tag{margin-left:var(--gap-xs);font-size:var(--text-2xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}.budget-table td:nth-child(n+4),.budget-table th:nth-child(n+4){text-align:right}.budget-group-toggle{display:flex;align-items:center;gap:var(--gap-xs);width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.budget-group-toggle:hover{color:var(--text-primary)}.budget-group-chevron{flex:0 0 auto;color:var(--text-muted);transition:transform var(--dur) var(--ease)}.budget-group-chevron--open{transform:rotate(90deg)}.console-note--error{color:var(--status-risk)}.console-note--conflict{color:var(--status-warning)}.team-row .chip,.team-row .tag{cursor:pointer}.team-row .board-table-name .chip{cursor:default}.project-team-table .board-table-name,.project-team-table td:nth-child(2){display:flex;align-items:center;gap:.5em}.team-row--openable{cursor:pointer}.team-row--openable:hover td{background:var(--surface-inset)}.crew-cell{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5em}.crew-picker{width:auto;min-width:5.5em}.assignee-chip{position:relative;display:inline-flex;align-items:center}.assignee-chip-remove{position:absolute;top:-.5em;right:-.5em;display:grid;place-items:center;width:1.25em;height:1.25em;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);color:var(--text-muted);cursor:pointer;opacity:0}.assignee-chip-remove:focus-visible,.assignee-chip:hover .assignee-chip-remove{opacity:1}.assignee-chip-remove:hover{color:var(--status-risk)}.detail-row-check{display:grid;place-items:center;width:1.5em;height:1.5em;margin-top:.25em;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);color:var(--surface-raised);cursor:pointer;flex:0 0 auto;align-self:flex-start}.detail-row-check.is-done{background:var(--status-complete);border-color:var(--status-complete);color:#fff}.detail-row-check:disabled{cursor:default}.detail-section-body .btn--inline{align-self:flex-end}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap-sm);gap:var(--gap-sm)}.thumb-wrap{position:relative;display:inline-block}.thumb--img{padding:0;overflow:hidden}.thumb--add{border-style:dashed;color:var(--text-muted)}.thumb--add:hover{border-color:var(--line-strong);color:var(--text-secondary)}.thumb--img img{width:100%;height:100%;object-fit:cover;display:block}.thumb-wrap-remove{position:absolute;top:-.5em;right:-.5em;display:grid;place-items:center;width:1.5em;height:1.5em;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);color:var(--text-muted);cursor:pointer;opacity:0}.thumb-wrap-remove:focus-visible,.thumb-wrap:hover .thumb-wrap-remove{opacity:1}.thumb-wrap-remove:hover{color:var(--status-risk)}.lightbox-img--photo{overflow:hidden;padding:0}.lightbox-img--photo img{max-width:100%;max-height:92vh;width:auto;height:auto;display:block}.detail-panel-rename{margin-left:.5em;vertical-align:middle}.detail-panel-name-input{flex:1 1;min-width:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--gap-xs);border:1px solid var(--line)!important;border-radius:var(--radius-sm)!important}.detail-panel-note-input{resize:vertical}.detail-panel-retry{color:var(--text-primary)}.detail-note-thread{padding:.5em 0;border-bottom:1px solid var(--line)}.detail-note-thread:last-of-type{border-bottom:0}.detail-note-head{display:flex;align-items:center;gap:var(--gap-xs);margin-bottom:.25em}.detail-note-body{margin:0;font-size:var(--text-sm);white-space:pre-wrap}.detail-note-meta{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.detail-note-edited{font-style:italic}.detail-note-actions{display:flex;align-items:center;font-size:var(--text-sm)}.detail-note-edit-footer{display:flex;align-items:center;gap:var(--gap-sm)}.detail-note-edit-footer .delete-link{margin-right:auto;margin-top:0}.detail-note-edit-footer .detail-panel-retry{font-size:var(--text-sm)}.detail-note-head .detail-note-actions{margin-left:auto}.detail-note-head .btn--icon:last-child{margin-right:-.5em}.detail-note-replies{margin-top:var(--gap-sm);padding-left:var(--gap-md);border-left:2px solid var(--line);display:flex;flex-direction:column;gap:var(--gap-sm)}button.pipeline-step{border:0;padding:0;cursor:pointer}button.pipeline-step:disabled{cursor:default}.selection-bar{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);border:1px solid var(--line-on-ink);border-radius:var(--radius-pill);background:var(--surface-ink-raised);color:var(--text-on-ink)}.selection-bar .btn--secondary{border-color:var(--line-on-ink);color:var(--text-on-ink)}.selection-bar .btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--text-on-ink) 12%,transparent)}.selection-bar .text-muted{color:var(--text-on-ink-muted)}.selection-bar-name{font-size:var(--text-sm);font-weight:var(--weight-medium);padding:0 .5em;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-bar-field{display:flex;align-items:center;gap:.5em}.selection-bar-key{font-size:var(--text-2xs);color:var(--text-on-ink-muted)}.selection-bar-input{width:5.5em;background:var(--surface-ink);border-color:var(--line-on-ink);color:var(--text-on-ink)}.palette-hint{margin:0;padding:0 .5em;font-size:var(--text-2xs);color:var(--text-muted)}.shape-btn--active,.shape-btn--active:hover{border-color:var(--text-primary);color:var(--text-primary)}.palette-item--active{background:var(--surface-inset)}button.toggle-row{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left}button.toggle-row.toggle-row--active{background:var(--surface-inset)}.overlay-row>.icon{width:var(--row-lead);height:var(--row-lead)}.overlay-row .toggle-row-actions{font-size:var(--text-xs)}.overlay-row .icon{color:var(--text-muted)}.palette-folder-head{display:flex;align-items:center;gap:var(--gap-sm);width:100%;min-height:2.25em;padding:.25em .75em;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--dur) var(--ease)}.palette-folder-head:hover,.palette-folder-head[aria-expanded=true]{background:var(--surface-inset)}.palette-folder-name{flex:1 1;font-size:var(--text-sm);font-weight:var(--weight-medium)}.palette-folder-count{font-size:var(--text-2xs)}.palette-folder-count,.palette-folder-glyph{color:var(--text-muted)}.palette-folder-chevron{color:var(--text-muted);transition:transform var(--dur) var(--ease)}.palette-folder-chevron--open{transform:rotate(90deg)}.palette-folder-body{display:flex;flex-direction:column;gap:.25em;padding:.5em 0 .5em .5em}.palette-item[data-layer=light]{border-left-color:var(--layer-light)}.palette-item[data-layer=sound]{border-left-color:var(--layer-sound)}.palette-item[data-layer=furniture]{border-left-color:var(--layer-furniture)}.palette-item[data-layer=art]{border-left-color:var(--layer-art)}.palette-run{position:relative}.palette-run .palette-item:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-top:none}.palette-run .palette-item:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.palette-run[draggable=true] .palette-item{cursor:-webkit-grab;cursor:grab}.palette-run--dragging{opacity:.4}.palette-run--drop-after:after,.palette-run--drop-before:before{content:"";position:absolute;left:0;right:0;height:2px;border-radius:1px;background:var(--text-primary)}.palette-run--drop-before:before{top:-1px}.palette-run--drop-after:after{bottom:-1px}.vocab-row{cursor:-webkit-grab;cursor:grab}.vocab-row:active{cursor:-webkit-grabbing;cursor:grabbing}.vocab-row--dragging{opacity:.4}.vocab-row--drop-before>td{box-shadow:inset 0 2px 0 0 var(--text-primary)}.vocab-row--drop-after>td{box-shadow:inset 0 -2px 0 0 var(--text-primary)}.palette-item-main{display:flex;flex:1 1;min-width:0;align-items:center;gap:var(--gap-xs);padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.palette-item--unplaced .palette-item-main{cursor:default}.palette-item-remove{display:grid;place-items:center;flex:0 0 auto;padding:.25em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.palette-item-remove:hover{color:var(--status-risk)}@media (hover:hover){.palette-item{position:relative}.palette-item>.palette-item-remove{position:absolute;right:.75em;top:50%;transform:translateY(-50%)}.palette-item-remove{opacity:0;transition:opacity var(--dur) var(--ease)}.measure-row:hover .palette-item-remove,.palette-item-remove:focus-visible,.palette-item:hover .palette-item-remove{opacity:1}.palette-item-dim{transition:opacity var(--dur) var(--ease)}.palette-item:hover .palette-item-dim{opacity:0}}.toggle-row-main{display:flex;flex:1 1;align-items:center;gap:var(--gap-sm);padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.toggle-row-actions .is-on{color:var(--text-primary)}.main .map{height:100%}.map-note-card{position:absolute;top:0;left:0;transform:translate3d(var(--note-x,-9999px),var(--note-y,-9999px),0);z-index:var(--z-popover);width:19em;max-height:calc(100% - 2em);display:flex;flex-direction:column;background:var(--surface-ink-raised);color:var(--text-on-ink);border:1px solid var(--line-on-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);overflow:hidden}.map-note-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);padding:.5em .75em;border-bottom:1px solid var(--line-on-ink)}.map-note-head .eyebrow{color:var(--text-on-ink-muted)}.map-note-head-actions{gap:.25em}.map-note-head-actions,.map-note-icon{display:inline-flex;align-items:center}.map-note-icon{justify-content:center;padding:.25em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-on-ink-muted);cursor:pointer}.map-note-icon:hover{background:rgba(235,228,216,.12);color:var(--text-on-ink)}.map-note-thread{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--gap-md);padding:.75em}.map-note-empty{color:var(--text-on-ink-muted);font-size:var(--text-sm);margin:0}.map-note-msg{display:flex;flex-direction:column;gap:.25em}.map-note-msg-head{display:flex;align-items:center;gap:.5em}.map-note-msg-meta{flex:1 1;font-size:var(--text-2xs);color:var(--text-on-ink-muted)}.map-note-msg-body{margin:0;font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.map-note-card .avatar{background:rgba(235,228,216,.16);color:var(--text-on-ink);border-color:transparent}.map-note-error{flex:0 0 auto;margin:0;padding:0 .75em .5em;font-size:var(--text-2xs);color:var(--status-risk)}.map-note-composer{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.5em;padding:.75em;border-top:1px solid var(--line-on-ink)}.map-note-input{width:100%;resize:none;padding:.5em;border:1px solid var(--line-on-ink);border-radius:var(--radius-sm);background:rgba(0,0,0,.35);color:var(--text-on-ink);font:inherit;font-size:var(--text-sm)}.map-note-input::placeholder{color:var(--text-on-ink-muted)}.map-note-input:focus-visible{outline:1px solid var(--text-on-ink-muted);outline-offset:0}.canvas-controls-note.is-on{background:var(--surface-ink);border-color:var(--surface-ink);color:var(--text-on-ink)}.note-list{gap:var(--gap-xs)}.note-row{display:flex;align-items:flex-start;gap:.5em;width:100%;padding:.5em;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.note-row--active,.note-row:hover{background:var(--surface-inset)}.note-row-dot{flex:0 0 auto;width:.5em;height:.5em;margin-top:.5em;border-radius:50%;background:var(--line-strong)}.note-row-dot--unread{background:var(--status-risk)}.note-row-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25em}.note-row-text{font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-row-meta{font-size:var(--text-2xs);color:var(--text-muted)}.map-note-edit{display:flex;flex-direction:column;gap:.5em}.map-note-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5em}.map-note-textbtn{padding:.25em .5em;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-on-ink-muted);font:inherit;font-size:var(--text-2xs);cursor:pointer}.map-note-textbtn:hover{color:var(--text-on-ink)}@media (max-width:1024px){.topbar{gap:var(--gap-sm);padding:0 var(--gap-sm)}.topbar-project,.version-select{white-space:nowrap}.topbar .segmented{overflow-x:auto}.console{padding:var(--gap-lg) var(--gap-md)}:root{--panel-w:min(26em,92vw)}.board,.timeline{overflow-x:auto}.board-table{min-width:46em}.gantt{min-width:42em}.cal-year{grid-template-columns:repeat(2,1fr)}.checklist-main{flex-wrap:wrap}.checklist-row{flex-direction:column;gap:var(--gap-sm)}.checklist-meta{flex:1 1 auto;align-self:stretch;flex-direction:row;align-items:center;flex-wrap:wrap}.checklist-meta .row-actions{margin-left:auto}.account,.account-fields{grid-template-columns:1fr}.account-fields .account-actions,.account-fields .field--wide{grid-column:1}.home-hero{padding:var(--gap-lg) var(--gap-md)}.site-footer-inner{flex-direction:column;text-align:center}}.mobile-nav{display:none}@media (max-width:768px){.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-panel);display:flex;align-items:stretch;background:var(--surface-base);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-nav-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;padding:1em 0;border:0;background:transparent;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-medium);text-decoration:none}.mobile-nav-tab.is-active{color:var(--text-primary);font-weight:var(--weight-semibold)}.mobile-nav-tab svg{width:1.5em;height:1.5em}.topbar .segmented,.topbar .version-select,.topbar .version-wrap{display:none}.topbar-project{padding-left:0;border-left:0;min-width:0}.topbar-project a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-project strong{font-family:var(--font-display);font-size:var(--text-lg)}.app-flat{padding-bottom:4.5em}.site-footer{display:none}}.objects-console{padding-left:0;padding-right:0}.objects-list,.objects-list>div{display:flex;flex-direction:column}.objects-toolbar{display:flex;align-items:center;gap:var(--gap-sm);padding:0 var(--gap-md) var(--gap-sm)}.objects-toolbar .input{flex:1 1;min-width:0}.objects-console .board-grouphead,.objects-note{padding-left:var(--gap-md);padding-right:var(--gap-md)}.objects-group-label{padding:var(--gap-sm) var(--gap-md) var(--gap-xs);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}.object-row{display:flex;align-items:center;gap:var(--gap-sm);width:100%;padding:var(--gap-sm) var(--gap-md);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;cursor:pointer;transition:background var(--dur) var(--ease)}.object-row:hover{background:var(--surface-raised)}.object-row:active{background:var(--surface-inset)}.object-row[data-layer=light]{border-left-color:var(--layer-light)}.object-row[data-layer=sound]{border-left-color:var(--layer-sound)}.object-row[data-layer=furniture]{border-left-color:var(--layer-furniture)}.object-row[data-layer=art]{border-left-color:var(--layer-art)}.object-row-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25em}.object-row-name{font-size:var(--text-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row-meta{display:flex;align-items:center;gap:var(--gap-sm);font-size:var(--text-2xs);color:var(--text-muted)}.object-row-chevron{width:1em;height:1em;flex-shrink:0;color:var(--text-muted)}@media (max-width:768px){.buildplan{padding:calc(var(--gap-sm) + var(--topbar-h)) 0 var(--gap-sm);gap:var(--gap-sm)}.buildplan .cal-toolbar{padding:0 var(--gap-md)}.buildplan .display--md{font-size:var(--text-lg)}.buildplan .cal-nav{flex-wrap:wrap}.buildplan .toolbar-spacer{display:none}.timeline{padding:var(--gap-sm) 0}.gantt{--gantt-name-w:8em}.gantt-name{padding:.75em}.console{padding:calc(var(--gap-md) + var(--topbar-h)) var(--gap-md) var(--gap-md);gap:var(--gap-lg)}.console--slim{padding-left:0;padding-right:0}.checklist-grouphead,.console--slim .board-grouphead,.console--slim .console-note{padding-left:var(--gap-md);padding-right:var(--gap-md)}.checklist-row{padding:var(--gap-sm) var(--gap-md);border-radius:0}.checklist-meta{gap:var(--gap-sm)}.objects-console{padding-left:0;padding-right:0}.objects-toolbar{flex-wrap:wrap}:root{--panel-w:100vw}.detail-panel{top:0;z-index:var(--z-modal)}}.needs-wider-screen{display:none}@media (max-width:768px){.needs-wider-screen{position:fixed;inset:0;bottom:4.5em;z-index:var(--z-panel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-md);padding:var(--gap-lg);text-align:center;background:var(--surface-base)}.needs-wider-screen p{max-width:22em;color:var(--text-secondary);line-height:var(--leading-body)}}.site-footer{background:var(--surface-inset);color:var(--node-black);padding:var(--gap-xl) var(--gap-lg)}.site-footer-inner{max-width:96em;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gap-xl)}.site-footer-brand{display:flex;flex-direction:column;gap:var(--gap-sm)}.site-footer-brand .wordmark-logo path{fill:var(--node-black)}.site-footer-address{font-style:normal;font-size:var(--text-xs);line-height:var(--leading-body)}.site-footer a{color:var(--text-secondary)}.site-credit{display:flex;flex-direction:column;font-size:var(--text-xs)}.app~.site-footer,.auth-split~.site-footer{display:none}