.status-message{align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4)}.status-message__marker{align-items:center;background:var(--surface-deep);border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:.95rem;font-weight:800;height:1.5rem;justify-content:center;line-height:1;width:1.5rem}.status-message__label{font-size:.94rem;font-weight:680;margin:0 0 var(--space-1)}.status-message__content{color:var(--text-muted);font-size:.9rem}.status-message__content>:first-child{margin-top:0}.status-message__content>:last-child{margin-bottom:0}.status-message--loading{background:var(--surface-muted)}.status-message--empty{background:var(--surface-muted);border-color:transparent}.status-message--error{background:var(--danger-pale);border-color:var(--danger)}.status-message--error .status-message__marker{background:var(--danger);color:#fff}.status-message--success{background:var(--success-pale);border-color:var(--success)}.status-message--success .status-message__marker{background:var(--success);color:#fff}.status-message--info{background:var(--surface-muted);border-color:var(--line)}.status-message--info .status-message__marker{background:var(--accent);color:#fff}.inline-field-error{color:var(--danger);font-size:.875rem;font-weight:650;margin:var(--space-2) 0 0}.totems-workspace{display:grid;gap:var(--layout-page-gap)}.workspace-project-header{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:var(--layout-section-gap);justify-content:space-between;padding:0 0 var(--layout-section-gap)}.workspace-project-header__content{display:grid;gap:var(--layout-section-gap);min-width:0}.project-details{border:0;display:grid;gap:var(--space-3);grid-template-columns:minmax(9rem,.8fr) minmax(10rem,1fr) minmax(12rem,1.4fr);margin:0;padding:0}.project-details legend{color:var(--text-muted);font-size:.78rem;font-weight:650;margin-bottom:var(--space-2);padding:0}.project-details label{color:var(--text-muted);display:grid;font-size:.78rem;font-weight:650;gap:.35rem}.project-details input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;min-height:var(--control-height);padding:.45rem .6rem}.project-details input:focus-visible{border-color:var(--accent-strong);outline:3px solid var(--accent-pale);outline-offset:1px}.workspace-eyebrow,.workspace-panel__eyebrow{color:var(--accent-strong);font-size:.84rem;font-weight:650;margin:0 0 var(--space-2)}.workspace-project-header h1{font-family:var(--font-display);font-size:clamp(1.65rem,2.5vw,2.15rem);letter-spacing:-.045em;line-height:1;margin:0}.workspace-lede{color:var(--text-muted);font-size:.9rem;margin:var(--space-1) 0 0;max-width:44rem}.workspace-draft-status{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:99px;color:var(--text-muted);display:inline-flex;flex:0 0 auto;font-size:.78rem;font-weight:600;gap:var(--space-2);padding:.48rem .68rem}.project-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.projects-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:var(--space-4)}.projects-panel__list{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.projects-panel__list button{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;display:grid;gap:.2rem;padding:var(--space-3);text-align:left;width:100%}.projects-panel__list button:hover{border-color:var(--accent)}.projects-panel__list span{color:var(--text-muted);font-size:.82rem}.workspace-draft-status__dot{background:var(--accent);border-radius:50%;height:.55rem;width:.55rem}.workspace-grid{display:grid;gap:var(--layout-section-gap);grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr)}.workspace-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);min-width:0;padding:var(--panel-padding)}.workspace-panel--structure{grid-row:span 2}.workspace-panel__heading{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--layout-section-gap)}.workspace-panel__heading--assemblies{border-top:1px solid var(--line);margin-top:var(--layout-section-gap);padding-top:var(--layout-section-gap)}.workspace-panel__heading h2{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-.03em;line-height:1.1;margin:0}.workspace-panel__count{background:var(--surface-muted);border:1px solid var(--line);border-radius:99px;color:var(--text-muted);font-size:.75rem;font-weight:650;padding:.28rem .46rem;white-space:nowrap}.workspace-preview-placeholder{align-items:center;background:var(--surface-muted);border:1px solid transparent;border-radius:var(--radius-md);display:grid;justify-items:center;min-height:10rem;padding:var(--panel-padding);text-align:center}.workspace-preview-placeholder__icon{align-items:center;background:var(--accent-pale);border-radius:50%;color:var(--accent-strong);display:inline-flex;height:3rem;justify-content:center;width:3rem}.workspace-preview-placeholder__icon svg{height:1.35rem;width:1.35rem}.workspace-preview-placeholder p{color:var(--text-muted);font-size:.9rem;margin:var(--space-3) 0 0;max-width:18rem}.preview-composition{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-4)}.preview-composition h3{font-family:var(--font-display);font-size:1rem;letter-spacing:-.02em;margin:0 0 var(--space-3)}.preview-composition__details{border-top:1px solid var(--line);margin-top:var(--space-3);padding-top:var(--space-3)}.preview-composition__details summary{color:var(--accent-strong);cursor:pointer;font-size:.84rem;font-weight:680}.preview-composition .equipment-list>div{padding:.42rem 0}.button{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-weight:650;justify-content:center;padding:.55rem .8rem}.button--primary{background:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-strong)}.button--secondary{background:var(--surface-muted);border-color:var(--line);color:var(--text)}.button--secondary:hover{background:var(--surface-deep);border-color:var(--line-strong)}.assembly-list{display:grid;gap:var(--space-3)}.manual-item-list{border-top:1px solid var(--line);margin-top:var(--layout-section-gap);padding-top:var(--layout-section-gap)}.manual-item-list__items{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.manual-item-card{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-3)}.manual-item-card>div:first-child{display:grid;gap:.18rem;min-width:0}.manual-item-card span,.manual-item-card small{color:var(--text-muted);font-size:.82rem}.manual-item-editor{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);gap:var(--space-4);margin:auto;max-height:calc(100vh - 2rem);max-width:min(42rem,calc(100vw - 2rem));overflow:auto;padding:var(--panel-padding);width:100%}.manual-item-editor::backdrop{background:#122d276b}.manual-item-editor__heading h2{font-family:var(--font-display);margin:0}.manual-item-editor form{display:grid;gap:var(--space-4);min-width:0}.manual-item-editor__actions{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;padding-top:var(--space-4)}.assembly-list__count{color:var(--text-muted);font-size:.88rem;margin:0}.assembly-list__items{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.assembly-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);cursor:pointer;align-items:center;display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;min-height:var(--list-row-height);padding:.6rem var(--space-3);text-align:left;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);width:100%}.assembly-card:hover{background:var(--surface-muted);border-color:var(--line-strong)}.assembly-card[data-selected]{background:#f1f8f4;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.assembly-card-row{align-items:stretch;display:flex;gap:var(--space-2)}.assembly-card-row .assembly-card{flex:1}.assembly-card__actions,.project-structure__actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:.25rem}.assembly-card__actions button,.project-structure__actions button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.74rem;align-items:center;display:inline-flex;justify-content:center;min-height:2rem;min-width:2rem;padding:.3rem}.assembly-card__actions button:hover:not(:disabled),.project-structure__actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.assembly-card__actions button:disabled,.project-structure__actions button:disabled{cursor:not-allowed;opacity:.46}.assembly-card__delete,.project-structure__delete{color:var(--danger)!important}.assembly-card__name{font-size:.95rem;font-weight:680;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assembly-card__meta{align-items:end;color:var(--text-muted);display:grid;font-size:.8rem;gap:.08rem;justify-items:end;line-height:1.15;max-width:10.5rem;text-align:right}.assembly-card__meta>span:first-child{color:var(--accent-strong);font-size:.76rem;font-weight:680}.project-structure{display:grid;gap:var(--space-3)}.project-structure__heading h2{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-.03em;margin:0}.project-structure__create,.project-structure__rename{display:flex;gap:var(--space-2)}.project-structure__create input,.project-structure__rename input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:2.65rem;min-width:0;padding:.45rem .6rem}.project-structure__create input{flex:1}.project-structure__quick-actions{display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr}.project-structure__quick-actions .button{min-width:0}.project-structure__empty{color:var(--text-muted);font-size:.88rem;margin:0}.project-structure__list{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.project-structure__item{align-items:stretch;display:flex;gap:var(--space-2)}.project-structure__select{align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:flex;flex:1;font-weight:650;justify-content:space-between;min-width:0;padding:.58rem .65rem;text-align:left}.project-structure__drag-handle{color:var(--text-muted);cursor:grab;font-size:1rem;letter-spacing:-.2em;margin-right:var(--space-1)}.workspace-panel__empty-note{margin:var(--space-3) 0 0}.project-structure__select>span:last-child{color:var(--text-muted);font-size:.76rem;font-weight:600}.project-structure__select[data-selected]{background:var(--accent-pale);border-color:var(--accent)}.empty-group-state{align-items:center;background:var(--surface-muted);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:auto 1fr;margin-top:var(--space-3);padding:var(--space-4)}.empty-group-state__icon{align-items:center;background:var(--accent-pale);border-radius:50%;color:var(--accent-strong);display:inline-flex;font-size:1.25rem;height:2.4rem;justify-content:center;width:2.4rem}.empty-group-state h3{font-size:.95rem;margin:0}.empty-group-state p{color:var(--text-muted);font-size:.85rem;margin:var(--space-1) 0 0}.empty-group-state__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);grid-column:2}.confirmation-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 20px 48px #14362e42;color:var(--text);max-width:min(28rem,calc(100vw - 2rem));padding:var(--panel-padding)}.confirmation-dialog::backdrop{background:#122d276b}.confirmation-dialog form{display:grid;gap:var(--space-4)}.confirmation-dialog h2{font-family:var(--font-display);font-size:1.45rem;margin:0}.confirmation-dialog p{color:var(--text-muted);margin:0}.confirmation-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.button--danger{background:var(--danger);color:#fff}.assembly-editor{border-top:1px solid var(--line);display:grid;gap:var(--space-4);margin-top:var(--layout-section-gap);padding-top:var(--layout-section-gap)}.assembly-editor__heading p{color:var(--text-muted);font-size:.82rem;margin:0 0 .2rem}.assembly-editor__heading h2{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.025em;margin:0}.assembly-editor__heading{align-items:end;display:flex;gap:var(--space-3);justify-content:space-between}.assembly-editor__quantity{align-items:center;background:var(--accent-pale);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-sm);display:flex;flex:0 0 auto;gap:var(--space-2);padding:.36rem .42rem .36rem .56rem}.assembly-editor__quantity span{color:var(--accent-strong);font-size:.76rem;font-weight:720}.assembly-editor__quantity input{background:var(--surface);border:1px solid var(--line-strong);border-radius:calc(var(--radius-sm) - 2px);color:var(--text);font-weight:720;min-height:2rem;padding:.2rem .34rem;width:4rem}.form-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;gap:var(--space-1);font-size:.84rem;font-weight:620;min-width:0}.form-field--wide{grid-column:1 / -1}.form-field input,.form-field select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);min-height:var(--control-height);padding:.48rem .6rem;width:100%}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:var(--danger)}.base-options{border:0;border-top:1px solid var(--line);display:grid;gap:var(--space-3);margin:0;padding:var(--space-4) 0 0}.base-options legend{font-size:.9rem;font-weight:680;padding:0}.async-posts{border:0;border-top:1px solid var(--line);display:grid;gap:var(--space-3);margin:0;padding:var(--space-4) 0 0}.async-posts__heading{align-items:start;display:flex;gap:var(--space-3);justify-content:space-between}.async-posts legend,.async-post legend{font-size:.9rem;font-weight:680;padding:0}.async-posts__heading p{color:var(--text-muted);font-size:.84rem;margin:var(--space-1) 0 0;max-width:30rem}.async-posts__list{display:grid;gap:var(--space-3)}.async-post{align-items:end;border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin:0;padding:var(--space-3)}.async-post__remove{min-height:var(--control-height)}.checkbox-field{align-items:center;display:flex;font-size:.88rem;gap:var(--space-2)}.checkbox-field input{height:1.1rem;width:1.1rem}.totems-svg{display:block;height:clamp(18rem,30vw,31rem);margin:0 auto;max-width:100%;overflow:visible;width:100%}.totems-svg-diagram{display:grid;gap:var(--space-3);position:relative}.totems-svg-tooltip,.totems-svg-quantity-note{color:var(--text-muted);font-size:.82rem;line-height:1.4;margin:0}.totems-svg-tooltip{background:#173c34;border:1px solid #0d2922;border-radius:var(--radius-sm);box-shadow:0 8px 22px #14362e33;color:#fff;left:50%;margin:0;max-width:min(15rem,calc(100% - 1rem));min-height:0;padding:.48rem .62rem;pointer-events:none;position:absolute;top:0;transform:translate(-50%,-100%);transition:opacity var(--motion-fast),visibility var(--motion-fast);visibility:hidden;z-index:2}.totems-svg-tooltip--active{visibility:visible}.totems-svg-quantity-note{padding-inline:.1rem}.totems-svg__component{cursor:help;outline:none}.totems-svg__component>*{transition:filter var(--motion-fast),opacity var(--motion-fast),stroke var(--motion-fast),fill var(--motion-fast)}.totems-svg__component:hover>*,.totems-svg__component:focus-visible>*{filter:brightness(1.06) drop-shadow(0 2px 3px rgb(31 76 63 / .34))}.totems-svg__component:focus-visible>*{stroke:var(--accent-strong);stroke-width:2.5}.totems-svg__pipe{stroke:#7b8995;stroke-width:1.25}.totems-svg__pipe-cap{stroke:#7b8995;stroke-width:.9}.totems-svg__pipe-highlight{fill:none;opacity:.5;stroke:#dcefe9;stroke-linecap:round;stroke-width:2}.totems-svg__joint{fill:#476d65;stroke:#244f47;stroke-width:.75}.totems-svg__regular-pipe{stroke:#7b8995;stroke-width:1.25}.totems-svg__base{stroke:#7c8994;stroke-width:1.25}.totems-svg__base-side{stroke:#6f7c87;stroke-width:1.25}.totems-svg__base-ring{fill:none;stroke:#ffffffb8;stroke-width:1.4}.totems-svg__base-seat{fill:#f7fafb;stroke:#8c99a3;stroke-width:1}.totems-svg__barrel{stroke:#74818d;stroke-width:1.25}.totems-svg__barrel-cap{stroke:#74818d;stroke-width:.9}.totems-svg__barrel-rib{fill:none;stroke:#46546080;stroke-width:.8}.totems-svg__barrel-knurl{fill:none;stroke:#46546057;stroke-width:.55}.totems-svg__barrel-port{fill:#43515c;stroke:#dce3e7;stroke-width:.7}.totems-svg__truss{fill:none;opacity:.6;stroke:#53646a;stroke-linecap:round;stroke-linejoin:round;stroke-width:10}.totems-svg__washer,.totems-svg__washer-side{stroke:#64716c;stroke-width:1}.totems-svg__washer-hole{fill:var(--surface);stroke:#64716c;stroke-width:.7}.totems-svg__clamp-body,.totems-svg__screw{fill:#35423e;stroke:#162d27;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.totems-svg__clamp-body{opacity:.66}.totems-svg__clamp-body{stroke:#202d31;stroke-width:1.4}.totems-svg__screw{fill:none;stroke-width:4.5}.totems-svg__wing-handle{fill:#35423e;stroke:#162d27;stroke-linejoin:round;stroke-width:1.2}.assembly-result h3,.project-totals h2,.group-totals h2{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.025em;margin:0 0 var(--space-4)}.equipment-list{display:grid;gap:0;margin:0}.equipment-list>div{align-items:baseline;border-top:1px solid var(--line);display:flex;gap:var(--space-3);justify-content:space-between;padding:.55rem 0}.equipment-list>div:last-child{border-bottom:1px solid var(--line)}.equipment-list dt{color:var(--text-muted);font-size:.88rem}.equipment-list dd{font-size:.93rem;font-weight:720;margin:0}.assembly-result__explanation{background:var(--surface-muted);border-radius:var(--radius-sm);margin-top:var(--space-4);padding:var(--space-3)}.assembly-result__explanation h4{font-size:.85rem;margin:0 0 var(--space-1)}.assembly-result__explanation p{color:var(--text-muted);font-size:.88rem;margin:0}.project-totals-wrap{border-top:1px solid var(--line);margin-top:var(--layout-section-gap);padding-top:var(--layout-section-gap)}.group-totals{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin-top:var(--layout-section-gap);padding:var(--layout-section-gap) 0}.group-totals__assemblies{display:grid;gap:var(--space-3)}.assembly-summary{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:.18rem;padding:var(--space-3)}.assembly-summary h3{color:var(--text);font-size:.94rem;margin:0}.assembly-summary p,.assembly-summary__async{color:var(--text-muted);font-size:.88rem;line-height:1.45;margin:0}.assembly-summary p strong,.assembly-summary__async strong{color:var(--text);font-weight:680}.assembly-summary__async{display:grid;gap:.18rem}.assembly-summary__async span{padding-left:var(--space-2)}.assembly-summary--compact{background:transparent;border:0;border-radius:0;padding:0}.assembly-summary--manual{border-style:dashed}.group-totals__full-list{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-3)}.group-totals__full-list summary{color:var(--accent-strong);cursor:pointer;font-size:.84rem;font-weight:680}.provenance-details{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-4)}.provenance-details h3{font-size:.9rem;margin:0 0 var(--space-2)}.provenance-details details{border-top:1px solid var(--line);padding:.45rem 0}.provenance-details summary{cursor:pointer;font-size:.85rem;font-weight:650}.provenance-details ul{color:var(--text-muted);font-size:.82rem;margin:var(--space-2) 0 0;padding-left:1.25rem}.group-totals .workspace-panel__eyebrow{margin-bottom:var(--space-1)}@media(max-width:58rem){.workspace-grid{grid-template-columns:1fr}.workspace-panel--structure{grid-row:auto}}@media(max-width:42rem){.workspace-project-header{align-items:flex-start;flex-direction:column}.project-header-actions{justify-content:flex-start}.project-details{grid-template-columns:1fr;width:100%}.workspace-panel__heading{flex-direction:column}.form-grid,.async-post{grid-template-columns:1fr}.assembly-card-row,.project-structure__item,.manual-item-card{flex-direction:column;align-items:stretch}.assembly-card__actions,.project-structure__actions{justify-content:flex-end}.empty-group-state{grid-template-columns:auto 1fr}.empty-group-state__actions{grid-column:1 / -1}.project-structure__create,.project-structure__rename{flex-wrap:wrap}.async-posts__heading{align-items:stretch;flex-direction:column}.assembly-editor__heading{align-items:flex-start;flex-direction:column}.form-field--wide{grid-column:auto}.totems-svg{height:clamp(17rem,75vw,24rem)}.assembly-card{align-items:start;grid-template-columns:minmax(0,1fr) auto}.assembly-card__meta{max-width:8rem}}@media(min-width:42.0625rem){.assembly-card__reorder{display:none!important}}.projects-page{display:grid;gap:var(--layout-page-gap)}.projects-page__header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:var(--layout-section-gap);justify-content:space-between;padding-bottom:var(--layout-section-gap)}.projects-page__header h1{font-family:var(--font-display);font-size:clamp(1.65rem,2.5vw,2.15rem);letter-spacing:-.045em;line-height:1;margin:0}.projects-page__header p:last-child{color:var(--text-muted);font-size:.9rem;margin:var(--space-1) 0 0;max-width:38rem}.projects-page__header .button{flex:0 0 auto}.projects-page__controls{align-items:end;display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(12rem,.32fr)}.projects-page__search,.projects-page__sort{color:var(--text-muted);display:grid;font-size:.76rem;font-weight:680;gap:.15rem}.projects-page__search input,.projects-page__sort select{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font:inherit;min-height:var(--control-height);padding:.38rem .58rem;width:100%}.projects-page__months{display:grid;gap:var(--space-2)}.projects-month{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.projects-month summary{align-items:center;color:var(--accent-strong);cursor:pointer;display:flex;font-size:.74rem;font-weight:760;justify-content:space-between;letter-spacing:.075em;min-height:var(--control-height);padding:.38rem var(--space-3);text-transform:uppercase}.projects-month summary::marker,.projects-month summary::-webkit-details-marker{display:none;content:""}.projects-month__label{align-items:center;display:inline-flex;gap:.42rem}.projects-month__disclosure{border-bottom:.32rem solid transparent;border-left:.42rem solid currentColor;border-top:.32rem solid transparent;height:0;transition:transform var(--motion-fast);width:0}.projects-month[open] .projects-month__disclosure{transform:rotate(90deg)}.projects-month__count{background:var(--accent-pale);border-radius:99px;color:var(--accent-strong);font-family:var(--font-body);font-size:.72rem;letter-spacing:normal;line-height:1.2;min-width:1.35rem;padding:.14rem .34rem;text-align:center}.projects-month ul{border-top:1px solid var(--line);list-style:none;margin:0;padding:0 0 0 1.35rem;position:relative}.projects-month ul:before{background:var(--line-strong);bottom:.5rem;content:"";left:.82rem;position:absolute;top:.5rem;width:1px}.projects-month li+li{border-top:1px solid var(--line)}.projects-month li{position:relative}.projects-month li:before{background:var(--line-strong);content:"";height:1px;left:-.53rem;position:absolute;top:50%;width:.53rem}.projects-month li button{align-items:center;background:var(--surface);border:0;border-radius:0;cursor:pointer;display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;min-height:var(--list-row-height);padding:.42rem var(--space-3);text-align:left;transition:background-color var(--motion-fast),color var(--motion-fast);width:100%}.projects-month li button:hover{background:var(--surface-muted)}.projects-month li button:focus-visible{background:var(--accent-pale)}.projects-project__name{color:var(--text);font-size:.92rem;font-weight:720;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-project__meta{color:var(--text-muted);font-size:.78rem;text-align:right;white-space:nowrap}@media(max-width:42rem){.projects-page__header{align-items:stretch;flex-direction:column}.projects-page__header .button{align-self:stretch}.projects-page__controls{grid-template-columns:1fr}.projects-month li button{align-items:start;grid-template-columns:1fr;min-height:var(--list-row-height)}.projects-project__meta{text-align:left;white-space:normal}}.home-page{display:grid;gap:var(--layout-page-gap);justify-items:center;min-height:min(38rem,calc(100dvh - 9rem));padding-top:clamp(var(--space-3),4vh,var(--space-7))}.home-page__header{text-align:center}.home-page__header h1{font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.045em;line-height:1;margin:0}.home-page__header p{color:var(--text-muted);font-size:.9rem;margin:var(--space-2) 0 0}.service-launcher{display:grid;gap:var(--space-3);grid-template-columns:repeat(4,minmax(8.75rem,10.5rem));justify-content:center}.service-tile{aspect-ratio:1;align-content:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);display:grid;justify-items:center;padding:var(--space-4);text-align:center}.service-tile--active{box-shadow:var(--shadow-panel);text-decoration:none;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}.service-tile--active:hover{background:var(--surface-muted);border-color:var(--accent-light);box-shadow:0 .65rem 1.6rem #1227211a;transform:translateY(-2px)}.service-tile--active:focus-visible{border-color:var(--accent)}.service-tile--soon{background:var(--surface-muted);border-style:dashed;color:var(--text-muted)}.service-tile__icon{color:var(--accent);display:grid;height:3rem;place-items:center;width:3rem}.service-tile--soon .service-tile__icon{color:var(--ink-soft)}.service-tile__icon svg{height:100%;width:100%}.service-tile__name{font-size:.91rem;font-weight:720;line-height:1.2;margin-top:var(--space-3)}.service-tile__status{color:var(--text-muted);font-size:.72rem;font-weight:650;margin-top:var(--space-2)}.service-tile--active .service-tile__status{color:var(--success)}@media(max-width:48rem){.service-launcher{grid-template-columns:repeat(2,minmax(8.75rem,10.5rem))}}@media(max-width:22rem){.service-launcher{grid-template-columns:minmax(0,1fr);width:100%}}.auth-page{align-items:center;display:grid;justify-items:center;min-height:100dvh;padding:var(--space-5)}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);display:grid;gap:var(--space-4);max-width:25rem;padding:var(--panel-padding);width:100%}.auth-card h1,.auth-card p{margin:0}.auth-card label{display:grid;font-weight:650;gap:var(--space-2)}.auth-card input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:var(--control-height);padding:.5rem .7rem}.auth-card__remember{align-items:center;display:flex!important;font-size:.9rem;gap:var(--space-2)!important;min-height:var(--control-height)}.auth-card__remember input{accent-color:var(--accent);min-height:1.1rem;padding:0;width:1.1rem}.auth-card__mark{background:var(--accent-pale);border-radius:.55rem .55rem .55rem .1rem;color:var(--ink);font-weight:800;padding:.55rem;width:max-content}.auth-card__error{color:var(--danger);font-weight:650}:root{color-scheme:light;--ink: #19302d;--ink-raised: #26423e;--ink-soft: #42635d;--on-ink: #f5f8f4;--on-ink-muted: #c0cfca;--canvas: #edf2ee;--surface: #ffffff;--surface-muted: #f5f8f5;--surface-deep: #e9f0eb;--line: #d8e1db;--line-strong: #b8c8be;--text: #17211e;--text-muted: #53625a;--accent: #216b61;--accent-strong: #164f48;--accent-light: #78b4a7;--accent-pale: #c8e4da;--warning: #8c591e;--warning-pale: #fbefd9;--danger: #9b3232;--danger-pale: #f7dede;--success: #236a48;--success-pale: #d9eddf;--focus: #a95e17;--font-display: Inter, "Segoe UI Variable Display", "Aptos Display", "Segoe UI", sans-serif;--font-body: Inter, "Segoe UI Variable Text", "Aptos", "Segoe UI", sans-serif;--font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--page-max: 84rem;--page-gutter: clamp(1rem, 2vw, 2rem);--page-block: 1.25rem;--page-bottom: 2.5rem;--layout-page-gap: 1.25rem;--layout-section-gap: 1rem;--panel-padding: clamp(.875rem, 1.6vw, 1.25rem);--control-height: 2.5rem;--list-row-height: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: .4375rem;--radius-md: .6875rem;--radius-lg: .875rem;--shadow-panel: 0 .5rem 1.5rem rgb(18 39 33 / 6%);--motion-fast: .14s ease}*{box-sizing:border-box}html{background:var(--canvas);font-family:var(--font-body);line-height:1.5}body{background:var(--canvas);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button,[role=button]{min-height:var(--control-height);min-width:var(--control-height)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:42rem){:root{--control-height: 2.75rem;--page-block: 1rem;--page-bottom: 1.5rem;--layout-page-gap: 1rem;--layout-section-gap: .875rem;--panel-padding: 1rem}}.skip-link{background:var(--surface);border:2px solid var(--focus);border-radius:var(--radius-sm);color:var(--text);font-weight:700;left:var(--space-4);padding:var(--space-3) var(--space-4);position:fixed;top:var(--space-3);transform:translateY(-200%);transition:transform var(--motion-fast);z-index:10}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100dvh}.app-header{background:var(--ink);border-bottom:1px solid var(--ink-soft);color:var(--on-ink)}.app-header__inner{align-items:center;display:flex;gap:var(--layout-section-gap);justify-content:space-between;margin-inline:auto;max-width:var(--page-max);min-height:4.25rem;padding:var(--space-3) var(--page-gutter)}.app-brand{align-items:center;color:var(--on-ink);display:inline-flex;flex:0 0 auto;gap:var(--space-3);min-height:var(--control-height);text-decoration:none}.app-brand__mark{align-items:center;background:var(--accent-pale);border:1px solid color-mix(in srgb,var(--accent-pale),white 28%);border-radius:.55rem .55rem .55rem .1rem;color:var(--ink);display:inline-flex;font-size:.75rem;font-weight:800;height:2.25rem;justify-content:center;letter-spacing:.04em;width:2.25rem}.app-brand__name,.app-brand__caption{display:block}.app-brand__name{font-family:var(--font-display);font-size:1.1rem;font-weight:720;letter-spacing:-.035em;line-height:1}.app-brand__caption{color:var(--on-ink-muted);font-size:.72rem;font-weight:500;margin-top:.3rem}.tool-navigation{align-items:stretch;display:flex;gap:var(--space-1)}.tool-navigation__link{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--on-ink-muted);cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-2);justify-content:center;min-height:2.75rem;padding:.5rem .7rem;text-decoration:none;transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.tool-navigation__link:hover:not(:disabled),.tool-navigation__link:focus-visible:not(:disabled){background:var(--ink-raised);color:var(--on-ink)}.tool-navigation__link.active{background:var(--accent);border-color:var(--accent-light);color:#fff}.tool-navigation__link--unavailable{color:var(--on-ink-muted);cursor:not-allowed;opacity:.66}.tool-navigation__state{border:1px solid currentColor;border-radius:99px;font-size:.69rem;font-weight:650;line-height:1;padding:.24rem .42rem}.app-main{margin-inline:auto;max-width:var(--page-max);outline:none;padding:var(--page-block) var(--page-gutter) var(--page-bottom)}@media(max-width:42rem){.app-header__inner{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.tool-navigation{overflow-x:auto;padding-bottom:.1rem;width:100%}.tool-navigation__link{flex:1 0 auto}.app-main{padding-top:var(--space-4)}}
