:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#080808;color:#f5f7f3;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:inherit}button,input,output{font:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{color:inherit}#viewport,#viewport canvas{position:fixed;inset:0;width:100%;height:100%}#viewport canvas{display:block;outline:none}.performance-stats{position:relative;display:flex;height:2.35rem;flex:0 0 auto;align-items:stretch;padding:.35rem .6rem;border-radius:.65rem;font-variant-numeric:tabular-nums;transition:border-color .15s ease,background .15s ease,transform .15s ease}.performance-stats:is(:hover,:focus-visible){transform:translateY(-1px)}.performance-stat{display:grid;min-width:4rem;gap:.1rem}.performance-stat:first-child{min-width:2rem}.performance-stats:focus-visible{outline:2px solid #b9d9ff;outline-offset:3px}.performance-stat output{color:#f5f7f3;font-size:.8rem;font-weight:650;line-height:1}.performance-stat small{color:#777f8c;font-size:.55rem;font-weight:650;letter-spacing:.07em;line-height:1;text-transform:uppercase}.performance-stat-heap{padding-left:.6rem;margin-left:.6rem;border-left:1px solid rgb(255 255 255 / 10%)}.performance-stats:after{position:absolute;z-index:10;top:calc(100% + .4rem);left:0;width:max-content;max-width:min(18rem,calc(100vw - 1.5rem));padding:.35rem .55rem;border:1px solid #4a4a5a54;border-radius:.65rem;background:#1e1e24d9;box-shadow:0 4px 15px #0003;color:#c4c9d2;content:attr(data-tooltip);font-size:.65rem;font-weight:400;line-height:1.4;opacity:0;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(-.2rem);transition:opacity .12s ease,transform .12s ease;visibility:hidden;white-space:normal}.performance-stats:is(:hover,:focus-visible):after{opacity:1;transform:translateY(0);visibility:visible}@media (hover: none){.performance-stats:focus-within:after{opacity:1;transform:translateY(0);visibility:visible}}.three-inspector.viewer-inspector{position:static;z-index:13;width:auto;height:auto;flex:0 0 auto;overflow:visible}.three-inspector.viewer-inspector :is(.profiler-toggle.panel-open .toggle-icon,.profiler-toggle .builtin-tab-btn.active){background-color:#cfff5833}.three-inspector.viewer-inspector :is(.profiler-toggle.panel-open:hover .toggle-icon,.profiler-toggle .builtin-tab-btn.active:hover){background-color:#cfff584d}.three-inspector.viewer-inspector .profiler-toggle{--color-accent: #cfff58;--text-primary: #f5f7f3;--text-secondary: #9097a4;position:relative;z-index:0;inset:auto;height:2.35rem;flex-direction:row;border-radius:.65rem;transition:border-color .15s ease,background .15s ease,transform .15s ease}.three-inspector.viewer-inspector .profiler-toggle:hover{transform:translateY(-1px)}.three-inspector.viewer-inspector .profiler-toggle:active{transform:translateY(0)}.three-inspector.viewer-inspector .profiler-panel,.three-inspector.viewer-inspector .profiler-mini-panel,.three-inspector.viewer-inspector .detached-tab-panel{position:fixed}.interface{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(.75rem,2vw,1.5rem);padding-bottom:clamp(.3rem,.84vw,.6rem);pointer-events:none}.empty-state,.loading-panel,.options-panel,.source-panel-backdrop{pointer-events:auto}.toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{position:relative;z-index:2;display:flex;align-items:center;gap:.75rem;min-width:0}.brand-mark{position:relative;width:2.25rem;height:2.25rem;flex:0 0 auto;border-radius:.7rem;background:url(/assets/favicon-DnalWfab.svg) center / contain no-repeat;box-shadow:0 12px 32px #00000047}.brand-copy{display:grid;gap:.12rem;line-height:1.15}.brand-copy strong{overflow:hidden;font-size:.91rem;font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.brand-accent{color:#cfff58}.brand-copy small{color:#9097a4;font-size:.69rem;letter-spacing:.055em;text-transform:uppercase}.toolbar-actions{position:relative;display:flex;align-items:center;gap:.55rem}.toolbar-actions>:not(.viewer-inspector){pointer-events:auto;z-index:2}.toolbar-actions>.button,.toolbar-actions>.performance-stats,.toolbar-actions .viewer-inspector .profiler-toggle{border:1px solid #4a4a5a54;background:#1e1e24d9;box-shadow:0 4px 15px #0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.toolbar-actions>.button:hover,.toolbar-actions>.performance-stats:is(:hover,:focus-visible),.toolbar-actions .viewer-inspector .profiler-toggle:hover{border-color:#ffffff40;background:#28282ed9}.toolbar-actions>.button-primary{color:#cfff58}.interface.is-source-panel-open .brand{z-index:18}.source-panel-backdrop{position:fixed;z-index:14;inset:0;background:#07090d38;cursor:default;backdrop-filter:blur(12px) saturate(72%);-webkit-backdrop-filter:blur(12px) saturate(72%)}.button{display:inline-flex;min-height:2.35rem;align-items:center;justify-content:center;gap:.7rem;padding:.62rem .9rem;border:1px solid rgb(255 255 255 / 12%);border-radius:.65rem;background:#14171ed1;box-shadow:0 10px 30px #0003,inset 0 1px #ffffff12;cursor:pointer;font-size:.79rem;font-weight:620;line-height:1;backdrop-filter:blur(18px);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.button:hover{border-color:#ffffff40;background:#1f232deb;transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{cursor:wait;opacity:.55;transform:none}.button:focus-visible{outline:2px solid #b9d9ff;outline-offset:3px}.button-primary{border-color:#cfff58;background:#cfff58;color:#10130c;box-shadow:0 10px 30px #cfff581f}.button-primary:hover{border-color:#ddff8a;background:#ddff8a}.button-quiet{color:#c4c9d2}.reference-toggle{width:2.35rem;padding:0;flex-shrink:0}.reference-toggle .button-icon{width:1.4rem;height:1.4rem;stroke-width:.9}.reference-toggle[aria-pressed=true]{color:#cfff58}.button-large{min-height:2.8rem;padding-inline:1.15rem;border-color:#cfff586b;background:#cfff581a;color:#e0ff92}.button-icon,.icon-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.options-panel{position:fixed;top:clamp(6.8rem,10vw,7.8rem);right:clamp(.75rem,2vw,1.5rem);bottom:clamp(4.2rem,8vw,5rem);z-index:5;display:grid;width:min(24rem,calc(100vw - 1.5rem));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgb(255 255 255 / 12%);border-radius:1rem;background:#0c0f15e8;box-shadow:0 28px 90px #0000006b,inset 0 1px #ffffff12;backdrop-filter:blur(24px) saturate(115%);animation:options-enter .18s ease-out}.options-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.15rem 1rem;border-bottom:1px solid rgb(255 255 255 / 8%)}.options-header .eyebrow{margin-bottom:.35rem;color:#cfff58;font-size:.6rem}.options-header h2{margin:0;font-size:1.08rem;font-weight:650;letter-spacing:-.025em}.options-header p:last-child{margin:.35rem 0 0;color:#858d99;font-size:.7rem;line-height:1.45}.icon-button{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;padding:0;border:1px solid rgb(255 255 255 / 10%);border-radius:.55rem;background:#ffffff0a;color:#aeb4bd;cursor:pointer}.icon-button:hover{border-color:#ffffff38;background:#ffffff14;color:#f5f7f3}.icon-button:focus-visible,.text-button:focus-visible,.select-input:focus-visible,.range-input:focus-visible{outline:2px solid #b9d9ff;outline-offset:2px}.options-content{overflow:hidden auto;overscroll-behavior:contain;scrollbar-color:#4f5662 transparent}.option-group{padding:1rem 1.15rem .25rem}.option-group+.option-group{border-top:1px solid rgb(255 255 255 / 7%)}.option-group-heading{margin-bottom:.45rem}.option-group-heading h3{margin:0;color:#e6e9ed;font-size:.73rem;font-weight:680;letter-spacing:.025em;text-transform:uppercase}.option-group-heading p{margin:.24rem 0 0;color:#68707d;font-size:.65rem;line-height:1.4}.option-row{display:grid;grid-template-columns:minmax(0,1fr) 6.8rem;gap:.8rem;align-items:center;padding:.72rem 0}.option-copy{min-width:0}.option-copy label{display:block;color:#d4d8df;font-size:.72rem;font-weight:590;line-height:1.25}.option-copy p{margin:.22rem 0 0;color:#717986;font-size:.62rem;line-height:1.42}.option-control{position:relative;display:grid;min-width:0;align-items:center;justify-items:stretch}.select-input{width:100%;min-width:0;padding:.35rem .4rem;border:1px solid rgb(255 255 255 / 13%);border-radius:.35rem;background:#171b21;color:#d4d8df;font:inherit;font-size:.65rem;cursor:pointer;color-scheme:dark}.range-value{min-height:1rem;color:#cfff58;font-size:.65rem;font-variant-numeric:tabular-nums;text-align:right}.range-input{width:100%;height:1rem;margin:0;appearance:none;background:transparent;cursor:ew-resize}.range-input::-webkit-slider-runnable-track{height:.2rem;border-radius:999px;background:#ffffff24}.range-input::-webkit-slider-thumb{width:.78rem;height:.78rem;margin-top:-.29rem;appearance:none;border:2px solid #171b21;border-radius:50%;background:#cfff58;box-shadow:0 0 0 1px #cfff5873}.range-input::-moz-range-track{height:.2rem;border:0;border-radius:999px;background:#ffffff24}.range-input::-moz-range-thumb{width:.78rem;height:.78rem;border:2px solid #171b21;border-radius:50%;background:#cfff58;box-shadow:0 0 0 1px #cfff5873}.option-row-toggle .option-control{grid-template-columns:1fr auto;gap:.5rem;justify-content:end}.toggle-input{position:absolute;width:1px;height:1px;opacity:0}.toggle-value{color:#9ba2ad;font-size:.63rem;text-align:right}.toggle-track{position:relative;width:2.1rem;height:1.15rem;border:1px solid rgb(255 255 255 / 13%);border-radius:999px;background:#ffffff12;cursor:pointer;transition:border-color .15s ease,background .15s ease}.toggle-track:after{position:absolute;top:.16rem;left:.18rem;width:.7rem;height:.7rem;border-radius:50%;background:#858d98;content:"";transition:background .15s ease,transform .15s ease}.toggle-input:checked+.toggle-track{border-color:#cfff5857;background:#cfff5821}.toggle-input:checked+.toggle-track:after{background:#cfff58;transform:translate(.92rem)}.toggle-input:disabled+.toggle-track{cursor:wait;opacity:.55}.toggle-input:focus-visible+.toggle-track{outline:2px solid #b9d9ff;outline-offset:2px}.options-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.82rem 1.15rem;border-top:1px solid rgb(255 255 255 / 8%);background:#07090d52;color:#646c78;font-size:.62rem}.text-button{padding:0;border:0;background:none;color:#c9ced5;cursor:pointer;font-size:.65rem}.text-button:hover{color:#cfff58}.stage{display:grid;min-height:0;place-items:center}.empty-state{position:relative;z-index:15;width:min(32rem,calc(100vw - 2rem));padding:clamp(1.75rem,5vw,3rem);border:1px solid rgb(255 255 255 / 11%);border-radius:1.2rem;background:linear-gradient(145deg,#171b24c7,#0a0c11ad),#0c0e13b3;box-shadow:0 30px 90px #0000005c,inset 0 1px #ffffff12;text-align:center;backdrop-filter:blur(24px)}.source-panel-close{position:absolute;top:.85rem;right:.85rem}.file-glyph{display:grid;width:4rem;height:4rem;margin:0 auto 1.35rem;place-items:center;border:1px solid rgb(207 255 88 / 24%);border-radius:1.1rem;background:#cfff5812;color:#cfff58}.file-glyph svg{width:2.2rem;height:2.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.eyebrow{margin:0 0 .7rem;color:#9da5b3;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.empty-state h1{margin:0;font-size:clamp(1.65rem,5vw,2.2rem);font-weight:640;letter-spacing:-.045em;line-height:1.05}.empty-description{max-width:25rem;margin:1rem auto 1.5rem;color:#a9b0bc;font-size:.92rem;line-height:1.65}.empty-description strong{color:#dce1e8;font-weight:650}.source-actions{display:flex;align-items:stretch;justify-content:center;gap:.6rem}.button-example{border-color:#ffffff1f;background:#ffffff0a;color:#c4c9d2}.button-example:hover{border-color:#ffffff40;background:#ffffff14}.source-divider{display:flex;max-width:25rem;align-items:center;gap:.7rem;margin:1.15rem auto 0;color:#6e7581;font-size:.61rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.source-divider:before,.source-divider:after{height:1px;flex:1;background:#ffffff17;content:""}.url-form{display:grid;max-width:25rem;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;margin:.65rem auto 0}.url-input{width:100%;min-width:0;height:2.55rem;padding:0 .78rem;border:1px solid rgb(255 255 255 / 12%);border-radius:.65rem;outline:none;background:#080a0f9e;box-shadow:inset 0 1px #ffffff0a;color:#e2e6ec;font-size:.72rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.url-input::placeholder{color:#5d6470}.url-input:hover{border-color:#fff3;background:#0a0d12c7}.url-input:focus{border-color:#cfff5894;background:#0a0d12e0;box-shadow:0 0 0 3px #cfff5817}.url-button{min-height:2.55rem;border-color:#cfff5847;background:#cfff5814;color:#df8}.url-button:hover{border-color:#cfff587a;background:#cfff5821}.url-hint{margin:.5rem 0 0;color:#5f6672;font-size:.61rem}.loading-backdrop{position:fixed;z-index:16;inset:0;background:#07090d52;backdrop-filter:blur(6px) saturate(72%);-webkit-backdrop-filter:blur(12px) saturate(72%)}.loading-panel{position:fixed;top:50%;left:50%;z-index:17;width:min(27rem,calc(100vw - 2rem));padding:1.1rem 1.15rem;border:1px solid rgb(255 255 255 / 12%);border-radius:.85rem;background:#0e1117e0;box-shadow:0 24px 80px #0000006b;transform:translate(-50%,-50%);backdrop-filter:blur(22px)}.loading-header{display:flex;min-width:0;align-items:center;gap:.65rem;margin-bottom:.85rem}.loading-cancel{position:relative;width:1.35rem;height:1.35rem;flex:0 0 auto;border-radius:.38rem}.loading-cancel:before{position:absolute;inset:-.25rem;content:""}.loading-cancel svg{width:.65rem;height:.65rem}.loading-copy{display:flex;flex:1;min-width:0;align-items:baseline;justify-content:space-between;gap:1rem}.loading-copy span{color:#8f96a2;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.loading-copy strong{overflow:hidden;font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.progress-track{position:relative;height:.24rem;overflow:hidden;border-radius:999px;background:#ffffff17}.progress-track span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#7896ff,#cfff58);transform:scaleX(0);transform-origin:left}.progress-track.is-indeterminate{background:linear-gradient(90deg,#ffffff12,#7896ff2e 35%,#cfff583d,#7896ff2e 65%,#ffffff12);background-size:220% 100%;animation:progress-scan 1.2s ease-in-out infinite}.progress-track.is-indeterminate span{opacity:0}.loading-detail{display:block;margin-top:.65rem;color:#777f8c;font-size:.68rem}.source-up-axis{position:absolute;top:calc(100% + .45rem);right:0;z-index:2;display:flex;align-items:center;gap:.8rem;max-width:100%;padding:.35rem .65rem;pointer-events:auto}.source-up-axis:before{position:absolute;inset:0;z-index:-1;border:1px solid rgb(255 255 255 / 12%);border-radius:.65rem;background:linear-gradient(#1e222a4d,#0d101640);backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%);pointer-events:none;content:""}#source-up-axis-label{color:#c4c9d2;font-size:.75rem;font-weight:400;white-space:nowrap}.source-up-axis-choices{display:flex;gap:.7rem}.source-up-axis-choices label{display:flex;align-items:center;gap:.25rem;min-height:1.5rem;color:#c4c9d2;cursor:pointer;font-size:.75rem;font-weight:400;white-space:nowrap}.source-up-axis-choices input{width:.75rem;height:.75rem;flex:0 0 auto;margin:0;padding:2px;appearance:none;border:1px solid #747d89;border-radius:50%;background-clip:content-box;cursor:pointer}.source-up-axis-choices input:checked{border-color:#b7d777;background-color:#b7d777}.source-up-axis-choices input:focus-visible{outline:2px solid #b9d9ff;outline-offset:3px}.statusbar{position:relative;z-index:2;min-width:0;font-size:.7rem}.file-meta{display:flex;flex-wrap:wrap;min-width:0;align-items:center;gap:.25rem .52rem;overflow:hidden;justify-content:center;color:#f5f7fa;text-align:center;text-shadow:0 1px 1px rgb(0 0 0 / 75%)}#file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#file-stats{min-width:0;flex:0 1 auto}.model-credit{flex:0 0 auto;color:inherit;text-decoration:none;pointer-events:auto}.model-credit:hover{color:#cfff58}.meta-separator{width:.2rem;height:.2rem;flex:0 0 auto;border-radius:50%;background:#4c525d}.drop-overlay{position:fixed;z-index:20;inset:.6rem;display:grid;place-items:center;border:1px dashed rgb(207 255 88 / 68%);border-radius:1.2rem;background:#080b0fc7;pointer-events:none;backdrop-filter:blur(16px)}.drop-overlay-card{display:grid;place-items:center;color:#a8aeba;line-height:1.6;text-align:center}.drop-overlay-card strong{color:#f4f7ee;font-size:1.35rem;letter-spacing:-.025em}.drop-overlay-card span:last-child{font-size:.75rem}.drop-plus{display:grid;width:3.5rem;height:3.5rem;margin-bottom:.9rem;place-items:center;border:1px solid rgb(207 255 88 / 34%);border-radius:50%;background:#cfff5817;color:#cfff58;font-size:1.8rem;font-weight:300}.toast{position:fixed;right:1rem;bottom:4.2rem;z-index:30;max-width:min(28rem,calc(100vw - 2rem));padding:.78rem .9rem;border:1px solid rgb(255 127 117 / 30%);border-radius:.7rem;background:#2d1415eb;box-shadow:0 20px 50px #00000052;color:#ffd4d0;font-size:.76rem;line-height:1.45;opacity:0;overflow-wrap:anywhere;transform:translateY(.5rem);transition:opacity .18s ease,transform .18s ease;backdrop-filter:blur(18px)}.toast.is-visible{opacity:1;transform:translateY(0)}@keyframes progress-scan{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes options-enter{0%{opacity:0;transform:translate(.65rem)}to{opacity:1;transform:translate(0)}}@media (max-width: 640px){.interface{padding:.75rem .75rem .3rem}.brand-copy small,.reset-view-label,.options-label{display:none}#reset-view{padding-inline:.75rem}.options-panel{top:7rem;right:.75rem;bottom:5.3rem}.empty-state{padding:2rem 1.35rem}.source-actions{align-items:stretch;flex-direction:column}.source-actions .button{width:100%}.url-form{grid-template-columns:1fr}.url-button{width:100%}.source-up-axis{flex-direction:column;align-items:flex-start;gap:.1rem}.source-up-axis-choices{gap:.4rem}.source-up-axis-choices label{font-size:.7rem}.file-meta{width:100%}#file-name{max-width:58vw}.toast{right:.75rem;bottom:5.8rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.progress-track.is-indeterminate{animation:none!important;background-position:center}}
