@-webkit-keyframes sk-bounce{0%,to{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@-webkit-keyframes sk-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes sk-rotate{to{transform:rotate(360deg)}}#kadmos-spinner{z-index:2;background:var(--kadmos-bg);visibility:hidden;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#kadmos-spinner.kadmos-animated{transition:opacity .25s linear,visibility .25s linear}#kadmos-spinner.kadmos-spinner--visible{visibility:visible;opacity:1;pointer-events:auto}#kadmos-spinner .spinner{width:40px;height:40px;animation:2s linear infinite sk-rotate;position:relative}#kadmos-spinner .spinner .dot1,#kadmos-spinner .spinner .dot2{background-color:var(--kadmos-accent);border-radius:100%;width:60%;height:60%;animation:2s ease-in-out infinite sk-bounce;display:inline-block;position:absolute;top:0}#kadmos-spinner .spinner .dot2{animation-delay:-1s;top:auto;bottom:0}#kadmos-spinner .kadmos-spinner-progress{min-height:1em;font-family:var(--kadmos-font);letter-spacing:.02em;color:var(--kadmos-muted);font-size:13px;font-weight:600}#stlBackdrop{z-index:1;opacity:0;visibility:hidden;pointer-events:none;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stlBackdrop.kadmos-animated{transition:opacity .25s linear,visibility .25s linear}#stlBackdrop.stlBackdrop--visible{opacity:1;visibility:visible;pointer-events:auto}#stlBackdrop #stlContent{background:var(--kadmos-surface);border-radius:var(--kadmos-radius);line-height:0;font-family:var(--kadmos-font);position:relative;overflow:hidden;box-shadow:0 16px 48px #00000040}.kadmos-viewer{line-height:0;font-family:var(--kadmos-font);position:relative}.kadmos-viewer .kadmos-model{line-height:0;position:relative}.kadmos-viewer .kadmos-model canvas{touch-action:none;display:block}.kadmos-viewer .kadmos-labels{pointer-events:none;line-height:normal;position:absolute;top:0;left:0}.kadmos-viewer .kadmos-label{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;background:#14161acc;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:600}.kadmos-viewer .kadmos-label.kadmos-label--x{box-shadow:inset 3px 0 #ef4444}.kadmos-viewer .kadmos-label.kadmos-label--y{box-shadow:inset 3px 0 #22c55e}.kadmos-viewer .kadmos-label.kadmos-label--z{box-shadow:inset 3px 0 #3b82f6}.kadmos-viewer .kadmos-label.kadmos-label--measure{background:var(--kadmos-accent)}.kadmos-viewer .kadmos-top{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;line-height:normal;display:flex;position:absolute;top:12px;left:12px;right:12px}.kadmos-viewer .kadmos-info{color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#14161ab8;border-radius:8px;flex-direction:column;gap:2px;max-width:100%;padding:8px 10px;font-size:12px;line-height:1.35;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.kadmos-viewer .kadmos-info .kadmos-info-size{font-size:13px;font-weight:600}.kadmos-viewer .kadmos-info .kadmos-info-meta{color:#ffffffb3}.kadmos-viewer .kadmos-info .kadmos-info-fit{margin-top:4px;font-weight:600}.kadmos-viewer .kadmos-info .kadmos-info-fit.kadmos-info-fit--ok{color:#4ade80}.kadmos-viewer .kadmos-info .kadmos-info-fit.kadmos-info-fit--bad{color:#f87171}.kadmos-viewer .kadmos-info .kadmos-info-fit[hidden]{display:none}.kadmos-viewer .kadmos-panels{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;line-height:normal;display:flex}.kadmos-viewer .kadmos-panel{pointer-events:auto;color:#fff;background:#14161ab8;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.kadmos-viewer .kadmos-panel[hidden]{display:none}.kadmos-viewer .kadmos-panel-title{font-weight:600}.kadmos-viewer .kadmos-panel-hint{color:#ffffffb3}.kadmos-viewer .kadmos-panel-button,.kadmos-viewer .kadmos-segmented button,.kadmos-viewer .kadmos-plate-select{color:#fff;height:24px;font:inherit;cursor:pointer;background:#ffffff1f;border:none;border-radius:6px;padding:0 8px}.kadmos-viewer .kadmos-panel-button:hover,.kadmos-viewer .kadmos-segmented button:hover,.kadmos-viewer .kadmos-plate-select:hover{background:#fff3}.kadmos-viewer .kadmos-plate-select option{color:initial}.kadmos-viewer .kadmos-segmented{gap:2px;display:flex}.kadmos-viewer .kadmos-segmented button[aria-pressed=true]{background:var(--kadmos-accent)}.kadmos-viewer .kadmos-section-range{width:120px;accent-color:var(--kadmos-accent)}.kadmos-viewer .kadmos-toolbar{z-index:2;pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.kadmos-viewer .kadmos-toolbar-group{pointer-events:auto;background:#14161ab8;border-radius:10px;gap:2px;padding:2px;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.kadmos-viewer .kadmos-toolbar-button{color:#fff;min-width:32px;height:32px;font-family:var(--kadmos-font);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background-color .15s linear,color .15s linear;display:flex}.kadmos-viewer .kadmos-toolbar-button:hover{background:#ffffff24}.kadmos-viewer .kadmos-toolbar-button:focus-visible{outline:2px solid var(--kadmos-accent);outline-offset:1px}.kadmos-viewer .kadmos-toolbar-button.kadmos-toolbar-button--text{padding:0 8px}.kadmos-viewer .kadmos-toolbar-button.kadmos-toolbar-button--active{background:var(--kadmos-accent)}.kadmos-viewer .kadmos-view-select{color:#fff;height:32px;font-family:var(--kadmos-font);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 4px 0 8px;font-size:12px;font-weight:600;display:none}.kadmos-viewer .kadmos-view-select:hover{background:#ffffff24}.kadmos-viewer .kadmos-view-select:focus-visible{outline:2px solid var(--kadmos-accent);outline-offset:1px}.kadmos-viewer .kadmos-view-select option{color:initial}.kadmos-viewer.kadmos-viewer--compact [data-action=view]{display:none}.kadmos-viewer.kadmos-viewer--compact .kadmos-view-select{display:block}#kadmos-error-wrapper{z-index:2;background:var(--kadmos-bg);visibility:hidden;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#kadmos-error-wrapper.kadmos-animated{transition:opacity .25s linear,visibility .25s linear}#kadmos-error-wrapper.kadmos-error-wrapper--visible{visibility:visible;opacity:1;pointer-events:auto}#kadmos-error-wrapper #kadmos-error{text-align:center;background:var(--kadmos-error);color:#fff;border-radius:var(--kadmos-radius);font-size:16px;font-family:var(--kadmos-font);margin:20px;padding:20px 24px;box-shadow:0 8px 24px #00000026}#kadmos-error-wrapper #kadmos-error p{margin:0}#kadmos-error-wrapper #kadmos-error .kadmos-error-hint{opacity:.85;margin-top:6px;font-size:13px}.kadmos-inline{border-radius:var(--kadmos-radius);background:var(--kadmos-surface);width:100%;height:100%;min-height:240px;position:relative;overflow:hidden}.kadmos-inline .kadmos-viewer{position:absolute;inset:0}.kadmos-inline-spinner,.kadmos-inline-error{visibility:hidden;opacity:0;pointer-events:none}.kadmos-inline-spinner.kadmos-animated,.kadmos-inline-error.kadmos-animated{transition:opacity .25s linear,visibility .25s linear}.kadmos-inline-spinner{z-index:3;background:var(--kadmos-bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.kadmos-inline-spinner .spinner{width:40px;height:40px;animation:2s linear infinite sk-rotate;position:relative}.kadmos-inline-spinner .spinner .dot1,.kadmos-inline-spinner .spinner .dot2{background-color:var(--kadmos-accent);border-radius:100%;width:60%;height:60%;animation:2s ease-in-out infinite sk-bounce;display:inline-block;position:absolute;top:0}.kadmos-inline-spinner .spinner .dot2{animation-delay:-1s;top:auto;bottom:0}.kadmos-inline-spinner .kadmos-spinner-progress{min-height:1em;font-family:var(--kadmos-font);letter-spacing:.02em;color:var(--kadmos-muted);font-size:13px;font-weight:600}.kadmos-inline-spinner.kadmos-inline-spinner--visible{visibility:visible;opacity:1;pointer-events:auto}.kadmos-inline-error{z-index:3;border-radius:var(--kadmos-radius);background:var(--kadmos-error);color:#fff;text-align:center;max-width:calc(100% - 32px);padding:14px 18px;font-size:14px;line-height:1.4;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000026}.kadmos-inline-error.kadmos-inline-error--visible{visibility:visible;opacity:1;pointer-events:auto}#kadmos-app,.kadmos-inline{--kadmos-bg:#f5f6f8;--kadmos-surface:#fff;--kadmos-fg:#1e2530;--kadmos-muted:#64748b;--kadmos-accent:#6366f1;--kadmos-error:#dc2626;--kadmos-radius:10px;--kadmos-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--kadmos-font);color:var(--kadmos-fg)}@media (prefers-color-scheme:dark){#kadmos-app:not([data-kadmos-theme=light]),.kadmos-inline:not([data-kadmos-theme=light]){--kadmos-bg:#14161a;--kadmos-surface:#1c1f26;--kadmos-fg:#e5e7eb;--kadmos-muted:#9ca3af;--kadmos-accent:#818cf8;--kadmos-error:#f87171}}#kadmos-app[data-kadmos-theme=dark],.kadmos-inline[data-kadmos-theme=dark]{--kadmos-bg:#14161a;--kadmos-surface:#1c1f26;--kadmos-fg:#e5e7eb;--kadmos-muted:#9ca3af;--kadmos-accent:#818cf8;--kadmos-error:#f87171}
