@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-950: oklch(.175 .014 145);--ink-900: oklch(.205 .014 145);--ink-850: oklch(.235 .014 145);--ink-800: oklch(.275 .015 145);--paper-100: oklch(.94 .012 120);--paper-300: oklch(.73 .014 130);--paper-500: oklch(.59 .014 135);--lime-400: oklch(.88 .19 125);--lime-900: oklch(.35 .065 130);--danger-400: oklch(.7 .17 25);--surface-page: var(--ink-950);--surface-panel: var(--ink-900);--surface-raised: var(--ink-850);--text-primary: var(--paper-100);--text-secondary: var(--paper-300);--text-muted: var(--paper-500);--accent: var(--lime-400);--border: oklch(.34 .015 145 / .72);--font-sans: "Manrope Variable", "Avenir Next", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html{color-scheme:dark;background:var(--surface-page)}body{margin:0;min-width:320px;min-height:100dvh;overflow:hidden;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.55}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}button,a{touch-action:manipulation}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}[hidden]{display:none!important}.app-shell{min-height:100dvh;height:100dvh;display:grid;grid-template-rows:68px minmax(0,1fr)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--surface-page);z-index:5}.brand{display:inline-flex;align-items:center;gap:11px;min-height:44px;color:var(--text-primary);text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--accent)}.brand-mark .icon{width:30px;height:30px;stroke-width:1.35}.brand-name{font-size:15px;font-weight:750;letter-spacing:.16em}.brand-edition{margin-left:4px;padding-left:16px;border-left:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.header-actions{display:flex;align-items:center;gap:24px}.local-status{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #bbec4c14}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:700;transition:transform .16s ease-out,background-color .16s ease-out,border-color .16s ease-out}.button:active{transform:scale(.97)}.button-primary{background:var(--accent);color:var(--ink-950)}.button-primary:hover{background:#cefb74}.button-secondary{background:var(--surface-raised);border-color:var(--border);color:var(--text-primary)}.button-secondary:hover{background:var(--ink-800);border-color:var(--text-muted)}.button .icon{width:17px;height:17px}.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 316px}.viewport{position:relative;min-width:0;min-height:0;margin:12px 0 12px 12px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#171a15;isolation:isolate}.canvas-container{position:absolute;inset:0;z-index:1}.canvas-container canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.scene-poster{position:absolute;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden;background:#171a15;transition:opacity .24s ease-out}.scene-poster.is-ready{opacity:0;pointer-events:none}.poster-object{position:relative;z-index:1;color:#424b3a}.poster-object .icon{width:160px;height:160px;stroke-width:.35}.poster-grid{position:absolute;inset:55% -30% -40%;transform:perspective(400px) rotateX(58deg);transform-origin:center top;background-image:linear-gradient(oklch(.36 .02 145 / .25) 1px,transparent 1px),linear-gradient(90deg,oklch(.36 .02 145 / .25) 1px,transparent 1px);background-size:42px 42px}.viewport-topbar{position:absolute;z-index:3;inset:20px 20px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;pointer-events:none}.model-identity{display:flex;align-items:center;gap:12px;min-width:0}.model-type{display:grid;place-items:center;width:42px;height:42px;border:1px solid oklch(.94 .012 120 / .22);border-radius:7px;background:#0d120da6;backdrop-filter:blur(12px);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.model-identity h1{max-width:38vw;margin:0;overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.model-identity p{margin:3px 0 0;color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;letter-spacing:.04em}.viewport-actions{display:flex;gap:8px;pointer-events:auto}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid oklch(.94 .012 120 / .18);border-radius:7px;background:#0d120da6;backdrop-filter:blur(12px);color:var(--text-secondary);transition:background-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.icon-button:hover{background:var(--surface-raised);color:var(--accent)}.icon-button:active{transform:scale(.94)}.icon-button .icon{width:18px;height:18px}.loading-state,.error-state{position:absolute;z-index:6;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#0d120ddb;backdrop-filter:blur(8px);text-align:center}.loading-state.is-complete{opacity:0;pointer-events:none;transition:opacity .22s ease-out}.loader-ring{width:42px;height:42px;margin-bottom:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin:0 0 6px;font-size:15px;font-weight:650}.loading-state span{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.error-state>.icon{width:36px;height:36px;margin-bottom:16px;color:var(--danger-400)}.error-state h2{margin:0 0 8px;font-size:20px}.error-state p{max-width:440px;margin:0 0 24px;color:var(--text-secondary);font-size:14px}.drop-overlay{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:24px;background:#0d120de6;opacity:0;pointer-events:none;transition:opacity .16s ease-out}.drop-overlay.is-visible{opacity:1}.drop-target{width:min(100%,520px);padding:56px 28px;border:1px dashed var(--accent);border-radius:12px;background:#bbec4c0a;text-align:center}.drop-target .icon{width:36px;height:36px;margin-bottom:16px;color:var(--accent)}.drop-target strong,.drop-target span{display:block}.drop-target strong{margin-bottom:7px;font-size:20px}.drop-target span{color:var(--text-secondary);font-size:13px}.viewport-bottom{position:absolute;z-index:3;inset:auto 20px 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;pointer-events:none}.camera-toolbar{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid oklch(.94 .012 120 / .16);border-radius:8px;background:#0d120dc7;backdrop-filter:blur(14px);pointer-events:auto}.tool-button{min-width:52px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 8px;border:0;border-radius:5px;background:transparent;color:var(--text-secondary);transition:color .15s ease-out,background-color .15s ease-out}.tool-button:hover{color:var(--accent);background:#eaece412}.tool-button:active{background:#bbec4c1f}.tool-button .icon{width:17px;height:17px}.tool-button span{font-size:9px;line-height:1.2}.toolbar-divider{width:1px;height:28px;margin:0 3px;background:var(--border)}.navigation-hint{margin:0 0 8px;color:var(--text-secondary);font-family:var(--font-mono);font-size:9px}.navigation-hint span{margin:0 5px;color:var(--text-muted)}.axis-gizmo{position:relative;width:54px;height:54px;margin:0 0 2px 4px;color:var(--text-secondary);font-family:var(--font-mono);font-size:9px}.axis-gizmo i{position:absolute;left:24px;top:27px;width:5px;height:5px;border-radius:50%;background:var(--text-secondary)}.axis{position:absolute}.axis:after{content:"";position:absolute;height:1px;background:currentColor;transform-origin:left center}.axis-y{left:22px;top:0;color:#8ec053}.axis-y:after{left:4px;top:25px;width:20px;transform:rotate(90deg)}.axis-x{right:0;bottom:5px;color:#e97871}.axis-x:after{right:8px;bottom:10px;width:24px;transform:rotate(145deg)}.axis-z{left:0;bottom:4px;color:#60a7d6}.axis-z:after{left:9px;bottom:10px;width:23px;transform:rotate(35deg)}.viewport-status{position:absolute;z-index:3;inset:auto 0 0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-top:1px solid oklch(.94 .012 120 / .1);background:#0d120db8;color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;pointer-events:none}#render-status{display:flex;align-items:center;gap:7px}#render-status i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.inspector{min-height:0;display:flex;flex-direction:column;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface-panel);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 22px 22px}.inspector-heading p{margin:0 0 4px;color:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.14em}.inspector-heading h2{margin:0;font-size:18px;font-weight:650;letter-spacing:-.02em}.live-badge{display:flex;align-items:center;gap:6px;color:var(--accent);font-family:var(--font-mono);font-size:9px;letter-spacing:.1em}.live-badge i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.control-section{padding:20px 22px 22px;border-top:1px solid var(--border)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.01em}.section-heading>span{color:var(--text-muted);font-family:var(--font-mono);font-size:9px}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface-page)}.segmented-control button{min-height:40px;padding:0 5px;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:10px;font-weight:650;transition:background-color .15s ease-out,color .15s ease-out}.segmented-control button:hover{color:var(--text-primary);background:var(--surface-raised)}.segmented-control button.is-active{background:var(--surface-raised);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.control-note{margin:11px 0 0;color:var(--text-muted);font-size:11px;line-height:1.55}.range-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--text-secondary);font-size:12px}.range-label output{min-width:42px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:var(--font-mono);font-size:10px;text-align:center}.range-input{width:100%;height:44px;margin:-8px 0 2px;appearance:none;background:transparent;cursor:pointer}.range-input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--ink-800)}.range-input::-moz-range-track{height:3px;border-radius:3px;background:var(--ink-800)}.range-input::-webkit-slider-thumb{width:15px;height:15px;margin-top:-6px;appearance:none;border:3px solid var(--surface-panel);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.range-input::-moz-range-thumb{width:11px;height:11px;border:3px solid var(--surface-panel);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.background-control{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:4px;color:var(--text-secondary);font-size:12px}.swatch-group{display:flex;gap:9px}.swatch{position:relative;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;background-clip:padding-box;transition:transform .15s ease-out,border-color .15s ease-out}.swatch:hover{transform:scale(1.07);border-color:var(--text-secondary)}.swatch .icon{display:none;width:14px;height:14px}.swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-panel),0 0 0 3px var(--accent)}.swatch.is-active .icon{display:block}.swatch-graphite{background:#171a15;color:var(--accent)}.swatch-slate{background:#293039;color:var(--accent)}.swatch-chalk{background:#b7bbb1;color:#293039}.toggle-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px}.toggle-row>div>span,.toggle-row small{display:block}.toggle-row>div>span{color:var(--text-secondary);font-size:12px}.toggle-row small{margin-top:1px;color:var(--text-muted);font-size:10px}.switch{position:relative;width:46px;height:44px;flex:0 0 auto;padding:0;border:0;background:transparent}.switch:before{content:"";position:absolute;left:4px;top:11px;width:38px;height:22px;border:1px solid var(--border);border-radius:20px;background:var(--surface-page);transition:background-color .16s ease-out,border-color .16s ease-out}.switch span{position:absolute;left:8px;top:15px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .16s ease-out,background-color .16s ease-out}.switch.is-on:before{border-color:var(--accent);background:var(--lime-900)}.switch.is-on span{transform:translate(16px);background:var(--accent)}.model-details dl{margin:0}.model-details dl>div{display:flex;align-items:center;justify-content:space-between;min-height:30px}.model-details dt{color:var(--text-muted);font-size:11px}.model-details dd{margin:0;color:var(--text-secondary);font-family:var(--font-mono);font-size:10px}.inspector-footer{margin-top:auto;padding:20px 22px;border-top:1px solid var(--border)}.reset-scene{width:100%}.inspector-footer p{display:flex;align-items:center;justify-content:center;gap:6px;margin:13px 0 0;color:var(--text-muted);font-size:9px}.inspector-footer p .icon{width:12px;height:12px}.toast{position:fixed;z-index:20;left:50%;bottom:24px;max-width:calc(100vw - 32px);padding:11px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);box-shadow:0 12px 40px #02040259;color:var(--text-primary);font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:opacity .18s ease-out,transform .18s ease-out}.toast.is-visible{opacity:1;transform:translate(-50%)}.viewport:fullscreen{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 286px}.navigation-hint{display:none}.viewport-bottom{align-items:center}.camera-toolbar{margin-left:auto}}@media(max-width:800px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh;grid-template-rows:60px auto}.app-header{padding:0 14px}.brand-edition,.local-status{display:none}.brand-name{font-size:13px}.brand-mark,.brand-mark .icon{width:27px;height:27px}.header-actions{gap:8px}.button-primary{padding:0 13px}.workspace{display:block}.viewport{height:62dvh;min-height:420px;margin:8px;border-radius:10px}.inspector{overflow:visible;border-top:1px solid var(--border);border-left:0}.inspector-heading{padding:22px 18px 18px}.inspector-heading p,.section-heading>span,.live-badge{font-size:12px}.control-section{padding:20px 18px}.inspector-footer{padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.model-identity h1{max-width:45vw;font-size:14px}.model-identity p,.viewport-status{font-size:12px}.viewport-topbar{inset:14px 14px auto}.viewport-bottom{inset:auto 12px 42px}.axis-gizmo{display:none}.camera-toolbar{margin:0 auto}.tool-button span,.segmented-control button,.control-note,.range-label output,.model-details dt,.model-details dd,.inspector-footer p{font-size:12px}.range-label,.background-control,.toggle-row>div>span{font-size:14px}.toggle-row small{font-size:12px}.model-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}}@media(max-width:420px){.brand{gap:6px}.brand-name{letter-spacing:.1em}.button-primary .icon{display:none}.viewport{height:58dvh;min-height:390px}.model-type{display:none}.model-identity h1{max-width:48vw;font-size:12px}.model-identity p{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-actions{gap:5px}.tool-button{min-width:50px}#model-scale{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
