.review-section,.material-review.review-section{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:7px;margin:0 0 9px;font-size:11px;overflow:hidden}.review-section-toggle,.material-review .review-section-toggle{text-align:left;align-items:center;gap:9px;width:100%;min-width:0;min-height:44px;padding:10px 12px;display:flex}.review-section-toggle strong,.material-review .review-section-toggle strong{white-space:nowrap;font-size:12px;font-weight:550}.review-section-toggle>span,.material-review .review-section-toggle>span{color:var(--muted);margin-left:auto;font-size:10px}.review-section-toggle>span[data-tone=pending],.material-review .review-section-toggle>span[data-tone=pending]{color:var(--warning)}.review-section-toggle>svg{color:var(--muted);flex-shrink:0;transition:transform .15s}.review-section-toggle>svg.is-open{transform:rotate(180deg)}.material-review.review-section .material-review-heading{padding:0}.review-section-body{border-top:1px solid var(--line);padding:0 12px 11px}.review-task-tabs{gap:17px;padding-top:8px;display:flex}.review-task-tabs>button{color:var(--muted);border-bottom:1px solid #0000;align-items:center;gap:5px;padding:5px 0 7px;font-size:10px;display:flex}.review-task-tabs>button[aria-pressed=true]{color:var(--signal);border-bottom-color:var(--signal)}.review-task-tabs span{font-variant-numeric:tabular-nums}.review-task{border-bottom:1px solid var(--line);padding:11px 0 8px}.review-task:last-of-type{border-bottom:0}.review-task-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.review-task-title>strong{overflow-wrap:anywhere;font-size:11px;font-weight:500;line-height:1.8}.review-task-title>span{color:var(--muted);flex-shrink:0;font-size:10px}.review-task-title>span[data-status=deferred]{color:var(--warning)}.review-task-title>span[data-status=resolved]{color:var(--signal)}.review-task-spec,.review-task-id{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:10px;line-height:1.8;display:block}.review-task-actions{flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;display:flex}.review-task-actions>button:not(.material-help-trigger){color:var(--signal);padding:4px 3px;font-size:10px}.review-task-actions .review-task-process{margin-left:auto}.review-task-hint,.review-task-empty,.review-task-instruction{color:var(--muted);margin:9px 0;font-size:10px;line-height:1.8}.review-task-stale,.review-task-error{color:var(--warning);margin:7px 0;font-size:11px;line-height:1.8}.review-task-error button{color:var(--signal);padding:4px 0;display:block}.review-task-notice{color:var(--signal);margin:6px 0 10px;font-size:10px;line-height:1.8}.review-task-decision{background:color-mix(in srgb,var(--elevated) 60%,transparent);border-radius:5px;margin-top:8px;padding:10px}.review-task-decision>.review-task-instruction{margin-top:0}.review-decision-choices{flex-wrap:wrap;gap:5px;margin-bottom:11px;display:flex}.review-decision-choices>button{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:6px 8px;font-size:10px}.review-decision-choices>button[aria-pressed=true]{border-color:var(--signal);color:var(--signal);background:color-mix(in srgb,var(--signal) 8%,transparent)}.review-task-decision label{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;display:flex}.review-task-decision textarea,.review-task-decision input{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;width:100%;min-width:0;padding:7px;font-size:11px}.review-task-decision textarea{resize:vertical;min-height:80px}.review-task-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:11px;display:grid}.review-task-fields label:nth-child(2),.review-task-fields label:first-child{grid-column:1/-1}.review-task-submit{gap:8px;margin-top:10px;display:flex}.review-task-submit>button,.review-task-node-link>button,.review-task-node-link form>button{border:1px solid var(--signal);color:var(--signal);border-radius:4px;padding:7px 9px;font-size:10px}.review-task-node-link{color:var(--muted);font-size:10px;line-height:1.8}.review-task-node-link form{border-top:1px solid var(--line);margin-top:11px;padding-top:10px}.review-task-node-link form>button{margin-top:9px}.review-task-conclusion p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:11px;line-height:1.8}.review-task-conclusion strong{color:var(--signal);font-size:10px;font-weight:500}.review-task-conclusion small,.review-task-history small{color:var(--muted);font-size:10px}.review-task-reopen,.review-task-history-toggle{color:var(--signal);margin-top:10px;padding:3px 0;font-size:10px;display:block}.review-task-history{color:var(--muted);padding-top:6px;font-size:10px;line-height:1.8}.review-task-history>div{border-top:1px solid var(--line);padding:8px 0}.review-task-history strong{color:var(--ink);font-size:10px;font-weight:500}.review-task-history p{white-space:pre-wrap;overflow-wrap:anywhere}.review-task-more{width:100%;color:var(--signal);padding-top:9px;font-size:10px}.review-task-search{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:4px;margin:0 0 4px;padding:7px 8px;font-size:10px}.review-basis-row{min-height:32px;color:var(--muted);justify-content:space-between;align-items:center;gap:7px;font-size:10px;display:flex}.review-section button:disabled{opacity:.5;cursor:default}.review-section button:focus-visible,.review-section textarea:focus-visible,.review-section input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (prefers-reduced-motion:reduce){.review-section-toggle>svg{transition:none}}.material-review{border:1px solid var(--line);color:var(--ink);border-radius:8px;margin-bottom:18px;font-size:12px}.material-review-heading{align-items:center;gap:2px;padding:5px 7px 5px 12px;display:flex}.material-review-toggle{text-align:left;flex:1;align-items:center;gap:9px;min-width:0;min-height:32px;display:flex}.material-review-toggle strong{white-space:nowrap;font-size:12px;font-weight:600}.material-review-toggle>span{color:var(--muted);margin-left:auto;font-size:10px}.material-review-toggle>svg{color:var(--muted);flex-shrink:0;transition:transform .15s}.material-review-toggle>svg.is-open{transform:rotate(180deg)}.material-review .material-review-pending{color:var(--warning)}.material-review-body{border-top:1px solid var(--line);padding:0 12px 10px}.material-review-overview{padding:10px 0 8px}.material-review-overview>div:first-child{color:var(--muted);align-items:center;font-size:10px;display:flex}.material-review-overview p{flex-wrap:wrap;align-items:baseline;gap:6px 15px;margin:3px 0 0;font-size:11px;line-height:1.8;display:flex}.material-review-overview b{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.material-review-overview small{color:var(--muted);font-size:10px}.material-review-concern{color:var(--muted);align-items:center;margin-top:4px;font-size:10px;display:flex}.material-review-enter{border:1px solid var(--line);width:100%;min-height:32px;color:var(--signal);background:color-mix(in srgb,var(--signal) 5%,transparent);border-radius:5px;justify-content:center;align-items:center;gap:8px;margin:2px 0 13px;font-size:11px;display:flex}.material-review-enter>svg:last-child{margin-left:auto}.material-review-enter>svg:first-child{margin-right:auto}.material-review-list-title{color:var(--muted);justify-content:space-between;align-items:center;padding:0 0 5px;font-size:10px;display:flex}.material-review-list-title strong{font-weight:500}.material-review-row{border-top:1px solid var(--line);padding:9px 0 7px}.material-review-row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.material-review-name{text-align:left;flex-wrap:wrap;align-items:baseline;gap:2px 6px;min-width:0;font-size:11px;line-height:1.8;display:flex}.material-review-name small{color:var(--muted);font-size:10px}.material-review-name:disabled{cursor:default;opacity:1}.material-review-name:not(:disabled):hover{color:var(--signal)}.material-review-number{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:550}.material-review-number small{color:var(--muted);font-size:10px;font-weight:400}.material-review-row-bottom{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 6px;font-size:10px;display:flex}.material-review-row-bottom>div{align-items:center;gap:1px;display:flex}.material-review-row-bottom .is-reviewed{color:var(--signal)}.material-review-fold{border-top:1px solid var(--line);margin-top:5px}.material-review-fold>summary{cursor:pointer;color:var(--muted);padding:11px 0;font-size:11px}.material-review-fold>summary>span{float:right;font-size:10px}.material-review-evidence{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:0 2px;margin-top:4px;padding-top:7px;font-size:10px;display:flex}.material-review-evidence>span:nth-of-type(2){margin-left:auto}.material-help-trigger{width:24px;min-width:24px;height:24px;color:var(--muted);vertical-align:middle;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.material-help-trigger:hover,.material-help-trigger[data-state=open]{color:var(--signal);background:var(--elevated)}.material-review button:focus-visible,.material-review summary:focus-visible,.material-help-trigger:focus-visible,.material-help-card button:focus-visible,.material-help-card summary:focus-visible,.material-help-card a:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.material-help-hint,.material-help-card{z-index:140;color:var(--ink);background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;position:fixed;box-shadow:0 8px 30px #0003}.material-help-hint{width:min(260px,100vw - 24px);padding:10px 12px;font-size:11px;line-height:1.7}.material-help-hint p{margin:0}.material-help-hint small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.material-help-card{outline:none;width:min(344px,100vw - 24px);max-height:min(430px,100dvh - 24px);padding:0 14px 12px;font-size:11px;line-height:1.8;overflow-y:auto}.material-help-card>header{background:var(--surface);z-index:1;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 6px;display:flex;position:sticky;top:0}.material-help-card h2{margin:0;font-size:12px;font-weight:600}.material-help-close{width:26px;height:26px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.material-help-close:hover{background:var(--elevated);color:var(--ink)}.material-help-card>p{color:var(--muted);margin:0 0 9px}.material-help-detail{border-top:1px solid var(--line);padding-top:7px}.material-help-detail p{margin:7px 0}.material-help-detail details{border-bottom:1px solid var(--line);padding:7px 0}.material-help-detail summary{cursor:pointer;color:var(--signal)}.material-detail-link{color:var(--signal);text-align:left;margin-top:8px;display:block}.material-detail-locations{flex-direction:column;gap:3px;margin-top:8px;display:flex}.material-detail-locations>button{text-align:left;color:var(--muted);border-radius:3px;padding:3px}.material-detail-locations>button:hover{color:var(--signal);background:var(--elevated)}@media (prefers-reduced-motion:reduce){.material-review-toggle>svg{transition:none}}.analysis-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:20px;padding:0 18px;display:flex}.analysis-tabs>button{color:var(--muted);border-bottom:2px solid #0000;padding:12px 2px 10px;font-size:12px}.analysis-tabs>button[aria-selected=true]{color:var(--signal);border-bottom-color:var(--signal)}.analysis-tab-panel{flex-direction:column;flex:1;min-height:0;display:flex}.analysis-tab-panel[hidden]{display:none}.feedback-panel{flex-direction:column;flex:1;min-height:0;font-size:12px;display:flex}.feedback-loading{color:var(--muted);padding:28px 20px;font-size:12px}.feedback-account{justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.feedback-account>button{width:28px;height:28px;color:var(--muted)}.feedback-account-identity{align-items:flex-start;gap:8px;min-width:0;display:flex}.feedback-account-identity>button{color:var(--muted);padding:3px}.feedback-account-identity>button svg{width:11px;height:11px}.feedback-rename{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.feedback-rename label{color:var(--muted);flex-basis:100%;font-size:10px}.feedback-rename input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;margin-top:4px;padding:5px 7px;display:block}.feedback-reporter{color:var(--ink);overflow-wrap:anywhere;font-size:11px;line-height:1.7;display:block}.feedback-reporter small{color:var(--muted);overflow-wrap:anywhere;font-size:9px;display:block}.feedback-view-tabs{border-bottom:1px solid var(--line);gap:16px;padding:0 18px 10px;display:flex}.feedback-view-tabs>button{color:var(--muted);padding:3px 0;font-size:11px}.feedback-view-tabs>button[aria-pressed=true]{color:var(--signal)}.feedback-view-tabs span{margin-left:3px;font-size:10px}.feedback-scroll{padding-top:14px}.feedback-empty{text-align:center;padding:25px 8px}.feedback-empty>svg{width:26px;height:26px;color:var(--muted);margin:0 auto 14px}.feedback-empty h3,.feedback-auth h2{margin:0 0 10px;font-size:14px;font-weight:500}.feedback-empty p,.feedback-auth>p{color:var(--muted);font-size:11px;line-height:1.9}.feedback-auth form{flex-direction:column;gap:14px;margin:24px 0;display:flex}.feedback-auth label,.feedback-title-label{flex-direction:column;gap:6px;font-size:11px;display:flex}.feedback-auth input,.feedback-title-label input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:6px;outline:none;padding:9px 10px;font-size:12px}.feedback-auth input:focus,.feedback-title-label input:focus{border-color:var(--signal)}.feedback-auth form>button{width:100%}.feedback-title-label{color:var(--muted);margin-bottom:10px}.feedback-composer .feedback-title-label input{background:0 0;border-width:0 0 1px;border-radius:0;padding:7px 0}.feedback-composer>textarea{height:64px;min-height:64px;font-size:12px;line-height:1.8}.feedback-input-area{border-top:1px solid var(--line)}.feedback-muted{color:var(--muted);overflow-wrap:anywhere;margin:8px 0;font-size:10px;line-height:1.8}.feedback-error{color:var(--warning);white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7}.feedback-notice{color:var(--signal);font-size:11px;line-height:1.7}.feedback-banner{background:var(--elevated);border-radius:6px;align-items:flex-start;gap:7px;margin:0 0 14px;padding:10px;display:flex}.feedback-banner>svg{flex-shrink:0;width:14px;height:14px;margin-top:3px}.feedback-section-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.feedback-section-heading>button{width:28px;height:28px}.feedback-section-heading svg{width:13px;height:13px}.feedback-status{color:var(--signal);font-size:10px}.feedback-status[data-failed=true]{color:var(--warning)}.feedback-record{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:14px}.feedback-record .analysis-user-message{margin:0;padding:12px}.feedback-record h3,.feedback-requirement h3{overflow-wrap:anywhere;margin-bottom:6px;font-size:12px;font-weight:550}.feedback-record p,.feedback-requirement>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.8}.feedback-record .feedback-reporter{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.feedback-requirement{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:16px}.feedback-reason{color:var(--muted);margin:9px 0}.feedback-requirement>button{margin-top:10px;font-size:10px}.feedback-requirement .feedback-reporter{margin-top:8px}.feedback-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:210px;display:grid;overflow-y:auto}.feedback-image{border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:stretch;gap:3px;min-width:0;margin:5px 0 0;padding:5px;position:relative}.feedback-image img{-o-object-fit:contain;object-fit:contain;background:var(--surface);border-radius:3px;width:100%;height:64px}.feedback-image small{align-items:center;gap:4px;font-size:9px;display:flex}.feedback-image small svg{width:10px;height:10px}.feedback-image-remove{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:3px;position:absolute;top:3px;right:3px}.feedback-image-remove svg{width:12px;height:12px}.feedback-image-remove:disabled{opacity:.4}.feedback-file-input{display:none}.feedback-record-images{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.feedback-record-images img{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);border-radius:4px;width:70px;height:60px}.feedback-edit>textarea{height:130px;min-height:130px;margin-top:10px;font-size:12px;line-height:1.8}.feedback-edit>.feedback-reporter{margin-bottom:14px}.feedback-edit-actions{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.feedback-edit-actions button{font-size:10px}.feedback-attempt-actions{flex-wrap:wrap;gap:3px;margin-top:6px;display:flex}.feedback-attempt-actions button{height:auto;padding:4px;font-size:9px}.feedback-spinning{animation:1s linear infinite feedback-spin}@keyframes feedback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.feedback-spinning{animation:none}}@media (width<=760px){.feedback-auth input{font-size:16px}.feedback-composer>textarea{max-height:100px}}.issue-panel{min-width:0}.issue-topline{justify-content:space-between;align-items:center;gap:8px;padding:15px 18px 12px;display:flex}.issue-topline>span{align-items:center;gap:7px;font-weight:600;display:flex}.issue-topline>small{color:var(--muted);font-size:10px}.issue-tabs{flex-shrink:0;gap:20px}.issue-tabs>button{border-bottom:2px solid #0000;padding:5px 0 8px}.issue-tabs>button[aria-pressed=true]{border-color:var(--signal)}.issue-banner{flex-shrink:0;margin:10px 15px 0}.issue-scroll{min-height:0;padding:17px 18px}.issue-welcome{padding:8px 0 20px}.issue-engine-icon{background:var(--elevated);color:var(--signal);border-radius:10px;margin-bottom:14px;padding:9px;display:inline-flex}.issue-welcome h3{margin-bottom:10px;font-size:15px;font-weight:600;line-height:1.6}.issue-welcome p{color:var(--ink);margin-bottom:8px;font-size:12px;line-height:1.9}.issue-welcome>small,.issue-help{color:var(--muted);font-size:10px;line-height:1.9}.issue-context{border:1px solid var(--line);background:var(--elevated);border-radius:9px;flex-wrap:wrap;gap:8px;margin-bottom:19px;padding:12px 13px;display:flex}.issue-context span{color:var(--muted);font-size:10px}.issue-context strong{font-size:11px;font-weight:500}.issue-context>small{color:var(--muted);flex-basis:100%;font-size:10px;line-height:1.8}.issue-help p{margin-top:5px;font-size:11px}.issue-composer>textarea{resize:vertical;width:100%;height:82px;min-height:66px;color:var(--ink);background:0 0;border:0;outline:none;font-size:12px;line-height:1.8}.issue-composer input{min-width:0}.issue-list-tools{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.issue-list-tools input,.issue-list-tools select,.issue-admin-actions select{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:6px;padding:8px;font-size:11px}.issue-list-tools input{width:100%}.issue-list-tools select{flex:1}.issue-list-row{text-align:left;border:1px solid var(--line);background:var(--elevated);border-radius:9px;width:100%;margin-bottom:10px;padding:13px;transition:border-color .15s;display:block}.issue-list-row:hover{border-color:var(--signal)}.issue-list-row>div{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.issue-list-row small,.issue-list-row footer{color:var(--muted);font-size:9px}.issue-list-row h3{overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.7}.issue-list-row p{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.6}.issue-list-row footer{justify-content:space-between;align-items:center;gap:8px;margin-top:11px;display:flex}.issue-badge{border:1px solid var(--line);color:var(--signal);background:var(--surface);border-radius:5px;padding:3px 7px;font-size:10px;line-height:1.6;display:inline-flex}.issue-badge.status-analysis_failed,.issue-badge.status-needs_info{color:var(--warning)}.issue-badge.status-resolved{color:var(--success,var(--signal))}.issue-back{color:var(--muted);align-items:center;gap:6px;margin-bottom:15px;font-size:11px;display:flex}.issue-detail-heading{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:15px}.issue-detail-heading>small{color:var(--muted);font-size:10px}.issue-detail-heading h3{overflow-wrap:anywhere;margin:9px 0;font-size:15px;font-weight:600;line-height:1.6}.issue-detail-heading>p{color:var(--muted);overflow-wrap:anywhere;margin-top:9px;font-size:10px;line-height:1.8}.issue-message{border:1px solid var(--line);background:var(--elevated);border-radius:9px;margin-bottom:14px;padding:12px}.issue-message.role-user{background:var(--surface)}.issue-message.role-system{background:0 0;border-style:dashed}.issue-speaker{color:var(--signal);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.role-user .issue-speaker,.role-system .issue-speaker{color:var(--muted)}.issue-speaker time{color:var(--muted);white-space:nowrap;font-size:9px}.issue-message>p,.issue-result-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85}.issue-result-card{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.issue-result-card small{color:var(--muted);font-size:10px}.issue-result-card p{margin:5px 0 12px}.issue-result-card p:last-child{margin-bottom:0}.issue-questions{border-left:2px solid var(--signal);padding-left:10px}.issue-pending{color:var(--muted);align-items:center;gap:7px;padding:8px 0;font-size:11px;line-height:1.8;display:flex}.issue-pending svg{flex-shrink:0}.issue-user-actions{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:9px;margin:15px 0;padding:13px;display:flex}.issue-user-actions p,.issue-admin-actions>small{color:var(--muted);font-size:10px;line-height:1.9}.issue-user-actions button,.issue-admin-actions button{white-space:normal;height:auto;min-height:32px;padding:8px 10px;font-size:11px}.issue-user-actions textarea,.issue-admin-actions textarea{width:100%;min-height:80px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px;font-size:12px;line-height:1.8}.issue-admin-actions{border-top:1px solid var(--line);flex-direction:column;gap:11px;margin-top:20px;padding-top:15px;display:flex}.issue-admin-actions h4{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.issue-admin-row{gap:8px;display:flex}.issue-admin-row>*{flex:1;min-width:0}.issue-admin-actions details{border:1px solid var(--line);border-radius:7px;padding:10px}.issue-admin-actions summary{color:var(--muted);cursor:pointer;font-size:10px}.issue-admin-actions details[open]>:not(summary){width:100%;margin-top:10px}.cad-measure-tool{align-items:center;display:flex;position:relative}.cad-measure-tool>button{height:30px;color:var(--ink);border-radius:5px;gap:5px;padding:0 7px;font-size:11px}.cad-measure-tool>button[aria-label=选择测量方式]{width:22px;padding:0}.cad-measure-tool>button[aria-pressed=true]{color:var(--selected-ink);background:var(--selected-surface);box-shadow:inset 0 -2px var(--focus)}.cad-measure-menu{z-index:45;background:var(--surface);border:1px solid var(--line);border-radius:7px;width:245px;padding:5px;position:absolute;top:35px;right:0;box-shadow:0 8px 25px #0003}.cad-measure-menu button{border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:10px 9px;font-size:12px;display:flex}.cad-measure-menu button:hover{background:var(--elevated)}.cad-measure-menu kbd{color:var(--muted);font-size:10px}.cad-measure-panel{z-index:19;border:1px solid var(--cad-layer-line);background:var(--cad-layer-panel);width:286px;max-width:calc(100% - 20px);max-height:calc(100% - 105px);color:var(--cad-layer-ink);cursor:default;border-radius:7px;padding:12px;font-size:11px;position:absolute;top:10px;left:10px;overflow:auto;box-shadow:0 6px 22px #0002}.cad-measure-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cad-measure-heading strong{align-items:center;gap:7px;font-size:12px;display:flex}.cad-measure-heading button{border-radius:3px;padding:3px}.cad-measure-modes{background:var(--elevated);border-radius:5px;gap:3px;padding:3px;display:flex}.cad-measure-modes button{white-space:nowrap;border-radius:3px;flex:1;padding:6px 2px}.cad-measure-modes button[aria-pressed=true],.cad-measure-switches button[aria-pressed=true]{color:var(--selected-ink);background:var(--selected-surface);box-shadow:inset 0 -2px var(--focus)}.cad-measure-unit{align-items:center;gap:8px;margin:12px 0;display:flex}.cad-measure-unit select{background:var(--surface);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:5px 3px;font-size:11px}.cad-measure-switches{gap:6px;display:flex}.cad-measure-switches button{border:1px solid var(--line);border-radius:4px;flex:1;padding:5px}.cad-measure-switches kbd{opacity:.7;margin-left:8px;font-size:10px}.cad-measure-basis{color:var(--muted);margin:9px 0;line-height:1.6}.cad-measure-result{border-top:1px solid var(--line);-webkit-user-select:text;user-select:text;margin-top:10px;padding:10px 0}.cad-measure-result>small{color:var(--muted);display:block}.cad-measure-result output{color:var(--selected-ink);overflow-wrap:anywhere;font:600 24px/1.6 ui-monospace,Consolas,monospace;display:block}.cad-measure-result p{overflow-wrap:anywhere;margin:5px 0}.cad-measure-result b{font-variant-numeric:tabular-nums;font-weight:500}.cad-measure-copy{align-items:center;gap:6px;margin-top:9px;display:flex}.cad-measure-segments{max-height:100px;padding:5px 0;overflow:auto}.cad-measure-segments li{justify-content:space-between;margin:4px 0;display:flex}.cad-measure-object-list{max-height:175px;margin:8px 0;overflow:auto}.cad-measure-object-list li{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:7px 0;display:flex}.cad-measure-object-list li>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cad-measure-object-list small{color:var(--muted);text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.cad-measure-object-list b{flex-shrink:0;font-size:10px}.cad-measure-object-list button{border-radius:3px;padding:3px}.cad-measure-object.is-hover{opacity:.5}.cad-measure-warning{color:var(--muted);margin-top:10px;font-size:10px;line-height:1.7}.cad-measure-actions{gap:6px;margin-top:10px;display:flex}.cad-measure-actions button{border:1px solid var(--line);border-radius:4px;padding:5px 7px}.cad-measure-panel button:hover{background:var(--elevated)}.cad-measure-panel button:disabled{opacity:.4}.cad-measure-command{z-index:19;border:1px solid var(--cad-layer-line);background:var(--cad-layer-panel);color:var(--cad-layer-ink);cursor:default;border-radius:5px;padding:7px 10px;font-size:11px;position:absolute;bottom:8px;left:8px;right:8px}.cad-measure-command p{margin-bottom:5px;line-height:1.5}.cad-measure-command>div{align-items:center;gap:8px;display:flex}.cad-measure-command input{background:var(--surface);border:1px solid var(--line);border-radius:3px;flex:1;min-width:0;max-width:280px;padding:3px 6px;font:11px ui-monospace,Consolas,monospace}.cad-measure-command small{color:var(--muted);margin-left:auto;font-size:10px}.workspace-canvas-shell .cad-grid>svg.cad-measure-overlay,.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid>svg.cad-measure-overlay{z-index:12;box-shadow:none;background:0 0;border:0;overflow:hidden}.cad-measure-overlay{--measure-color:#17bfa8;--measure-text:#176759;--measure-label:#f5fffc}.cad-panel:not(.cad-panel-light) .cad-measure-overlay{--measure-color:#45e6c4;--measure-text:#d7fff4;--measure-label:#162b32}.cad-measure-whole,.cad-measure-segment,.cad-measure-line,.cad-measure-grip,.cad-measure-snap path,.cad-measure-snap rect{vector-effect:non-scaling-stroke;stroke:var(--measure-color);fill:none}.cad-measure-whole{stroke-width:3px;opacity:.6}.cad-measure-segment{stroke-width:4px}.cad-measure-line{stroke-width:1.5px;stroke-dasharray:7 4}.cad-measure-line.is-complete{stroke-dasharray:none}.cad-measure-grip{stroke-width:1.5px;fill:var(--measure-label)}.cad-measure-snap path,.cad-measure-snap rect{stroke-width:2px}.cad-measure-snap text,.cad-measure-point-number{fill:var(--measure-text);stroke:var(--measure-label);paint-order:stroke;stroke-width:3px;vector-effect:non-scaling-stroke}.cad-measure-dynamic rect{fill:var(--measure-label);stroke:var(--measure-color);stroke-width:1px}.cad-measure-dynamic text{fill:var(--measure-text);font-family:ui-monospace,Consolas,monospace}@media (width<=640px){.cad-measure-panel{width:255px;max-height:min(330px,100% - 110px);font-size:10px}.cad-measure-command small{display:none}.cad-measure-command{font-size:10px}}.cad-measure-pipe-toggle{border:1px solid var(--line);text-align:left;border-radius:5px;justify-content:space-between;align-items:center;width:100%;margin-top:10px;padding:7px 9px;display:flex}.cad-measure-pipe-toggle i{background:var(--muted);border-radius:10px;flex:none;width:28px;height:16px;position:relative}.cad-measure-pipe-toggle i:after{content:"";background:var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:3px}.cad-measure-pipe-toggle[aria-checked=true] i{background:var(--focus)}.cad-measure-pipe-toggle[aria-checked=true] i:after{background:#fff;left:15px}.cad-measure-scope{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.review-specification{border-block:1px solid var(--line);margin:10px 0 14px;padding:10px 0;font-size:12px;line-height:1.7}.review-specification>small{color:var(--muted);margin-bottom:6px;display:block}.review-specification>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.review-specification>div>strong{font-weight:500}.review-specification>div>span:last-child{margin-left:auto}.review-specification p{margin:0}.cad-fitting-review{--fitting-confirmed:#068759;--fitting-pending:#bb6200}.cad-panel:not(.cad-panel-light) .cad-fitting-review{--fitting-confirmed:#45e9aa;--fitting-pending:#ffb34f}.fitting-review-controls{z-index:17;border:1px solid var(--cad-layer-line);background:var(--cad-layer-panel);max-width:calc(100% - 20px);color:var(--cad-layer-ink);cursor:default;border-radius:5px;flex-wrap:wrap;align-items:center;gap:3px;padding:6px;font-size:11px;display:flex;position:absolute;top:9px;left:10px}.fitting-review-controls strong{margin:0 5px}.fitting-review-controls button{white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.fitting-review-controls button[aria-pressed=true]{background:var(--selected-surface);color:var(--selected-ink)}.fitting-review-controls i{font-style:normal;font-weight:700}.fitting-legend-confirmed{color:var(--fitting-confirmed)}.fitting-legend-pending{color:var(--fitting-pending)}.fitting-review-controls form{margin-left:6px;display:flex}.fitting-review-controls input{border:1px solid var(--line);background:var(--surface);width:105px;color:var(--ink);border-radius:3px;padding:3px 5px}.fitting-review-controls select{border:1px solid var(--line);background:var(--surface);max-width:220px;color:var(--ink);border-radius:3px;padding:4px}.fitting-review-navigation{align-items:center;gap:5px;margin:0 4px;display:flex}.fitting-review-navigation>span{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:108px}.fitting-review-navigation button:disabled{opacity:.4;cursor:default}.fitting-review-state-filter{align-items:center;gap:3px;display:flex}.fitting-review-state-filter button:disabled{opacity:.5;cursor:default}.fitting-review-empty{color:var(--cad-layer-ink);flex-basis:100%;padding:4px}.fitting-review-progress{border-top:1px solid var(--cad-layer-line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;padding:5px 4px 0;display:flex}.fitting-review-progress progress{width:75px;height:6px;accent-color:var(--focus)}.fitting-review-progress .fitting-review-check{background:var(--selected-surface);color:var(--selected-ink);border:1px solid var(--focus)}.fitting-review-progress button:disabled{opacity:.5;cursor:default}.fitting-review-progress [role=alert]{color:var(--danger,#d45b50);flex-basis:100%}.workspace-canvas-shell .cad-grid>svg.fitting-review-overlay,.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid>svg.fitting-review-overlay{z-index:13;width:100%;height:100%;box-shadow:none;pointer-events:none;background:0 0;border:0;position:absolute;inset:0;overflow:hidden}.fitting-review-marker{color:var(--fitting-pending);cursor:pointer}.fitting-review-marker.is-confirmed{color:var(--fitting-confirmed)}.fitting-review-marker.is-muted{opacity:.42}.fitting-review-hit{fill:#0000;stroke:none}.fitting-review-shape{stroke:currentColor;stroke-width:2.2px;opacity:.55;fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.fitting-review-marker.is-active .fitting-review-shape{opacity:.24}.fitting-review-shadow{stroke:var(--cad-layer-panel);stroke-width:4px;fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.is-pending .fitting-review-shape,.is-pending .fitting-review-pulse-line{stroke-dasharray:2.5 1.2}.fitting-review-marker:hover .fitting-review-shape,.fitting-review-marker:focus .fitting-review-shape{stroke-width:2.5px}.fitting-review-sign{fill:currentColor;pointer-events:none;font-weight:700}.fitting-review-id{fill:currentColor;stroke:var(--cad-layer-panel);paint-order:stroke;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none;font-family:ui-monospace,Consolas,monospace;display:none}.fitting-review-id.is-visible,.fitting-review-marker:hover .fitting-review-id,.fitting-review-marker:focus .fitting-review-id{display:block}.fitting-review-halo{stroke:currentColor;stroke-width:8px;fill:none;opacity:.16;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.fitting-review-breath-layer{will-change:opacity;animation:1.2s ease-in-out infinite fitting-review-breathe}.fitting-review-breath,.fitting-review-pulse-line{stroke:currentColor;fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.fitting-review-breath{stroke-width:5.5px;opacity:.28}.fitting-review-pulse-line{stroke-width:2.2px}@keyframes fitting-review-breathe{0%,to{opacity:1}50%{opacity:.12}}@media (prefers-reduced-motion:reduce){.workspace-app .cad-fitting-review.fitting-review-breath-layer{animation:1.6s ease-in-out infinite fitting-review-breathe!important}}.fitting-review-detail{z-index:18;border:1px solid var(--cad-layer-line);background:var(--cad-layer-panel);width:350px;max-width:calc(100% - 20px);max-height:48%;color:var(--cad-layer-ink);cursor:default;-webkit-user-select:text;user-select:text;border-radius:5px;padding:12px;font-size:11px;line-height:1.7;position:absolute;bottom:18px;left:10px;overflow:auto}.fitting-review-detail header{justify-content:space-between;align-items:center;gap:10px;display:flex}.fitting-review-detail header button{padding:0 6px;font-size:20px}.fitting-review-detail p{margin:6px 0}.fitting-review-detail small{border-top:1px solid var(--line);color:var(--muted);margin-top:8px;padding-top:8px;display:block}@media (width<=640px){.fitting-review-controls{gap:1px;font-size:10px}.fitting-review-controls form{margin-left:2px}.fitting-review-controls button{padding:4px}.fitting-review-detail{max-height:40%}}.review-loop-toolbar{background:color-mix(in srgb, var(--cad-layer-panel) 65%, transparent);width:345px;padding:6px 8px;display:block}.review-loop-heading,.review-loop-actions{align-items:center;gap:5px;display:flex}.review-loop-heading>span{font-variant-numeric:tabular-nums;white-space:nowrap;flex:1;min-width:45px}.review-loop-heading strong{margin:0 5px 0 0}.review-loop-actions{border-top:1px solid color-mix(in srgb,var(--cad-layer-line) 55%,transparent);margin-top:4px;padding-top:5px}.review-loop-actions>span{white-space:nowrap;margin-left:auto;font-size:10px}.review-loop-toolbar button{min-height:27px;padding:3px 7px}.review-loop-toolbar button:disabled{opacity:.45;cursor:default}.review-loop-toolbar .review-primary,.fitting-decision-panel .review-primary{background:var(--selected-surface);border:1px solid var(--focus);color:var(--selected-ink)}.review-loop-more{border-top:1px solid var(--cad-layer-line);margin-top:7px;padding-top:7px}.review-loop-more label{align-items:center;gap:7px;display:flex}.review-loop-more select{background:var(--cad-panel)}.review-loop-more p{margin:5px 0 0;font-size:10px}.fitting-review-marker.is-excluded{color:var(--muted);opacity:.4}.analysis-review-panel{flex:1;min-height:0;overflow-y:auto}.fitting-decision-panel .review-start-button{width:100%;min-height:38px;margin:2px 0 14px;font-size:12px}.review-dock-navigation{border-bottom:1px solid var(--line);color:var(--ink);padding:14px 18px;font-size:11px}.review-dock-heading,.review-dock-position{align-items:center;gap:7px;display:flex}.review-dock-heading strong{font-size:12px}.review-dock-heading>span{color:var(--muted);flex:1;font-size:10px}.review-dock-navigation button{border:1px solid var(--line);border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:4px 7px;font-size:11px;display:inline-flex}.review-dock-navigation button:hover{background:var(--hover)}.review-dock-navigation button:disabled{opacity:.4;cursor:default}.review-dock-position{margin-top:10px}.review-dock-position>span{text-align:center;font-variant-numeric:tabular-nums;flex:1}.review-dock-position>button:first-child,.review-dock-position>button:nth-of-type(2){font-size:18px;line-height:1}.review-dock-navigation select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:4px 6px}.review-dock-navigation .review-loop-more{border-color:var(--line);margin-top:10px}.review-dock-navigation .review-quick-help{border-color:var(--line)}.review-idle p{margin:0 0 12px}.fitting-decision-panel{color:var(--ink);padding:18px;font-size:12px;line-height:1.8}.fitting-decision-panel header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.fitting-decision-panel h3{margin:4px 0;font-size:15px;font-weight:550}.fitting-decision-panel h4{margin:16px 0 10px;font-size:13px}.fitting-decision-panel header small,.review-hint{color:var(--muted);font-size:11px}.fitting-decision-panel header button{font-size:22px}.review-evidence{background:var(--elevated);border-radius:7px;margin:12px 0;padding:12px}.review-evidence p{overflow-wrap:anywhere;margin:6px 0}.fitting-decision-panel .review-identity{align-items:flex-start;margin-bottom:20px}.review-identity>div{min-width:0}.fitting-decision-panel .review-identity h3{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:17px;font-weight:600;line-height:1.5;display:flex}.review-identity code{color:var(--muted);font-size:12px;font-weight:400}.review-identity-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;font-size:12px;display:flex}.review-status-badge{border:1px solid var(--line);border-radius:4px;padding:0 7px;font-size:10px}.review-status-confirmed{color:var(--success)}.review-status-deferred{color:var(--warning)}.review-composite-summary{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:11px}.fitting-decision-panel .review-identity>button{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:20px;line-height:1;display:flex}.review-panel-actions{flex-wrap:wrap;gap:7px;margin:15px 0 8px;display:flex}.fitting-decision-panel button{border:1px solid var(--line);border-radius:5px;padding:6px 9px;font-size:11px}.fitting-decision-panel button:disabled{opacity:.45;cursor:default}.fitting-decision-panel label{flex-direction:column;gap:5px;margin:8px 0;font-size:11px;display:flex}.fitting-decision-panel input,.fitting-decision-panel textarea,.fitting-decision-panel select{background:var(--surface);width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:7px 8px}.fitting-decision-panel textarea{resize:vertical;min-height:70px}.fitting-decision-panel fieldset{border:1px solid var(--line);border-radius:5px;min-width:0;margin:10px 0;padding:10px}.review-component-amount{grid-template-columns:1fr 1fr;gap:10px;display:grid}.review-defer-editor{background:var(--elevated);border:1px solid var(--line);border-radius:7px;margin-top:14px;padding:12px}.review-defer-editor label{margin:0}.review-defer-editor .review-defer-label{color:var(--ink)}.review-defer-label small{color:var(--muted);font-size:10px}.review-defer-editor .review-panel-actions{margin-bottom:0}.review-action-tooltip{z-index:150;pointer-events:none;border:1px solid var(--line);background:var(--elevated);width:272px;max-width:calc(100vw - 24px);color:var(--ink);overflow-wrap:anywhere;border-radius:6px;padding:9px 11px;font-size:11px;line-height:1.7;position:fixed;box-shadow:0 4px 16px #0003}.review-alert{border-left:2px solid var(--danger);background:var(--elevated);margin:12px 0;padding:10px;font-size:11px}.review-alert button{margin:4px 5px 0 0}.review-history{border-top:1px solid var(--line);margin-top:12px}.review-history p{border-bottom:1px solid var(--line);padding:10px 0;font-size:11px}.review-history strong,.review-history small{display:block}.review-history small{color:var(--muted)}.review-completion button{margin:5px}@media (width<=640px){.review-loop-toolbar{width:320px}.fitting-decision-panel{padding:15px}}.review-loop-toolbar.is-reviewing{width:390px}.review-loop-target{border-top:1px solid color-mix(in srgb,var(--cad-layer-line) 55%,transparent);align-items:center;gap:7px;margin-top:4px;padding-top:4px;display:flex}.review-loop-target>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}.review-loop-target b{font-weight:600}.review-source-toggle{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.review-source-toggle[aria-pressed=true]{border-color:var(--focus);background:var(--selected-surface);color:var(--selected-ink)}.review-loop-heading .review-icon-button{padding-inline:4px}.review-quick-help{border-top:1px solid var(--cad-layer-line);margin-top:7px;padding:8px;line-height:1.7}.review-quick-help ol{margin:5px 0;padding-left:17px;font-size:10px;list-style:decimal}.review-quick-help p{opacity:.8;margin:5px 0 0;font-size:10px}.review-steps{color:var(--muted);justify-content:space-between;gap:5px;margin:14px 0 10px;font-size:11px;display:flex}.review-steps span{align-items:center;gap:5px;display:inline-flex}.review-steps i{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:inline-flex}.review-question{margin:10px 0;font-size:12px;line-height:1.8}.review-original-control{align-items:center;gap:10px;margin:14px 0;display:flex}.review-locate-objects{align-items:center;gap:5px;display:inline-flex}.review-evidence summary,.review-operation-guide summary{cursor:pointer;font-size:11px;font-weight:500}.review-evidence{padding:10px 12px}.review-choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.review-choice-grid button{text-align:center;justify-content:center;align-items:center;min-height:38px;padding:8px 10px;font-size:12px;display:flex}.review-choice-grid button:first-child{grid-column:1/-1}.review-exclude-action{width:100%;min-height:35px}.review-operation-guide{border-top:1px solid var(--line);margin:15px 0;padding-top:12px}.review-operation-guide ul{color:var(--muted);margin-top:8px;padding-left:17px;font-size:11px;list-style:outside}.review-operation-guide li{margin:6px 0}@media (width<=640px){.review-loop-toolbar.is-reviewing{width:330px}.review-loop-heading{gap:3px}.review-loop-heading>span{font-size:10px}.review-loop-toolbar .review-loop-heading>button{padding-inline:5px}}.review-category-picker{color:var(--ink);padding:20px 18px}.review-category-picker h3{margin:0;font-size:15px;font-weight:550}.review-category-picker header>p{color:var(--muted);margin:7px 0 17px;font-size:11px;line-height:1.8}.review-category-picker>p{color:var(--muted);font-size:11px}.review-category-list{flex-direction:column;gap:9px;display:flex}.review-category-list>button{border:1px solid var(--line);text-align:left;width:100%;min-width:0;color:var(--ink);border-radius:7px;padding:12px;display:block}.review-category-list>button:hover:not(:disabled){background:var(--elevated);border-color:var(--signal)}.review-category-list>button:disabled{opacity:.5;cursor:default}.review-category-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.review-category-title>strong{font-size:12px;font-weight:550}.review-category-title>span{color:var(--muted);font-size:10px}.review-category-title i{color:var(--signal);margin-left:8px;font-size:15px;font-style:normal}.review-category-list>button>small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.7;display:block}.review-category-counts{color:var(--muted);flex-wrap:wrap;gap:5px 15px;margin-top:9px;font-size:10px;display:flex}.review-category-counts b{color:var(--warning);font-variant-numeric:tabular-nums;font-weight:500}.review-category-retry{color:var(--signal);margin-bottom:10px;font-size:11px}.review-dock-navigation .review-back-categories{min-height:24px;color:var(--muted);border:0;margin-bottom:11px;padding:0;font-size:11px}.review-dock-navigation .review-back-categories:hover{color:var(--signal);background:0 0}.fitting-decision-panel .review-identity h3{gap:7px}.fitting-decision-panel .review-identity .material-help-trigger{width:24px;min-width:24px;height:24px;color:var(--muted);border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex}.fitting-decision-panel .review-identity .material-help-trigger:hover{color:var(--signal);background:var(--elevated)}.fitting-decision-panel .review-identity{margin-bottom:12px}.review-choice-field{flex-direction:column;gap:7px;min-width:0;display:flex}.review-choice-field select{text-overflow:ellipsis}.review-category-picker button:focus-visible,.review-back-categories:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.statistics-focus-controls{z-index:18;border:1px solid var(--cad-layer-line);background:var(--cad-layer-panel);max-width:calc(100% - 20px);color:var(--cad-layer-ink);cursor:default;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:11px;display:flex;position:absolute;top:10px;left:10px}.statistics-focus-controls>span{gap:3px;min-width:0;display:grid}.statistics-focus-controls strong{overflow-wrap:anywhere;font-weight:550}.statistics-focus-controls small{font-size:10px}.statistics-focus-controls>i{background:#20b887;border-radius:50%;flex-shrink:0;width:7px;height:7px}.statistics-focus-controls>i[data-status=pending]{background:#e69b27}.statistics-focus-controls button{border-radius:4px;flex-shrink:0;place-items:center;padding:5px;display:grid}.statistics-focus-controls button:hover{background:var(--hover)}.statistics-focus-controls button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.workspace-canvas-shell .cad-grid>svg.statistics-focus-overlay{z-index:14;width:100%;height:100%;box-shadow:none;pointer-events:none;color:#007c59;border:0;position:absolute;inset:0;overflow:hidden;background:0 0!important}.workspace-canvas-shell .cad-panel:not(.cad-panel-light) svg.statistics-focus-overlay{color:#64f5c1}.workspace-canvas-shell .cad-grid>svg.statistics-focus-overlay[data-status=pending]{color:#bd6600}.workspace-canvas-shell .cad-panel:not(.cad-panel-light) svg.statistics-focus-overlay[data-status=pending]{color:#ffbe64}.statistics-focus-overlay path,.statistics-focus-overlay circle{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.statistics-focus-halo{stroke-width:10px;opacity:.23}.statistics-focus-line{stroke-width:3px}.statistics-focus-node-ring{stroke-width:1.5px;opacity:.65}.statistics-focus-breath{will-change:opacity;animation:1.6s ease-in-out infinite statistics-focus-breathe}@keyframes statistics-focus-breathe{0%,to{opacity:1}50%{opacity:.32}}@media (prefers-reduced-motion:reduce){.workspace-app .statistics-focus-breath{animation:2.5s ease-in-out infinite statistics-focus-breathe!important}}.analysis-stat-locate{min-width:26px;max-width:100%;color:var(--signal);text-underline-offset:3px;border-radius:3px;justify-content:flex-end;margin:-3px -2px;padding:3px 4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.analysis-stat-locate:hover:not(:disabled),.analysis-stat-locate[aria-pressed=true]{background:var(--selected-surface);color:var(--selected-ink);text-decoration-color:currentColor}.analysis-stat-locate:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.analysis-stat-locate:disabled{color:inherit;cursor:default}.quantity-dialog-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0008;position:fixed;inset:0}.quantity-dialog-overlay.is-translucent{background:color-mix(in srgb, var(--app) 8%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.quantity-dialog{z-index:81;border:1px solid var(--line);background:var(--surface);width:min(1160px,100vw - 64px);height:min(780px,100dvh - 64px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:14px;flex-direction:column;font-size:12px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 90px #0005}.quantity-dialog[data-translucent=true]{background:color-mix(in srgb, var(--surface) var(--material-glass-opacity), transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quantity-dialog-header{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:20px 26px;display:flex}.quantity-dialog-title{flex-shrink:0;align-items:center;gap:9px;display:flex}.quantity-dialog-title svg{color:var(--signal)}.quantity-dialog-title h2{margin:0;font-size:18px;font-weight:600}.quantity-scope-controls{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.quantity-scope-controls button{border:1px solid var(--line);white-space:nowrap;border-radius:5px;flex-shrink:0;padding:6px 10px}.quantity-scope-controls button[aria-pressed=true],.quantity-summary-action{color:var(--selected-ink);background:var(--selected-surface);border-color:var(--focus)!important}.quantity-summary-action.is-pending{color:#241300;background:#f97316;font-weight:700;animation:1.2s ease-in-out infinite quantity-summary-pulse;border-color:#fbbf24!important}@keyframes quantity-summary-pulse{0%,to{background-color:#f97316;transform:scale(1);box-shadow:0 0 #f59e0b00}50%{background-color:#fbbf24;transform:scale(1.06);box-shadow:0 0 0 4px #f59e0b66,0 0 18px #f59e0b99}}@media (prefers-reduced-motion:reduce){.quantity-summary-action.is-pending{outline-offset:2px;outline:2px solid #fbbf24;animation:none}}.quantity-scope-controls>span{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:11px}.quantity-frame-inline{align-items:center;gap:7px;min-width:0;display:flex;overflow-x:auto}.quantity-frame-inline label{border:1px solid var(--line);white-space:nowrap;cursor:pointer;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;padding:6px 9px;display:flex}.quantity-frame-inline label:has(input:checked){color:var(--selected-ink);background:var(--selected-surface);border-color:var(--focus)}.quantity-frame-inline label:has(input:disabled){opacity:.5;cursor:default}.quantity-frame-inline input{accent-color:var(--signal)}.quantity-summary-notices{flex-shrink:0;max-height:76px;padding:0 26px;overflow:auto}.quantity-summary-notices p{color:var(--muted);margin:8px 0 0;font-size:11px}.quantity-summary-notices [role=alert]{color:#e6a84c}.quantity-source-toggle{color:var(--signal);margin-top:4px;font-size:10px;font-weight:400;display:block}.quantity-source-detail>td{background:var(--elevated)}.quantity-source-detail>td>div{padding:4px}.quantity-source-detail p{color:var(--muted);margin:6px 0;font-size:11px}.quantity-source-detail table{width:100%}.quantity-source-detail table thead{position:static}.quantity-source-detail table th,.quantity-source-detail table td{padding:6px 10px;font-size:11px}.quantity-source-detail button{color:var(--signal);margin-right:10px}.quantity-dialog-header p{color:var(--muted);margin:7px 0 0;font-size:11px}.quantity-dialog button{cursor:pointer}.quantity-dialog button:disabled{opacity:.4;cursor:default}.quantity-dialog-close{border:1px solid var(--line);border-radius:6px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.quantity-dialog-close:hover{background:var(--hover)}.quantity-dialog-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;display:flex}.quantity-tabs{border:1px solid var(--line);background:var(--elevated);border-radius:8px;align-items:center;gap:3px;padding:3px;display:flex}.quantity-tabs button{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:inline-flex}.quantity-tabs button[aria-selected=true]{background:var(--surface);border-color:var(--line);color:var(--selected-ink);box-shadow:0 1px 3px #0001}.quantity-tabs span{font-variant-numeric:tabular-nums;opacity:.75;font-size:10px}.quantity-filters{align-items:center;gap:8px;display:flex}.quantity-search{border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;gap:8px;height:34px;padding:0 10px;display:flex}.quantity-search input{width:190px;min-width:0;color:var(--ink);background:0 0;outline:none;font-size:11px}.quantity-search:focus-within{border-color:var(--focus)}.quantity-search input:focus-visible{outline:none}.quantity-filters select{background:var(--surface);max-width:110px;height:34px;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:0 9px;font-size:11px}.quantity-table-scroll{border:1px solid var(--line);border-radius:8px;flex:1;min-height:0;margin:0 26px;overflow:auto}.quantity-table{table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:740px}.quantity-table.is-total{min-width:1000px}.quantity-table thead{z-index:1;position:sticky;top:0}.quantity-table th{background:var(--elevated);color:var(--muted);border-bottom:1px solid var(--line);padding:12px 11px;font-size:11px;font-weight:500}.quantity-table td{border-bottom:1px solid color-mix(in srgb, var(--line) 65%, transparent);overflow-wrap:anywhere;padding:12px 11px;font-size:12px;line-height:1.65}.quantity-table tr:last-child td{border-bottom:0}.quantity-table tbody tr:hover{background:var(--hover)}.quantity-table .is-number{text-align:right;font-variant-numeric:tabular-nums}.quantity-table .is-muted,.quantity-row-index{color:var(--muted);font-size:11px}.quantity-material-name{font-weight:500}.quantity-category{color:var(--muted);font-size:10px}.quantity-table .quantity-total{background:color-mix(in srgb, var(--elevated) 45%, transparent);font-weight:600}.quantity-locate{color:var(--selected-ink);border-bottom:1px dashed color-mix(in srgb, var(--selected-ink) 45%, transparent);font-size:inherit;font-variant-numeric:tabular-nums}.quantity-table [data-quantity-pending] .quantity-locate{color:var(--warning);border-bottom-color:color-mix(in srgb, var(--warning) 45%, transparent)}.quantity-table .quantity-empty{text-align:center;color:var(--muted);padding:60px 20px}.quantity-dialog-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 26px;display:flex}.quantity-dialog-footer p{color:var(--muted);margin:0;font-size:10px}.quantity-dialog-footer>div{align-items:center;gap:8px;display:flex}.quantity-dialog-footer button,.quantity-details-heading button{border:1px solid var(--line);border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:5px 10px;font-size:11px;display:inline-flex}.quantity-dialog-footer button:hover{background:var(--hover)}.quantity-dialog-footer .quantity-export,.quantity-transparent-toggle[aria-pressed=true]{color:var(--selected-ink);border-color:var(--focus);background:var(--selected-surface)}.quantity-details-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin:16px 26px;font-size:11px;display:flex}.quantity-details-scroll{flex:1;min-height:0;margin:0 26px;overflow:auto}@media (width<=640px){.quantity-scope-controls{gap:6px}.quantity-frame-inline label{padding:6px}.quantity-summary-notices{padding:0 16px}.quantity-dialog{border-radius:11px;width:calc(100vw - 20px);height:min(860px,100dvh - 28px)}.quantity-dialog-header{gap:12px;padding:18px 16px 15px}.quantity-dialog-title h2{font-size:16px}.quantity-dialog-header p{max-width:270px;font-size:10px}.quantity-dialog-tools{gap:12px;padding:14px 16px}.quantity-tabs{justify-content:space-between;width:100%}.quantity-tabs button{flex:1;justify-content:center;padding:7px 9px}.quantity-filters{width:100%}.quantity-search{flex:1;min-width:0}.quantity-search input{width:100%}.quantity-filters select{width:85px}.quantity-table-scroll,.quantity-details-scroll{margin:0 16px}.quantity-dialog-footer{padding:12px 16px}.quantity-dialog-footer>div{justify-content:flex-end;width:100%}.quantity-details-heading{margin:12px 16px}}.workspace-project-row{border:1px solid #0000;border-radius:8px;align-items:center;min-width:0;display:flex;position:relative}.workspace-project-row:has([aria-current=page]){background:var(--selected-surface);border-color:var(--focus);box-shadow:inset 3px 0 var(--focus)}.workspace-project-row:hover{background:var(--hover)}.workspace-history .workspace-project-open{text-align:left;border-radius:8px;flex:1;justify-content:flex-start;gap:8px;min-width:0;height:auto;min-height:58px;padding:9px 7px}.workspace-history .workspace-project-open>svg{color:var(--muted);width:14px}.workspace-project-open>.workspace-project-copy{flex:1;min-width:0}.workspace-project-open[aria-current=page]{color:var(--selected-ink);background:0 0}.workspace-history .workspace-delete-project,.workspace-current-project .workspace-delete-project{color:var(--muted);width:28px;height:32px;box-shadow:none;background:0 0;border-color:#0000;border-radius:5px;flex-shrink:0;padding:5px}.workspace-history .workspace-delete-project{z-index:1;height:24px;color:var(--danger);opacity:0;pointer-events:none;margin:0;transition:opacity .15s,color .15s;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.workspace-history .workspace-delete-project>svg{stroke-width:2.25px;width:18px;height:18px}.workspace-project-row:is(:hover,:focus-within) .workspace-delete-project{opacity:1}.workspace-project-row:is(:hover,:focus-within) .workspace-delete-project:not(:disabled){pointer-events:auto}.workspace-project-row .workspace-project-copy>small{white-space:normal;overflow-wrap:anywhere}.workspace-history .workspace-delete-project:not(:disabled):hover,.workspace-current-project .workspace-delete-project:not(:disabled):hover{color:var(--danger);background:0 0}.workspace-current-project>div{flex:1}.workspace-current-project .workspace-delete-project{margin-top:-3px}.workspace-project-row:has([aria-current=page]):hover{background:var(--selected-surface)}.project-delete-overlay{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0007;position:fixed;inset:0}.project-delete-dialog{z-index:91;background:var(--surface);width:min(470px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:24px;font-size:12px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0004}.project-delete-heading{align-items:flex-start;gap:12px;display:flex}.project-delete-symbol{background:var(--danger-surface);width:42px;height:42px;color:var(--danger);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.project-delete-heading h2{margin:1px 0 6px;font-size:17px;font-weight:600}.project-delete-heading p{color:var(--muted);font-size:11px;line-height:1.7}.project-delete-heading>button{color:var(--muted);margin-left:auto;padding:3px}.project-delete-target{background:var(--elevated);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;margin:20px 0 14px;padding:14px;display:flex}.project-delete-target>svg{color:var(--muted);flex-shrink:0;margin-top:2px}.project-delete-target strong{overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:1.8;display:block}.project-delete-target small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.project-delete-explanation{color:var(--muted);line-height:1.9}.project-delete-error{color:var(--danger);background:var(--danger-surface);border-radius:6px;margin-top:12px;padding:10px;line-height:1.7}.project-delete-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.project-delete-dialog footer button{border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:12px;display:flex}.project-delete-cancel{border:1px solid var(--line);background:var(--surface)}.project-delete-confirm{color:#fff;background:#b44141;border:1px solid #0000}.project-delete-confirm:not(:disabled):hover{background:#9c3434}.project-delete-dialog button:disabled{opacity:.55;cursor:default}.project-delete-dialog button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (width<=760px){.project-delete-dialog{padding:20px}.workspace-history .workspace-delete-project{width:28px;height:24px}}.drawing-selection-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.drawing-selection-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 18px;display:flex}.drawing-selection-header>div{align-items:center;gap:10px;display:flex}.drawing-selection-header>button{color:var(--muted);padding:6px}.drawing-selection-intro{padding:20px 18px 14px}.drawing-selection-steps{color:var(--muted);align-items:center;gap:12px;margin-bottom:18px;font-size:11px;display:flex}.drawing-selection-steps>span{align-items:center;gap:7px;display:flex}.drawing-selection-steps b{border:1px solid var(--line);border-radius:50%;place-items:center;width:21px;height:21px;font-weight:500;display:grid}.drawing-selection-steps .is-current{color:var(--signal)}.drawing-selection-steps .is-current b{background:var(--selected-surface);border-color:var(--signal)}.drawing-selection-steps i{background:var(--line);width:24px;height:1px}.drawing-selection-intro h2{margin-bottom:9px;font-size:17px;font-weight:600}.drawing-selection-intro p{color:var(--muted);margin-bottom:10px;line-height:1.85}.drawing-selection-intro>small{color:var(--signal);font-size:11px}.drawing-selection-list{scrollbar-width:thin;flex:1;min-height:100px;padding:4px 12px 14px;overflow:auto}.drawing-selection-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:7px;padding:11px 9px}.drawing-selection-row.is-previewing{border-color:var(--signal)}.drawing-selection-row.is-checked{background:var(--selected-surface)}.drawing-selection-row-main{align-items:center;gap:10px;display:flex}.drawing-selection-row input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.drawing-reference-icon{color:var(--muted)}.drawing-preview-button{text-align:left;border-radius:4px;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.drawing-preview-button:focus-visible,.drawing-selection-panel button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.drawing-thumbnail{width:78px;height:59px;color:var(--muted);background:var(--cad-background);border:1px solid var(--line);border-radius:4px;padding:3px}.drawing-thumbnail polyline{stroke:currentColor;stroke-width:.45px}.drawing-preview-button>span{flex:1;min-width:0}.drawing-preview-button small{color:var(--muted);align-items:center;gap:7px;margin-bottom:4px;font-size:10px;display:flex}.drawing-preview-button em{background:var(--elevated);border-radius:3px;padding:1px 5px;font-size:9px;font-style:normal}.drawing-preview-button strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.drawing-status{color:var(--muted);align-items:center;gap:3px;margin-top:5px;font-size:10px;display:flex}.drawing-status.is-ready{color:var(--success)}.drawing-status.is-failed{color:var(--danger)}.drawing-selection-footer{border-top:1px solid var(--line);background:var(--surface);padding:14px 18px 16px}.drawing-selection-count{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.drawing-selection-count strong{color:var(--signal);padding:0 3px;font-size:17px}.drawing-selection-count small{color:var(--muted);font-size:10px}.drawing-start-analysis{background:var(--accent);width:100%;color:var(--ink-inverse);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:11px;font-weight:500;display:flex}.drawing-start-analysis:disabled{opacity:.45}.drawing-start-analysis:not(:disabled):hover{background:var(--action-hover)}.drawing-selection-footnote{text-align:center;color:var(--muted);margin-top:10px;font-size:10px}.drawing-reparse-action{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:11px auto 0;display:flex;font-size:11px!important}.drawing-reparse-confirm{border:1px solid var(--line);background:var(--elevated);border-radius:6px;padding:10px}.drawing-reparse-confirm p{color:var(--muted);line-height:1.8}.drawing-reparse-confirm>div{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.drawing-reparse-confirm button{color:var(--signal);padding:4px}.drawing-selection-error{color:var(--danger);background:var(--danger-surface);border-radius:5px;margin-bottom:10px;padding:8px;line-height:1.6}.workspace-analysis-scope{border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 16px;padding:9px 16px;font-size:11px;display:flex}.workspace-analysis-scope>span:first-child{color:var(--ink)}.workspace-analysis-scope button{color:var(--signal);margin-left:auto;font-size:11px!important}.drawing-tab-state{background:var(--muted);opacity:.65;border-radius:50%;width:5px;height:5px}.drawing-tab-state.is-ready{background:var(--success);opacity:1}.workspace-drawing-overview{white-space:nowrap;flex-shrink:0}.workspace-drawing-tabs>button{white-space:nowrap}.quantity-analysis-scope{border-bottom:1px solid var(--line);color:var(--muted);background:var(--elevated);padding:9px 24px;font-size:11px}@media (width<=760px){.drawing-selection-panel{height:660px;min-height:400px;max-height:85dvh}.drawing-selection-intro{padding:14px 16px 10px}.drawing-selection-header{padding:14px 16px}.drawing-selection-steps{margin-bottom:10px}.workspace-analysis-scope{gap:6px 10px;padding:8px 10px}.workspace-analysis-scope>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.quantity-analysis-scope{padding:8px 14px}}.auth-page{background:var(--app);min-height:100dvh;color:var(--ink);flex-direction:column;padding:36px clamp(22px,6vw,96px);display:flex}.auth-brand{align-items:center;gap:14px;font-size:20px;font-weight:650;display:flex}.auth-brand .workspace-brand-logo{width:46px;height:46px}.auth-brand small{color:var(--muted);letter-spacing:.1em;margin-top:3px;font-size:11px;font-weight:400;display:block}.auth-brand>button{color:var(--ink);margin-left:auto}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:clamp(40px,8vw,150px);margin:auto 0;padding:70px 0;display:grid}.auth-eyebrow{letter-spacing:.12em;color:var(--muted);align-items:center;gap:8px;font-size:11px;display:inline-flex}.auth-eyebrow svg{width:15px;height:15px}.auth-intro h1{letter-spacing:-.04em;margin:22px 0;font-size:clamp(32px,3.8vw,55px);font-weight:550;line-height:1.42}.auth-intro>p{color:var(--muted);font-size:15px;line-height:1.9}.auth-drawing{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:420px;height:158px;margin-top:36px;position:relative;overflow:hidden}.auth-drawing i{border:1px solid var(--muted);opacity:.3;width:180px;height:55px;position:absolute;top:28px;left:20px}.auth-drawing i:nth-child(2){width:230px;top:58px;left:80px}.auth-drawing i:nth-child(3){width:58px;height:110px;top:14px;left:230px}.auth-drawing span{letter-spacing:.14em;color:var(--muted);font-size:10px;position:absolute;top:12px;right:8px}.auth-drawing small{color:var(--muted);letter-spacing:.1em;font-size:11px;position:absolute;bottom:12px;left:0}.auth-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:36px;position:relative;overflow:hidden}.auth-card h2{margin:18px 0 8px;font-size:24px;font-weight:550}.auth-card>p,.account-dialog>p{color:var(--muted);font-size:13px;line-height:1.8}.auth-symbol{width:25px;height:25px;color:var(--ink)}.auth-card form,.account-dialog form{flex-direction:column;gap:18px;margin-top:26px;display:flex}.auth-card form>button{width:100%;margin-top:3px}.auth-card label,.account-dialog label,.admin-dialog label{color:var(--ink);flex-direction:column;gap:9px;min-width:0;font-size:12px;display:flex}.auth-card input,.account-dialog input,.admin-dialog input,.admin-dialog select{border:1px solid var(--line);background:var(--app);width:100%;min-width:0;color:var(--ink);outline-offset:3px;border-radius:7px;padding:11px 12px;font-size:13px}.auth-help{color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.8;display:block}.auth-footer{color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:11px;line-height:1.8;display:flex}.auth-footer svg{flex-shrink:0;width:14px;height:14px}.auth-error{color:var(--ink);border-left:2px solid var(--muted);background:var(--elevated);overflow-wrap:anywhere;padding:10px 12px;font-size:12px;line-height:1.8}.auth-notice{color:var(--ink);background:var(--elevated);align-items:center;gap:7px;padding:10px 12px;font-size:12px;line-height:1.8;display:flex}.auth-notice svg{flex-shrink:0;width:15px;height:15px}.auth-loading{justify-content:center;align-items:center;gap:20px}.account-overlay{z-index:120;color:var(--ink);background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-dialog,.admin-dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(100%,480px);max-height:calc(100dvh - 48px);padding:28px;overflow:auto}.account-dialog>header,.admin-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.account-dialog h2,.admin-dialog h2{margin:8px 0;font-size:22px;font-weight:550}.account-dialog form+form{border-top:1px solid var(--line);padding-top:22px}.account-dialog .auth-help{margin:0}.account-menu{flex-shrink:0;position:relative}.account-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.account-menu-dismiss{z-index:90;cursor:default;position:fixed;inset:0}.account-popover{z-index:91;background:var(--surface);width:230px;color:var(--ink);border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:5px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-popover>strong{overflow-wrap:anywhere;font-size:13px}.account-popover>small{color:var(--muted);overflow-wrap:anywhere;margin-bottom:8px;font-size:11px}.account-popover>button{justify-content:flex-start}.workspace-sidebar-footer .account-menu{flex:1;min-width:0}.workspace-sidebar-footer .account-menu>button:first-child{justify-content:flex-start;gap:9px;width:100%;height:36px;padding:4px 0;font-size:11px}.workspace-sidebar-footer .account-menu-name{text-align:left;flex:1;min-width:0;max-width:none;display:block}.workspace-sidebar-footer .account-menu>button>svg:first-child{background:var(--elevated);width:27px;height:27px;color:var(--muted);border-radius:50%;padding:6px}.workspace-sidebar-footer .account-menu>button>svg:last-child{width:12px;height:12px;transform:rotate(180deg)}.workspace-sidebar-footer .account-popover{width:max(100%,230px);inset:auto auto calc(100% + 8px) 0}.admin-dialog{flex-direction:column;width:min(100%,1080px);padding:0;display:flex;overflow:hidden}.admin-header{padding:25px 30px 18px}.admin-tabs{border-bottom:1px solid var(--line);gap:10px;padding:0 30px 15px;display:flex}.admin-body{padding:26px 30px 32px;overflow:auto}.admin-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.admin-dialog h3{align-items:center;gap:9px;margin:0;font-size:15px;font-weight:550;display:flex}.admin-dialog h3 svg{width:18px;height:18px}.admin-dialog h3 small{color:var(--muted);font-size:12px}.admin-toolbar p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.8}.admin-search{max-width:340px;margin-bottom:20px;position:relative}.admin-search svg{width:16px;height:16px;color:var(--muted);position:absolute;top:12px;left:11px}.admin-dialog .admin-search input{padding-left:35px}.admin-editor{border:1px solid var(--line);border-radius:9px;margin-bottom:24px;padding:20px}.admin-editor-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.admin-table-scroll{margin:20px 0;overflow:auto}.admin-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:12px}.admin-table th{color:var(--muted);background:var(--app);font-weight:500}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:14px 12px}.admin-table td>strong{font-weight:500;display:block}.admin-table td>small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.admin-table td strong small{color:var(--muted);font-weight:400}.admin-row-actions{gap:6px;display:flex}.admin-row-actions .admin-delete-action{color:#b63b3b}[data-theme=dark] .admin-row-actions .admin-delete-action{color:#f28b82}.admin-delete-overlay{z-index:130;background:#0000008c;position:fixed;inset:0}.admin-delete-dialog{z-index:131;border:1px solid var(--line);background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:12px;padding:26px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.admin-delete-dialog h2{margin:0 0 14px;font-size:19px;font-weight:600}.admin-delete-dialog>p{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.9}.admin-delete-dialog strong{color:var(--ink)}.admin-delete-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.admin-delete-actions .admin-delete-confirm{color:#fff;background:#b63b3b}.admin-delete-actions .admin-delete-confirm:hover{background:#9e3030}.account-state{border:1px solid var(--line);border-radius:4px;padding:2px 7px;font-size:11px;display:inline-block}.account-state[data-active=false]{opacity:.55}.admin-empty{color:var(--muted);padding:25px 0;font-size:13px}.workspace-app[data-readonly=true] .specialty-refresh,.workspace-app[data-readonly=true] .cad-fitting-review input[type=checkbox]{pointer-events:none;opacity:.45}@media (width<=900px){.auth-layout{gap:35px}.auth-card{padding:28px}.account-menu-name{display:none}}@media (width<=640px){.auth-page{padding:24px}.auth-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:36px 0}.auth-intro h1{margin:12px 0 8px;font-size:27px}.auth-intro p,.auth-drawing,.auth-eyebrow{display:none}.auth-card{padding:26px 22px}.auth-card h2{font-size:21px}.account-overlay{padding:10px}.account-dialog,.admin-dialog{max-height:calc(100dvh - 20px)}.account-dialog{padding:22px}.admin-header{padding:20px 18px 12px}.admin-tabs{gap:2px;padding:0 18px 12px}.admin-body{padding:20px 18px}.admin-toolbar{align-items:flex-start}.admin-toolbar>button{flex-shrink:0}.admin-fields{grid-template-columns:minmax(0,1fr)}.admin-editor{padding:15px}.admin-table th,.admin-table td{padding:12px 9px}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{box-sizing:border-box}html{background:var(--app)}body{background:var(--app);min-width:320px;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@keyframes cad-button-scan{0%{opacity:0;transform:translate(-160%)skew(-18deg)}24%{opacity:.72}to{opacity:0;transform:translate(260%)skew(-18deg)}}@keyframes cad-button-glow{0%,to{opacity:.35;transform:scaleX(.28)}50%{opacity:1;transform:scaleX(1)}}@keyframes cad-panel-edge-scan{0%{opacity:0;transform:translate(-130%)}18%{opacity:.35}48%{opacity:1}82%{opacity:.35}to{opacity:0;transform:translate(370%)}}@keyframes cad-panel-frame-pulse{0%,to{box-shadow:0 10px 26px #00000029,0 0 #5bd3f200}50%{box-shadow:0 12px 30px #0003,0 0 13px #5bd3f22e}}@keyframes cad-panel-corner-pulse{0%,to{opacity:.42}50%{opacity:1}}.\!panel,.panel{border-width:1px;border-color:var(--line);background-color:var(--surface);--tw-shadow:0 12px 36px #111c2214;--tw-shadow-colored:0 12px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:1rem}.\!panel{box-shadow:0 12px 36px #11495a14,inset 0 1px #ffffffd1!important}.panel{box-shadow:0 12px 36px #11495a14,inset 0 1px #ffffffd1}.button{isolation:isolate;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.button:disabled{cursor:not-allowed;opacity:.4}.button:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#daf8ff9e,#0000);width:42%;position:absolute;top:-35%;bottom:-35%;left:0;transform:translate(-160%)skew(-18deg)}.button:hover:before{animation:1.15s ease-in-out infinite cad-button-scan}.button:disabled:before{display:none}.button-primary{color:var(--ink-inverse);background:linear-gradient(135deg,#126b85,#2394b2 52%,#126b85);border:1px solid #43a4bebf;box-shadow:0 0 16px #167d9b33,inset 0 1px #d0f6ff38}.button-primary:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.button-primary:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.button-quiet{width:2.25rem;color:var(--muted);background:linear-gradient(135deg,#0000,#64bed60a);border:1px solid #0000;padding:0}.button-quiet:hover{color:var(--ink);background:linear-gradient(135deg,#def5fab8,#bce2ec8f);border-color:#59a9bf61}.materials-table.is-compact .materials-table-row{height:44px}.materials-table.is-compact .materials-table-row>td{vertical-align:middle;white-space:nowrap;height:44px;max-height:44px;padding-top:4px;padding-bottom:4px;overflow:hidden}.materials-table.is-compact .materials-table-row input{text-overflow:ellipsis;white-space:nowrap;height:30px;padding-top:0;padding-bottom:0;overflow:hidden}.materials-table.is-compact .materials-cell-content{text-overflow:ellipsis;white-space:nowrap;max-height:20px;display:block;overflow:hidden}.materials-table.is-expanded .materials-table-row>td{vertical-align:top;white-space:normal;height:auto;padding-top:12px;padding-bottom:12px}.materials-table.is-expanded .materials-cell-content{white-space:normal;word-break:break-word;max-height:none;display:block;overflow:visible}.cad-panel{background-color:var(--cad-panel)}.cad-panel-light{--cad-panel:#eaf5f8}.cad-panel-light .cad-grid{background-image:linear-gradient(#1a6b8217 1px,#0000 1px),linear-gradient(90deg,#1a6b8217 1px,#0000 1px)}.cad-panel-light .cad-path{stroke:#355d68}.cad-panel-light .cad-label,.cad-panel-light .cad-symbol{fill:#244852;stroke:#244852}.cad-workspace-topbar{background:linear-gradient(105deg, var(--surface), #e9f7fa)}.cad-layout-tabs{scrollbar-width:thin;background:#10252c;border-color:#274651}.cad-layout-tab{color:#91adb5;background:#17323a;border-left:1px solid #31515c;border-right:1px solid #07161b;flex:none;min-width:72px;height:32px;padding:0 18px;font-size:12px;transition:background .15s,color .15s;position:relative}.cad-layout-tab:hover{color:#dff8ff;background:#214650}.cad-layout-tab.is-active{color:#dff8ff;background:#09191f}.cad-layout-tab.is-active:after{content:"";background:#84e0ff;height:2px;position:absolute;inset:auto 12px 0;box-shadow:0 0 8px #84e0ffbf}.cad-frame-tab:hover,.cad-frame-tab.is-active{color:#15343d;background:#dff8ff;border-color:#84e0ff;box-shadow:0 0 9px #84e0ff38}.cad-frame-boundary rect{fill:#ffffff04;stroke:#ffffff80;stroke-width:1.5px;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.cad-frame-boundary text{fill:#ffffffb8;paint-order:stroke;stroke:#111;stroke-width:3px;vector-effect:non-scaling-stroke;font-family:Inter,PingFang SC,sans-serif;font-size:12px}.cad-frame-boundary.is-active rect{fill:#ffffff0b;stroke:#fff;stroke-width:3px;stroke-dasharray:none;filter:drop-shadow(0 0 5px #ffffffbf)}.cad-frame-boundary.is-active text{fill:#fff;font-weight:700}.cad-grid{background-image:linear-gradient(#e6e6e10f 1px,#0000 1px),linear-gradient(90deg,#e6e6e10f 1px,#0000 1px);background-size:28px 28px}.cad-path{fill:none;stroke:#989894;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:inherit;transition:stroke .18s,stroke-width .18s}.cad-path-filled{fill-opacity:.35}.cad-path:hover,.cad-path-selected{stroke-width:1.8px;stroke:#f5f5f2!important}@keyframes cad-summary-pulse{0%,to{opacity:.42;filter:drop-shadow(0 0 1px #70daff2e)}50%{opacity:1;filter:drop-shadow(0 0 3px #70daffd1)drop-shadow(0 0 9px #70daff94)}}@keyframes cad-analysis-scan{0%,to{opacity:.42;filter:drop-shadow(0 0 2px #ffffff59)}50%{opacity:1;filter:drop-shadow(0 0 10px #fff)}}.cad-path-summary-highlight{stroke-width:1.9px;animation:1s ease-in-out infinite cad-summary-pulse;stroke:#84e0ff!important}.cad-label{fill:#c5c5c0;pointer-events:none;font-family:Inter,PingFang SC,sans-serif;font-size:4px}.cad-label-summary-highlight{paint-order:stroke;stroke-width:.12px;font-weight:500;animation:1s ease-in-out infinite cad-summary-pulse;fill:#84e0ff!important;stroke:#14374275!important}.cad-symbol{fill:none;stroke:#c5c5c0;stroke-width:1.2px;pointer-events:none}.cad-symbol-summary-highlight{stroke-width:1.7px;animation:1s ease-in-out infinite cad-summary-pulse;stroke:#84e0ff!important}.cad-drawing-is-analyzing .cad-path:not(.cad-path-analysis-highlight),.cad-drawing-is-analyzing .cad-label:not(.cad-label-analysis-highlight),.cad-drawing-is-analyzing .cad-symbol:not(.cad-symbol-analysis-highlight){opacity:.32}.cad-path-analysis-highlight{stroke-width:4px;animation:1.2s ease-in-out infinite cad-analysis-scan;stroke:#fff!important}.cad-label-analysis-highlight{font-weight:700;animation:1.2s ease-in-out infinite cad-analysis-scan;fill:#fff!important}.cad-symbol-analysis-highlight{stroke-width:3px;animation:1.2s ease-in-out infinite cad-analysis-scan;stroke:#fff!important}@keyframes cad-hud-border{0%,to{border-color:#64ddff57;box-shadow:0 10px 30px #00000059,0 0 #40cfff00,inset 0 0 18px #40cfff08}50%{border-color:#84e0ffe6;box-shadow:0 10px 34px #0000006b,0 0 16px #40cfff33,inset 0 0 22px #40cfff17}}@keyframes cad-hud-sweep{0%{opacity:0;transform:translateY(-16px)}18%{opacity:.8}82%{opacity:.35}to{opacity:0;transform:translateY(86px)}}@keyframes cad-hud-rotate{to{transform:rotate(360deg)}}@keyframes cad-hud-ping{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}@keyframes cad-hud-data{0%,to{opacity:.55}50%{opacity:1;text-shadow:0 0 9px #84e0ffb8}}@keyframes cad-hud-meter{0%{transform:translate(-120%)}to{transform:translate(420%)}}.cad-analysis-status{color:#e9faff;-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);background:linear-gradient(135deg,#071116f5,#0c1c22e0);border:1px solid #64ddff7a;border-radius:3px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;width:246px;padding:11px 12px 10px;animation:1.35s ease-in-out infinite cad-hud-border;display:grid;overflow:hidden;box-shadow:0 10px 30px #00000059}.cad-analysis-status:before{content:"";pointer-events:none;background-image:linear-gradient(#69dcff09 1px,#0000 1px),linear-gradient(90deg,#69dcff09 1px,#0000 1px);background-size:8px 8px;position:absolute;inset:0}.cad-analysis-sweep{z-index:2;filter:blur(.3px);pointer-events:none;background:linear-gradient(#0000,#7ee2ff33,#aaeeff9e,#0000);height:12px;animation:1.1s linear infinite cad-hud-sweep;position:absolute;top:0;left:0;right:0}.cad-analysis-corner{z-index:3;pointer-events:none;border-color:#84e0ff;width:14px;height:14px;position:absolute}.cad-analysis-corner--a{border-top:2px solid;border-left:2px solid;top:3px;left:3px}.cad-analysis-corner--b{border-bottom:2px solid;border-right:2px solid;bottom:3px;right:3px}.cad-analysis-radar{z-index:3;background:radial-gradient(circle,#84e0ff2e 0 4%,#0000 5% 37%,#84e0ff1c 38% 40%,#0000 41%);border:1px solid #84e0ff8a;border-radius:50%;width:44px;height:44px;position:relative;box-shadow:inset 0 0 12px #60daff24,0 0 10px #60daff1a}.cad-analysis-radar:before,.cad-analysis-radar:after{content:"";background:#84e0ff40;position:absolute}.cad-analysis-radar:before{height:1px;top:50%;left:3px;right:3px}.cad-analysis-radar:after{width:1px;top:3px;bottom:3px;left:50%}.cad-analysis-radar>i{filter:drop-shadow(0 0 3px #84e0ffcc);border-top:1px solid #84e0ff;border-right:1px solid #0000;border-radius:50%;animation:.85s linear infinite cad-hud-rotate;position:absolute;inset:4px}.cad-analysis-radar>b{transform-origin:0;background:linear-gradient(90deg,#84e0ff,#0000);width:46%;height:1px;animation:1.15s linear infinite reverse cad-hud-rotate;position:absolute;top:50%;left:50%}.cad-analysis-radar>em{background:#b9f0ff;border-radius:50%;width:4px;height:4px;animation:.7s ease-in-out infinite cad-hud-ping;position:absolute;top:8px;right:8px;box-shadow:0 0 7px #84e0ff}.cad-analysis-readout{z-index:3;gap:3px;min-width:0;display:grid;position:relative}.cad-analysis-kicker{color:#7dddf8;letter-spacing:.13em;align-items:center;gap:5px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:700;display:flex}.cad-analysis-kicker>span{background:#84e0ff;border-radius:50%;flex:none;width:5px;height:5px;animation:.7s ease-in-out infinite cad-hud-ping;box-shadow:0 0 7px #84e0ffe6}.cad-analysis-kicker>em{color:#bdefff;letter-spacing:0;margin-left:auto;font-size:8px;font-style:normal}.cad-analysis-readout strong{color:#effcff;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.3;animation:1s ease-in-out infinite cad-hud-data;overflow:hidden}.cad-analysis-readout small{color:#8eb2bd;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;line-height:1.35;overflow:hidden}.cad-analysis-meter{background:#84e0ff1f;height:3px;margin-top:3px;position:relative;overflow:hidden}.cad-analysis-meter>i{background:linear-gradient(90deg,#277f99,#84e0ff);height:100%;transition:width .28s;display:block;box-shadow:0 0 8px #84e0ffbf}.cad-analysis-meter>b{background:linear-gradient(90deg,#0000,#ebfcfff2,#0000);width:24%;animation:.8s linear infinite cad-hud-meter;position:absolute;top:0;bottom:0}.cad-panel-light .cad-analysis-status{color:#15343d;background:linear-gradient(135deg,#effafcf2,#dcf1f6e6);border-color:#147e9e7a}.cad-panel-light .cad-analysis-readout strong{color:#15343d}.cad-panel-light .cad-analysis-readout small{color:#52747e}.cad-panel-light .cad-analysis-kicker{color:#167d9b}.cad-loading-overlay{isolation:isolate;-webkit-backdrop-filter:blur(5px)saturate(115%);backdrop-filter:blur(5px)saturate(115%);background:radial-gradient(circle at 50% 46%,#1e7e9729,#0000 34%),#050f13c2;overflow:hidden}.cad-loading-overlay:before{z-index:-1;content:"";background-image:linear-gradient(#84e0ff0b 1px,#0000 1px),linear-gradient(90deg,#84e0ff0b 1px,#0000 1px);background-size:32px 32px;animation:1.2s ease-in-out infinite cad-hud-data;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 72%);mask-image:radial-gradient(circle,#000 10%,#0000 72%)}.cad-loading-card{color:#e9faff;-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);background:linear-gradient(135deg,#071318f7,#0c2229ed);border:1px solid #64ddff8a;border-radius:3px;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:16px;width:min(460px,100% - 32px);padding:20px 22px 17px;animation:1.15s ease-in-out infinite cad-hud-border;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 46px #00000070}.cad-loading-card:before{content:"";pointer-events:none;background-image:linear-gradient(#69dcff0a 1px,#0000 1px),linear-gradient(90deg,#69dcff0a 1px,#0000 1px);background-size:9px 9px;position:absolute;inset:0}.cad-loading-card:after{content:"";opacity:.68;background:repeating-linear-gradient(90deg,#84e0ff 0 2px,#0000 2px 5px);width:44px;height:3px;animation:.8s ease-in-out infinite cad-hud-data;position:absolute;top:7px;right:22px}.cad-loading-sweep{z-index:2;filter:blur(.3px);pointer-events:none;background:linear-gradient(#0000,#7ee2ff33,#aaeeffb3,#0000);height:16px;animation:1s linear infinite cad-hud-sweep;position:absolute;top:0;left:0;right:0}.cad-loading-corner{z-index:4;pointer-events:none;border-color:#84e0ff;width:18px;height:18px;position:absolute}.cad-loading-corner--a{border-top:2px solid;border-left:2px solid;top:3px;left:3px}.cad-loading-corner--b{border-bottom:2px solid;border-right:2px solid;bottom:3px;right:3px}.cad-loading-radar{z-index:3;background:radial-gradient(circle,#84e0ff42 0 4%,#0000 5% 28%,#84e0ff1f 29% 31%,#0000 32% 46%,#84e0ff1c 47% 49%,#0000 50%);border:1px solid #84e0ff9e;border-radius:50%;width:64px;height:64px;position:relative;box-shadow:inset 0 0 18px #60daff2b,0 0 18px #60daff24}.cad-loading-radar:before,.cad-loading-radar:after{content:"";background:#84e0ff47;position:absolute}.cad-loading-radar:before{height:1px;top:50%;left:4px;right:4px}.cad-loading-radar:after{width:1px;top:4px;bottom:4px;left:50%}.cad-loading-radar>i{filter:drop-shadow(0 0 4px #84e0ffe6);border-top:1px solid #84e0ff;border-right:1px solid #0000;border-radius:50%;animation:.7s linear infinite cad-hud-rotate;position:absolute;inset:5px}.cad-loading-radar>b{transform-origin:0;background:linear-gradient(90deg,#84e0ff,#0000);width:45%;height:1px;animation:1.05s linear infinite reverse cad-hud-rotate;position:absolute;top:50%;left:50%}.cad-loading-radar>em{background:#d8f8ff;border-radius:50%;width:5px;height:5px;animation:.62s ease-in-out infinite cad-hud-ping;position:absolute;top:11px;right:12px;box-shadow:0 0 9px #84e0ff}.cad-loading-readout{z-index:3;gap:5px;min-width:0;display:grid;position:relative}.cad-loading-kicker{color:#7dddf8;letter-spacing:.15em;align-items:center;gap:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;display:flex}.cad-loading-kicker>span{background:#84e0ff;border-radius:50%;flex:none;width:6px;height:6px;animation:.62s ease-in-out infinite cad-hud-ping;box-shadow:0 0 9px #84e0fff2}.cad-loading-kicker>em{color:#c6f3ff;letter-spacing:0;margin-left:auto;font-size:9px;font-style:normal}.cad-loading-readout strong{color:#effcff;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:650;line-height:1.25;animation:.9s ease-in-out infinite cad-hud-data;overflow:hidden}.cad-loading-readout small{color:#8fb5c0;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;overflow:hidden}.cad-loading-progress{background:#84e0ff21;height:4px;margin-top:5px;position:relative;overflow:hidden}.cad-loading-progress>i{background:linear-gradient(90deg,#167d9b,#84e0ff);height:100%;transition:width .18s;display:block;box-shadow:0 0 10px #84e0ffd1}.cad-loading-progress>b{background:linear-gradient(90deg,#0000,#effcfffa,#0000);width:20%;animation:.72s linear infinite cad-hud-meter;position:absolute;top:0;bottom:0}.cad-loading-progress.is-indeterminate>i{width:34%;animation:1.05s ease-in-out infinite cad-loading-indeterminate}.cad-loading-stages{color:#567984;letter-spacing:.08em;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:2px;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;display:grid}.cad-loading-stages span{text-align:center;border-top:1px solid #84e0ff29;padding-top:4px}.cad-loading-stages span.is-active{color:#bdefff;text-shadow:0 0 8px #84e0ffb8;border-color:#84e0ff}@keyframes cad-loading-indeterminate{0%{opacity:.35;transform:translate(-110%)}50%{opacity:1}to{opacity:.35;transform:translate(290%)}}.cad-canvas-cursor{cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%20stroke-linecap='square'%3e%3cpath%20d='M16%201v9M16%2022v9M1%2016h9M22%2016h9'%20stroke='%23fff'%20stroke-width='3'/%3e%3cpath%20d='M16%201v9M16%2022v9M1%2016h9M22%2016h9'%20stroke='%23171717'%20stroke-width='1'/%3e%3crect%20x='11.5'%20y='11.5'%20width='9'%20height='9'%20stroke='%23fff'%20stroke-width='3'/%3e%3crect%20x='11.5'%20y='11.5'%20width='9'%20height='9'%20stroke='%23171717'%20stroke-width='1'/%3e%3c/g%3e%3c/svg%3e") 16 16,crosshair}.cad-canvas-is-panning,.cad-canvas-is-panning *{cursor:grabbing!important}.cad-floating-panel{cursor:grab;-webkit-user-select:none;user-select:none}.cad-floating-panel-handle{cursor:grab;touch-action:none;outline:none}.cad-floating-panel-handle:active{cursor:grabbing}.cad-floating-panel-handle:focus-visible{box-shadow:inset 0 0 0 2px #eeeee8b8}.cad-panel-light .cad-floating-panel-handle:focus-visible{box-shadow:inset 0 0 0 2px #167d9bb8}.cad-floating-panel button,.cad-floating-panel input,.cad-floating-panel a{cursor:pointer}.cad-layer-panel,.cad-recognition-summary,.cad-frame-components{color:#efefea;-webkit-backdrop-filter:blur(14px)saturate(115%);backdrop-filter:blur(14px)saturate(115%);background:#1414134d;border:1px solid #0000;border-radius:7px;width:258px;overflow:hidden;box-shadow:0 10px 26px #00000029}.cad-layer-panel{max-height:calc(100% - 126px)}.cad-recognition-summary{top:16px;left:auto;right:16px}.cad-frame-components{max-height:calc(100% - 126px);right:290px}.cad-panel-light .cad-layer-panel,.cad-panel-light .cad-recognition-summary,.cad-panel-light .cad-frame-components{color:#15343d;background:#f1fbfd94;border-color:#0000;box-shadow:0 12px 30px #19556621,inset 0 1px #ffffffb8}.cad-overlay-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px;display:grid;position:relative}.cad-overlay-heading:after,.cad-component-heading:after{content:"";pointer-events:none;background:#dcdcd733;height:1px;position:absolute;bottom:0;left:0;right:0}.cad-overlay-heading span{align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;display:inline-flex}.cad-overlay-heading small{color:#bdbdb8;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.cad-panel-light .cad-overlay-heading small{color:#52747e}.cad-overlay-close{color:#c9c9c3;border-radius:4px;place-items:center;width:20px;height:20px;display:inline-grid}.cad-overlay-close:hover{color:#fff;background:#ffffff1f}.cad-panel-light .cad-overlay-close{color:#52747e}.cad-panel-light .cad-overlay-close:hover{color:#126a84;background:#167d9b1c}.cad-layer-scroll{overscroll-behavior:contain;max-height:270px;padding:4px;overflow-y:auto}.cad-layer-row{width:100%;color:inherit;text-align:left;border-radius:4px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 6px;font-size:11px;display:grid;position:relative}.cad-layer-row:hover{background:#ffffff1c}.cad-panel-light .cad-layer-row:hover{background:#167d9b17}.cad-layer-row i{background:currentColor;border-radius:999px;width:7px;height:7px}.cad-layer-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-row small{color:#bdbdb8;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.cad-panel-light .cad-layer-row small{color:#5d7d86}.cad-layer-row.is-hidden{color:var(--muted);opacity:.62}.cad-selection-status{border-color:var(--cad-selection-line);background:var(--cad-selection-bg);color:var(--cad-selection-ink)}.cad-summary-list{overscroll-behavior:contain;max-height:min(360px,100dvh - 220px);padding:4px;overflow-y:auto}.cad-summary-review{color:#d4d4ce;margin:3px 3px 5px;font-size:10px}.cad-panel-light .cad-summary-review{color:#456b76}.cad-summary-empty{color:#bdbdb8;text-align:center;margin:0;padding:16px 8px;font-size:10px}.cad-drawing-row{width:100%;color:inherit;text-align:left;border-radius:4px;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 6px;display:grid;position:relative}.cad-drawing-row:hover,.cad-drawing-row.is-active{background:#ffffff1c}.cad-panel-light .cad-drawing-row:hover,.cad-panel-light .cad-drawing-row.is-active{background:#167d9b17}.cad-drawing-index{opacity:.65;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.cad-drawing-copy{gap:2px;min-width:0;display:grid}.cad-drawing-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550;overflow:hidden}.cad-drawing-copy small{color:#bdbdb8;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.cad-panel-light .cad-drawing-copy small,.cad-panel-light .cad-summary-empty{color:#5d7d86}.cad-component-heading{gap:2px;padding:9px 10px;display:grid;position:relative}.cad-component-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cad-component-heading small{color:#bdbdb8;font-size:9px}.cad-component-list{overscroll-behavior:contain;max-height:min(440px,100dvh - 250px);padding:4px;overflow-y:auto}.cad-component-row{width:100%;color:inherit;text-align:left;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;padding:7px 6px;display:grid;position:relative}.cad-layer-row+.cad-layer-row:before,.cad-drawing-row+.cad-drawing-row:before,.cad-component-row+.cad-component-row:before{content:"";pointer-events:none;background:#dcdcd729;height:1px;position:absolute;top:0;left:5px;right:5px}.cad-panel-light .cad-overlay-heading:after,.cad-panel-light .cad-component-heading:after,.cad-panel-light .cad-layer-row+.cad-layer-row:before,.cad-panel-light .cad-drawing-row+.cad-drawing-row:before,.cad-panel-light .cad-component-row+.cad-component-row:before{background:#34535c2e}.cad-component-row:hover{background:#ffffff1c}.cad-panel-light .cad-component-row:hover{background:#167d9b17}.cad-component-row span{gap:2px;min-width:0;display:grid}.cad-component-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.cad-component-row small{color:#bdbdb8;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.cad-component-row em{white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-style:normal}.cad-component-row i{color:#d4d4ce;grid-column:1/-1;font-size:9px;font-style:normal}.cad-panel-light .cad-component-heading small,.cad-panel-light .cad-component-row small{color:#5d7d86}.cad-panel-light .cad-component-row i{color:#456b76}.cad-panel-light .cad-summary-row:hover{background:#167d9b17}.cad-panel-light .cad-summary-row small{color:#5d7d86}.cad-panel-light .cad-summary-row em{color:#15343d}.cad-panel-light .cad-loading-overlay{background:radial-gradient(circle at 50% 46%,#2b99b72b,#0000 37%),#dcf1f6c7}.cad-panel-light .cad-loading-card{color:#15343d;background:linear-gradient(135deg,#f5fdfffa,#dcf1f6f2);border-color:#147e9e94}.cad-panel-light .cad-loading-readout strong{color:#15343d}.cad-panel-light .cad-loading-readout small{color:#52747e}.cad-panel-light .cad-loading-kicker{color:#167d9b}.cad-panel-light .cad-loading-kicker>em,.cad-panel-light .cad-loading-stages span.is-active{color:#126a84}:root[data-theme=dark] .button-primary{box-shadow:none}.ai-chat-fab{background:linear-gradient(135deg,#126b85,#2394b2 52%,#126b85);border:1px solid #43a4bebf;transition:transform .18s,filter .18s;box-shadow:0 10px 26px #0c364352,0 0 16px #167d9b4d,inset 0 1px #d0f6ff38}.ai-chat-fab:hover{filter:brightness(1.08);transform:translateY(-2px)}.ai-chat-fab:active{transform:translateY(0)scale(.96)}.ai-chat-panel{height:min(560px,100dvh - 8rem);box-shadow:0 24px 60px #0c36433d,inset 0 1px #ffffffb3}.ai-chat-scroll{overscroll-behavior:contain}.ai-chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:86%;padding:8px 11px;font-size:13px;line-height:1.55}.ai-chat-bubble--user{background:var(--accent);color:var(--ink-inverse);border-bottom-right-radius:4px}.ai-chat-bubble--assistant{border:1px solid var(--line);background:var(--elevated);color:var(--ink);border-bottom-left-radius:4px}.ai-chat-caret{background:var(--accent);width:7px;height:15px;animation:1s ease-in-out infinite cad-hud-data;display:inline-block;transform:translateY(2px)}.ai-chat-input{line-height:1.5}@media (width<=640px){.ai-chat-panel{height:min(70dvh,100dvh - 7rem);bottom:5.5rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/3{top:33.3333%}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[105\]{z-index:105}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.max-h-28{max-height:7rem}.min-h-\[24px\]{min-height:24px}.min-h-\[430px\]{min-height:430px}.min-h-\[480px\]{min-height:480px}.min-h-\[600px\]{min-height:600px}.min-h-\[60px\]{min-height:60px}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-20{min-width:5rem}.min-w-44{min-width:11rem}.max-w-56{max-width:14rem}.max-w-\[150px\]{max-width:150px}.max-w-\[380px\]{max-width:380px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-col-resize{cursor:col-resize}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.1fr_\.9fr_1fr_\.7fr_\.5fr_\.7fr\]{grid-template-columns:1.1fr .9fr 1fr .7fr .5fr .7fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent{border-color:var(--accent)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-line{border-color:var(--line)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:hsl(var(--background))}.bg-black\/30{background-color:#0000004d}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-elevated{background-color:var(--elevated)}.bg-line{background-color:var(--line)}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-signal{background-color:var(--signal)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pr-3{padding-right:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-ink{color:var(--ink)}.text-ink-inverse{color:var(--ink-inverse)}.text-muted{color:var(--muted)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-signal{color:var(--signal)}.text-warning{color:var(--warning)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_12px_theme\(colors\.signal\)\]{--tw-shadow:0 0 12px var(--signal);--tw-shadow-colored:0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-glow{--tw-shadow:0 0 18px #167d9b47;--tw-shadow-colored:0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-panel{--tw-shadow:0 12px 36px #111c2214;--tw-shadow-colored:0 12px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app:#edf7fa;--surface:#f8fdff;--elevated:#e3f1f5;--ink:#15343d;--ink-inverse:#f4fcff;--muted:#52717a;--line:#bfd9e1;--accent:#167d9b;--signal:#28a5c7;--warning:#90621c;--danger:#ad4052;--cad-panel:#111;--cad-toolbar:#f4fcfff5;--cad-layer-panel:#f4fcfff7;--cad-layer-ink:#15343d;--cad-layer-line:#a9ced9;--cad-layer-hover:#d9edf3;--cad-selection-bg:#effafcf0;--cad-selection-ink:#15343d;--cad-selection-line:#79b6c8}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app:#101010;--surface:#171717;--elevated:#202020;--ink:#f4f4f2;--ink-inverse:#151515;--muted:#a3a3a0;--line:#343432;--accent:#f2f2ee;--signal:#d0d0cc;--warning:#b4b4b0;--danger:#deded9;--cad-panel:#111;--cad-toolbar:#181818f5;--cad-layer-panel:#1e1e1ef7;--cad-layer-ink:#f1f1ee;--cad-layer-line:#5c5c58;--cad-layer-hover:#3b3b38;--cad-selection-bg:#181818f0;--cad-selection-ink:#e4e4df;--cad-selection-line:#5c5c58}@media (width<=640px){.cad-analysis-status{width:min(232px,100% - 16px);right:8px}.cad-loading-card{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:16px 15px 14px}.cad-loading-radar{width:50px;height:50px}.cad-loading-readout strong{font-size:15px}.cad-selection-status{display:none}.cad-floating-panel--top-left{top:8px;left:8px}.cad-floating-panel--top-right{top:8px;right:8px}.cad-layer-panel,.cad-recognition-summary,.cad-frame-components{max-width:calc(100% - 16px)}.cad-recognition-summary{top:8px;left:auto;right:8px}.cad-frame-components{right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cad-path-summary-highlight,.cad-label-summary-highlight,.cad-symbol-summary-highlight{opacity:1;filter:drop-shadow(0 0 4px #70daffb3);animation:none!important}.cad-path-analysis-highlight,.cad-label-analysis-highlight,.cad-symbol-analysis-highlight{opacity:1;filter:drop-shadow(0 0 3px #ffffffb3);animation:none!important}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted::placeholder{color:var(--muted)}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-2:after{content:var(--tw-content);top:.5rem;bottom:.5rem}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:bg-line:after{content:var(--tw-content);background-color:var(--line)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition:after{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.focus-within\:border-accent:focus-within{border-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-elevated:hover{background-color:var(--elevated)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:text-ink:hover{color:var(--ink)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:after\:bg-accent:hover:after{content:var(--tw-content);background-color:var(--accent)}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:border-line:focus{border-color:var(--line)}.focus\:bg-elevated:focus{background-color:var(--elevated)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-muted:disabled{color:var(--muted)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:after\:opacity-60:after{content:var(--tw-content);opacity:.6}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@media (width>=640px){.sm\:right-6{right:1.5rem}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (width>=768px){.md\:block{display:block}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:max-w-\[190px\]{max-width:190px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}}@media (width>=1280px){.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:min-h-\[calc\(100dvh-8rem\)\]{min-height:calc(100dvh - 8rem)}.xl\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}}@media (prefers-color-scheme:dark){.dark\:border-destructive{border-color:hsl(var(--destructive))}}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}:root{--background:0 0% 100%;--foreground:220 9% 20%;--primary:220 9% 15%;--primary-foreground:0 0% 100%;--secondary:220 16% 94%;--secondary-foreground:220 9% 24%;--muted-foreground:220 5% 46%;--destructive:0 55% 43%;--destructive-foreground:0 0% 100%;--border:220 13% 89%;--input:220 13% 89%;--ring:220 8% 51%;--radius:.5rem;--app:#f0f2f7;--surface:#fff;--elevated:#f5f6f8;--ink:#2f3238;--ink-inverse:#fff;--muted:#777c86;--line:#e3e6ec;--accent:#30343b;--signal:#55748f;--warning:#967633;--danger:#b44141;--cad-toolbar:#ffffffed;--cad-layer-panel:#fffffff5;--cad-layer-ink:#353941;--cad-layer-line:#dfe3ea;--cad-layer-hover:#f0f2f6;--cad-selection-bg:#fffffff5;--cad-selection-ink:#353941;--cad-selection-line:#b3bac6;--hover:#f0f2f6;--focus:#55748f;--control-line:#b3bac6;--success:#38745b;--selected-surface:#e8edf3;--selected-ink:#334d65;--warning-surface:#f6f1e6;--danger-surface:#f8eceb;--action-hover:#24272d;--action-active:#191b20;--cad-background:#fff;--cad-select:#39785b;--cad-hover:#39785b;--cad-scan:#619f7b;--cad-geometry:#989894;--cad-annotation:#5a606b;--cad-locator:#d97706;--card-shadow:0 2px 10px #172b4308;--card-shadow-hover:0 8px 22px #172b4314;--material-glass-opacity:82%}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:221 38% 15%;--foreground:216 48% 94%;--primary:221.2 83.2% 53.3%;--primary-foreground:0 0% 100%;--secondary:215 33% 17%;--secondary-foreground:214 32% 91%;--muted-foreground:215 20% 65%;--destructive:4 75% 73%;--destructive-foreground:222 47% 11%;--border:215 25% 27%;--input:215 16% 47%;--ring:213 94% 68%;--app:#0f172a;--surface:#172033;--elevated:#1e293b;--ink:#e8eef7;--ink-inverse:#fff;--muted:#94a3b8;--line:#334155;--accent:#2563eb;--signal:#60a5fa;--warning:#e6b866;--danger:#ee8d86;--hover:#22304a;--focus:#60a5fa;--control-line:#64748b;--success:#6ccb9f;--selected-surface:#1d3150;--selected-ink:#60a5fa;--warning-surface:#2b2830;--danger-surface:#31252f;--action-hover:#1d4ed8;--action-active:#1e40af;--cad-toolbar:#172033;--cad-layer-panel:#1e293b;--cad-layer-ink:#e8eef7;--cad-layer-line:#334155;--cad-layer-hover:#22304a;--cad-selection-bg:#1e293b;--cad-selection-ink:#7dd3fc;--cad-selection-line:#60a5fa;--cad-background:#101722;--cad-select:#7dd3fc;--cad-hover:#60a5fa;--cad-scan:#60a5fa;--cad-geometry:#8f9db0;--cad-annotation:#b7c4d6;--cad-locator:#fbbf24;--card-shadow:0 2px 10px #00000029;--card-shadow-hover:0 8px 22px #0000003d;--material-glass-opacity:84%}body{font-family:-apple-system,BlinkMacSystemFont,Noto Sans CJK SC,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea{font-family:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.workspace-app{background:var(--app);height:100dvh;min-height:640px;color:var(--ink);grid-template-columns:206px minmax(0,1fr) 380px;gap:10px;padding:10px;font-size:12px;display:grid}.workspace-app svg{stroke-width:1.6px;flex-shrink:0}.workspace-app button{box-shadow:none;font-size:12px}.workspace-app.sidebar-collapsed{grid-template-columns:minmax(0,1fr) 380px;padding-left:10px}.workspace-app.analysis-collapsed{grid-template-columns:206px minmax(0,1fr)}.workspace-app.sidebar-collapsed.analysis-collapsed{grid-template-columns:minmax(0,1fr)}.workspace-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:15px;flex-direction:column;min-width:0;min-height:0;padding:10px 12px 4px 16px;display:flex}.workspace-brand{align-items:center;gap:10px;margin:0 7px 27px;display:flex}.workspace-brand-logo{--brand-logo-color:#28577c;background-color:var(--brand-logo-color);width:56px;height:56px;-webkit-mask:var(--brand-logo-image) center / contain no-repeat;-webkit-mask:var(--brand-logo-image) center / contain no-repeat;mask:var(--brand-logo-image) center / contain no-repeat;flex:none;display:inline-block}:root[data-theme=dark] .workspace-brand-logo{--brand-logo-color:#8cccf2}.workspace-mobile-header .workspace-brand-logo{width:40px;height:40px}.workspace-brand>button{width:25px;height:30px;color:var(--muted);margin-left:auto}.workspace-brand>button svg{width:14px}.workspace-navigation{flex-direction:column;gap:6px;display:flex}.workspace-navigation>button{justify-content:flex-start;gap:12px;height:39px;padding:0 10px}.workspace-nav-count{color:var(--muted);margin-left:auto;font-size:10px}.workspace-search{align-items:center;gap:12px;height:39px;padding:0 10px;display:flex}.workspace-search>svg{width:16px;height:16px}.workspace-search>input{height:30px;box-shadow:none;background:0 0;border:0;padding:0;font-size:12px}.workspace-search>input::placeholder{color:var(--ink);opacity:1}.workspace-section-label{color:var(--muted);justify-content:space-between;align-items:center;margin:28px 10px 11px;font-size:10px;display:flex}.workspace-section-label svg{width:14px;height:14px}.workspace-section-label>span{font-size:9px}.workspace-project{align-items:center;gap:9px;padding:9px 10px;display:flex}.workspace-project svg{width:16px;height:16px}.workspace-history{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.workspace-history>button{justify-content:flex-start;gap:8px;width:100%;min-height:37px;padding:0 10px}.workspace-history>button svg{color:var(--muted);width:14px}.workspace-history>button>span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.workspace-history-empty{color:var(--muted);align-items:center;gap:6px;padding:10px;font-size:10px;line-height:1.9;display:flex}.workspace-history-empty>svg{width:14px}.workspace-sidebar-footer{align-items:center;gap:9px;margin-top:auto;padding:12px 8px;font-size:11px;display:flex}.workspace-sidebar-footer>button{width:25px;height:28px;margin-left:auto}.workspace-avatar{background:var(--elevated);width:27px;height:27px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.workspace-avatar svg{width:15px}.workspace-canvas-shell{border:1px solid var(--line);background:var(--elevated);border-radius:15px;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace-mobile-header,.workspace-nav-backdrop{display:none}.workspace-error{z-index:45;background:var(--surface);width:calc(100% - 40px);padding-right:46px;position:absolute;top:124px;left:20px}.workspace-error>button{position:absolute;top:4px;right:7px}.workspace-empty{text-align:center;background-color:var(--surface);background-image:linear-gradient(#a5adbb0d 1px,#0000 1px),linear-gradient(90deg,#a5adbb0d 1px,#0000 1px);background-size:36px 36px;flex-direction:column;justify-content:center;align-items:center;gap:17px;height:100%;min-height:560px;padding:70px 24px 130px;display:flex}.workspace-empty>svg{width:37px;height:37px;color:var(--accent);stroke-width:1.2px;margin-bottom:4px}.workspace-empty h1{letter-spacing:-.5px;font-size:24px;font-weight:500}.workspace-empty p{color:var(--muted);font-size:12px;line-height:1.9}.workspace-empty small{color:var(--muted);font-size:10px}.workspace-drop-overlay{z-index:55;border:2px dashed var(--accent);background:var(--elevated);opacity:.95;place-items:center;font-size:20px;display:grid;position:absolute;inset:0}.analysis-sidebar{border:1px solid var(--line);background:var(--surface);border-radius:15px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.analysis-header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:8px;height:58px;padding:0 15px 0 19px;display:flex}.analysis-header>svg{width:17px;height:17px}.analysis-header strong{white-space:nowrap;font-size:12px;font-weight:500}.analysis-context{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:9px}.analysis-header>button{width:25px;height:29px;color:var(--muted)}.analysis-header>button svg{width:14px;height:14px}.analysis-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:21px 20px 12px;overflow-y:auto}.analysis-user-message{background:var(--elevated);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;margin-left:22px;padding:12px 14px;font-size:12px;line-height:1.95}.analysis-attachment{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;margin-top:9px;padding-top:8px;font-size:10px;display:flex}.analysis-attachment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-attachment svg{width:13px;height:13px}.analysis-speaker{color:var(--signal);align-items:center;gap:7px;margin:20px 0 12px;font-size:12px;font-weight:550;display:flex}.analysis-speaker>svg{width:15px;height:15px}.analysis-progress{color:var(--muted);align-items:center;gap:6px;margin:0 0 14px;font-size:10px;display:flex}.analysis-progress svg{width:12px;height:12px}.workspace-online-dot{background:var(--signal);border-radius:50%;width:5px;height:5px;display:inline-block}.analysis-copy{overflow-wrap:anywhere;margin:0 0 14px;font-size:12px;line-height:1.95}.analysis-result{background:var(--elevated);border-radius:8px;margin-bottom:14px;padding:12px 13px}.analysis-result-heading{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.analysis-result-heading>span{color:var(--muted);font-size:10px;font-weight:400}.analysis-result table{border-collapse:collapse;width:100%;font-size:11px}.analysis-result th{text-align:left;border-bottom:1px solid var(--line);color:var(--muted);padding:5px 0 8px;font-size:10px;font-weight:400}.analysis-result td{border-bottom:1px solid var(--line);padding:8px 0}.analysis-result td:nth-child(2){color:var(--muted);overflow-wrap:anywhere;max-width:150px;font-size:10px}.analysis-result th:last-child,.analysis-result td:last-child{text-align:right;white-space:nowrap}.analysis-result tr:last-child td{border-bottom:0}.analysis-result td button{text-align:left;text-underline-offset:3px;font-size:11px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.analysis-result td button:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.analysis-review{background:var(--elevated);border:1px solid var(--line);border-radius:8px;margin-bottom:15px;padding:11px 13px}.analysis-review>div{color:var(--warning);align-items:center;gap:7px;margin-bottom:6px;font-size:11px;display:flex}.analysis-review>div svg{width:13px;height:13px}.analysis-review>button{text-align:left;border-radius:5px;flex-direction:column;gap:3px;width:100%;padding:8px 0;font-size:11px;display:flex}.analysis-review>button:hover{color:var(--accent)}.analysis-review>button small{color:var(--muted);font-size:10px;line-height:1.8}.analysis-review>button:last-child{height:auto;padding:8px;font-size:10px}.analysis-selection{color:var(--signal);margin-bottom:14px;font-size:10px}.analysis-scroll>[role=alert]{margin-bottom:14px;font-size:11px}.analysis-scroll>[role=alert] svg{width:14px;height:14px}.analysis-scroll>[role=alert]>div{font-size:11px;line-height:1.8}.analysis-input-area{background:var(--surface);padding:14px 14px 10px}.analysis-suggestions{align-items:center;gap:6px;margin-bottom:10px;display:flex}.analysis-suggestions>button{height:28px;color:var(--muted);padding:0 8px;font-size:10px}.analysis-suggestions>button:nth-last-child(-n+2){width:24px;padding:0}.analysis-suggestions svg{width:12px;height:12px}.analysis-suggestions>button:nth-last-child(2){margin-left:auto}.analysis-composer{border:1px solid var(--line);box-shadow:0 0 0 3px var(--elevated);border-radius:13px;padding:12px}.analysis-composer>textarea{height:51px;min-height:51px;max-height:130px;box-shadow:none;resize:vertical;background:0 0;border:0;padding:0;font-size:11px}.analysis-composer>textarea:focus-visible{box-shadow:none;outline:none}.analysis-composer:focus-within{border-color:var(--accent)}.analysis-composer-footer{justify-content:space-between;align-items:center;margin-top:7px;display:flex}.analysis-composer-footer>span{color:var(--muted);font-size:9px}.analysis-composer-footer>button{border-radius:7px;width:27px;height:27px}.analysis-composer-footer svg{width:14px;height:14px}.analysis-footnote{text-align:center;color:var(--muted);margin-top:8px;font-size:9px}.analysis-input-area>[role=alert]{margin-bottom:10px;padding:9px 10px}.analysis-input-area>[role=alert]>div{font-size:10px}.analysis-welcome{flex-direction:column;align-items:flex-start;gap:15px;padding:28px 3px;display:flex}.analysis-welcome>svg{width:26px;height:26px;color:var(--accent)}.analysis-welcome>h2{font-size:16px;font-weight:500}.analysis-welcome p{color:var(--muted);font-size:12px;line-height:2}.analysis-message-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.95}.analysis-ai-message{margin-bottom:20px}.workspace-material-sheet{border-color:var(--line);border-radius:15px 15px 0 0;flex-direction:column;gap:20px;height:77dvh;padding:24px;display:flex}.workspace-material-scroll{flex:1;min-height:0;overflow-y:auto}.workspace-material-scroll .panel{box-shadow:none;border-radius:8px}.workspace-material-sheet [role=dialog]{background:var(--surface)}.panel{border-color:var(--line);background:var(--surface);box-shadow:0 8px 25px #253b2d08}.button,.button-primary,.button-quiet{background:var(--elevated);border:1px solid var(--line);color:var(--ink);box-shadow:none}.button-primary{background:var(--accent);color:var(--ink-inverse);border-color:var(--accent)}.button:before,.button:after{display:none}.workspace-canvas-shell .cad-panel{background:#1b1e24;border:0;border-radius:0;height:100%;min-height:0}.workspace-canvas-shell .cad-panel.cad-panel-light{--cad-panel:#fafbfc;background:#fafbfc}.workspace-canvas-shell .cad-panel-light .cad-grid{background-image:linear-gradient(#cdd3df30 1px,#0000 1px),linear-gradient(90deg,#cdd3df30 1px,#0000 1px)}.workspace-canvas-shell .cad-grid>svg,.workspace-canvas-shell .cad-raster{border:1px solid var(--line);background:#fff;box-shadow:0 7px 35px #334d3c0b}.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid>svg:not([aria-hidden=true]),.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-raster{background:#1b1e24}.workspace-canvas-shell .cad-raster+svg{background:0 0;border:0}.workspace-canvas-shell .cad-grid>svg[aria-hidden=true]{box-shadow:none;background:0 0;border:0}.workspace-canvas-shell .cad-path-selected{stroke-width:2.2px;stroke:#39785b!important}.workspace-canvas-shell .cad-panel-light .cad-path:hover,.workspace-canvas-shell .cad-panel-light .cad-path-summary-highlight,.workspace-canvas-shell .cad-panel-light .cad-symbol-summary-highlight{stroke:#39785b!important}.workspace-canvas-shell .cad-panel-light .cad-label-summary-highlight{fill:#39785b!important;stroke:none!important}.workspace-canvas-shell .cad-label{stroke:none}.pdf-recognition-highlight{fill:#7aaa8b22;stroke:#528165;stroke-width:2px;vector-effect:non-scaling-stroke}.pdf-summary-highlight{animation:1s ease-in-out infinite cad-summary-pulse}.pdf-analysis-highlight{animation:1.2s ease-in-out infinite cad-analysis-scan}.workspace-pdf-loading,.workspace-pdf-error{color:var(--muted);z-index:30;background:var(--surface);border-radius:7px;padding:7px 10px;font-size:11px;position:absolute;top:120px;left:70px}.workspace-pdf-error{color:var(--danger)}.workspace-canvas-shell .cad-symbol{fill:none;vector-effect:non-scaling-stroke}.workspace-canvas-shell .cad-panel-light .cad-label-analysis-highlight{fill:#38745b!important}.workspace-canvas-shell .cad-panel-light .cad-symbol-analysis-highlight{stroke:#38745b!important}.workspace-canvas-shell .cad-path-analysis-highlight{stroke:#619f7b!important}.workspace-canvas-shell .cad-floating-panel{background:var(--cad-layer-panel);color:var(--cad-layer-ink);border:1px solid var(--cad-layer-line);border-radius:8px}.workspace-canvas-shell .cad-overlay-heading,.workspace-canvas-shell .cad-component-heading,.workspace-canvas-shell .cad-drawing-copy strong,.workspace-canvas-shell .cad-component-row strong,.workspace-canvas-shell .cad-layer-row{color:var(--cad-layer-ink)}.workspace-canvas-shell .cad-layer-row:hover,.workspace-canvas-shell .cad-drawing-row:hover,.workspace-canvas-shell .cad-component-row:hover{background:var(--cad-layer-hover)}.workspace-canvas-shell .cad-overlay-close,.workspace-canvas-shell .cad-layer-row small,.workspace-canvas-shell .cad-drawing-copy small,.workspace-canvas-shell .cad-component-row small{color:var(--muted)}.workspace-canvas-shell .cad-frame-boundary{stroke:var(--accent)}.workspace-canvas-shell .cad-panel{container-type:inline-size}.workspace-canvas-shell .cad-loading-readout strong,.workspace-canvas-shell .cad-loading-readout small,.workspace-canvas-shell .cad-analysis-readout strong,.workspace-canvas-shell .cad-analysis-readout small{white-space:normal;overflow-wrap:anywhere;overflow:visible}.workspace-canvas-shell .cad-loading-kicker,.workspace-canvas-shell .cad-analysis-kicker{white-space:nowrap}.workspace-canvas-shell .cad-loading-overlay{background:color-mix(in srgb, var(--app) 95%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.workspace-canvas-shell .cad-loading-overlay:before{display:none}.workspace-project-loading{container-type:inline-size}.workspace-canvas-shell .cad-loading-card,.workspace-canvas-shell .cad-analysis-status{--scan-color:var(--signal);background:var(--surface);border:1px solid color-mix(in srgb, var(--scan-color) 24%, var(--line));color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;border-radius:14px;animation:none;box-shadow:0 18px 50px #172b4310,inset 0 1px #ffffff0c}.workspace-canvas-shell .cad-loading-card{grid-template-columns:68px minmax(0,1fr);gap:24px;padding:27px 26px 23px}.workspace-canvas-shell .cad-loading-card:before,.workspace-canvas-shell .cad-analysis-status:before{z-index:-1;background-image:linear-gradient(color-mix(in srgb, var(--scan-color) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--scan-color) 9%, transparent) 1px, transparent 1px);background-size:16px 16px;animation:none;display:block;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 76%);mask-image:linear-gradient(90deg,#000,#0000 76%)}.workspace-canvas-shell .cad-loading-card:after{display:none}.workspace-canvas-shell .cad-loading-sweep,.workspace-canvas-shell .cad-analysis-sweep{background:linear-gradient(90deg, transparent, var(--scan-color), transparent);filter:none;opacity:.7;display:block;top:0;left:0;right:auto}.workspace-canvas-shell .cad-loading-corner,.workspace-canvas-shell .cad-analysis-corner{border-color:color-mix(in srgb, var(--scan-color) 55%, transparent);opacity:.55;width:10px;height:10px;display:block}.workspace-canvas-shell .cad-loading-corner--a,.workspace-canvas-shell .cad-analysis-corner--a{border-width:1px 0 0 1px;top:9px;left:9px}.workspace-canvas-shell .cad-loading-corner--b,.workspace-canvas-shell .cad-analysis-corner--b{border-width:0 1px 1px 0;bottom:9px;right:9px}.workspace-canvas-shell .cad-loading-radar,.workspace-canvas-shell .cad-analysis-radar{border:1px solid color-mix(in srgb, var(--scan-color) 22%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--scan-color) 12%, transparent), transparent 69%);width:64px;height:64px;box-shadow:0 0 0 6px color-mix(in srgb, var(--scan-color) 3%, transparent)}.workspace-canvas-shell .cad-loading-radar:before,.workspace-canvas-shell .cad-analysis-radar:before{border:1px dashed color-mix(in srgb, var(--scan-color) 36%, transparent);background:0 0;border-radius:50%;width:auto;height:auto;display:block;inset:10px}.workspace-canvas-shell .cad-loading-radar:after,.workspace-canvas-shell .cad-analysis-radar:after{border:1px solid color-mix(in srgb, var(--scan-color) 27%, transparent);background:color-mix(in srgb, var(--scan-color) 5%, transparent);border-radius:5px;width:auto;height:auto;display:block;inset:19px;transform:rotate(45deg)}.workspace-canvas-shell .cad-loading-radar>i,.workspace-canvas-shell .cad-analysis-radar>i{border:2px solid #0000;border-top-color:var(--scan-color);border-bottom-color:color-mix(in srgb, var(--scan-color) 25%, transparent);filter:none;will-change:transform;inset:-1px}.workspace-canvas-shell .cad-loading-radar>b,.workspace-canvas-shell .cad-analysis-radar>b{background:conic-gradient(from 0deg, transparent 0deg 260deg, color-mix(in srgb, var(--scan-color) 20%, transparent) 345deg, transparent 360deg);transform-origin:50%;border-radius:50%;width:auto;height:auto;display:block;inset:5px}.workspace-canvas-shell .cad-loading-radar>em,.workspace-canvas-shell .cad-analysis-radar>em{background:var(--scan-color);border-radius:2px;width:6px;height:6px;display:block;inset:calc(50% - 3px)}.workspace-canvas-shell .cad-analysis-radar{width:44px;height:44px}.workspace-canvas-shell .cad-analysis-radar:before{inset:6px}.workspace-canvas-shell .cad-analysis-radar:after{border-radius:3px;inset:13px}.workspace-canvas-shell .cad-loading-readout strong,.workspace-canvas-shell .cad-analysis-readout strong{color:var(--ink);letter-spacing:normal;text-shadow:none;font-weight:600;animation:none}.workspace-canvas-shell .cad-loading-readout small,.workspace-canvas-shell .cad-analysis-readout small{color:var(--muted);letter-spacing:normal;font-family:inherit;line-height:1.5}.workspace-canvas-shell .cad-loading-kicker,.workspace-canvas-shell .cad-analysis-kicker{color:var(--scan-color);letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500}.workspace-canvas-shell .cad-loading-kicker>em,.workspace-canvas-shell .cad-analysis-kicker>em{color:var(--scan-color);border:1px solid color-mix(in srgb, var(--scan-color) 15%, transparent);background:color-mix(in srgb, var(--scan-color) 6%, transparent);letter-spacing:.04em;border-radius:4px;padding:3px 6px;font-size:8px}.workspace-canvas-shell .cad-loading-kicker>span,.workspace-canvas-shell .cad-analysis-kicker>span{background:var(--scan-color);width:4px;height:4px;box-shadow:0 0 0 3px color-mix(in srgb, var(--scan-color) 9%, transparent);animation:none}.workspace-canvas-shell .cad-loading-progress,.workspace-canvas-shell .cad-analysis-meter{background:repeating-linear-gradient(90deg, var(--elevated) 0 3px, var(--surface) 3px 5px);border-radius:3px;height:5px}.workspace-canvas-shell .cad-loading-progress>i,.workspace-canvas-shell .cad-analysis-meter>i{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--scan-color) 35%, var(--surface)), var(--scan-color));box-shadow:none}.workspace-canvas-shell .cad-loading-progress>b,.workspace-canvas-shell .cad-analysis-meter>b{background:linear-gradient(90deg, transparent, var(--scan-color), transparent);opacity:.65;will-change:transform;width:32%}.workspace-canvas-shell .cad-loading-progress.is-indeterminate>i{width:0;animation:none}.workspace-canvas-shell .cad-loading-stages{counter-reset:scan-stage;color:var(--muted);letter-spacing:normal;gap:8px;margin-top:6px;font-family:inherit}.workspace-canvas-shell .cad-loading-stages span{counter-increment:scan-stage;border:0;justify-content:center;align-items:center;gap:5px;padding-top:0;display:flex}.workspace-canvas-shell .cad-loading-stages span:before{content:"0" counter(scan-stage);opacity:.5;font:8px ui-monospace,monospace}.workspace-canvas-shell .cad-loading-stages span.is-active{color:var(--scan-color);text-shadow:none}.workspace-canvas-shell .cad-loading-stages span.is-active:before{opacity:1}@container (width<=360px){.workspace-canvas-shell .cad-loading-card{grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;padding:18px 14px}.workspace-canvas-shell .cad-loading-readout{width:100%}.workspace-canvas-shell .cad-loading-readout strong{font-size:15px}.workspace-canvas-shell .cad-analysis-status{grid-template-columns:minmax(0,1fr);justify-items:center;width:calc(100% - 32px);right:16px}.workspace-canvas-shell .cad-analysis-readout{width:100%}}@media (width>=1700px){.workspace-app{grid-template-columns:222px minmax(0,1fr) 420px}.workspace-app.sidebar-collapsed{grid-template-columns:minmax(0,1fr) 420px}.workspace-app.analysis-collapsed{grid-template-columns:222px minmax(0,1fr)}}@media (width>=761px) and (width<=1200px){.workspace-app{grid-template-columns:176px minmax(0,1fr) 320px}.workspace-app.sidebar-collapsed{grid-template-columns:minmax(0,1fr) 320px}.workspace-app.analysis-collapsed{grid-template-columns:176px minmax(0,1fr)}.workspace-brand{gap:6px;margin-left:0}.workspace-sidebar{padding-left:10px}.analysis-scroll{padding:16px 14px 12px}.analysis-context{display:none}.analysis-header>button:first-of-type{margin-left:auto}}@media (width<=760px){.workspace-app,.workspace-app.sidebar-collapsed,.workspace-app.analysis-collapsed,.workspace-app.sidebar-collapsed.analysis-collapsed{flex-direction:column;gap:8px;height:auto;min-height:100dvh;padding:7px;display:flex}.workspace-canvas-shell{flex-shrink:0;height:620px}.workspace-mobile-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;height:44px;padding:0 7px;display:flex}.workspace-mobile-header>button{width:30px;height:30px}.workspace-mobile-header>button:last-child{margin-left:auto}.workspace-empty{gap:15px;height:calc(100% - 44px);min-height:0;padding:70px 20px 110px}.workspace-empty h1{font-size:21px}.workspace-empty p{max-width:255px}.workspace-sidebar{z-index:70;width:min(275px,85vw);padding:23px 15px 10px;position:fixed;top:7px;bottom:7px;left:7px;box-shadow:0 0 30px #1c222d22}.workspace-nav-backdrop{z-index:65;background:#1c222d44;display:block;position:fixed;inset:0}.analysis-sidebar{flex-shrink:0;height:800px;min-height:600px}.analysis-scroll{padding:18px 17px}.workspace-material-sheet{height:86dvh;padding:18px 10px 10px}.workspace-material-sheet>div:first-of-type{text-align:left;padding:0 14px}.workspace-canvas-shell .cad-loading-card{max-width:90%}.workspace-canvas-shell .cad-analysis-status{max-width:calc(100% - 24px);top:131px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.workspace-canvas-shell .cad-loading-radar>i,.workspace-canvas-shell .cad-analysis-radar>i,.workspace-canvas-shell .cad-loading-radar:before,.workspace-canvas-shell .cad-analysis-radar:before,.workspace-canvas-shell .cad-loading-radar>b,.workspace-canvas-shell .cad-analysis-radar>b,.workspace-canvas-shell .cad-loading-radar>em,.workspace-canvas-shell .cad-analysis-radar>em,.workspace-canvas-shell .cad-loading-sweep,.workspace-canvas-shell .cad-analysis-sweep,.workspace-canvas-shell .cad-loading-progress>b,.workspace-canvas-shell .cad-analysis-meter>b{animation:none!important}}.workspace-canvas-shell{background:var(--surface);flex-direction:column;display:flex}.workspace-document-header{border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;min-height:52px;padding:8px 16px;display:flex}.workspace-filename{min-width:0;color:var(--ink);align-items:center;gap:9px;margin-right:auto;display:flex}.workspace-filename svg{width:16px;height:16px;color:var(--muted)}.workspace-filename span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.workspace-save-state{color:var(--muted);flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:flex}.workspace-save-state svg{width:12px;height:12px}.workspace-save-state.is-error{color:var(--danger)}.workspace-project-status{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:9px}.workspace-history>button:has(.workspace-project-copy){min-height:52px}.workspace-project-copy{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.workspace-project-copy>strong{text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.workspace-project-copy>small{color:var(--muted);font-size:9px;line-height:1.3}.workspace-document-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.workspace-document-actions>button{height:32px;color:var(--ink);border-radius:6px;gap:6px;padding:0 10px;font-size:11px}.workspace-document-actions>button[aria-label]{width:32px;color:var(--muted);padding:0}.workspace-document-actions svg{width:14px;height:14px}.workspace-expand-nav{width:28px;height:30px;color:var(--muted);flex-shrink:0;padding:5px}.workspace-canvas-shell .cad-panel{background:var(--elevated);flex-direction:column;flex:1;height:auto;min-height:0;display:flex}.workspace-canvas-shell .cad-panel.cad-panel-light{background:var(--elevated)}.workspace-cad-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:21;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 16px;padding:6px 12px;display:flex}.workspace-drawing-navigation{flex:1;order:0;align-items:stretch;gap:4px;min-width:240px;height:32px;display:flex}.workspace-drawing-tabs{scrollbar-width:thin;align-items:stretch;gap:3px;min-width:0;display:flex;overflow-x:auto}.workspace-drawing-tabs>button{color:var(--muted);border-radius:5px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:flex}.workspace-drawing-tabs>button[aria-selected=true]{background:var(--elevated);color:var(--ink);font-weight:600}.workspace-drawing-overview{color:var(--muted);border-radius:5px;padding:0 9px;font-size:10px}.workspace-drawing-overview[aria-pressed=true]{color:var(--ink);background:var(--elevated)}.workspace-view-tools,.workspace-side-tools{flex-shrink:0;align-items:center;gap:2px;display:flex}.workspace-view-tools{margin-left:auto}.workspace-view-tools>button{height:30px;color:var(--ink);border-radius:5px;gap:5px;padding:0 8px;font-size:11px}.workspace-view-tools svg,.workspace-side-tools svg{width:14px;height:14px}.workspace-side-tools{border-left:1px solid var(--line);padding-left:9px}.workspace-side-tools>button{width:29px;height:30px;color:var(--muted);border-radius:5px}.workspace-side-tools>button[aria-expanded=true],.workspace-document-actions>button:hover,.workspace-view-tools>button:hover,.workspace-side-tools>button:hover,.workspace-zoom-tools>button:hover,.workspace-navigation>button:hover,.workspace-history>button:hover,.workspace-brand>button:hover,.workspace-sidebar-footer>button:hover{background:var(--elevated);color:var(--ink)}.workspace-canvas-shell .cad-grid{border:1px solid var(--line);background:#fff;border-radius:5px;flex:1;min-height:0;margin:10px;position:relative;inset:auto;overflow:hidden}.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid{background:#1b1e24}.workspace-canvas-shell .cad-grid>svg,.workspace-canvas-shell .cad-raster{box-shadow:none;border:0}.workspace-cad-footer{background:var(--surface);border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;height:36px;padding:0 12px;display:flex}.workspace-canvas-shell .cad-layout-tabs{background:0 0;border:0;align-items:center;gap:3px;min-width:0;max-width:40%;height:auto;padding:0;display:flex;position:static}.workspace-canvas-shell .cad-layout-tab{min-width:0;height:25px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:4px;padding:0 9px;font-size:10px}.workspace-canvas-shell .cad-layout-tab.is-active{background:var(--elevated);color:var(--ink)}.workspace-canvas-shell .cad-selection-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex:1;padding:0;font:10px/1.5 inherit;position:static;overflow:hidden}.workspace-zoom-tools{color:var(--muted);flex-shrink:0;align-items:center;gap:5px;display:flex}.workspace-zoom-tools>span{text-align:center;font-variant-numeric:tabular-nums;min-width:35px;font-size:10px}.workspace-zoom-tools>button{width:24px;height:25px;color:var(--muted);padding:0}.workspace-empty{flex:1;min-height:0;padding:40px 24px}.workspace-canvas-shell .cad-analysis-status{top:60px;right:22px}@media (width<=1200px) and (width>=761px){.workspace-cad-header{gap:5px 8px;padding:6px 8px}.workspace-drawing-navigation{flex-basis:100%}.workspace-view-tools{margin-left:0}.workspace-side-tools{margin-left:auto}.workspace-document-header{padding:8px 10px}.workspace-document-actions>button{padding:0 7px}}@media (width<=760px){.workspace-canvas-shell{height:640px}.workspace-document-header{gap:5px;min-height:45px;padding:6px 10px}.workspace-filename span{font-size:11px}.workspace-save-state{font-size:9px}.workspace-save-state svg{display:none}.workspace-document-actions{gap:2px}.workspace-document-actions>button{height:29px;padding:0 7px;font-size:10px}.workspace-document-actions>button:first-child>span{display:none}.workspace-document-actions>button[aria-label]{width:25px}.workspace-expand-nav{display:none}.workspace-cad-header{gap:5px 8px;padding:6px 9px}.workspace-drawing-navigation{flex-basis:100%;min-width:0}.workspace-view-tools{margin-left:0}.workspace-side-tools{margin-left:auto}.workspace-drawing-tabs>button{padding:0 9px}.workspace-canvas-shell .cad-grid{margin:7px}.workspace-cad-footer{gap:7px;padding:0 8px}.workspace-canvas-shell .cad-layout-tab{padding:0 6px;font-size:9px}.workspace-canvas-shell .cad-selection-status{font-size:9px}.workspace-canvas-shell .cad-analysis-status{top:94px;right:14px}}.workspace-app button,.workspace-material-sheet button{transition-duration:.15s}button[data-variant=default]:hover:not(:disabled),.button-primary:hover:not(:disabled){background:var(--action-hover)}button[data-variant=default]:active:not(:disabled),.button-primary:active:not(:disabled){background:var(--action-active)}.workspace-empty>svg,.analysis-welcome>svg{color:var(--signal)}.workspace-history>button{border:1px solid #0000;border-radius:8px;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s}.workspace-history>button[aria-current=page]{color:var(--selected-ink);background:var(--selected-surface);border-color:var(--focus);box-shadow:inset 3px 0 var(--focus)}.workspace-history>button[aria-current=page] svg{color:var(--selected-ink)}.workspace-document-actions>button:hover:not(:disabled),.workspace-view-tools>button:hover:not(:disabled),.workspace-side-tools>button:hover:not(:disabled),.workspace-navigation>button:hover:not(:disabled),.workspace-zoom-tools>button:hover:not(:disabled){background:var(--hover)}.workspace-view-tools>button[aria-pressed=true],.workspace-side-tools>button[aria-expanded=true],.workspace-drawing-tabs>button[aria-selected=true],.workspace-drawing-overview[aria-pressed=true],.workspace-canvas-shell .cad-layout-tab.is-active{color:var(--selected-ink);background:var(--selected-surface);box-shadow:inset 0 -2px var(--focus)}.analysis-user-message,.analysis-result{border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:8px;animation:.18s ease-out workspace-card-enter}.analysis-result td:nth-child(2){color:var(--ink);font-variant-numeric:tabular-nums}.analysis-result tbody tr{transition:background-color .15s}.analysis-result tbody tr:hover{background:var(--hover)}.analysis-result tbody tr[data-selected=true]{background:var(--selected-surface);box-shadow:inset 3px 0 var(--focus)}.analysis-result td:first-child{padding-left:7px}.analysis-result td button{align-items:center;gap:4px;display:inline-flex}.analysis-result td button svg{width:12px;height:12px;color:var(--selected-ink)}.analysis-result td button[aria-pressed=true],.analysis-result td button:hover{color:var(--selected-ink);text-decoration-color:currentColor}.analysis-progress{color:var(--success);font-size:11px}.analysis-progress[data-state=processing]{color:var(--signal)}.analysis-progress[data-state=error]{color:var(--danger)}.workspace-online-dot{background:currentColor}.analysis-progress[data-state=processing] .workspace-online-dot{animation:2.4s ease-in-out infinite workspace-status-breathe}.analysis-selection{color:var(--cad-select)}.analysis-review,.analysis-scroll>.analysis-warning{background:var(--warning-surface);border-color:var(--line);border-left:3px solid var(--warning)}.analysis-scroll>.analysis-warning>svg{color:var(--warning)}.analysis-review>button:not([data-variant]){border:1px solid #0000;margin-top:5px;padding:9px;transition:background-color .15s,border-color .15s}.analysis-review>button:not([data-variant]):hover{background:var(--hover);color:var(--ink);border-color:var(--line)}.analysis-review>button[aria-pressed=true]{background:var(--selected-surface);border-color:var(--focus);box-shadow:inset 3px 0 var(--focus)}.workspace-error,.analysis-input-area>[role=alert]{background:var(--danger-surface);color:var(--danger)}.analysis-composer{border-color:var(--control-line);background:var(--elevated);box-shadow:none}.analysis-composer:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 18%, transparent)}.workspace-save-state.is-saved{color:var(--success)}.workspace-material-sheet{color:var(--ink);background:var(--surface);animation-duration:.2s}.workspace-material-header>h2{align-items:center;min-height:32px;padding-right:130px;display:flex}.workspace-material-sheet>.workspace-material-transparency{position:absolute;top:24px;right:56px}.workspace-material-transparency[aria-pressed=true]{background:var(--selected-surface);border-color:var(--focus);color:var(--selected-ink)}.workspace-material-sheet>[data-slot=sheet-close]{place-items:center;width:32px;height:32px;display:grid;top:24px}.workspace-material-overlay.is-translucent{background:color-mix(in srgb, var(--app) 8%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.workspace-material-sheet[data-translucent=true]{background:color-mix(in srgb, var(--surface) var(--material-glass-opacity), transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.workspace-material-sheet[data-translucent=true] .workspace-material-scroll>.panel{background:0 0}.workspace-material-sheet[data-translucent=true] .materials-table input:focus{background:var(--surface)}@media (width<=760px){.workspace-material-sheet>.workspace-material-transparency,.workspace-material-sheet>[data-slot=sheet-close]{top:18px}}.materials-status[data-status=success]{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent)}.materials-status[data-status=warning]{color:var(--warning);background:var(--warning-surface)}.materials-status[data-status=error]{color:var(--danger);background:var(--danger-surface)}.materials-table-row{border-color:var(--line)}.materials-table-row:hover{background:var(--hover)}.materials-table input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.workspace-canvas-shell .cad-panel:not(.cad-panel-light){background:var(--app)}.workspace-canvas-shell .cad-grid,.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid,.workspace-canvas-shell .cad-grid>svg:not([aria-hidden=true]),.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid>svg:not([aria-hidden=true]),.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-raster,.workspace-canvas-shell .cad-raster{background:var(--cad-background)}.workspace-canvas-shell .cad-selection-underlay{fill:none;stroke:var(--cad-background);stroke-width:6px;vector-effect:non-scaling-stroke;pointer-events:none}.workspace-canvas-shell .cad-selection-marker{fill:var(--cad-background);stroke:var(--cad-select);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.workspace-canvas-shell .cad-selection-marker.is-boundary{fill:none;stroke-dasharray:4 3}.workspace-canvas-shell .cad-path:hover,.workspace-canvas-shell .cad-panel-light .cad-path:hover,.workspace-canvas-shell .cad-path-summary-highlight,.workspace-canvas-shell .cad-panel-light .cad-path-summary-highlight{stroke-width:1.8px;filter:none;animation:none;stroke:var(--cad-hover)!important}.workspace-canvas-shell .cad-path-analysis-highlight,.workspace-canvas-shell .cad-panel-light .cad-path-analysis-highlight{stroke-width:2px;filter:none;animation:none;stroke:var(--cad-scan)!important}.workspace-canvas-shell .cad-path-selected,.workspace-canvas-shell .cad-path-selected:hover{stroke-width:2.5px;animation:none;stroke:var(--cad-select)!important}.workspace-canvas-shell .cad-symbol-summary-highlight,.workspace-canvas-shell .cad-panel-light .cad-symbol-summary-highlight{filter:none;animation:none;stroke:var(--cad-hover)!important}.workspace-canvas-shell .cad-symbol-analysis-highlight,.workspace-canvas-shell .cad-panel-light .cad-symbol-analysis-highlight{filter:none;animation:none;stroke:var(--cad-scan)!important}.workspace-canvas-shell .cad-symbol-selected{stroke-width:2px;stroke:var(--cad-select)!important}.workspace-canvas-shell .cad-label-summary-highlight,.workspace-canvas-shell .cad-panel-light .cad-label-summary-highlight{filter:none;animation:none;fill:var(--cad-hover)!important;stroke:none!important}.workspace-canvas-shell .cad-label-analysis-highlight,.workspace-canvas-shell .cad-panel-light .cad-label-analysis-highlight{filter:none;animation:none;fill:var(--cad-scan)!important}.workspace-canvas-shell .cad-label-selected{text-decoration:underline;fill:var(--cad-select)!important}.workspace-canvas-shell .cad-drawing-is-analyzing :is(.cad-path,.cad-label,.cad-symbol){opacity:1}.workspace-canvas-shell .pdf-recognition-highlight{fill:#2563eb14;stroke:#2563eb;stroke-width:2px;vector-effect:non-scaling-stroke}.workspace-canvas-shell .pdf-summary-highlight,.workspace-canvas-shell .pdf-analysis-highlight{animation:none}.workspace-canvas-shell .cad-frame-boundary rect{stroke:var(--muted);fill:none}.workspace-canvas-shell .cad-frame-boundary text{fill:var(--cad-annotation);stroke:var(--cad-background)}.workspace-canvas-shell .cad-frame-boundary.is-active rect{stroke:var(--cad-select);stroke-width:2px;fill:none;filter:none}.workspace-canvas-shell .cad-frame-boundary.is-active text{fill:var(--cad-select)}.workspace-canvas-shell .cad-floating-panel{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--card-shadow-hover);border-radius:8px;animation:.18s ease-out workspace-panel-enter}.workspace-canvas-shell .cad-floating-panel-handle:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.workspace-canvas-shell .cad-drawing-row.is-active,.workspace-canvas-shell .cad-component-row[aria-pressed=true]{background:var(--selected-surface);box-shadow:inset 3px 0 var(--focus)}.workspace-canvas-shell .cad-component-row i,.workspace-canvas-shell .cad-summary-review{color:var(--warning)}.workspace-canvas-shell .cad-component-heading small,.workspace-canvas-shell .cad-summary-empty{color:var(--muted)}.cad-layer-color-note{color:var(--muted);margin:4px 10px 8px;font-size:10px}.workspace-canvas-shell .cad-selection-status[data-selected=true]{color:var(--cad-select);animation:.7s ease-out workspace-location-feedback}.workspace-canvas-shell .cad-specialty-marker-ring{fill:color-mix(in srgb, var(--cad-locator) 15%, transparent);stroke:var(--cad-locator);stroke-width:1.5px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.workspace-canvas-shell .cad-specialty-marker-dot{fill:var(--cad-locator);stroke:var(--cad-background);stroke-width:1.5px;vector-effect:non-scaling-stroke}.workspace-canvas-shell .cad-specialty-marker-cross{stroke:var(--cad-locator);stroke-width:1.5px;vector-effect:non-scaling-stroke}.workspace-canvas-shell .cad-specialty-marker text{fill:var(--cad-locator);paint-order:stroke;stroke:var(--cad-background);stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:10px;font-weight:600}.workspace-canvas-shell .cad-loading-card,.workspace-canvas-shell .cad-analysis-status{background:var(--elevated);box-shadow:var(--card-shadow-hover);border-radius:8px}.workspace-canvas-shell .cad-loading-progress:not(.is-indeterminate)>b,.workspace-canvas-shell .cad-analysis-meter>b{display:none}.workspace-canvas-shell .cad-loading-radar>em,.workspace-canvas-shell .cad-analysis-radar>em{box-shadow:none;transform:none}.workspace-canvas-shell .cad-loading-progress>i,.workspace-canvas-shell .cad-analysis-meter>i{background:var(--signal)}.workspace-canvas-shell .cad-loading-progress,.workspace-canvas-shell .cad-analysis-meter{background:var(--line)}.workspace-canvas-shell .cad-loading-progress.is-indeterminate>b{opacity:.65}.workspace-canvas-shell .cad-loading-kicker>em,.workspace-canvas-shell .cad-loading-stages span:before{font-size:10px}@keyframes workspace-card-enter{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}@keyframes workspace-panel-enter{0%{opacity:0}to{opacity:1}}@keyframes workspace-location-feedback{0%{opacity:.5}to{opacity:1}}@keyframes workspace-status-breathe{0%,to{opacity:.6}50%{opacity:1}}@media (hover:hover) and (pointer:fine){.workspace-history>button:hover:not(:disabled){background:var(--hover);border-color:color-mix(in srgb, var(--focus) 40%, var(--line));box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}.workspace-history>button[aria-current=page]:hover{background:var(--selected-surface);border-color:var(--focus);box-shadow:inset 3px 0 var(--focus), var(--card-shadow-hover)}}@media (prefers-reduced-motion:reduce){.workspace-app *,.workspace-app :before,.workspace-app :after,.workspace-material-sheet,.workspace-material-sheet *{transition:none!important;animation:none!important}.workspace-history>button:hover:not(:disabled){transform:none}.workspace-canvas-shell .cad-loading-progress.is-indeterminate>b{width:35%;transform:none}}.workspace-sidebar:has(.specialty-navigation) .workspace-brand{margin-bottom:12px}.specialty-navigation{border-top:1px solid var(--line);flex-direction:column;flex:1;min-height:180px;margin-top:17px;padding-top:14px;display:flex}.specialty-nav-heading{align-items:center;gap:7px;padding:0 7px;display:flex}.specialty-nav-heading strong{font-size:12px;font-weight:600}.specialty-nav-heading>span{color:var(--muted);margin-left:auto;font-size:10px}.specialty-source{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:7px;font-size:10px;overflow:hidden}.specialty-status{color:var(--muted);margin:10px 7px;font-size:11px;line-height:1.7}.specialty-original{text-align:left;border-radius:6px;align-items:center;gap:8px;margin:2px 0 6px;padding:7px;display:flex}.specialty-original[aria-pressed=true],.specialty-entry[aria-pressed=true]{background:var(--selected-surface);color:var(--selected-ink)}.specialty-tree{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding-right:4px;overflow-y:auto}.specialty-category{margin-bottom:9px}.specialty-category>summary{color:var(--muted);cursor:pointer;padding:6px 7px;font-size:10px}.specialty-category>summary>span{float:right}.specialty-entry{text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:34px;padding:8px 7px;display:flex}.specialty-entry>i{background:var(--muted);border-radius:2px;flex-shrink:0;width:13px;height:3px;box-shadow:0 0 0 1px #7773}.specialty-entry>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.specialty-entry>small{text-overflow:ellipsis;text-align:right;min-width:32px;max-width:88px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:10px;overflow:hidden}.specialty-entry[aria-pressed=true]>small{color:var(--selected-ink)}.specialty-entry:hover,.specialty-original:hover{background:var(--hover)}.specialty-pending>summary{color:var(--muted);cursor:pointer;padding:8px 7px;font-size:10px}.specialty-export-all{height:30px;color:var(--muted);flex-shrink:0;margin-top:8px}.specialty-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;padding:9px 13px;display:flex}.specialty-toolbar-title{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.specialty-toolbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.specialty-original-badge{color:var(--muted);flex-shrink:0;font-size:10px}.specialty-toolbar strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.specialty-toolbar small{color:var(--muted);font-size:10px}.specialty-toolbar>button{flex-shrink:0}.specialty-calculation{font-size:12px}.specialty-kicker{color:var(--muted);margin-bottom:12px;font-size:10px;line-height:1.8}.specialty-calculation h2{overflow-wrap:anywhere;font-size:20px;font-weight:600;line-height:1.5}.specialty-total{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin:14px 0 20px;padding:15px 0;display:flex}.specialty-total strong{letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:500}.specialty-total>span{color:var(--muted);background:var(--elevated);white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:10px}.specialty-unit-label{flex-direction:column;gap:8px;font-size:11px;display:flex}.specialty-unit-label select{background:var(--surface);width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 9px;font-size:11px}.specialty-note{color:var(--muted);margin:11px 0 20px;font-size:10px;line-height:1.9}.specialty-calculation h3{margin:23px 0 12px;font-size:12px;font-weight:600}.specialty-calculation h3>span{float:right;color:var(--muted);font-weight:400}.specialty-basis{padding-left:20px;font-size:11px;line-height:1.9;list-style:decimal}.specialty-basis li{margin-bottom:10px;padding-left:4px}.specialty-formula{background:var(--elevated);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;border-radius:7px;padding:13px;font-size:12px;line-height:1.9}.specialty-formula small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.specialty-warning{border-left:2px solid var(--warning);color:var(--muted);background:var(--warning-surface);margin:14px 0;padding:8px 11px;font-size:11px;line-height:1.8}.specialty-empty{border:1px dashed var(--line);color:var(--muted);border-radius:7px;align-items:center;gap:10px;margin:16px 0;padding:17px 13px;font-size:11px;line-height:1.8;display:flex}.specialty-locate{width:100%;margin-top:15px}.specialty-details>button{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.specialty-details>button:hover{color:var(--signal)}.specialty-details strong{overflow-wrap:anywhere;font-size:11px;font-weight:400}.specialty-details small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.specialty-details em{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-style:normal}@media (width>=1201px){.workspace-app:has(.specialty-navigation){grid-template-columns:248px minmax(0,1fr) 380px}.workspace-app.analysis-collapsed:has(.specialty-navigation){grid-template-columns:248px minmax(0,1fr)}}@media (width<=760px){.specialty-toolbar{flex-wrap:wrap;gap:6px;padding:7px}.specialty-toolbar-title{flex-basis:0}.specialty-toolbar-actions{margin-left:auto}.specialty-toolbar small{margin-top:3px;font-size:9px;display:block}.specialty-toolbar strong{font-size:12px}.specialty-toolbar>button{padding:0 7px;font-size:10px}.specialty-tree{min-height:120px}}.workspace-sidebar[data-view] .workspace-brand{margin-bottom:14px}.workspace-sidebar[data-view] .workspace-navigation{flex-shrink:0}.workspace-sidebar[data-view=projects] .workspace-history{flex:1;min-height:0;padding-bottom:8px}.workspace-sidebar[data-view=projects] .workspace-section-label{margin-top:22px}.workspace-back-projects{color:var(--muted)}.workspace-current-project{border-top:1px solid var(--line);flex-shrink:0;align-items:flex-start;gap:9px;margin:17px 4px 0;padding:14px 7px;display:flex}.workspace-current-project>svg{width:16px;height:16px;color:var(--signal);flex-shrink:0;margin-top:2px}.workspace-current-project>div{gap:7px;min-width:0;display:grid}.workspace-current-project strong{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:11px;font-weight:500;line-height:1.7;display:-webkit-box;overflow:hidden}.workspace-current-project small{color:var(--muted);font-size:10px}.workspace-sidebar[data-view=project] .specialty-navigation{min-height:0;margin-top:0;padding-top:14px}.workspace-sidebar[data-view=project] .specialty-tree{min-height:0}.workspace-directory-status{color:var(--muted);align-items:center;gap:8px;margin:15px 7px;font-size:11px;display:flex}.workspace-directory-status>svg{width:15px;height:15px}.workspace-project-drawings{border-top:1px solid var(--line);flex-direction:column;flex:1;min-height:0;padding-top:15px;display:flex}.workspace-project-drawings h2{margin:0 7px 9px;font-size:12px;font-weight:600}.workspace-project-drawings p{color:var(--muted);margin:0 7px 12px;font-size:10px;line-height:1.7}.workspace-project-drawings>div{min-height:0;overflow-y:auto}.workspace-project-drawings button{justify-content:flex-start;gap:8px;width:100%;height:auto;padding:10px 7px}.workspace-project-drawings button svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.workspace-project-drawings button span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.specialty-refresh{height:27px;color:var(--muted);flex-shrink:0;gap:4px;padding:0 6px;font-size:10px}.specialty-refresh svg{width:12px;height:12px}.specialty-refresh:hover:not(:disabled){color:var(--signal);background:var(--hover)}.specialty-saved{color:var(--muted);margin:-2px 7px 8px;font-size:9px}.cad-annotation-location{pointer-events:auto;cursor:pointer}.cad-annotation-location circle{fill:var(--surface);stroke:var(--signal);stroke-width:2px;vector-effect:non-scaling-stroke}.cad-annotation-location>text{fill:var(--signal);pointer-events:none;font-family:ui-sans-serif,sans-serif;font-weight:650}.cad-annotation-location.is-selected circle{fill:var(--signal)}.cad-annotation-location.is-selected>text:not(.cad-annotation-caption){fill:var(--surface)}.cad-annotation-location .cad-annotation-caption{stroke:var(--surface);paint-order:stroke;stroke-linejoin:round}.cad-annotation-location:focus-visible circle{stroke:var(--ink)}.workspace-canvas-shell .cad-grid>svg.cad-annotation-locations,.workspace-canvas-shell .cad-panel:not(.cad-panel-light) .cad-grid>svg.cad-annotation-locations{box-shadow:none;background:0 0;border:0}.analysis-pinned-stats{background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;flex:none;min-width:0;max-height:42%;display:flex}.analysis-pinned-stats-heading{align-items:center;gap:8px;min-height:42px;padding:7px 15px 7px 19px;display:flex}.analysis-pinned-stats-heading strong{white-space:nowrap;font-size:12px;font-weight:500}.analysis-pinned-stats-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;font-size:10px;overflow:hidden}.analysis-pinned-stats-heading>button{color:var(--muted);border-radius:4px;flex:none;align-items:center;gap:3px;padding:4px 5px;display:inline-flex}.analysis-pinned-stats-heading>button:hover{background:var(--hover);color:var(--ink)}.analysis-pinned-stats>div[id]{flex-direction:column;min-height:0;display:flex;overflow:hidden}.analysis-pinned-stats>div[hidden]{display:none}.analysis-pinned-stats-table{scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;max-height:260px;padding:0 17px;overflow-y:auto}.analysis-pinned-stats table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:11px}.analysis-pinned-stats thead th{z-index:1;background:var(--surface);color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 3px;font-size:10px;font-weight:400;position:sticky;top:0}.analysis-pinned-stats th{text-align:left}.analysis-pinned-stats tbody th{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:7px 3px;font-weight:400}.analysis-pinned-stats tbody th small{color:var(--muted);font-size:10px;display:block}.analysis-pinned-stats td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:7px 3px}.analysis-pinned-stats thead th:not(:first-child){text-align:right}.analysis-pinned-stats tbody tr:hover{background:var(--hover)}.analysis-pinned-stats-basis{color:var(--muted);flex-shrink:0;margin:0;padding:7px 19px 9px;font-size:10px;line-height:1.5}.analysis-stat-quantity{-moz-column-gap:2px;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;column-gap:2px;max-width:100%;display:inline-flex}.analysis-stat-quantity>span{overflow-wrap:anywhere}.analysis-stat-quantity>small{color:var(--muted);white-space:nowrap;font-size:9px}@property --card-motion-angle{syntax:"<angle>";inherits:false;initial-value:0deg}[data-card-motion]>.card-motion-frame{z-index:5;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--card-motion-angle), transparent 0deg 210deg, color-mix(in srgb, var(--signal) 35%, transparent) 265deg, var(--signal) 315deg, transparent 360deg) border-box;-webkit-mask-composite:xor;border:1px solid #0000;animation:4s linear infinite card-motion-orbit;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar):before{animation:16s linear infinite reverse card-motion-spin}[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar)>i{will-change:transform;animation:2.4s linear infinite card-motion-spin}[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar)>b{animation:3.6s linear infinite card-motion-spin}[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar)>em{animation:2.4s ease-in-out infinite card-motion-breathe}[data-card-motion] :is(.cad-loading-sweep,.cad-analysis-sweep){width:32%;height:2px;animation:2.6s ease-in-out infinite alternate card-motion-travel}[data-card-motion] .cad-loading-progress.is-indeterminate>b{opacity:.9;will-change:transform;width:32%;animation:1.4s ease-in-out infinite alternate card-motion-travel;display:block;left:0}@keyframes card-motion-orbit{to{--card-motion-angle:360deg}}@keyframes card-motion-spin{to{transform:rotate(360deg)}}@keyframes card-motion-travel{0%{transform:translate(0)}to{transform:translate(212.5%)}}@keyframes card-motion-breathe{0%,to{opacity:.6}50%{opacity:1}}@keyframes card-motion-feedback{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){[data-card-motion]>.card-motion-frame,[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar):before,[data-card-motion] :is(.cad-loading-radar,.cad-analysis-radar)>:is(i,b,em),[data-card-motion] :is(.cad-loading-sweep,.cad-analysis-sweep),[data-card-motion] .cad-loading-progress.is-indeterminate>b{animation:none}[data-card-motion]>.card-motion-frame{border-color:var(--line);background:0 0}[data-card-motion=loading]>.card-motion-frame,[data-card-motion=scanning]>.card-motion-frame{border-color:var(--signal);animation:3.2s ease-in-out infinite card-motion-feedback!important}:is([data-card-motion=loading],[data-card-motion=scanning]) :is(.cad-loading-radar,.cad-analysis-radar)>i{animation:3.2s linear infinite card-motion-spin!important}[data-card-motion=loading] .cad-loading-progress.is-indeterminate>b{opacity:1;background:linear-gradient(90deg, transparent, var(--signal) 25% 75%, transparent);width:32%;animation:2.4s ease-in-out infinite alternate card-motion-travel!important}}
