:root{color:#d6dfed;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--border:#293140;--muted:#8492a7;--blue:#5faaff;background:#11151d;font-family:Inter,Segoe UI,Malgun Gothic,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:#c5d0df;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}button:hover:not(:disabled){color:#fff;background:#28354a}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #65acff}input,select{color:#e5edfa;background:#141c28;border:1px solid #364154;border-radius:5px;outline:none;min-width:0;padding:8px}input:hover,select:hover{border-color:#5f7699}h1,h2,h3,p{margin:0}h3{font-size:12px;font-weight:600}small{color:var(--muted);font-size:11px}.app{flex-direction:column;height:100dvh;min-height:420px;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);z-index:10;background:#141923;flex-shrink:0;align-items:center;gap:14px;height:64px;padding:0 20px;display:flex}.brand{letter-spacing:-.6px;align-items:center;gap:10px;min-width:196px;font-size:18px;font-weight:650;display:flex}.brand strong{color:#7eb9fd;font-weight:500}.brand small{letter-spacing:.3px;margin-top:3px;font-size:9px;font-weight:400;display:block}.logo{color:#8ac5ff;background:#263d60;border:1px solid #3b608c;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.file-actions{border-left:1px solid var(--border);gap:4px;padding-left:15px;display:flex}.project-title{align-items:center;gap:7px;margin:auto;display:flex}.project-title input{text-align:center;color:#b9c6d9;background:0 0;border-color:#0000;width:170px;font-size:12px}.project-title input:focus{background:#111923;border-color:#354968}.dirty-dot{background:#e0b76c;border-radius:50%;flex-shrink:0;width:5px;height:5px}.history-actions{border-right:1px solid var(--border);gap:4px;padding-right:12px;display:flex}.icon-button{padding:7px}.primary-button{color:#fff;background:#3e8ce7;border:1px solid #5b9eec}.primary-button:hover:not(:disabled){background:#519af1}.export-anchor{position:relative}.export-menu{z-index:20;background:#1b2331;border:1px solid #40536e;border-radius:9px;width:265px;padding:16px;position:absolute;top:44px;right:0;box-shadow:0 15px 50px #0008}.export-menu h3{margin-bottom:15px}.export-menu label,.boolean-panel label{color:#9fb0c5;flex-direction:column;gap:7px;margin-bottom:13px;font-size:11px;display:flex}.export-menu button{text-align:left;background:#202b3c;border:1px solid #354258;flex-direction:column;align-items:flex-start;width:100%;margin-top:10px;padding:12px;display:flex}.export-menu p{color:#8797ac;margin-top:14px;font-size:10px}.toolstrip{border-bottom:1px solid var(--border);background:#1a202c;flex-shrink:0;align-items:center;gap:6px;height:65px;padding:0 24px;display:flex}.tool-label{color:#7e8da3;margin-right:12px;font-size:10px}.toolstrip button{color:#c4d5ec;background:#202938;border:1px solid #303c50;padding:10px 14px}.toolstrip button svg{color:#80aee4}.toolstrip button small{color:#8198b6;margin-left:6px;font-size:10px}.tool-divider{background:#334054;width:1px;height:30px;margin:0 12px}.toolstrip-note{color:#7e8da5;align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.small-dot{background:#5c87b9;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.workspace{flex:1;grid-template-columns:244px minmax(0,1fr) 284px;min-height:0;display:grid}.panel{background:#171d28;flex-direction:column;min-height:0;display:flex}.feature-panel{border-right:1px solid var(--border)}.panel-heading{color:#acbbcf;border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:48px;padding:0 17px;font-size:12px;font-weight:600;display:flex}.panel-heading svg{color:#7d96b7}.tag{color:#8dacca;border:1px solid #36485f;border-radius:4px;margin-left:auto;padding:2px 5px;font-size:10px;font-weight:400}.tree-hint{color:#687b96;padding:13px 17px;font-size:10px}.feature-scroll{flex:1;padding:3px 8px;overflow:auto}.tree-empty{color:#6c7d97;text-align:center;padding:34px 5px;font-size:12px;line-height:1.8}.feature-row{border:1px solid #0000;border-radius:6px;align-items:center;min-height:53px;margin-bottom:5px;display:flex}.feature-row.selected{background:#243c5e;border-color:#426ba0}.feature-row.hidden-feature:not(.selected){opacity:.65}.feature-select{white-space:normal;text-align:left;flex:1;justify-content:flex-start;gap:9px;min-width:0;padding:9px 5px 9px 9px}.feature-select span{min-width:0}.feature-select strong{text-overflow:ellipsis;white-space:nowrap;max-width:133px;font-size:11px;font-weight:500;display:block;overflow:hidden}.feature-select small{white-space:nowrap;text-overflow:ellipsis;max-width:132px;margin-top:4px;font-size:9px;display:block;overflow:hidden}.feature-select svg{color:#86a2c6;flex-shrink:0}.feature-row .icon-button{color:#7488a3;padding:5px 4px}.feature-row .delete-button{opacity:0}.feature-row:hover .delete-button,.feature-row:focus-within .delete-button{opacity:1}.tree-footer{border-top:1px solid var(--border);color:#6f839f;flex-shrink:0;align-items:center;gap:7px;padding:16px 14px;font-size:10px;display:flex}.viewport-panel{background:#141b26;min-height:0;position:relative;overflow:hidden}.viewer{position:absolute;inset:0}.viewer canvas{touch-action:none;width:100%;height:100%;display:block}.viewport-label{color:#8295b0;pointer-events:none;align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;top:19px;left:20px}.viewport-label>span:last-child{color:#4f6686;margin-left:7px;font-size:10px}.view-controls{background:#141c29dd;border:1px solid #2c3b51;border-radius:6px;display:flex;position:absolute;top:16px;right:17px;overflow:hidden}.view-controls button{color:#8ca0be;border-right:1px solid #29374a;border-radius:0;padding:6px 8px;font-size:10px}.view-controls button:last-child{border-right:0}.viewport-help{color:#526783;pointer-events:none;gap:15px;font-size:9px;display:flex;position:absolute;bottom:19px;left:20px}.viewport-help b{color:#879ab5;margin-left:3px;font-weight:400}kbd{font:inherit;color:#99aecb;border:1px solid #3d4d65;border-radius:3px;padding:2px 4px}.axis-legend{pointer-events:none;gap:12px;font-size:11px;font-weight:600;display:flex;position:absolute;bottom:18px;right:24px}.axis-legend span:first-child{color:#ef7979}.axis-legend span:nth-child(2){color:#7ec996}.axis-legend span:nth-child(3){color:#79a6ee}.welcome-card{text-align:center;background:#172234ec;border:1px solid #334762;border-radius:14px;width:300px;padding:29px;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 80px #0005}.welcome-icon{color:#89bbf2;justify-content:center;margin-bottom:20px;display:flex}.eyebrow{letter-spacing:2.2px;color:#5c8fc8;font-size:8px}.welcome-card h1{letter-spacing:-1px;color:#dceafa;margin:10px 0 13px;font-size:24px;font-weight:600;line-height:1.5}.welcome-card p{color:#829bbd;margin-bottom:22px;font-size:11px;line-height:1.9}.welcome-card .primary-button{width:100%;padding:12px;font-size:11px}.welcome-card>small{color:#5f789c;margin-top:16px;font-size:9px;display:block}.properties{border-left:1px solid var(--border)}.properties-scroll{padding:19px 18px;overflow:auto}.empty-properties{text-align:center;color:#4c6381;padding:80px 24px}.empty-properties h3{color:#9baeca;margin:20px 0 10px;font-size:12px}.empty-properties p{color:#657d9d;font-size:11px;line-height:1.8}.name-field{flex-direction:column;gap:9px;margin-bottom:15px;display:flex}.name-field span{color:#899bb5;font-size:10px}.visibility-control{color:#9caec7;align-items:center;gap:8px;margin-bottom:20px;font-size:11px;display:flex}.visibility-control input{accent-color:#5b9eee}.properties section{border-top:1px solid #2b3545;margin-top:19px;padding-top:19px}.properties h3{color:#b3c4dd;align-items:center;gap:6px;margin-bottom:16px;font-size:11px;display:flex}.properties h3 small{color:#657f9f;margin-left:auto;font-size:9px;font-weight:400}.number-field{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;display:flex}.number-field>span{color:#8da1bd;font-size:11px}.number-wrap{width:133px;position:relative}.number-wrap input{font-variant-numeric:tabular-nums;width:100%;padding:8px 32px 8px 9px;font-size:11px}.number-wrap small{pointer-events:none;color:#5b769a;font-size:9px;position:absolute;top:9px;right:9px}input::-webkit-inner-spin-button{appearance:none}.axis-fields .number-field>span{font-size:10px}.field-error{color:#e9a789;width:100%;font-size:9px;line-height:1.6}.invalid input{border-color:#b36756}.info-note{color:#87a5c8;background:#1c2a40;border-radius:5px;margin:10px 0;padding:10px;font-size:10px;line-height:1.7}.dependency{background:#202b3d;border-radius:5px;margin-bottom:7px;padding:10px 12px}.dependency span{color:#708bab;margin-bottom:6px;font-size:9px;display:block}.dependency strong{color:#a8c7ea;font-size:11px;font-weight:500}.geometry-facts>div{margin-bottom:15px}.geometry-facts>div>span{color:#708aaa;margin-bottom:6px;font-size:9px;display:block}.geometry-facts strong{font-variant-numeric:tabular-nums;color:#a9ccec;font-size:12px;font-weight:500}.geometry-facts strong small{color:#5b779c;font-size:9px}.boolean-panel{z-index:5;background:#1a2536f5;border:1px solid #4d6788;border-radius:9px;width:298px;padding:17px;position:absolute;top:56px;left:18px;box-shadow:0 16px 50px #0007}.popover-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.boolean-tabs{background:#121c2a;border:1px solid #32445d;border-radius:5px;gap:2px;padding:3px;display:flex}.boolean-tabs button{flex:1;padding:7px 4px;font-size:11px}.active-tool{color:#98c9ff!important;background:#2a486f!important;border-color:#456fa2!important}.boolean-panel>p{color:#8da5c5;margin:13px 0;font-size:10px;line-height:1.7}.boolean-panel>.primary-button{width:100%;margin-top:3px}.boolean-panel>small{color:#6683a7;margin-top:12px;font-size:9px;display:block}.error-banner{z-index:8;background:#3a2525f2;border:1px solid #8a5350;border-radius:7px;justify-content:space-between;align-items:flex-start;gap:10px;max-height:160px;padding:14px 15px;display:flex;position:absolute;bottom:50px;left:18px;right:18px;overflow:auto}.error-banner strong{color:#f2c1b2;font-size:11px}.error-banner p{color:#c59a90;overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.7}.loading-overlay{z-index:7;color:#9ebedf;background:#131c2be8;flex-direction:column;justify-content:center;align-items:center;gap:17px;display:flex;position:absolute;inset:0}.loading-overlay p{color:#627e9e;font-size:11px}.loading-overlay button{border-color:#324a68;margin-top:12px;font-size:11px}.viewer-error{color:#e9a997;z-index:6;font-size:13px;line-height:1.8;position:absolute;inset:30%}.statusbar{border-top:1px solid var(--border);color:#6e829f;background:#131924;flex-shrink:0;align-items:center;gap:16px;height:34px;padding:0 16px;font-size:10px;display:flex}.kernel-status{flex-shrink:0;align-items:center;gap:7px;display:flex}.kernel-status.ready{color:#82baa8}.kernel-status.ready .small-dot{background:#68b595}.work-status{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.status-selection{white-space:nowrap;margin-left:auto}.statusbar button{padding:4px}.unit-badge{color:#84a6cd;background:#22324b;border-radius:3px;padding:3px 6px;font-size:9px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{z-index:100;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#1b283c;border:1px solid #506b90;border-radius:12px;max-width:440px;padding:25px}.confirm-dialog h2{color:#d1e0f7;font-size:17px}.confirm-dialog p{color:#8fa8c8;margin:17px 0 25px;font-size:12px;line-height:1.9}.confirm-dialog>div{justify-content:flex-end;gap:8px;display:flex}.mobile-tabs{display:none}@media (width>=1700px){.workspace{grid-template-columns:264px minmax(0,1fr) 304px}.feature-select strong{max-width:150px}.number-wrap{width:150px}}@media (width<=1180px){.topbar{gap:7px;padding:0 12px}.brand{min-width:155px;font-size:16px}.brand small{font-size:8px}.project-title input{width:130px}.file-actions{gap:0;padding-left:7px}.file-actions button{padding:8px}.fit-button span{display:none}.workspace{grid-template-columns:218px minmax(0,1fr) 252px}.feature-select strong{max-width:106px}.toolstrip-note{display:none}.view-controls{top:45px;right:12px}.viewport-label{left:15px}.properties-scroll{padding:16px 14px}.number-wrap{width:118px}.viewport-help{gap:9px;font-size:8px;left:12px}.viewport-help>span:last-child{display:none}}@media (width<=850px){.app{min-height:460px}.topbar{flex-wrap:wrap;gap:5px;height:58px;padding:0 10px}.brand{gap:7px;min-width:120px;font-size:14px}.brand small{display:none}.logo{border-radius:8px;width:29px;height:29px}.file-actions{border:0;padding:0}.file-actions button span,.export-anchor>button span{display:none}.file-actions button{padding:7px}.project-title{display:none}.history-actions{gap:0;margin-left:auto;padding-right:5px}.history-actions button,.fit-button,.export-anchor>button{padding:7px}.export-anchor>button svg:last-child{display:none}.toolstrip{gap:5px;height:58px;padding:0 9px}.tool-label,.toolstrip small{display:none}.toolstrip button{gap:5px;padding:9px 8px;font-size:11px}.toolstrip button svg{width:16px}.tool-divider{height:24px;margin:0 3px}.mobile-tabs{background:#192331;border-bottom:1px solid #354861;flex-shrink:0;justify-content:center;gap:5px;height:38px;padding:5px;display:flex}.mobile-tabs button{padding:3px 30px;font-size:10px}.workspace{display:block;position:relative}.workspace>.panel,.viewport-panel{width:100%;height:100%}.mobile-viewer .workspace>.panel,.mobile-model .viewport-panel,.mobile-model .properties,.mobile-properties .viewport-panel,.mobile-properties .feature-panel{display:none}.feature-select strong{max-width:calc(100vw - 100px)}.feature-select small{max-width:calc(100vw - 120px)}.feature-row .delete-button{opacity:1}.feature-panel{border-right:0}.properties{border:0}.number-wrap{width:50%}.properties-scroll{padding:18px 22px}.empty-properties{padding:55px 30px}.view-controls{top:45px;right:12px}.view-controls button{padding:6px 7px}.viewport-label>span:last-child{display:none}.welcome-card{width:270px;padding:23px;top:50%}.welcome-card h1{font-size:22px}.welcome-icon{margin-bottom:13px}.viewport-help{flex-wrap:wrap;gap:8px;max-width:260px;bottom:14px}.viewport-help>span:nth-child(2){display:none}.axis-legend{bottom:14px;right:18px}.statusbar{gap:8px;height:31px;padding:0 9px;font-size:9px}.status-selection{display:none}.statusbar .work-status{flex:1}.boolean-panel{width:min(298px,100% - 24px);top:82px;left:12px}.error-banner{bottom:43px;left:10px;right:10px}.loading-overlay p{text-align:center;max-width:260px;line-height:1.8}.export-menu{width:260px}.viewer-error{inset:20%}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.toolstrip{flex-shrink:0;overflow-x:auto}.toolstrip>button{flex-shrink:0}.welcome-sketch{width:100%;margin-top:8px;font-size:11px}.preview-label{color:#ffc980;pointer-events:none;background:#293548e8;border:1px solid #775f37;border-radius:5px;padding:8px;font-size:10px;position:absolute;top:86px;right:16px}.solid-panel{max-height:calc(100% - 116px);overflow:auto}.solid-panel .number-wrap{width:120px}.solid-panel>label{margin-top:14px}.solid-panel>small{line-height:1.7}.sketch-workspace{z-index:6;background:#141b26;position:absolute;inset:0}.editing-sketch>.viewer,.editing-sketch>.viewport-label,.editing-sketch>.view-controls,.editing-sketch>.viewport-help,.editing-sketch>.axis-legend{display:none}.sketch-toolbar{background:#1d2a3d;border-bottom:1px solid #3a4d69;align-items:center;gap:5px;min-height:56px;padding:8px 10px;display:flex;position:absolute;top:0;left:0;right:0;overflow-x:auto}.sketch-toolbar strong{color:#aac9ec;white-space:nowrap;margin-right:8px;font-size:11px}.sketch-toolbar button{flex-shrink:0;padding:7px;font-size:10px}.sketch-canvas{position:absolute;inset:56px 240px 32px 0}.sketch-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.sketch-canvas:not(.tool-select) canvas{cursor:crosshair}.sketch-settings{background:#1a2434;border-left:1px solid #364863;width:240px;padding:15px 12px;position:absolute;top:56px;bottom:32px;right:0;overflow:auto}.sketch-settings h3{margin-bottom:15px;font-size:12px}.sketch-settings>label{margin-top:12px}.sketch-settings>button{margin-top:10px;font-size:11px}.sketch-settings>small{color:#7896ba;margin-top:12px;font-size:9px;line-height:1.8;display:block}.sketch-settings .number-wrap{width:110px}.sketch-coordinates{color:#c1d6ed;pointer-events:none;background:#152132d9;border-radius:3px;padding:6px;font-size:10px;position:absolute;bottom:12px;left:12px}.sketch-help{color:#91accd;background:#1a2639;height:32px;padding:9px 12px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.segment-lengths{color:#90afcf;max-height:110px;font-size:10px;line-height:1.8;overflow:auto}.tutorial-card{z-index:9;background:#1c2a3f;border:1px solid #527398;border-radius:8px;width:min(330px,100% - 28px);padding:16px;position:absolute;top:52px;right:14px;box-shadow:0 15px 35px #0008}.tutorial-card h3{font-size:12px}.tutorial-card p{color:#a6bddb;margin:10px 0;font-size:11px;line-height:1.8}@media (width<=850px){.sketch-toolbar strong,.sketch-toolbar button span{display:none}.sketch-canvas{bottom:245px;right:0}.sketch-settings{border-top:1px solid #364863;border-left:0;flex-wrap:wrap;gap:6px 12px;width:100%;height:213px;display:flex;top:auto;bottom:32px}.sketch-settings h3{width:100%;margin-bottom:0}.sketch-settings>.number-field{width:calc(50% - 6px);margin:3px 0}.sketch-settings>.number-field>span{font-size:9px}.sketch-settings .number-wrap{width:100%}.sketch-settings>.info-note,.sketch-settings>small,.sketch-settings>.field-error{width:100%;margin:0}.sketch-help{font-size:8px}.sketch-toolbar{min-height:56px}.preview-label{top:118px;right:12px}.solid-panel{max-height:calc(100% - 135px);top:82px}}.external-properties .sketch-canvas{right:0}.sketch-property-host{flex:1;min-height:0;overflow:hidden}.sketch-settings.external-settings{border:0;width:100%;height:100%;padding:18px;position:static}.external-settings .number-wrap{width:130px}.mobile-sketch-note{display:none}@media (width<=850px){.mobile-sketch-note{margin:20px;display:block}.sketch-property-host{display:none}}.sketch-settings>label:not(.number-field):not(.visibility-control){flex-direction:column;gap:8px;min-width:0;display:flex}.sketch-settings>label>input:not([type=checkbox]),.sketch-settings>label>select{width:100%;max-width:100%}.selection-controls{z-index:3;background:#162031e8;border:1px solid #35465e;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:4px;display:flex;position:absolute;top:56px;left:12px;right:12px;overflow-x:auto}.selection-controls select{flex-shrink:0;width:120px;padding:6px;font-size:11px}.selection-controls button{padding:6px;font-size:11px}.selection-controls label{white-space:nowrap;align-items:center;font-size:10px;display:flex}.selection-controls button[aria-pressed=true]{background:#305783}.edge-tool{max-height:calc(100% - 152px);top:112px;overflow:auto}.edge-list{border:1px solid #35465e;max-height:180px;margin:10px 0;padding:8px;overflow:auto}.edge-tool .edge-list label{flex-direction:row;align-items:center;gap:8px;margin:6px 0;font-size:10px;display:flex}.measurement-panel{font-size:11px;line-height:1.9}.measurement-panel h3{margin-bottom:10px}.measurement-panel strong{color:#ffc980}.editing-sketch>.selection-controls{display:none}@media (width<=850px){.selection-controls{top:80px}.edge-tool{max-height:calc(100% - 165px);top:122px}.viewport-help{max-width:calc(100% - 70px)}.toolstrip .tool-label{display:none}}.conflict-banner{z-index:15;background:#493923;border:1px solid #bc995e;border-radius:6px;padding:12px;font-size:11px;line-height:1.8;position:absolute;bottom:90px;left:12px;right:12px}.conflict-banner button{border:1px solid #9d8053;margin-top:8px;margin-right:6px}.polyline-actions{flex-wrap:wrap;gap:4px;display:flex}.polyline-actions button{border:1px solid #35465e;margin-top:6px;font-size:10px}.toolstrip .tool-label{white-space:nowrap;flex-shrink:0}.edge-tool .edge-list{max-height:clamp(75px,20vh,180px)}.edge-action{background:#1d2a3f;padding:6px 0;position:sticky;bottom:0}.edge-action>.info-note{margin:0 0 8px}.edge-action>.primary-button{width:100%;min-height:34px}.edge-tool>small{margin-top:8px;line-height:1.7;display:block}.license-link{color:#91accd;white-space:nowrap;font-size:10px;text-decoration:none}.license-link:hover{color:#dceaff;text-decoration:underline}
