/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.blur{--tw-blur:blur(8px);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,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#172b32;--muted:#71848b;--accent:#087f89;--accent-soft:#e9f5f5;--line:#e2e9ec;--panel:#fff;--stage:#e3e8e9;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{color:var(--ink);font:13px/1.5 var(--font-sans);background:#f7f9fa}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg,a svg{flex-shrink:0}a{color:inherit;text-decoration:none}input,textarea{outline:none}input:focus,textarea:focus{box-shadow:0 0 0 3px #087f8910;border-color:var(--accent)!important}h2,h3,p{margin:0}small{font-size:11px}.review-app{grid-template-rows:76px minmax(0,1fr) 34px;height:100dvh;min-height:580px;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:var(--panel);z-index:5;justify-content:space-between;align-items:center;gap:24px;padding:0 25px;display:flex}.brand{align-items:center;gap:12px;min-width:220px;display:flex}.brand-mark{color:#fff;text-align:center;background:#153b43;border-radius:7px;width:43px;height:43px;font-size:29px;font-weight:750;line-height:43px;position:relative}.brand-mark>span{background:#40bec3;border-radius:1px;width:5px;height:5px;position:absolute;bottom:7px;right:6px}.brand strong{letter-spacing:1.5px;font-size:18px;font-weight:700;line-height:1.3;display:block}.brand strong b{color:var(--accent)}.brand>div>span{color:var(--muted);letter-spacing:1.7px;font-size:10px}.project-title{color:#5b717a;flex:1;align-items:center;gap:10px;font-size:12px;display:flex}.live-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.separator{color:#c0cdd2;margin-inline:4px}.version-label{color:#90a2a9;font-variant-numeric:tabular-nums}.sample-badge{color:#72959d;border:1px solid #d6e7e9;border-radius:4px;margin-left:5px;padding:3px 7px;font-size:10px}.header-actions{align-items:center;gap:14px;display:flex}.icon-button{color:#78909a;border-radius:5px;justify-content:center;align-items:center;width:29px;height:29px;display:inline-flex}.icon-button:hover{color:var(--accent);background:#eef5f6}.share-button{color:#fff;background:#153b43;border-radius:6px;align-items:center;gap:8px;padding:9px 13px;font-size:12px;display:flex}.share-button:hover{background:var(--accent)}.workspace{grid-template-columns:216px minmax(0,1fr) 308px;min-height:0;display:grid}.region-sidebar{border-right:1px solid var(--line);background:#f8fafb;flex-direction:column;min-height:0;padding:22px 12px 14px;display:flex;overflow:hidden}.sidebar-collapsed .region-sidebar{visibility:hidden;padding:0}.sidebar-heading{color:#869ba4;letter-spacing:2px;justify-content:space-between;align-items:center;margin:0 8px 15px;font-size:10px;font-weight:600;display:flex}.sidebar-heading>.icon-button{margin-left:auto}.sidebar-brand strong.preview-brand-title{letter-spacing:.2px;font-size:13px;line-height:1.5}.preview-brand-title>span{color:#557984;letter-spacing:.5px;font-size:11px;font-weight:500;display:block}.viewer-more:has(.menu-exposure){width:246px;max-height:calc(100dvh - 110px);overflow-y:auto}.menu-exposure{border-top:1px solid #e3eef3;border-bottom:1px solid #e3eef3;margin:2px 0 5px;padding:12px 8px}.menu-exposure>input[type=range]{accent-color:#087f89;cursor:pointer;width:100%;margin:12px 0 8px}.viewer-more .menu-exposure .exposure-actions button{justify-content:center;width:auto;padding:6px 4px;font-size:10px}.region-button{text-align:left;border:1px solid #0000;border-radius:6px;align-items:center;gap:11px;width:100%;margin:4px 0;padding:13px 11px;display:flex}.region-number{color:#a5b7be;letter-spacing:.3px;font-variant-numeric:tabular-nums;align-self:flex-start;margin-top:4px;font-size:10px}.region-button strong{font-size:12px;font-weight:500;display:block}.region-button small{color:#8fa4ad;margin-top:3px;font-size:10px;display:block}.region-button>svg{color:#c0cfd5;margin-left:auto}.region-button.active{background:#fff;border-color:#d5e5e9}.region-button.active strong,.region-button.active .region-number,.region-button.active>svg{color:var(--accent)}.region-button:hover{background:#eff6f7}.sidebar-bottom{margin-top:auto;padding:24px 11px 5px}.model-version{color:#7897a2;align-items:flex-start;gap:9px;font-size:11px;display:flex}.model-version svg{margin-top:2px}.model-version small{color:#a0b2ba;margin-top:3px;font-size:9px;display:block}.sidebar-bottom p{color:#a0b2ba;border-top:1px solid #e5edf0;margin-top:15px;padding-top:15px;font-size:10px;line-height:1.7}.viewer-section{background:var(--stage);min-width:0;min-height:0;position:relative;overflow:hidden}.viewer-top{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:18px;left:22px;right:22px}.view-title{color:#3f5b66;pointer-events:auto;align-items:center;gap:10px;font-size:12px;display:flex}.view-title>span{font-weight:600}.view-title>svg{color:#9caeb6}.view-title small{color:#829aa4;font-size:10px}.top-open-badge{color:#859da7;white-space:nowrap;background:#edf3f4;border:1px solid #cddde1;border-radius:4px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;display:flex}.model-viewport{position:absolute;inset:0}.model-viewport canvas{cursor:grab;width:100%;height:100%;display:block}.model-viewport canvas:active{cursor:grabbing}.model-viewport.mode-measure canvas,.model-viewport.mode-note canvas{cursor:crosshair}.viewer-tools{z-index:3;background:#fff;border:1px solid #d8e4e8;border-radius:8px;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;bottom:44px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #2949510b}.viewer-tool{color:#7b96a2;border-radius:5px;justify-content:center;align-items:center;width:40px;height:38px;display:flex;position:relative}.viewer-tool.active{background:var(--accent-soft);color:var(--accent)}.viewer-tool:hover{color:var(--accent);background:#eff7f7}.viewer-tool>span{color:#fff;white-space:nowrap;background:#153b43;border-radius:4px;padding:5px 8px;font-size:10px;display:none;position:absolute;bottom:48px}.viewer-tool:hover>span,.viewer-tool:focus-visible>span{display:block}.tool-divider{background:#e3ecef;width:1px;height:22px;margin-inline:3px;display:block}.viewer-caption{color:#90a6af;letter-spacing:.3px;pointer-events:none;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:13px;left:24px;right:24px}.viewer-caption>span>span{color:#a4b7be;margin-left:12px}.axis-caption{align-items:center;gap:6px;font-family:ui-monospace,monospace;display:flex}.axis-caption i{border:1px solid #8aa3af;width:4px;height:4px;transform:rotate(45deg)}.viewer-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.viewer-labels>*{will-change:transform;pointer-events:auto;position:absolute;top:0;left:0}.model-hotspot{color:#277888;white-space:nowrap;background:#fff;border:1px solid #aacbd4;border-radius:5px;padding:5px 9px;font-size:10px;box-shadow:0 2px 7px #244c5b12}.model-hotspot:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.note-marker{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:flex;box-shadow:0 2px 7px #244c5b25}.dimension-label{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#154b57;border:1px solid #fff;border-radius:4px;padding:4px 7px;font-size:11px}.measurement-snap-hint{z-index:8;pointer-events:none;color:#075c65;white-space:nowrap;background:#fff;border:1px solid #008892;border-radius:4px;padding:4px 7px;font-size:12px;position:absolute;transform:translate(12px,-50%)}.measurement-snap-hint:before{content:"";background:#fff;border:2px solid #008892;width:9px;height:9px;position:absolute;top:50%;left:-17px;transform:translateY(-50%);box-shadow:0 0 0 1px #fff}.measurement-snap-hint[data-snap-kind=edge]:before{border-radius:50%}.measurement-snap-hint[data-snap-kind=surface]{color:#56686d;border-color:#87999d}.measurement-snap-hint[data-snap-kind=surface]:before{border-color:#87999d;border-radius:50%;width:5px;height:5px}.tool-hint{z-index:3;white-space:nowrap;background:#f5fbfc;border:1px solid #bad8de;border-radius:6px;align-items:center;gap:8px;width:max-content;max-width:95%;padding:8px 10px;font-size:11px;display:flex;position:absolute;top:61px;left:50%;transform:translate(-50%)}.tool-hint button{color:#859fa9;border-left:1px solid #cce0e6;margin-left:8px;padding-left:12px;font-size:10px}.tool-hint kbd{color:#a3b7bf;margin-left:7px;font-size:9px}.inspector{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex}.inspector-tabs{border-bottom:1px solid var(--line);flex-shrink:0;align-items:stretch;gap:19px;height:55px;padding-inline:16px;display:flex}.inspector-tabs>button{color:#8fa6b1;align-items:center;gap:6px;font-size:11px;display:flex;position:relative}.inspector-tabs>button.active{color:var(--accent);font-weight:600}.inspector-tabs>button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.inspector-tabs>button>span{background:var(--accent-soft);border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding-inline:4px;font-size:8px;display:flex}.inspector-scroll{scrollbar-width:thin;scrollbar-color:#d0e0e6 transparent;min-height:0;padding:22px 20px;overflow:auto}.eyebrow{color:#9db3bb;letter-spacing:1.6px;font-size:8px;font-weight:600}.panel-intro h2{letter-spacing:-.5px;margin:5px 0 9px;font-size:19px;font-weight:650}.panel-intro p{color:#92aab5;margin-bottom:23px;font-size:11px;line-height:1.8}.part-section{border:1px solid #dde8ec;border-radius:7px;margin-bottom:17px;overflow:hidden}.part-section.selected{border-color:#b9d4dd}.part-heading{border-bottom:1px solid #e6eef1;align-items:center;gap:9px;padding:14px 12px;display:flex}.part-icon{color:#7d9ca9;font-variant-numeric:tabular-nums;background:#eef5f7;border-radius:5px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:9px;display:flex}.part-heading h3{font-size:11px;font-weight:600}.part-heading p{color:#9ab1bd;margin-top:3px;font-size:9px}.part-heading>.icon-button{margin-left:auto}.state-list{padding:6px}.state-list>button{color:#6d8d9c;text-align:left;border-radius:5px;align-items:center;gap:9px;width:100%;margin:3px 0;padding:11px 7px;font-size:11px;display:flex}.state-list>button>span{color:#a0b8c5;border:1px solid #dfecef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;font-size:8px;display:flex}.state-list>button small{color:#a8bdc7;margin-top:2px;font-size:9px;display:block}.state-list>button>svg{color:#b7cbd4;margin-left:auto}.state-list>button.active{background:var(--accent-soft);color:var(--accent)}.state-list>button.active>span{border-color:var(--accent);background:var(--accent);color:#fff}.state-list>button.active>svg{color:var(--accent)}.state-list>button.active small{color:#81aab3}.state-list>button:hover:not(.active){background:#f6fafb}.part-note{color:#9eb5c1;background:#fafcfd;border-top:1px solid #e6eff2;align-items:center;gap:8px;padding:9px 13px;font-size:9px;display:flex}.part-note b{color:#839faa;font-weight:500}.fold-control{color:#7897a5;text-align:left;align-items:center;gap:10px;width:100%;padding:18px 13px;display:flex}.fold-control strong{font-size:11px;font-weight:500;display:block}.fold-control small{color:#a5beca;margin-top:3px;font-size:9px;display:block}.fold-control>svg{margin-left:auto}.fold-control.folded{background:#f0f8fa}.fold-sketch{border-right:2px solid #8fadb9;flex-shrink:0;width:36px;height:33px;position:relative}.fold-sketch:after{content:"";transform-origin:100%;background:#a9c4d1;width:24px;height:2px;position:absolute;bottom:0;right:0;transform:rotate(45deg)}.fold-sketch i{background:var(--accent);transform-origin:100%;border-radius:2px;width:32px;height:4px;transition:transform .4s;position:absolute;top:7px;right:0}.folded .fold-sketch i{transform:rotate(90deg)}.reset-parts{color:#8da9b8;border:1px solid #d8e7ed;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:100%;padding:9px;font-size:10px;display:flex}.reset-parts:hover{color:var(--accent);background:#f4f9fa}.quiet-tip{color:#a7beca;align-items:flex-start;gap:9px;margin-top:22px;font-size:10px;line-height:1.8;display:flex}.quiet-tip svg{color:#9dbac8;flex-shrink:0;margin-top:2px}.app-footer{border-top:1px solid var(--line);color:#99afba;background:#fff;justify-content:space-between;align-items:center;gap:20px;padding-inline:22px;font-size:9px;display:flex}.app-footer>span{align-items:center;display:flex}.footer-dot{background:#c0d1d9;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.footer-dot.ready{background:var(--accent)}.footer-divider{background:#d4e3ea;width:1px;height:9px;margin-inline:11px;display:inline-block}.app-footer button{color:#8ba8b8;align-items:center;gap:5px;margin-left:20px;font-size:9px;display:flex}.loading-overlay{z-index:4;background:var(--stage);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-window{text-align:center;width:260px;position:relative}.loading-icon{color:#789eae;background:#eaf1f4;border:1px solid #b8cfd9;border-radius:8px;justify-content:center;align-items:center;width:55px;height:55px;margin:0 auto 25px;display:flex}.loading-window h2{letter-spacing:.2px;margin:7px 0 12px;font-size:20px;font-weight:500}.loading-window p{color:#91adba;font-size:11px;line-height:1.8}.progress-track{background:#c8dbe3;height:2px;margin-top:28px;overflow:hidden}.progress-track>div{background:var(--accent);height:100%;transition:width .3s}.loading-percent{color:#8ca9b9;font-variant-numeric:tabular-nums;margin-top:10px;font-size:10px;display:block}.loading-window .primary-button{margin-top:20px}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 14px;font-size:11px;display:flex}.primary-button:hover{background:#076d75;border-color:#076d75}.primary-button.measuring{background:#183e45;border-color:#183e45}.outlined-button{width:100%;color:var(--accent);border:1px solid #bed9e3;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:11px;display:flex}.outlined-button:hover{background:#f1f8fa}.storage-status{color:#85a7b5;align-items:center;gap:7px;margin:-5px 0 17px;font-size:9px;display:flex}.storage-status.loading .live-dot{background:#b5ccd6}.storage-status.error{color:#9a6a5b}.storage-status.error .live-dot{background:#a67b6b}.storage-status button{margin-left:auto;font-size:9px;text-decoration:underline}.note-composer{background:#f5fafc;border:1px solid #c5dce6;border-radius:7px;margin-bottom:12px;padding:12px}.composer-title{justify-content:space-between;align-items:center;display:flex}.composer-title strong{font-size:12px}.coordinate-label{color:#99b2bf;margin:0 0 12px;font-size:9px;display:block}.note-composer label{color:#809eae;margin:9px 0;font-size:10px;display:block}.note-composer input,.note-composer textarea{color:#406374;resize:vertical;background:#fff;border:1px solid #d5e6ed;border-radius:4px;width:100%;margin-top:5px;padding:8px 9px;font-size:11px;display:block}.small-muted{color:#a0b9c7;margin-top:9px;font-size:9px;line-height:1.6}.notes-filter{color:#96b1c1;justify-content:space-between;align-items:center;gap:8px;margin:21px 0 11px;font-size:9px;display:flex}.notes-filter label{align-items:center;gap:5px;display:flex}.notes-filter input{width:11px;height:11px;accent-color:var(--accent)}.note-card{background:#fff;border:1px solid #dbe9ef;border-radius:6px;margin-bottom:11px;overflow:hidden}.notes-list{min-width:0}.note-card.selected{border-color:#6eabb9}.note-card.resolved{opacity:.65}.note-body{text-align:left;width:100%;padding:12px;display:block}.note-meta{align-items:center;gap:6px;display:flex}.note-number{background:var(--accent-soft);width:17px;height:17px;color:var(--accent);border-radius:3px;justify-content:center;align-items:center;font-size:8px;display:flex}.note-meta strong{font-size:10px;font-weight:500}.note-meta time{color:#adc2cd;margin-left:auto;font-size:8px}.note-body p{color:#688c9f;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;font-size:11px;line-height:1.8}.note-scene{color:#a0bac8;flex-wrap:wrap;align-items:center;gap:4px;font-size:8px;display:flex}.note-footer{border-top:1px solid #e9f2f5;justify-content:space-between;gap:6px;padding:6px 10px;display:flex}.note-footer button{color:#93afbf;align-items:center;gap:4px;font-size:8px;display:flex}.inline-error{color:#96664f;overflow-wrap:anywhere;background:#fbf6f2;border:1px solid #e7d9d2;border-radius:5px;margin-top:12px;padding:9px;font-size:10px;line-height:1.7}.empty-state{color:#b6ccd7;text-align:center;padding:41px 0}.empty-state>svg{color:#bfd3dd;margin:0 auto 14px}.empty-state h3{color:#8faebf;margin-bottom:8px;font-size:12px;font-weight:400}.empty-state p{color:#aec7d4;font-size:10px;line-height:1.8}.snap-option{color:#829fac;gap:9px;margin:20px 0;font-size:10px;display:flex}.snap-option input{width:13px;height:13px;accent-color:var(--accent);margin-top:2px}.snap-option small{color:#adc5d2;margin-top:4px;font-size:8px;line-height:1.6;display:block}.pending-point{color:#5e97a7;background:#edf8fa;border:1px solid #bedce3;border-radius:5px;align-items:center;gap:7px;margin-bottom:14px;padding:9px;font-size:9px;display:flex}.pending-point>span{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;font-size:10px;display:flex}.pending-point button{margin-left:auto;display:flex}.measure-item{border-bottom:1px solid #e2edf2;align-items:center;gap:12px;padding:14px 0;display:flex}.measure-index{color:#aac3d1;font-size:9px}.measure-item>div{flex:1}.measure-item small{color:#afc7d5;font-size:8px;display:block}.measure-item strong{color:#3c778c;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin-top:4px;font-size:21px;font-weight:500;display:block}.measure-item strong>span{color:#91b0c1;letter-spacing:0;font-size:10px}.measure-list+.reset-parts{margin-top:18px}.toast{z-index:15;color:#fff;background:#173f48;border-radius:7px;align-items:center;gap:10px;max-width:85vw;padding:12px 17px;font-size:11px;display:flex;position:fixed;bottom:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #214b5518}.toast svg{color:#78d0cf;flex-shrink:0}.modal-backdrop{z-index:25;background:#213f4a99;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.help-dialog{background:#fff;border-radius:8px;width:100%;max-width:450px;max-height:calc(100dvh - 48px);padding:35px;position:relative;overflow:auto;box-shadow:0 8px 28px #173f4820}.modal-close{position:absolute;top:15px;right:15px}.help-dialog h2{margin:7px 0 25px;font-size:23px;font-weight:500}.help-dialog dl{margin:0 0 25px}.help-dialog dl>div{border-bottom:1px solid #e3eef3;padding:12px 0}.help-dialog dt{color:#527f93;font-size:11px;font-weight:600}.help-dialog dd{color:#96b2c2;margin:5px 0 0;font-size:10px;line-height:1.9}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1700px){.workspace{grid-template-columns:240px minmax(0,1fr) 330px}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr) 330px}.inspector-scroll{padding:27px 24px}.region-button{padding:16px 14px}.region-button strong{font-size:13px}.region-button small{font-size:11px}.part-heading h3{font-size:12px}.panel-intro h2{font-size:21px}}@media (width<=1150px) and (width>=851px){.workspace{grid-template-columns:175px minmax(0,1fr) 275px}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr) 275px}.region-sidebar{padding-inline:6px}.region-button{gap:7px;padding:12px 8px}.region-button small{font-size:9px}.region-button>svg{display:none}.inspector-scroll{padding:20px 16px}.project-title .sample-badge,.view-title small{display:none}.viewer-top{left:15px;right:15px}.top-open-badge{font-size:8px}.brand{min-width:180px}.app-header{padding-inline:18px}}@media (width<=850px){.review-app{grid-template-rows:64px minmax(0,1fr) 29px}.app-header{gap:10px;padding-inline:14px}.project-title{display:none}.brand{gap:9px;min-width:0}.brand-mark{width:35px;height:35px;font-size:24px;line-height:35px}.brand strong{font-size:15px}.brand>div>span{font-size:8px}.header-actions{gap:6px}.share-button{padding:8px 10px;font-size:10px}.workspace,.workspace.sidebar-collapsed{grid-template-rows:49px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 255px}.region-sidebar,.sidebar-collapsed .region-sidebar{visibility:visible;border-bottom:1px solid var(--line);scrollbar-width:none;background:#f9fbfc;flex-direction:row;grid-column:1/-1;padding:0;overflow:auto}.region-sidebar nav{gap:2px;padding:6px 10px;display:flex}.sidebar-heading,.sidebar-bottom{display:none}.region-button{white-space:nowrap;border-radius:4px;gap:5px;margin:0;padding:7px 10px}.region-button strong{font-size:10px}.region-number,.region-button small,.region-button>svg{display:none}.viewer-section{grid-area:2/1}.inspector{grid-area:2/2}.app-footer{padding-inline:12px;font-size:8px}.app-footer>span:last-child{display:none}.viewer-tools{gap:1px;padding:5px;bottom:35px}.viewer-tool{width:35px;height:34px}.view-title small,.top-open-badge{display:none}.inspector-tabs{gap:16px;height:48px;padding-inline:14px}.inspector-tabs>button{font-size:10px}.inspector-scroll{padding:18px 13px}.panel-intro h2{font-size:17px}.panel-intro p{font-size:10px}.part-heading{gap:6px;padding:12px 9px}.state-list>button{padding:10px 6px;font-size:10px}.state-list>button small{font-size:8px}.tool-hint{white-space:normal;font-size:9px}.viewer-caption{font-size:8px;left:12px;right:12px}.viewer-caption>span>span{display:none}.model-hotspot{font-size:8px}}@media (width<=580px){.review-app{height:100dvh;min-height:600px}.workspace,.workspace.sidebar-collapsed{grid-template-rows:45px minmax(230px,1fr) 270px;grid-template-columns:minmax(0,1fr)}.viewer-section{grid-area:2/1}.inspector{border-top:1px solid var(--line);border-left:none;grid-area:3/1}.inspector-tabs{justify-content:center;gap:40px;height:39px}.inspector-scroll{padding:14px 17px}.panel-intro{display:none}.part-section{margin-bottom:10px}.part-heading{gap:7px;padding:8px 10px}.part-heading .part-icon{min-width:22px;height:22px;font-size:8px}.part-heading p{display:none}.state-list{gap:3px;padding:5px;display:flex}.state-list>button{flex:1;justify-content:center;gap:5px;margin:0;padding:10px 6px;font-size:10px}.state-list>button small,.state-list>button>svg{display:none}.state-list>button>span{width:15px;height:15px;font-size:7px}.part-note{display:none}.fold-control{padding:10px 13px}.fold-control small{font-size:8px}.fold-control strong{font-size:10px}.fold-sketch{width:25px;height:23px}.fold-sketch i{width:23px;top:2px}.fold-sketch:after{width:18px}.reset-parts,.quiet-tip{display:none}.storage-status{margin:0 0 10px}.outlined-button{padding:8px;font-size:10px}.notes-filter{margin:14px 0 8px}.note-composer{padding:9px}.note-composer textarea{min-height:65px}.note-composer label{margin:6px 0}.note-composer label:has(input){display:none}.snap-option{margin:10px 0}.empty-state{padding:16px 0}.empty-state>svg{display:none}.empty-state h3{font-size:11px}.empty-state p{font-size:9px}.measure-item{padding:9px 0}.measure-item strong{font-size:17px}.app-footer>span{font-size:8px}.footer-divider{margin-inline:7px}.viewer-tools{bottom:25px}.viewer-caption{bottom:6px}.viewer-top{top:11px}.loading-window{width:210px}.loading-window h2{font-size:17px}.loading-icon{width:40px;height:40px;margin-bottom:15px}.progress-track{margin-top:16px}.toast{width:max-content;font-size:10px;bottom:310px}.help-dialog{padding:25px}.help-dialog h2{font-size:20px}}@media (width<=580px) and (height<=640px){.review-app{min-height:0}.workspace,.workspace.sidebar-collapsed{grid-template-rows:45px minmax(130px,1fr) 230px}.toast{bottom:268px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.help-dialog kbd{color:#376b78;background:#edf4f5;border:1px solid #d2e1e4;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;min-width:22px;height:22px;margin:2px 2px 2px 0;padding:0 5px;font:11px ui-monospace,monospace;display:inline-flex}.help-green-dot{background:#1aaf82;border-radius:50%;width:8px;height:8px;margin:0 6px 1px 2px;display:inline-block;box-shadow:0 0 0 3px #1aaf8219}.help-dialog{max-height:90dvh;overflow:auto}.help-dialog .primary-button{margin-top:18px}.model-hotspot:before{background:#1aaf82!important}.help-dialog dd{color:#6f8d98;font-size:12px;line-height:1.85}.help-dialog dt{font-size:12px}.help-dialog dl>div{padding:10px 0}.help-dialog dl{margin-bottom:14px}.exposure-control{background:#f4f9fa;border:1px solid #c8dce0;border-radius:6px;margin-bottom:18px;padding:12px 13px}.exposure-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.exposure-heading strong{color:#346573;font-size:11px}.exposure-heading>span{color:#8aa7b0;border:1px solid #d1e3e6;border-radius:3px;padding:2px 5px;font-size:8px}.exposure-value{color:#7998a2;align-items:center;gap:7px;font-size:10px;display:flex}.exposure-value label{flex:1}.exposure-value input{color:#266774;text-align:center;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d0e2e6;border-radius:4px;width:64px;padding:5px}.exposure-value>span{font-size:9px}.exposure-control>input[type=range]{accent-color:#087f89;cursor:pointer;width:100%;height:18px;margin:10px 0 7px}.exposure-actions{gap:7px;display:flex}.exposure-actions button{color:#618d99;background:#fff;border:1px solid #d3e3e6;border-radius:3px;flex:1;padding:4px;font-size:9px}.exposure-control p{color:#9ab1b9;margin:8px 0 0;font-size:8px}@media (width<=580px){.exposure-control{margin-bottom:10px;padding:8px 10px}.exposure-heading{margin-bottom:5px}.exposure-control>input[type=range]{margin:5px 0}.exposure-control p{display:none}}.review-app{grid-template-rows:minmax(0,1fr) 34px}.workspace{grid-template-columns:216px minmax(0,1fr);position:relative}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.region-sidebar{padding-top:0}.sidebar-brand{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:11px;height:76px;margin-bottom:18px;padding:0 8px;display:flex}.sidebar-brand strong{letter-spacing:1px;font-size:17px;display:block}.sidebar-brand strong b{color:var(--accent)}.sidebar-brand>div>span{color:#98acb4;letter-spacing:1.2px;font-size:9px}.viewer-section{grid-area:1/2}.inspector{z-index:12;border:1px solid #d9e5e9;border-radius:8px;width:308px;display:none;position:absolute;top:12px;bottom:14px;right:12px;overflow:hidden;box-shadow:0 5px 26px #163f501c}.inspector.is-open{display:flex}.inspector-tabs{padding-right:43px;position:relative}.inspector-tabs .inspector-close{position:absolute;top:10px;right:7px}.viewer-more{background:#fff;border:1px solid #d7e5e9;border-radius:6px;min-width:170px;padding:6px;position:absolute;bottom:58px;right:0;box-shadow:0 4px 17px #244b591c}.viewer-more button{text-align:left;color:#557984;border-radius:4px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:11px;display:flex}.viewer-more button:hover{color:#087f89;background:#edf6f7}.top-open-badge{display:none}@media (width>=1700px){.workspace{grid-template-columns:240px minmax(0,1fr)}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.inspector{width:330px}}@media (width<=1150px){.workspace{grid-template-columns:190px minmax(0,1fr)}.workspace.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar-brand{gap:8px;padding:0 10px}.sidebar-brand strong{font-size:14px}.sidebar-brand .brand-mark{width:35px;height:35px;font-size:24px;line-height:35px}}@media (width<=850px){.review-app{grid-template-rows:minmax(0,1fr) 29px}.workspace,.workspace.sidebar-collapsed{grid-template-rows:49px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.region-sidebar{grid-area:1/1;padding:0}.sidebar-brand{display:none}.viewer-section{grid-area:2/1}.inspector{border:1px solid #d9e5e9;grid-area:auto;width:285px;top:61px;bottom:10px;right:10px}.inspector-tabs{justify-content:flex-start;gap:20px}.inspector-tabs .inspector-close{top:9px}}@media (width<=580px){.workspace,.workspace.sidebar-collapsed{grid-template-rows:45px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.inspector{border:1px solid #d9e5e9;border-radius:8px;width:auto;height:340px;max-height:55dvh;inset:auto 9px 10px}.inspector-tabs{justify-content:flex-start;gap:32px;height:41px;padding-left:18px}.inspector-tabs .inspector-close{top:6px}.viewer-tools{gap:1px;padding:5px;bottom:29px}.viewer-tool{width:36px;height:34px}.toast{bottom:85px}.viewer-more{bottom:50px}.viewer-caption{bottom:7px}.tool-hint{top:48px}}.show-navigation{z-index:3;background:#ffffffd9;border:1px solid #d7e3e7;position:absolute;top:15px;left:15px}.region-button{min-height:55px}.region-button strong{font-size:13px}.sidebar-brand>div>span{display:none}@media (width<=850px){.region-button{min-height:0}.region-button strong{font-size:10px}}.sidebar-brand .company-logo{object-fit:contain;flex-shrink:0;width:62px;height:46px}.sidebar-brand{gap:10px}@media (width<=1150px){.sidebar-brand .company-logo{width:52px;height:40px}.sidebar-brand{gap:8px}}.sidebar-bottom .version-stamp{color:#8b9fa8;white-space:nowrap;font-variant-numeric:tabular-nums;border:0;margin:0;padding:0;font-size:10px;line-height:1.6}.limit-dialog{background:#fff;border-radius:8px;width:min(450px,100%);max-height:85dvh;padding:27px;overflow:auto}.limit-dialog h2{color:#183e48;margin:0 0 15px;font-size:21px}.limit-dialog ul{color:#52737f;padding-left:18px;font-size:13px;line-height:1.8}.limit-dialog .primary-button{margin-top:20px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
