body{margin:0;padding:0}@-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;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .25s linear,visibility .25s linear;display:flex;position:fixed;inset:0}#kadmos-spinner.kadmos-spinner--visible{visibility:visible;opacity:1}#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;background:#00000073;justify-content:center;align-items:center;transition:opacity .25s linear,visibility .25s linear;display:flex;position:fixed;inset:0}#stlBackdrop.stlBackdrop--visible{opacity:1;visibility:visible}#stlBackdrop #stlContent{background:var(--kadmos-surface);border-radius:var(--kadmos-radius);line-height:0;position:relative;overflow:hidden;box-shadow:0 16px 48px #00000040}#stlBackdrop #stlModel{line-height:0}#stlBackdrop #stlModel canvas{display:block}#stlBackdrop #stlToolbar{z-index:2;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}#stlBackdrop .kadmos-toolbar-button{color:#fff;cursor:pointer;background:#14161ab8;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:background-color .15s linear,color .15s linear;display:flex}#stlBackdrop .kadmos-toolbar-button:hover{background:#14161ae0}#stlBackdrop .kadmos-toolbar-button.kadmos-toolbar-button--active{background:var(--kadmos-accent)}#kadmos-error-wrapper{z-index:2;background:var(--kadmos-bg);visibility:hidden;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .25s linear,visibility .25s linear;display:flex;position:fixed;inset:0}#kadmos-error-wrapper.kadmos-error-wrapper--visible{visibility:visible;opacity:1}#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-app{--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);position:fixed;inset:0}@media (prefers-color-scheme:dark){#kadmos-app{--kadmos-bg:#14161a;--kadmos-surface:#1c1f26;--kadmos-fg:#e5e7eb;--kadmos-muted:#9ca3af;--kadmos-accent:#818cf8;--kadmos-error:#f87171}}
