body .button.button--compact{min-height:var(--button-compact-height);border-radius:var(--button-compact-radius);padding:var(--space-1) var(--space-3);font-size:var(--button-compact-size)}body .button.button--upload{min-height:var(--button-upload-height);padding:var(--space-3) var(--space-6);font-size:var(--button-upload-size);font-weight:var(--weight-emphasis)}body .button.button--text:not(.primary):not(.account-entry){border-color:transparent;background:transparent;color:var(--button-secondary-text)}body .button.button--text:not(.primary):not(.account-entry):hover:not(:disabled){background:var(--button-secondary-hover-bg)}body .button[aria-pressed=true]:not(.primary):not(.account-entry){border-color:var(--button-selected-border);background:var(--button-selected-bg);color:var(--button-selected-text)}.ui-card{padding:var(--card-padding);border:var(--border-width) solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--ui-shadow-rest);color:var(--color-text-primary)}.ui-field{min-height:var(--input-height);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--input-border);border-radius:var(--input-radius);background:var(--input-bg);color:var(--input-text);font-family:var(--body-font);font-size:var(--text-ui);line-height:var(--line-ui)}.ui-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ui-grid{display:grid;gap:var(--layout-grid-gap)}.ui-heading{font-family:var(--display-font);font-size:var(--text-title-sm);font-weight:var(--weight-heading);line-height:var(--line-heading);color:var(--color-text-primary)}.ui-meta{font-family:var(--body-font);font-size:var(--text-caption);line-height:var(--line-caption);color:var(--color-text-secondary)}.ui-field:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media(pointer:coarse){html body :is(.button,.button.button--compact,.cad-app-header button,.ui-field){min-height:var(--control-height-touch)}}@media(max-width:700px){body .button.button--upload{min-height:var(--button-upload-mobile-height);font-size:var(--text-body)}}.ui-field::placeholder{color:var(--color-text-placeholder);opacity:var(--opacity-solid)}.public-ui,body:is(.cad-app-page,.workspace-page,.library-page,.auth-page){color:var(--ink);background-color:var(--page)}body.auth-page{background-image:radial-gradient(ellipse 330px 240px at -100px 260px,var(--color-decoration-peach) 99%,transparent 100%),radial-gradient(ellipse 300px 240px at calc(100% + 130px) 560px,var(--color-decoration-lavender) 99%,transparent 100%);background-repeat:no-repeat}body.auth-page .auth-page-header{height:80px;background:var(--page);border-color:var(--line)}body.auth-page main{padding-block:clamp(var(--space-7),5vw,var(--space-16))}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog){border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);color:var(--ink);box-shadow:var(--dialog-shadow)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog)::backdrop{background:var(--dialog-backdrop)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog) :is(h1,h2,h3){font-family:var(--display-font, "CADProps Rounded", sans-serif);font-weight:var(--weight-display)}body .auth-dialog h2{font-size:var(--heading-auth-size);line-height:var(--line-heading)}body .auth-dialog-inline{box-shadow:var(--ui-shadow-rest)}body .auth-dialog :is(.auth-mode-links,.auth-google-unavailable){border-color:var(--line);border-radius:var(--radius-control);background:var(--surface)}body .auth-dialog .auth-mode-links button{border-radius:var(--radius-compact)}body .auth-dialog .auth-mode-links button.active{color:var(--accent-strong);background:var(--panel);box-shadow:var(--shadow-selected)}body .auth-dialog :is(.auth-password-login,.auth-password-reset,.auth-registration,.auth-link-complete) label span{position:static;width:auto;height:auto;clip-path:none;white-space:normal;color:var(--ink);font-size:var(--text-small);font-weight:var(--weight-label)}body .auth-dialog :is(.auth-password-login,.auth-password-reset,.auth-registration,.auth-link-complete){gap:var(--space-3)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog) input{border:1px solid var(--color-border-field);border-radius:var(--radius-field);background:var(--field);color:var(--ink)}body .auth-dialog input::placeholder{color:var(--color-text-placeholder)}body .auth-dialog .button.primary,body .account-settings-dialog .account-settings-save,body .sharing-dialog button.primary{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--button-primary-bg);color:var(--field)}body .auth-dialog .button.primary:hover:not(:disabled),body .account-settings-dialog .account-settings-save:hover:not(:disabled),body .sharing-dialog button.primary:hover:not(:disabled){background:var(--button-primary-hover-bg);border-color:var(--accent-strong)}body .account-popover{border-color:var(--line);border-radius:var(--radius-floating);background:var(--panel);box-shadow:var(--ui-shadow-raised)}body .account-avatar,body .account-settings-dialog .account-settings-section{border-radius:var(--radius-field);background:var(--accent-soft);color:var(--accent-strong)}body .account-settings-dialog input[readonly]{background:var(--surface);color:var(--muted)}body .account-settings-dialog input{min-height:46px}body .account-settings-dialog .account-settings-save{min-height:46px;padding:var(--space-2) var(--space-4);font-weight:var(--weight-emphasis);cursor:pointer}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog) button:disabled{cursor:not-allowed}body.cad-app-page .cad-upload-surface.library-empty{border-color:var(--color-border-upload)}body.cad-app-page .cad-upload-surface.library-empty>svg{width:88px;height:88px;color:transparent;background:url(/assets/illustrations/upload-folder-v1.webp) center / contain no-repeat}body:is(.cad-app-page,.workspace-page,.library-page,.public-ui) :is(.cad-app-shell,.app-shell,.library-shell){color:var(--ink)}body:is(.cad-app-page,.workspace-page,.library-page,.public-ui) :is(.cad-app-shell,.app-shell,.library-shell) :is(h1,h2,h3){font-family:var(--display-font);font-weight:var(--weight-display)}body:is(.cad-app-page,.workspace-page,.library-page,.public-ui) :is(.cad-app-shell,.app-shell,.library-shell) :is(h2,h3),body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog) :is(h2,h3){font-weight:var(--weight-heading)}body:is(.cad-app-page,.workspace-page,.library-page) :is(.cad-app-header,.shared-header,.workspace-boot-header){background:var(--panel);border-color:var(--line)}body.cad-app-page .cad-file-sidebar{background:var(--panel);border-color:var(--line)}body.cad-app-page .cad-sidebar-scroll>button,body.cad-app-page .cad-sidebar-folder>button:first-child{border-radius:var(--radius-field)}body.cad-app-page .cad-sidebar-scroll button.active{background:var(--accent-soft);color:var(--accent-strong)}body.cad-app-page .cad-sidebar-bottom{border-color:var(--line);background:var(--panel)}body.cad-app-page .cad-app-content,body.cad-app-page .cad-app-content .library-shell{background:var(--page)}.public-ui:not(.home-page) .cad-upload-surface.entry-drop{position:relative;min-height:340px;padding:var(--space-8) var(--space-6);border:1px dashed var(--color-border-upload);border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--ui-shadow-rest)}.public-ui:not(.home-page) .entry-upload-icon{width:88px;height:88px;background:url(/assets/illustrations/upload-folder-v1.webp) center / contain no-repeat}.public-ui:not(.home-page) .entry-upload-icon svg{visibility:hidden}.public-ui:not(.home-page) .cad-upload-surface.entry-drop h2{font-size:clamp(24px,3vw,32px)}.public-ui:not(.home-page) .cad-upload-surface.entry-drop .primary{min-width:min(220px,100%);background:var(--button-primary-bg);border-color:var(--accent);color:var(--field)}.public-ui:not(.home-page) .upload-entry.dragging .entry-drop{border-color:var(--accent);background:var(--compat-color-fff7ef)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell :is(button,select,input[type=number]){border-radius:var(--radius-control)}body.cad-app-page .cad-app-header button{border-radius:var(--radius-control)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .primary,body.cad-app-page .cad-app-header button.primary{background:var(--button-primary-bg);border-color:var(--accent);color:var(--field)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .primary:hover:not(:disabled),body.cad-app-page .cad-app-header button.primary:hover:not(:disabled){background:var(--button-primary-hover-bg);border-color:var(--accent-strong)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .model-stage:has(.workspace-empty-upload){background:radial-gradient(ellipse at 8% 90%,var(--compat-color-fff3e9),transparent 55%),radial-gradient(ellipse at 92% 8%,var(--compat-color-f5f0ff),transparent 45%),var(--page)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload{border:1px dashed var(--color-border-upload);border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--ui-shadow-rest);padding-block:clamp(var(--space-6),5vh,var(--space-12))}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload>svg{width:88px;height:88px;border:0;border-radius:0;color:transparent;background:url(/assets/illustrations/upload-folder-v1.webp) center / contain no-repeat}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.6px}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload[data-dragging],body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload:has(button:focus-visible){border-color:var(--accent);background:var(--compat-color-fff7ef)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell :is(.workspace-tools:not(:empty),.inspector-dock:not(:empty),.structure-dock:not(:empty),.file-menu,.active-tools,.viewer-part-menu){border-color:var(--line);background:var(--panel);box-shadow:var(--ui-shadow-rest)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-tools:not(:empty){border-radius:var(--radius-card)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell :is(.inspector-dock:not(:empty),.file-menu,.active-tools){border-radius:var(--radius-floating)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .inspection-panel>header{background:var(--surface)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .batch-workspace{background:var(--page)}body.cad-app-page :is(.library-signin,.library-empty,.library-share-list>article){border-color:var(--line);border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--ui-shadow-rest)}body.cad-app-page .library-title h1{font-size:clamp(28px,3vw,38px)}body.cad-app-page :is(.library-toolbar label,.library-toolbar select,.library-batch,.library-table-wrap){border-radius:var(--radius-control);border-color:var(--line)}body.cad-app-page .library-toolbar label:focus-within{outline:var(--focus-ring);outline-offset:2px}body.cad-app-page .library-table th{background:var(--surface)}body.cad-app-page .library-table tr:has(input:checked) td{background:var(--compat-color-fff7ef)}body:is(.workspace-page,.cad-app-page) .shared-unavailable{border-radius:var(--radius-panel);background:var(--panel);box-shadow:var(--ui-shadow-rest)}@media(prefers-reduced-motion:no-preference){body :is(.auth-dialog[open],.account-settings-dialog[open],.sharing-dialog[open],.confirm-dialog[open],.account-popover){animation:app-surface-in var(--ui-surface-duration) var(--ui-ease) both}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload{transition:border-color var(--ui-feedback-duration) var(--ui-ease),background-color var(--ui-feedback-duration) var(--ui-ease)}.public-ui:not(.home-page) .entry-upload-icon{transition:transform var(--ui-feedback-duration) var(--ui-ease)}.public-ui:not(.home-page) .upload-entry.dragging .entry-upload-icon{transform:translateY(-2px)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload>svg{transition:transform var(--ui-feedback-duration) var(--ui-ease)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload[data-dragging]>svg,body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload:has(button:focus-visible)>svg{transform:translateY(-2px)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.cad-app-header) button{transition:background-color var(--ui-feedback-duration) var(--ui-ease),border-color var(--ui-feedback-duration) var(--ui-ease),transform var(--ui-feedback-duration) var(--ui-ease)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.cad-app-header) button:active:not(:disabled){transform:scale(.992)}@media(hover:hover)and (pointer:fine){body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload:hover>svg{transform:translateY(-2px)}body.cad-app-page .library-table tbody tr:hover td{background:var(--page)}}}@keyframes app-surface-in{0%{translate:0 2px}to{translate:0 0}}@media(prefers-reduced-motion:reduce){body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog,.account-popover,.cad-app-header) *,body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload,body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .workspace-empty-upload>svg{transition:none}}@media(max-width:700px){body.cad-app-page .cad-header-actions .app-actions>button>span{display:inline}.public-ui:not(.home-page) .cad-upload-surface.entry-drop{padding:var(--space-8) var(--space-4);border-radius:var(--radius-card)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.confirm-dialog){border-radius:var(--radius-card)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload{padding:var(--space-6) var(--space-4);border-radius:var(--radius-card)}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload>svg{width:64px;height:64px}body:is(.cad-app-page,.workspace-page,.public-ui) .app-shell .cad-upload-surface.workspace-empty-upload h2{font-size:var(--text-title-sm)}}body :is(.app-shell,.cad-app-shell,.library-shell){font-family:var(--body-font);font-size:var(--text-ui)}body :is(button,input,select,textarea,.button){font-family:var(--body-font)}body :is(.public-ui,.cad-app-shell,.app-shell,.library-shell,dialog,.auth-dialog-inline) :is(h1,h2,h3,h4){font-family:var(--display-font);font-weight:var(--weight-heading)}body.public-ui .eyebrow{font-family:var(--body-font);font-size:var(--text-caption);font-weight:var(--weight-ui);color:var(--accent-strong)}body :is(.button,.account-settings-save),body .cad-app-header button,body :is(.auth-dialog,.sharing-dialog,.confirm-dialog,.conversion-dialog) button{border-radius:var(--button-radius);font-size:var(--text-ui);font-weight:var(--weight-ui);line-height:var(--line-ui)}body .button,body .cad-app-header button,body :is(.sharing-dialog,.confirm-dialog)>:is(form,footer)>button{min-height:var(--button-height);padding:var(--space-2) var(--space-4);gap:var(--space-2)}body .button:not(.primary):not(.account-entry),body .app-shell button:not(.primary):not(.danger):not([aria-pressed=true]){border-color:var(--line)}body .button:not(.primary):not(.account-entry){color:var(--ink);background:var(--panel)}body .button:not(.primary):hover:not(:disabled){background:var(--surface)}body :is(.button.primary,button.primary,.account-settings-save){background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--field)}body :is(.button.primary,button.primary,.account-settings-save):hover:not(:disabled){background:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg);color:var(--field)}body :is(.public-ui,.cad-app-shell,.app-shell,.library-shell) button,body :is(.auth-dialog,.sharing-dialog,.account-settings-dialog,.confirm-dialog) button{font-weight:var(--weight-ui)}body .app-shell button,body .cad-app-shell button{border-radius:var(--button-radius)}body .app-shell :is(.primary-tools,.contextual-tools,.segmented,.tool-part-list,.viewport-selection,.selection-filter,.inspection-panel>header,.structure-panel>header) button,body .cad-app-shell :is(.cad-sidebar-scroll,.cad-workspace-mode) button,body .auth-dialog .auth-mode-links button{border-radius:var(--radius-compact)}body .app-shell .segmented button[aria-pressed=true],body.public-ui .catalog-filters button.active,body .app-shell :is(.primary-tools,.measurement-toolbar,.viewport-selection,.selection-filter) button[aria-pressed=true]{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-line)}body.public-ui .catalog-filters button{border-radius:var(--radius-compact);font-size:var(--text-ui)}body.public-ui .header-action .button.primary{min-height:var(--button-height);background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--field)}body.public-ui .header-action .button.primary:hover{background:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg)}body.public-ui .header-action .account-entry,body .cad-upload-surface .entry-actions .button:not(.primary){color:var(--ink);background:transparent;border-color:transparent}body .cad-upload-surface .entry-actions .button:not(.primary):hover{background:var(--surface)}body.public-ui.home-page .cad-upload-surface .entry-actions .primary,body.public-ui:not(.home-page) .cad-upload-surface.entry-drop .primary,body.cad-app-page .app-shell .cad-upload-surface.workspace-empty-upload .primary,body.cad-app-page .cad-upload-surface.library-empty .primary{min-height:var(--control-height-upload);border-radius:var(--button-radius);padding:var(--space-3) var(--space-6);font-size:var(--button-upload-size);font-weight:var(--weight-emphasis)}body .auth-dialog :is(input,.button),body .account-settings-dialog :is(input,.account-settings-save){min-height:var(--control-height-form);font-size:var(--text-ui)}body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.conversion-dialog) input,body :is(.auth-dialog,.account-settings-dialog,.sharing-dialog,.conversion-dialog) select,body .app-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){border-color:var(--line);border-radius:var(--input-radius);color:var(--ink);background-color:var(--field)}body :is(.conversion-dialog,.confirm-dialog){color:var(--ink);border:1px solid var(--line);border-radius:var(--dialog-radius);background:var(--panel);box-shadow:var(--dialog-shadow)}body :is(.conversion-dialog,.confirm-dialog)::backdrop{background:var(--dialog-backdrop)}body .conversion-dialog h2{font-family:var(--display-font);font-weight:var(--weight-heading)}body .app-shell .danger,body .confirm-dialog .danger{color:var(--danger)}body .app-shell .danger:hover:not(:disabled),body .confirm-dialog .danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}body :is(button,a,input,select,textarea,summary):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}body button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}body .app-shell :is(.property-result,.dimension-axes,.batch-workspace) strong{font-variant-numeric:tabular-nums}body.public-ui :is(.editorial a,.text-link){color:var(--accent)}body.public-ui .editorial{color:var(--ink);font-size:var(--text-reading)}body.public-ui .editorial>p:first-of-type{color:var(--ink)}@media(max-width:700px){body.public-ui.home-page .cad-upload-surface .entry-actions .primary,body.public-ui:not(.home-page) .cad-upload-surface.entry-drop .primary,body.cad-app-page .app-shell .cad-upload-surface.workspace-empty-upload .primary,body.cad-app-page .cad-upload-surface.library-empty .primary{min-height:var(--control-height-form);font-size:var(--text-body)}}@media(prefers-reduced-motion:no-preference){body :is(.button,.cad-app-header button,.account-settings-save),body :is(.auth-dialog,.sharing-dialog,.confirm-dialog,.conversion-dialog) button{transition:background-color var(--ui-feedback-duration) var(--ui-ease),border-color var(--ui-feedback-duration) var(--ui-ease),color var(--ui-feedback-duration) var(--ui-ease)}}@media(prefers-reduced-motion:reduce){body :is(.button,.cad-app-header button,.account-settings-save),body :is(.auth-dialog,.sharing-dialog,.confirm-dialog,.conversion-dialog) button{transition:none}}body.public-ui :is(h1,h2,h3,h4){font-family:var(--display-font);font-weight:var(--weight-heading)}body.public-ui :is(.home-copy,.hero) h1{font-weight:var(--weight-display)}body :is(.auth-close,.conversion-close){font-size:var(--text-title-sm)}body.public-ui .catalog-filters button,body .auth-dialog .button{font-weight:var(--weight-ui)}body.public-ui .privacy-dismiss,body .account-settings-heading button{border-radius:var(--radius-compact);font-weight:var(--weight-ui)}body.cad-app-page .app-shell .primary-tools button,body.cad-app-page .workspace-tools-placeholder button{font-size:var(--text-caption)}body .conversion-dialog .conversion-panel,body .sharing-dialog{padding:var(--space-6)}body .account-settings-heading{padding:var(--space-4) var(--space-6)}body .auth-dialog{padding:var(--space-8)}@media(max-width:700px){body .auth-dialog,body .sharing-dialog,body .conversion-dialog .conversion-panel{padding:var(--space-6) var(--space-4)}}body :is(.app-shell,.cad-app-shell) button{font-family:var(--button-font)}body :is(button,.button){font-family:var(--button-font)}
