@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#eef2f2;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101618;font-family:DM Sans,Arial,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #c5f16a}button:hover{filter:brightness(1.13)}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;max-width:2000px;height:100dvh;margin:auto;display:flex;overflow:hidden}.topbar{border-bottom:1px solid #2b3335;flex-shrink:0;align-items:center;gap:16px;height:48px;padding:0 16px;display:flex}.topbar-dims{color:#92a4a7;background:#182224;border:1px solid #2c3a3d;border-radius:6px;align-items:center;gap:7px;padding:3px 9px;font-size:12px;display:flex}.topbar-dims strong{color:#c5f16a;font-family:Space Grotesk,monospace;font-weight:600}.brand{letter-spacing:-1px;align-items:center;gap:8px;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:600;display:flex}.brand-icon{color:#21321a;background:#c5f16a;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.brand-dot{color:#c5f16a}.workspace-title{color:#899699;align-items:center;gap:16px;font-size:13px;display:flex}.divider{background:#354044;width:1px;height:20px}.top-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.privacy{color:#a6b0b1;align-items:center;gap:7px;font-size:12px;display:flex}.status-dot{background:#c5f16a;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.primary-button{color:#20300f;background:#c5f16a;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:700;display:flex}.icon-button{color:#92a0a3;place-items:center;padding:6px;display:grid}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 340px;gap:12px;min-height:0;padding:8px 14px;display:grid;overflow:hidden}.preview-panel{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.preview-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin:0 0 6px;display:flex}.preview-title-wrap{flex-direction:column;display:flex}.preview-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:1px;display:flex}.eyebrow{letter-spacing:1.5px;color:#869598;font-size:11px;font-weight:600}.preview-heading h1{letter-spacing:-.4px;overflow-wrap:anywhere;align-items:center;gap:8px;margin:0;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:500;display:flex}.bbox-pill{color:#c5f16a;letter-spacing:.2px;background:#1a2528;border:1px solid #324346;border-radius:5px;padding:2px 7px;font-family:Space Grotesk,monospace;font-size:11px;font-weight:600}.sample-badge{color:#bed68c;letter-spacing:1px;background:#233026;border:1px solid #3b4842;border-radius:4px;padding:3px 6px;font:500 10px DM Sans,sans-serif}.quiet-button{color:#b5c0c2;white-space:nowrap;align-items:center;gap:6px;padding:6px 0;font-size:12px;display:flex}.export{align-self:center}.viewport{background:#171e21;border:1px solid #354044;border-radius:10px;flex:1;height:100%;min-height:0;position:relative;overflow:hidden}.three-stage{position:absolute;inset:0;overflow:hidden}.three-stage canvas{touch-action:none;width:100%;height:100%;display:block}.three-stage.measuring{cursor:crosshair}.dimension-label{pointer-events:none;white-space:nowrap;background:#192224ef;border:1px solid #45534c;border-radius:5px;padding:5px 9px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:500;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0003}.dimension-label[hidden]{display:none}.canvas-caption{z-index:2;color:#a5b2b5;pointer-events:none;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;top:22px;left:22px}.canvas-caption .status-dot{background:#748d80}.caption-divider{color:#536366;margin:0 4px}.view-switcher{z-index:2;background:#1c2528;border:1px solid #3a4649;border-radius:7px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;top:16px;right:16px}.view-switcher button{color:#a9b5b7;border-radius:4px;align-items:center;padding:7px 10px;font-size:12px;display:flex}.view-switcher button.active{color:#e4eced;background:#3b4849}.view-switcher button:last-child{border-left:1px solid #384548;border-radius:0;margin-left:3px;padding-left:11px}.viewport-tools{background:#1b2528;border:1px solid #3b484a;border-radius:8px;flex-direction:column;gap:5px;padding:5px;display:flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.viewport-tools button{color:#a0afb3;border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.viewport-tools button.active{color:#243416;background:#c5f16a}.viewport-tools>span{background:#354245;height:1px;margin:2px 5px}.axis-widget{color:#698189;place-items:center;width:65px;height:65px;font:12px Space Grotesk,sans-serif;display:grid;position:absolute;bottom:25px;right:28px}.axis-widget span{position:absolute}.axis-z{color:#e8b7fc;top:-3px;left:30px}.axis-x{color:#c8f386;bottom:3px;right:0}.axis-y{color:#85cefa;bottom:3px;left:0}.viewport-footer{color:#819397;justify-content:space-between;gap:12px;padding:15px 1px;font-size:12px;display:flex}.viewport-footer>span{align-items:center;gap:7px;display:flex}.viewport-footer i{background:#536468;border-radius:50%;width:3px;height:3px;margin:0 2px}.mesh-status .status-dot{background:#7c9790}.import-strip{border:1px dashed #3d494c;border-radius:10px;align-items:center;gap:14px;margin-top:8px;padding:20px 22px;display:flex}.import-glyph{color:#9fadb0;background:#222e31;border-radius:8px;place-items:center;width:42px;height:45px;display:grid}.import-strip strong{font-size:14px;font-weight:500}.import-strip p{color:#8d9c9f;margin:5px 0 0;font-size:13px}.import-strip p button{color:#c5f16a;border-bottom:1px solid #7e9b49;padding:0}.formats{letter-spacing:.7px;color:#8d9a9e;margin-left:auto;font-size:11px}.inspector{background:#192124;border:1px solid #313d40;border-radius:10px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.inspector-heading{border-bottom:1px solid #313d40;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.inspector-heading>span:first-child{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.inspector-heading svg{color:#9eabad}.live-tag{letter-spacing:1px;color:#b4d28a;background:#29352a;border-radius:4px;padding:3px 6px;font-size:10px}.inspector-body{flex:1;min-height:0;overflow:hidden auto}.inspector-body::-webkit-scrollbar{width:5px}.inspector-body::-webkit-scrollbar-track{background:0 0}.inspector-body::-webkit-scrollbar-thumb{background:#2b393c;border-radius:3px}.inspector-section{border-bottom:1px solid #2b383b;padding:10px 14px}.compact-dims-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.compact-dim-item{background:#131b1d;border:1px solid #28373a;border-radius:6px;align-items:center;gap:6px;padding:5px 7px;display:flex}.compact-dim-item .axis-badge{border-radius:4px;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.compact-dim-item .dim-meta{flex-direction:column;min-width:0;display:flex}.compact-dim-item .dim-name{color:#7b8e91;text-transform:uppercase;letter-spacing:.5px;font-size:9px}.compact-dim-item strong{color:#e4f0d3;white-space:nowrap;text-overflow:ellipsis;font-family:Space Grotesk,monospace;font-size:12px;overflow:hidden}.compact-dim-item strong small{color:#8c9ea1;margin-left:2px;font-size:9px}.bbox-summary-line{color:#8c9ea1;background:#131b1d;border:1px solid #28373a;border-radius:5px;justify-content:space-between;align-items:center;margin-top:6px;padding:4px 8px;font-size:11px;display:flex}.bbox-summary-line strong{color:#c5f16a;font-family:Space Grotesk,monospace;font-size:11px}.hole-tools-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.hole-tools-row button{gap:5px;padding:6px 8px;font-size:11px}.section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-heading h2{margin:0;font-size:13px;font-weight:550}.section-heading>svg{color:#758a8e}.unit-control{gap:8px;display:flex}.unit-pills{background:#101719;border:1px solid #354144;border-radius:6px;flex:1;padding:4px;display:flex}.unit-pills button{color:#91a3a6;border-radius:4px;flex:1;padding:5px 7px;font-size:14px}.unit-pills button.active{color:#1d2d12;background:#c5f16a;font-weight:700}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap select{appearance:none;color:#d2dcde;cursor:pointer;background:#202b2e;border:1px solid #3d494c;border-radius:6px;width:100%;padding:9px 28px 9px 10px;font-size:13px}.select-wrap svg{pointer-events:none;color:#b1bec0;position:absolute;right:9px}.precision-control{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.precision-label{color:#8c9fa2;font-size:12px}.precision-pills{background:#101719;border:1px solid #354144;border-radius:6px;gap:2px;padding:3px;display:flex}.precision-pills button{color:#91a3a6;border-radius:4px;padding:4px 8px;font-family:Space Grotesk,sans-serif;font-size:12px}.precision-pills button.active{color:#1d2d12;background:#c5f16a;font-weight:700}.precision-toggle{border-top:1px dashed #2c393c;margin-top:8px;padding-top:8px}.tiny-label{letter-spacing:.8px;color:#7e9296;font-size:9px}.dimension-row{color:#a5b4b7;align-items:center;gap:9px;padding:9px 0;font-size:14px;display:flex}.dimension-info{flex-direction:column;gap:1px;display:flex}.dimension-direction{color:#e1ebed;font-size:13px;font-weight:500}.dimension-sub{color:#7f9397;font-size:11px}.dimension-row strong{color:#eef5f4;letter-spacing:-.6px;margin-left:auto;font:500 23px Space Grotesk,sans-serif}.dimension-row small,.hole-row small{color:#84999e;letter-spacing:0;margin-left:7px;font:400 12px DM Sans,sans-serif}.bbox-summary{background:#131b1d;border:1px solid #2d3b3e;border-radius:7px;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;display:flex}.bbox-label{color:#7f9599;text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:600}.bbox-value{color:#c5f16a;letter-spacing:-.3px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600}.axis-badge{border-radius:5px;place-items:center;width:24px;height:24px;font:500 11px Space Grotesk,sans-serif;display:grid}.axis-badge.x{color:#c8f386;background:#35422a}.axis-badge.y{color:#85cefa;background:#263b48}.axis-badge.z{color:#e8b7fc;background:#3a2e43}.section-note{color:#879b9f;margin:12px 0 0;font-size:12px;line-height:1.65}.count-badge{color:#c5d1d3;background:#303e41;border-radius:4px;margin-left:5px;padding:2px 5px;font-size:10px}.detected-label{color:#a2b898;align-items:center;gap:5px;font-size:11px;display:flex}.detected-label .status-dot{width:4px;height:4px}.hole-list{flex-direction:column;gap:5px;max-height:240px;display:flex;overflow:auto}.hole-row{text-align:left;color:#a8b8bb;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;width:100%;padding:10px 9px;font-size:13px;display:flex}.hole-row.selected{color:#e1edcf;background:#283629;border-color:#536840}.hole-number{color:#7d9498;font-family:Space Grotesk,sans-serif;font-size:11px}.hole-row.selected .hole-number{color:#a6c67b}.hole-row strong{color:#e1e9e9;white-space:nowrap;margin-left:auto;font-family:Space Grotesk,sans-serif;font-weight:500}.hole-row svg{color:#c5f16a;flex-shrink:0}.hole-check{flex-shrink:0;width:14px}.selected-hole-card{background:#141d1f;border:1px solid #36484b;border-radius:8px;flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.selected-hole-header{justify-content:space-between;align-items:center;display:flex}.selected-hole-title{align-items:center;gap:8px;display:flex}.hole-badge{color:#c5f16a;background:#243521;border:1px solid #4a6332;border-radius:4px;padding:2px 7px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700}.selected-hole-tag{color:#8fa3a7;font-size:11px;font-weight:500}.selected-hole-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.hole-stat{background:#0f1618;border:1px solid #29383b;border-radius:5px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.stat-label{color:#7b9296;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.stat-value{color:#e2ecee;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.stat-value.highlight{color:#c5f16a;font-size:15px}.selected-hole-coords,.selected-hole-offsets{background:#0f1618;border:1px solid #29383b;border-radius:5px;padding:8px 10px}.coords-title{color:#7b9296;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:600;display:block}.coords-row{color:#9ab0b3;justify-content:space-between;font-family:Space Grotesk,sans-serif;font-size:11px;display:flex}.coords-row strong{color:#e2ecee}.offsets-grid{grid-template-columns:1fr 1fr;gap:4px 8px;font-family:Space Grotesk,sans-serif;font-size:11px;display:grid}.offsets-grid span{color:#748c90}.offsets-grid strong{color:#dbe7e9;margin-left:4px}.selected-hole-actions{flex-direction:column;gap:6px;display:flex}.selected-hole-actions .outline-button{margin-top:0;padding:7px 10px}.outline-button{color:#c2d0d2;border:1px solid #435254;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:15px;padding:10px 7px;font-size:12px;display:flex}.outline-button.selected{color:#c5f16a;border-color:#c5f16a}.full{width:100%}.toggle-row{color:#b2c0c3;cursor:pointer;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex;position:relative}.toggle-row input{opacity:0;cursor:pointer;width:32px;height:20px;position:absolute;right:0}.toggle{pointer-events:none;background:#425153;border-radius:10px;width:30px;height:17px;position:relative}.toggle:after{content:"";background:#96a6a7;border-radius:50%;width:11px;height:11px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-row input:checked+.toggle{background:#b4d980}.toggle-row input:checked+.toggle:after{background:#1f3319;transform:translate(13px)}.toggle-row input:focus-visible+.toggle{outline-offset:4px;outline:2px solid #c5f16a}.source-section .section-heading{margin-bottom:0}.source-section .select-wrap select{padding-top:5px;padding-bottom:5px}.inspector-bottom{color:#7e969c;background:#141b1d;border-top:1px solid #283236;flex-shrink:0;align-items:center;gap:7px;padding:8px 14px;font-size:11px;display:flex}.app-footer{color:#789095;letter-spacing:.7px;background:#101618;border-top:1px solid #283236;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:5px 16px;font-size:10px;display:flex}.app-footer>span:first-child{letter-spacing:1.2px}.app-footer>span:first-child span{color:#44595f;margin:0 8px}.app-footer>span:last-child{letter-spacing:0;align-items:center;gap:12px;font-size:11px;display:flex}.footer-separator{background:#435357;width:1px;height:10px}.measure-prompt{white-space:nowrap;background:#222e25;border:1px solid #687a56;border-radius:7px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #0006}.measure-prompt button{place-items:center;display:grid}.loading-cover{color:#c5f16a;background:#172023e8;flex-direction:column;justify-content:center;align-items:center;gap:17px;display:flex;position:absolute;inset:0}.loading-cover span{color:#a2b8b9;font-size:13px}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-holes{color:#bdcacc;font-size:13px;line-height:1.7}.text-button{color:#c5f16a;padding:0;font-size:12px}.manual-item{border-bottom:1px solid #28373a;padding:8px 0}.manual-item:last-child{border-bottom:0}.manual-row{align-items:center;gap:12px;font-size:13px;display:flex}.manual-row>span{color:#ffce82}.manual-row strong{margin-left:auto;font-weight:500}.manual-row button{place-items:center;padding:0;display:grid}.manual-delta{color:#92a6aa;flex-wrap:wrap;gap:6px;margin-top:6px;font-family:Space Grotesk,sans-serif;font-size:11px;display:flex}.manual-delta span{background:#131b1d;border:1px solid #28373a;border-radius:4px;padding:2px 7px}.error-toast{z-index:15;color:#ffddd4;background:#3d2927;border:1px solid #b97868;border-radius:10px;align-items:center;gap:12px;width:calc(100% - 40px);max-width:680px;padding:16px 18px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #0007}.error-toast>svg{flex-shrink:0}.error-toast button{place-items:center;margin-left:auto;display:grid}.drop-overlay{z-index:20;pointer-events:none;text-align:center;color:#c5f16a;background:#16201cf2;border:2px dashed #c5f16a;border-radius:15px;place-items:center;display:grid;position:fixed;inset:12px}.drop-overlay h2{font-family:Space Grotesk,sans-serif;font-size:32px}.drop-overlay p{color:#b8c9bd}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-backdrop{z-index:25;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070d10bb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.help-modal{background:#1c272a;border:1px solid #4f6369;border-radius:14px;max-width:580px;max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 120px #0006}.help-modal h2{letter-spacing:-1px;margin:12px 0 25px;font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:500}.help-modal p{color:#adc0c5;font-size:14px;line-height:1.8}.help-modal p strong{color:#e4eded;font-weight:500}.modal-close{position:absolute;top:16px;right:16px}.help-modal .primary-button{margin-top:26px}@media (width>=1500px){.workspace{grid-template-columns:minmax(0,1fr) 360px;gap:16px;padding:10px 20px}}@media (width<=1150px){.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:10px;padding:8px 12px}.privacy,.formats{display:none}.preview-heading h1{font-size:16px}}@media (width<=800px){.workspace{flex-direction:column;gap:8px;padding:6px 10px;display:flex;overflow:hidden}.topbar{gap:10px;height:44px;padding:0 12px}.brand{font-size:18px}.brand-icon{width:26px;height:26px}.workspace-title{display:none}.top-actions{gap:8px}.primary-button{padding:6px 10px;font-size:12px}.preview-panel{flex:52%;min-height:180px;overflow:hidden}.viewport{height:100%;min-height:0}.inspector{flex-direction:column;flex:48%;min-height:0;display:flex;overflow:hidden}.inspector-body{flex:1;min-height:0;overflow-y:auto}.app-footer{display:none}.view-switcher{top:10px}.canvas-caption{top:50px}}@media (width<=480px){.topbar{height:40px;padding:0 8px}.topbar-dims{display:none}.brand-icon{width:22px;height:22px}.brand{font-size:16px}.help-button{display:none}.top-actions .primary-button{gap:4px;padding:5px 8px;font-size:11px}.preview-heading h1{font-size:14px}.bbox-pill{padding:1px 5px;font-size:10px}.export{font-size:11px}.export svg:last-child{display:none}.eyebrow{font-size:9px}.viewport-tools button{width:28px;height:30px}.inspector-section{padding:8px 10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
