:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#102b4e;--muted:#60738d;--line:#d8e2ee;--line-strong:#bdccdc;--surface:#f9fbfe;--panel:#eef4fa;--blue:#246bfd;--blue-dark:#154bc0;--focus:#ff7c53;--header-height:4.25rem;font-family:Avenir Next,Avenir,Noto Sans KR,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-width:20rem;min-height:100%;color:var(--ink);background:#e8eef5;margin:0;overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}.skip-link{z-index:100;background:var(--ink);color:#f8fbff;border-radius:.55rem;padding:.7rem 1rem;font-weight:800;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.cad-app{grid-template-rows:var(--header-height) minmax(0, 1fr);width:100vw;height:100dvh;display:grid}.app-bar{z-index:20;border-bottom:1px solid var(--line);background:#f9fbfe;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1.2fr) minmax(12rem,1fr);align-items:center;gap:1rem;padding-inline:1rem;display:grid;box-shadow:0 .25rem 1.4rem #122f520f}.brand{width:max-content;min-height:2.75rem;color:var(--ink);letter-spacing:-.025em;align-items:center;gap:.7rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{background:var(--blue);color:#fff;border-radius:.7rem;place-items:center;width:2.4rem;height:2.4rem;display:grid}.brand-mark svg,.app-actions svg,.toolbar svg,.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.file-summary{justify-items:center;min-width:0;line-height:1.25;display:grid}.file-summary strong,.file-summary span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.file-summary strong{font-size:.88rem}.file-summary span{color:var(--muted);font-size:.73rem}.app-actions{justify-content:flex-end;gap:.5rem;display:flex}.button,.icon-button,.toolbar button,.loading-overlay button{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--ink);background:#f9fbfe;border-radius:.65rem;font-weight:760;transition:background-color .16s,border-color .16s,color .16s}.button{align-items:center;gap:.5rem;padding-inline:1rem;display:inline-flex}.button-primary{border-color:var(--blue);background:var(--blue);color:#fff}.button-primary:hover{background:var(--blue-dark)}.icon-button{place-items:center;width:2.75rem;padding:0;display:grid}#sidebar-button{display:none}.workspace{grid-template-columns:minmax(0,1fr) 18rem;min-height:0;display:grid}.viewer-shell{background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative}.toolbar{z-index:10;border-bottom:1px solid var(--line);background:#f9fbfe;align-items:center;gap:.35rem;min-height:3.5rem;padding:.4rem .75rem;display:flex;overflow-x:auto}.toolbar button{background:0 0;border-color:#0000;align-items:center;gap:.45rem;min-width:max-content;padding-inline:.75rem;font-size:.78rem;display:inline-flex}.toolbar button:hover:not(:disabled){background:#eaf1fb}.toolbar button[aria-pressed=true]{color:var(--blue-dark);background:#dce9ff}.toolbar button:disabled{cursor:not-allowed;opacity:.42}.viewport{background:#f3f6fa;min-height:0;position:relative;overflow:hidden}.renderer-host,.renderer-host canvas{width:100%;height:100%}.renderer-host canvas{display:block}.renderer-host canvas.is-measuring{cursor:crosshair}.empty-state{width:100%;height:100%;color:var(--ink);text-align:center;background-color:#f3f6fa;background-image:linear-gradient(#dbe5f0 1px,#0000 1px),linear-gradient(90deg,#dbe5f0 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2.5rem 2.5rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:0;align-content:center;justify-items:center;gap:.7rem;padding:2rem;display:grid;position:absolute;inset:0}.empty-state:before{content:"";background:#f9fbfec7;border:1px dashed #9fb4ca;border-radius:1rem;transition:border-color .16s,background-color .16s;position:absolute;inset:clamp(1rem,4vw,3rem)}.empty-state>*{position:relative}.empty-state:hover:before,.is-dragging .empty-state:before{border-color:var(--blue);background:#e8f1ffeb}.empty-visual{color:#315b89;width:7rem;height:7rem}.empty-visual svg{fill:#dfeaff;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:100%;height:100%}.empty-visual .accent{fill:none;stroke:var(--blue)}.empty-state strong{letter-spacing:-.035em;font-size:clamp(1.25rem,3vw,1.8rem)}.empty-state>span:not(.empty-visual,.format-list,.drop-cta){max-width:34rem;color:var(--muted);font-size:.92rem;line-height:1.6}.format-list{color:#46617f;letter-spacing:.035em;font-size:.72rem;font-weight:750}.drop-cta{background:var(--blue);color:#fff;border-radius:.65rem;align-items:center;min-height:2.85rem;margin-top:.45rem;padding-inline:1.25rem;font-weight:820;display:inline-flex}.loading-overlay{z-index:8;text-align:center;background:#f3f6faf0;align-content:center;justify-items:center;gap:.8rem;padding:2rem;display:grid;position:absolute;inset:0}.loading-cube{border:.35rem solid #cbdcf2;border-top-color:var(--blue);border-radius:.7rem;width:2.7rem;height:2.7rem;animation:.9s linear infinite spin}.loading-overlay strong{font-size:1.1rem}.loading-overlay>span:not(.loading-cube){color:var(--muted);font-size:.84rem}.loading-overlay progress{width:min(20rem,70vw);height:.48rem;accent-color:var(--blue);border:0;border-radius:99px;overflow:hidden}.loading-overlay button{margin-top:.35rem;padding-inline:1rem}.measurement-card{z-index:7;background:#f9fbfef5;border:1px solid #aac6ee;border-radius:.65rem;align-items:center;gap:.7rem;min-height:3.25rem;padding:.55rem .85rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 .7rem 2rem #102b4e1f}.measurement-card span{color:var(--muted);font-size:.72rem}.measurement-card strong{font-size:.84rem}.message{z-index:9;color:#762b1d;background:#fff1ed;border:1px solid #e29a88;border-radius:.7rem;max-width:min(26rem,100% - 2rem);padding:.85rem 1rem;font-size:.84rem;font-weight:700;position:absolute;bottom:1rem;right:1rem;box-shadow:0 .8rem 2rem #561e111f}.status-bar{border-top:1px solid var(--line);min-height:2.25rem;color:var(--muted);background:#f9fbfe;justify-content:space-between;align-items:center;gap:1rem;padding-inline:.85rem;font-size:.7rem;display:flex}.inspector{z-index:15;border-left:1px solid var(--line);background:#f9fbfe;grid-template-rows:auto minmax(5rem,1fr) auto;min-width:0;min-height:0;display:grid}.inspector-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:4.5rem;padding:.9rem 1rem;display:flex}.inspector-head span{color:var(--blue-dark);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:850}.inspector h2,.inspector h3{margin:0}.inspector h2{margin-top:.15rem;font-size:1rem}#inspector-close{display:none}.inspector-empty{border:1px dashed var(--line-strong);color:var(--muted);border-radius:.65rem;align-self:start;margin:1rem;padding:1rem;font-size:.8rem;line-height:1.55}.structure-list{min-height:0;padding-block:.45rem;overflow:auto}.structure-item{cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.5rem;min-height:2.35rem;padding-left:.75rem;padding-right:.75rem;font-size:.78rem;display:grid}.structure-item:hover{background:#edf3fa}.structure-item.depth-1{padding-left:1.35rem}.structure-item.depth-2{padding-left:2rem}.structure-item.depth-3{padding-left:2.65rem}.structure-item.depth-4{padding-left:3.3rem}.structure-item input{width:1rem;height:1rem;accent-color:var(--blue)}.structure-item>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.structure-marker{border:1.5px solid #6d829b;width:.65rem;height:.65rem}.structure-marker.kind-part{background:#dbe8fa;border-radius:50%}.structure-marker.kind-group{transform:rotate(45deg)}.structure-marker.kind-layer{background:#cfe1f8;border-radius:.15rem}.details{border-top:1px solid var(--line);padding:1rem}.details h3{margin-bottom:.6rem;font-size:.82rem}.details dl{gap:.45rem;margin:0;display:grid}.details dl>div{justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.details dt{color:var(--muted)}.details dd{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;margin:0;font-weight:750;overflow:hidden}.is-dragging:after{z-index:90;border:3px solid var(--blue);content:"";pointer-events:none;background:#246bfd0f;border-radius:1rem;position:fixed;inset:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:52rem){.app-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;padding-inline:.65rem}.brand>span:last-child{display:none}.file-summary{justify-items:start}.button-primary{justify-content:center;width:2.75rem;padding:0}.button-primary span{display:none}#sidebar-button{display:grid}.workspace{grid-template-columns:minmax(0,1fr)}.inspector{top:var(--header-height);border-left:1px solid var(--line-strong);width:min(20rem,88vw);transition:transform .22s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;right:0;transform:translate(105%);box-shadow:-1.5rem 0 3rem #102b4e1f}.is-inspector-open .inspector{transform:translate(0)}#inspector-close{display:grid}.toolbar{padding-inline:.45rem}.toolbar button{min-height:2.75rem;padding-inline:.65rem}.toolbar button span{font-size:.7rem}.status-bar{min-height:2.6rem}#interaction-hint{display:none}.empty-state{padding:1.25rem}.empty-state:before{inset:.75rem}.empty-visual{width:5.2rem;height:5.2rem}}@media (max-width:30rem){:root{--header-height:4rem}.file-summary span{max-width:11rem}.toolbar button span{display:none}.toolbar button{justify-content:center;width:2.75rem;min-width:2.75rem;padding:0}.empty-state>span:not(.empty-visual,.format-list,.drop-cta){font-size:.82rem}.format-list{max-width:19rem;line-height:1.7}.measurement-card{width:max-content;max-width:calc(100% - 1rem);top:.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
