.panel-gutter{top:var(--shell-gap);bottom:var(--shell-gap);z-index:2;cursor:col-resize;touch-action:none;outline:none;width:10px;position:absolute}.panel-gutter--left{left:calc(var(--shell-gap) + var(--panel-left,296px) - 5px)}.panel-gutter--right{right:calc(var(--shell-gap) + var(--panel-right,288px) - 5px)}.panel-gutter:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background .12s;position:absolute;top:0;bottom:0;left:4px}.panel-gutter:hover:after,.panel-gutter:active:after,.panel-gutter[data-dragging]:after,.panel-gutter:focus-visible:after{background:var(--accent)}.app-shell{--shell-gap:8px;--shell-radius:8px;--top-bar-height:44px;--stage-left:calc(var(--panel-left,296px) + 2 * var(--shell-gap));--stage-right:calc(var(--panel-right,288px) + 2 * var(--shell-gap));--stage-top:calc(2 * var(--shell-gap) + var(--top-bar-height));--stage-bottom:var(--shell-gap);background:var(--bg-page);width:100vw;height:100vh;position:relative;overflow:clip}.app-shell__viewport{position:absolute;inset:0}.app-shell__left,.app-shell__right{top:var(--shell-gap);bottom:var(--shell-gap);z-index:1;border-radius:var(--shell-radius);min-height:0;position:absolute;overflow:hidden}.app-shell__left{left:var(--shell-gap);width:var(--panel-left,296px)}.app-shell__right{right:var(--shell-gap);width:var(--panel-right,288px)}.app-shell__top{top:var(--shell-gap);left:calc(var(--panel-left,296px) + 2 * var(--shell-gap));right:calc(var(--panel-right,288px) + 2 * var(--shell-gap));z-index:1;height:var(--top-bar-height);pointer-events:none;position:absolute}:root{--bg-page:#0a0a0b;--bg-panel:#101012;--bg-input:#17171a;--bg-button:#212125;--bg-hover:#2b2b30;--text:#ece8e1;--text-dim:#96928a;--text-hint:#5f5c56;--text-active:#6fcf7a;--text-previous:#6aa8f5;--accent:#f08a24;--accent-hover:#ffa443;--accent-text:#1b1005;--success:#4ade80;--number:#d9a82e;--error:#ff7a66;--axis-x:#e5575a;--axis-y:#7cc75a;--axis-z:#5a9bf2;--map-albedo-1:#b0623a;--map-albedo-2:#7d8f4e;--map-albedo-3:#c9a36a;--map-normal-1:#9c9cff;--map-normal-2:#8080ff;--map-normal-3:#6c78ff;--map-height-1:#262626;--map-height-2:#8a8a8a;--map-height-3:#e6e6e6;--map-metal-1:#3a3a3a;--map-metal-2:#b9b9b9;--map-metal-3:#4c4c4c;--radius-control:8px;--radius-group:11px;--radius-dialog:14px;--radius-panel:0;--radius-tab:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--control-height:38px;--font:"Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-size:13.5px;--font-size-small:12px;--font-size-heading:15px;--font-size-title:22px;--line-height:1.35;--focus-ring:2px solid var(--accent);--backdrop:#0009;--surface-over-picture:#101012d9;--shadow-overlay:0 10px 30px #00000080;--transition-fast:.12s ease}*,:before,:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--number) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-thumb{background:var(--number);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}html,body{background:var(--bg-page);min-height:100%;color:var(--text);font-family:var(--font);font-size:var(--font-size);line-height:var(--line-height);margin:0}button,input,select,textarea{font:inherit;color:inherit}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}.ui-spinner{background:conic-gradient(from 0deg, transparent 0 25%, currentColor 100%);border-radius:50%;flex:none;width:1em;height:1em;animation:.8s linear infinite ui-spin;display:inline-block;-webkit-mask-image:radial-gradient(circle,#0000 0 55%,currentColor 56%);mask-image:radial-gradient(circle,#0000 0 55%,currentColor 56%)}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-control);background:var(--bg-button);color:var(--text);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:none;font-weight:500;display:inline-flex}.ui-button:hover:not(:disabled){background:var(--bg-hover)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-button[aria-pressed=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--accent)}.ui-button[data-variant=primary]{background:var(--accent);color:var(--accent-text)}.ui-button[data-variant=primary]:hover:not(:disabled){background:var(--accent-hover)}.ui-button[data-variant=ghost]{color:var(--text-dim);background:0 0}.ui-button[data-variant=ghost]:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.ui-button[data-variant=danger]{background:var(--error);color:var(--accent-text)}.ui-button[data-variant=danger]:hover:not(:disabled){background:var(--error);filter:brightness(1.12)}.ui-button[data-size=large]{min-height:calc(var(--control-height) * 1.3);padding:0 var(--space-5);font-size:var(--font-size-heading)}.ui-button:disabled{opacity:.45;cursor:not-allowed}.ui-button[data-loading]{cursor:progress}.ui-checkbox{align-items:center;gap:var(--space-2);min-height:var(--control-height);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative}.ui-checkbox:hover:not([data-disabled]){color:var(--text)}.ui-checkbox[data-disabled]{opacity:.45;cursor:not-allowed}.ui-checkbox input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.ui-checkbox__box{background:var(--bg-button);width:18px;height:18px;transition:background var(--transition-fast);border-radius:5px;flex:none;position:relative}.ui-checkbox:hover:not([data-disabled]) input:not(:checked)+.ui-checkbox__box{background:var(--bg-hover)}.ui-checkbox input:checked+.ui-checkbox__box{background:var(--accent)}.ui-checkbox input:checked+.ui-checkbox__box:after{content:"";background:var(--accent-text);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);position:absolute;inset:3px}.ui-checkbox input:focus-visible+.ui-checkbox__box{outline:var(--focus-ring);outline-offset:2px}.ui-dialog__backdrop{z-index:100;background:var(--backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-dialog{box-sizing:border-box;gap:var(--space-4);width:min(420px, calc(100vw - var(--space-5) * 2));padding:var(--space-5);border-radius:var(--radius-dialog);background:var(--bg-panel);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.ui-dialog:focus{outline:none}.ui-dialog[data-size=large]{gap:var(--space-3);width:min(1200px,96vw);max-height:92vh;padding:var(--space-4)}.ui-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-dialog__header .ui-dialog__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-dialog__header-actions{gap:var(--space-2);flex:none;display:flex}.ui-dialog[data-size=large] .ui-dialog__body{flex:1;min-height:0}.ui-dialog__title{margin:0;font-size:16px;font-weight:600}.ui-dialog__body{gap:var(--space-3);color:var(--text-dim);flex-direction:column;display:flex}.ui-dialog__actions{justify-content:flex-end;gap:var(--space-3);display:flex}.ui-disclosure{border-radius:var(--radius-control);background:var(--bg-button);flex-direction:column;display:flex}.ui-disclosure__bar{align-items:center;gap:var(--space-1);padding-right:var(--space-2);border-radius:var(--radius-control);transition:background var(--transition-fast);display:flex}.ui-disclosure__bar:hover:not(:has(.ui-disclosure__header:disabled)){background:var(--bg-hover)}.ui-disclosure__bar .ui-icon-button{background:0 0}.ui-disclosure__bar .ui-icon-button:hover:not(:disabled){background:var(--bg-button)}.ui-disclosure__bar>.ui-disclosure__header:hover:not(:disabled){background:0 0}.ui-disclosure__body{padding:var(--space-1) var(--space-3) var(--space-3)}.ui-disclosure__bar>.ui-disclosure__header{flex:1;min-width:0}.ui-disclosure__header{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;font-weight:600;display:flex}.ui-disclosure__header[data-tone=active]{color:var(--text-active)}.ui-disclosure__header[data-tone=previous]{color:var(--text-previous)}.ui-disclosure__header:hover:not(:disabled){background:var(--bg-hover)}.ui-disclosure__header:disabled{opacity:.45;cursor:not-allowed}.ui-disclosure__header:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-disclosure__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-disclosure__arrow{background:var(--text-dim);clip-path:polygon(15% 0,100% 50%,15% 100%);width:10px;height:10px;transition:transform var(--transition-fast);flex:none}.ui-disclosure__arrow[data-open]{transform:rotate(90deg)}.ui-icon{width:var(--icon-size,18px);height:var(--icon-size,18px);color:inherit;display:inline-block}.ui-icon svg{width:100%;height:100%;display:block}.ui-icon--image{background:var(--icon-url) center / contain no-repeat;opacity:.7;transition:opacity var(--transition-fast)}.ui-icon-button:hover:not(:disabled) .ui-icon--image,.ui-icon-button[data-pressed] .ui-icon--image{opacity:1}.ui-icon-button{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-control);background:var(--bg-button);color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.ui-icon-button:active:not(:disabled){transform:translateY(1px)}.ui-icon-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-icon-button[data-pressed]{background:var(--accent);color:var(--accent-text)}.ui-icon-button[data-compact]{border-radius:50%;width:18px;height:18px}.ui-icon-button:disabled{opacity:.45;cursor:not-allowed}.ui-image-viewer__frame{border-radius:var(--radius-control);background:var(--bg-input);cursor:default;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:clamp(240px,72vh,900px);display:flex;position:relative;overflow:hidden}.ui-image-viewer__frame[data-zoomed]{cursor:grab}.ui-image-viewer__frame[data-zoomed]:active{cursor:grabbing}.ui-image-viewer__picture{object-fit:contain;transform-origin:50%;width:100%;height:100%}.ui-image-viewer__failed{padding:var(--space-2);color:var(--text-hint);text-align:center}.ui-image-viewer__details{gap:var(--space-1) var(--space-4);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.ui-compare-viewer__frame{width:100%;height:var(--compare-frame-height,clamp(240px, 60vh, 800px));border-radius:var(--radius-control);background:var(--bg-input);justify-content:center;align-items:center;display:flex;container-type:size}.ui-compare-viewer__area{--compare-ratio:1;width:min(100cqw, 100cqh * var(--compare-ratio));aspect-ratio:var(--compare-ratio);cursor:default;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.ui-compare-viewer__area[data-zoomed]{cursor:grab}.ui-compare-viewer__area[data-zoomed]:active{cursor:grabbing}.ui-compare-viewer__layer{position:absolute;inset:0}.ui-compare-viewer__picture{object-fit:fill;transform-origin:50%;width:100%;height:100%;display:block}.ui-compare-viewer__state{top:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);background:var(--surface-over-picture);color:var(--text-hint);font-size:var(--font-size-small);pointer-events:none;position:absolute}.ui-compare-viewer__state--left{left:var(--space-2)}.ui-compare-viewer__state--right{right:var(--space-2)}.ui-compare-viewer__divider{width:var(--space-5);margin-left:calc(var(--space-5) / -2);cursor:ew-resize;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.ui-compare-viewer__divider:before{content:"";background:var(--accent-text);width:2px;box-shadow:var(--shadow-overlay);margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.ui-compare-viewer__divider:focus-visible{outline:var(--focus-ring)}.ui-compare-viewer__handle{width:var(--space-4);height:var(--space-4);background:var(--accent);box-shadow:0 0 0 2px var(--accent-text);border-radius:50%;position:relative}.ui-compare-viewer__details{gap:var(--space-1) var(--space-4);margin-top:var(--space-3);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.loading-overlay{padding:var(--stage-top,0px) var(--stage-right,0px) var(--stage-bottom,0px) var(--stage-left,0px);z-index:20;background:color-mix(in srgb, var(--bg-page) 62%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay__card{align-items:stretch;gap:var(--space-2);min-width:180px;max-width:320px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--bg-panel);color:var(--text);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.loading-overlay__title{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.loading-overlay__detail{color:var(--text-dim);font-size:var(--font-size-small)}.loading-overlay__bar{background:var(--bg-hover);border-radius:2px;height:4px;display:block;overflow:hidden}.loading-overlay__fill{background:var(--accent);height:100%;display:block}.loading-overlay__bar[data-indeterminate] .loading-overlay__fill{width:30%;animation:1.2s ease-in-out infinite loading-overlay-slide}@keyframes loading-overlay-slide{0%{margin-left:0}to{margin-left:70%}}.ui-popover{display:inline-block;position:relative}.ui-popover__panel{top:calc(100% + var(--space-2));z-index:10;min-width:240px;padding:var(--space-4);border-radius:var(--radius-group);background:var(--bg-panel);box-shadow:var(--shadow-overlay);position:absolute;right:0}.ui-segmented{gap:var(--space-1);max-width:100%;padding:var(--space-1);border-radius:var(--radius-group);background:var(--bg-input);flex-wrap:wrap;display:inline-flex}.ui-segmented__option{min-width:0;min-height:calc(var(--control-height) - var(--space-1));padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:auto}.ui-segmented__option:hover:not(:disabled):not([data-selected]){background:var(--bg-hover);color:var(--text)}.ui-segmented__option{position:relative}.ui-segmented__hover-icon{justify-content:center;align-items:center;display:none;position:absolute;inset:0}.ui-segmented__option[data-hover-icon]:hover:not(:disabled) .ui-segmented__text,.ui-segmented__option[data-hover-icon]:focus-visible .ui-segmented__text{visibility:hidden}.ui-segmented__option[data-hover-icon]:hover:not(:disabled) .ui-segmented__hover-icon,.ui-segmented__option[data-hover-icon]:focus-visible .ui-segmented__hover-icon{display:flex}.ui-segmented__option:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-segmented__option[data-selected]{background:var(--accent);color:var(--accent-text);font-weight:600}.ui-segmented__option:disabled{opacity:.45;cursor:not-allowed}.ui-field-message{color:var(--text-hint);font-size:var(--font-size-small);margin:0}.ui-field-message[data-error]{color:var(--error)}.ui-select{position:relative}.ui-field__label[data-hidden]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-select__box{box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);border:none;display:flex}.ui-select__box:hover:not(:disabled){background:var(--bg-button)}.ui-select__box:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-select__box[aria-expanded=true]{background:var(--bg-button)}.ui-select__box[data-error]{box-shadow:inset 3px 0 0 var(--error)}.ui-select__box:disabled{opacity:.45;cursor:not-allowed}.ui-select__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-select__value[data-placeholder]{color:var(--text-hint)}.ui-select__list{top:calc(100% + var(--space-1));z-index:10;padding:var(--space-1);border-radius:var(--radius-group);background:var(--bg-button);max-height:240px;box-shadow:var(--shadow-overlay);margin:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto}.ui-select__list[data-opens-up]{top:auto;bottom:calc(100% + var(--space-1))}.ui-select__popup{top:calc(100% + var(--space-1));z-index:10;padding:var(--space-1);border-radius:var(--radius-group);background:var(--bg-button);box-shadow:var(--shadow-overlay);position:absolute;left:0;right:0}.ui-select__popup[data-opens-up]{top:auto;bottom:calc(100% + var(--space-1))}.ui-select__popup .ui-select__list{max-height:200px;box-shadow:none;background:0 0;padding:0;position:static}.ui-select__search{box-sizing:border-box;width:100%;min-height:var(--control-height);margin-bottom:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);color:var(--text);font:inherit;border:none}.ui-select__search:focus-visible{outline:var(--focus-ring);outline-offset:1px}.ui-select__no-match{padding:var(--space-2) var(--space-3);color:var(--text-hint);margin:0}.ui-select__option{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.ui-select__option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-select__option-detail{color:var(--text-hint);font-size:var(--font-size-small);font-variant-numeric:tabular-nums;flex:none}.ui-select__heading{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--text-hint);font-size:var(--font-size-small);letter-spacing:.04em;text-transform:uppercase;cursor:default}.ui-select__option{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);cursor:pointer}.ui-select__separator{height:1px;margin:var(--space-1) var(--space-2);background:var(--bg-hover);list-style:none}.ui-select__option[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-select__option[data-highlighted]{background:var(--bg-hover)}.ui-select__option[aria-selected=true]{color:var(--accent);font-weight:600}.ui-slider{gap:var(--space-2);flex-direction:column;display:flex}.ui-slider[data-layout=row]{align-items:center;gap:var(--space-3);grid-template-columns:5.5rem minmax(0,1fr) 3rem;display:grid}.ui-slider[data-layout=row] .ui-slider__value{text-align:right}.ui-slider[data-layout=row][data-resettable]{grid-template-columns:5.5rem minmax(0,1fr) auto}.ui-slider__readout{align-items:center;gap:var(--space-2);display:inline-flex}.ui-slider__readout .ui-slider__value{text-align:right;min-width:3rem}.ui-slider__header{justify-content:space-between;align-items:baseline;display:flex}.ui-slider__label{color:var(--text-dim)}.ui-slider__value{color:var(--number);font-variant-numeric:tabular-nums}.ui-slider input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.ui-slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--slider-fill), var(--bg-button) var(--slider-fill));border-radius:2px;height:4px}.ui-slider input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--slider-fill), var(--bg-button) var(--slider-fill));border-radius:2px;height:4px}.ui-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--text);width:14px;height:14px;transition:background var(--transition-fast);border:none;border-radius:50%;margin-top:-5px}.ui-slider input[type=range]::-moz-range-thumb{background:var(--text);border:none;border-radius:50%;width:14px;height:14px}.ui-slider input[type=range]:hover:not(:disabled)::-webkit-slider-thumb{background:var(--accent-hover)}.ui-slider input[type=range]:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-control)}.ui-slider input[type=range]:disabled{cursor:not-allowed}.ui-slider[data-disabled]{opacity:.45}.ui-tabs{align-items:flex-end;gap:var(--space-1);padding:var(--space-2) var(--space-3) 0;background:var(--bg-page);display:flex}.ui-tabs__tab{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-tab) var(--radius-tab) 0 0;color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1 1 0;display:inline-flex;position:relative}.ui-tabs__tab[data-compact]{width:var(--control-height);flex:none;padding:0}.ui-tabs__tab:hover:not(:disabled):not([data-selected]){background:var(--bg-hover);color:var(--text)}.ui-tabs__tab:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.ui-tabs__tab[data-selected]{z-index:1;background:var(--bg-panel);color:var(--accent);font-weight:600}.ui-tabs__tab[data-selected]:before,.ui-tabs__tab[data-selected]:after{content:"";width:var(--radius-tab);height:var(--radius-tab);pointer-events:none;position:absolute;bottom:0}.ui-tabs__tab[data-selected]:before{left:calc(var(--radius-tab) * -1);background:radial-gradient(circle at 0 0, transparent var(--radius-tab), var(--bg-panel) calc(var(--radius-tab) + .5px))}.ui-tabs__tab[data-selected]:after{right:calc(var(--radius-tab) * -1);background:radial-gradient(circle at 100% 0, transparent var(--radius-tab), var(--bg-panel) calc(var(--radius-tab) + .5px))}.ui-tabs__tab:disabled{opacity:.45;cursor:not-allowed}.ui-field{gap:var(--space-2);flex-direction:column;display:flex}.ui-field__label{color:var(--text-dim)}.ui-text-input{box-sizing:border-box;width:100%;min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);color:var(--text);font:inherit;transition:background var(--transition-fast);border:none}.ui-text-input::placeholder{color:var(--text-hint)}.ui-text-input:hover:not(:disabled):not(:read-only){background:var(--bg-button)}.ui-text-input:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-text-input[data-error]{box-shadow:inset 3px 0 0 var(--error)}.ui-text-input:read-only{color:var(--text-dim)}.ui-text-input:disabled{opacity:.45;cursor:not-allowed}.ui-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-height);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.ui-toggle:hover:not([data-disabled]){color:var(--text)}.ui-toggle[data-disabled]{opacity:.45;cursor:not-allowed}.ui-toggle input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.ui-toggle__track{background:var(--bg-button);width:34px;height:20px;transition:background var(--transition-fast);border-radius:10px;flex:none;position:relative}.ui-toggle__track:after{content:"";background:var(--text);width:14px;height:14px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.ui-toggle input:checked+.ui-toggle__track{background:var(--accent)}.ui-toggle input:checked+.ui-toggle__track:after{background:var(--accent-text);transform:translate(14px)}.ui-toggle:hover:not([data-disabled]) input:not(:checked)+.ui-toggle__track{background:var(--bg-hover)}.ui-toggle input:focus-visible+.ui-toggle__track{outline:var(--focus-ring);outline-offset:2px}.left-panel{background:var(--bg-panel);flex-direction:column;height:100%;min-height:0;display:flex}.left-panel__tabs{flex:none}.left-panel__body{min-height:0;padding:var(--space-3);flex:auto;overflow:hidden auto}.read-only-banner{margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);color:var(--text)}.right-panel{background:var(--bg-panel);height:100%;min-height:0;overflow:hidden auto}.right-panel__notes{gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.right-panel__notes:empty{display:none}.top-bar{justify-content:center;align-items:stretch;gap:var(--shell-gap,8px);min-width:0;height:100%;display:flex}.top-bar__name{min-width:0;padding:0 var(--space-4);border-radius:var(--shell-radius,8px);background:var(--bg-panel);color:var(--text);letter-spacing:.08em;font-weight:600;line-height:var(--top-bar-height,44px);text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;flex:0 auto;overflow:hidden}.top-bar__actions{align-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--shell-radius,8px);background:var(--bg-panel);pointer-events:auto;flex:none;display:flex}.project-list{min-height:100%;padding:var(--space-5);background:var(--bg-page);color:var(--text);font-family:var(--font);font-size:var(--font-size);line-height:var(--line-height)}.project-list>*{max-width:1280px;margin-inline:auto}.project-list__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.project-list__header h1{font-size:var(--font-size-title);margin:0;font-weight:600}.project-list__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.project-list__status{margin-bottom:var(--space-3);color:var(--text-dim)}.project-list__status:empty{display:none}.project-list__status p{margin:0}.project-list__empty{align-items:center;gap:var(--space-4);padding:14vh var(--space-4) 0;text-align:center;flex-direction:column;display:flex}.project-list__empty .project-list__message{font-size:var(--font-size-heading);margin:0}.project-list__empty-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=639px){.project-list__actions .ui-button>span:not(.ui-icon,.ui-spinner){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-list__actions .ui-button{padding:0 var(--space-3)}}.project-list__notice,.project-list__error{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--bg-panel);display:flex}.project-list__error{color:var(--error)}.project-list__message{color:var(--text-dim)}.project-list>.project-list__report{left:50%;bottom:var(--space-5);z-index:50;max-width:min(640px, calc(100vw - 2 * var(--space-5)));padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);background:var(--bg-panel);color:var(--text);margin:0;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #0006}.project-list__report p{margin:0}.project-list__report--alert{color:var(--error)}.project-list__toolbar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.project-list__toolbar--reserved{visibility:hidden}.project-card--placeholder .project-card__thumbnail,.project-card--placeholder .project-card__name,.project-card--placeholder .project-card__meta{background:var(--bg-input);border-radius:var(--radius-control);animation:1.4s ease-in-out infinite project-card-pulse}.project-card--placeholder .project-card__name,.project-card--placeholder .project-card__meta{margin:0 var(--space-3);width:60%;padding:0}.project-card--placeholder .project-card__meta{width:35%}@keyframes project-card-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.project-card--placeholder .project-card__thumbnail,.project-card--placeholder .project-card__name,.project-card--placeholder .project-card__meta{animation:none}}.project-selection-bar{align-items:center;gap:var(--space-3);color:var(--text);display:flex}.project-list__cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-block:0;padding:0;list-style:none;display:grid}.project-card{gap:var(--space-2);padding-bottom:var(--space-3);border-radius:var(--radius-group);background:var(--bg-panel);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card[data-selected]{background:var(--bg-input)}.project-card__thumbnail{aspect-ratio:4/3;background:var(--bg-input)}.project-card__thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.project-card__select{top:var(--space-2);left:var(--space-2);position:absolute}.project-card__name{padding:0 var(--space-3);font-size:var(--font-size-heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.project-card__meta{padding:0 var(--space-3);color:var(--text-dim);margin:0}.project-card__actions,.project-rename__actions{gap:var(--space-2);min-width:0;padding:0 var(--space-3);flex-wrap:wrap;display:flex}.project-rename{gap:var(--space-2);padding:0 var(--space-3);flex-direction:column;display:flex}.project-rename .project-rename__actions{padding:0}.quota-warning{align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);color:var(--text);flex-direction:column;display:flex}.quota-warning__text,.quota-warning__error{margin:0}.quota-warning__error{color:var(--error)}.viewport-hint{left:calc(var(--stage-left,0px) + var(--space-4));bottom:calc(var(--stage-bottom,0px) + var(--space-3));color:var(--text-hint);font-size:var(--font-size);pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute}.viewport-surface{background:var(--bg-page);width:100%;height:100%;position:relative;overflow:clip}.viewport-surface__canvas{position:absolute;inset:0}.axis-gizmo{isolation:isolate;pointer-events:none;width:104px;height:104px;position:relative}.axis-gizmo__disc{left:calc(50% + var(--disc-x));top:calc(50% + var(--disc-y));background:var(--disc-colour);width:22px;height:22px;color:var(--bg-page);font:700 12px/1 var(--font);cursor:pointer;pointer-events:auto;transition:transform var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;margin:-11px 0 0 -11px;padding:0;display:flex;position:absolute}.axis-gizmo__disc[data-axis$=x]{--disc-colour:var(--axis-x)}.axis-gizmo__disc[data-axis$=y]{--disc-colour:var(--axis-y)}.axis-gizmo__disc[data-axis$=z]{--disc-colour:var(--axis-z)}.axis-gizmo__disc:not([data-positive]){opacity:.55;width:16px;height:16px;margin:-8px 0 0 -8px}.axis-gizmo__disc:hover{opacity:1;transform:scale(1.18)}.axis-gizmo__disc:focus-visible{outline:var(--focus-ring);outline-offset:2px;opacity:1}.viewport-corner{top:calc(var(--stage-top,0px) + var(--space-3));right:calc(var(--stage-right,0px) + var(--space-3));align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.viewport-corner__buttons{gap:var(--space-2);pointer-events:auto;grid-template-columns:repeat(2,auto);display:grid}.viewport-settings{width:320px;max-width:calc(100vw - 2 * var(--space-4));max-height:calc(100vh - 300px);padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.viewport-settings__section{gap:var(--space-3);flex-direction:column;display:flex}.viewport-settings__section+.viewport-settings__section{margin-top:var(--space-5);padding-top:var(--space-5);background:linear-gradient(var(--bg-button), var(--bg-button)) top / 100% 1px no-repeat}.viewport-settings__subsection{gap:var(--space-3);flex-direction:column;display:flex}.viewport-settings__heading,.viewport-settings__subheading{font-size:inherit;color:var(--text);margin:0;font-weight:600}.settings-page{gap:var(--space-5);flex-direction:column;display:flex}.settings-page__header{gap:var(--space-1);flex-direction:column;display:flex}.settings-page__title{font-size:var(--font-size-title);margin:0;font-weight:600}.settings-page__description{color:var(--text-dim);margin:0}.settings-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-group);background:var(--bg-panel);flex-direction:column;display:flex}.settings-card__heading{font-size:var(--font-size);margin:0;font-weight:600}.settings-card__hint{margin:calc(-1 * var(--space-2)) 0 0;color:var(--text-dim);font-size:var(--font-size-small)}.settings-card__rows{gap:var(--space-3);flex-direction:column;display:flex}.settings-card__messages{gap:var(--space-2);flex-direction:column;display:flex}.settings-card__messages:empty{display:none}.settings-card__messages>*{margin:0}.settings-card__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-field{gap:var(--space-3);grid-template-columns:40% minmax(0,1fr);align-items:center;display:grid}.settings-field__label{flex-direction:column;gap:2px;display:flex}.settings-field__hint{color:var(--text-dim);font-size:var(--font-size-small)}.storage-usage{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-field__control{flex-direction:column;align-items:stretch;min-width:min(200px,100%);display:flex}@container settings-content (width<=599px){.settings-field{gap:var(--space-2);grid-template-columns:minmax(0,1fr);align-items:stretch}}.shortcut-row{gap:var(--space-3);grid-template-columns:minmax(120px,40%) minmax(0,1fr);align-items:baseline;display:grid}.shortcut-row__keys{padding:2px var(--space-2);border-radius:var(--radius-control);background:var(--bg-input);font-family:var(--font);font-size:var(--font-size-small);justify-self:start}.shortcut-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings-note{color:var(--text-dim);font-size:var(--font-size-small);margin:0}.settings-problems{padding-left:var(--space-4);color:var(--error);font-size:var(--font-size-small);margin:0}.settings-page .key-settings{padding:var(--space-4);border-radius:var(--radius-group);background:var(--bg-panel)}.settings-page .key-settings__title{font-size:var(--font-size)}.settings-page .key-row{background:var(--bg-input)}.additional-settings{gap:var(--space-3);flex-direction:column;display:flex}.additional-settings__render{align-items:flex-end;gap:var(--space-2);display:flex}.additional-settings__render-select{flex:1;min-width:0}.debug-tab__empty{color:var(--text-dim);font-size:var(--font-size-small);margin:0}.debug-tab__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.run-log-row__body{gap:var(--space-3);padding:var(--space-1) 0 0;flex-direction:column;display:flex}.run-log-row__part{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.run-log-row__caption{color:var(--text-dim);font-size:var(--font-size-small)}.run-log-row__picture{border-radius:var(--radius-control);background:var(--bg-input);max-width:100%;height:auto;display:block}.run-log-row__grid{gap:var(--space-1);aspect-ratio:1;align-items:stretch;display:grid}.run-log-row__cell{border-radius:var(--radius-control);background:var(--bg-input);min-width:0;min-height:0;margin:0;display:flex;position:relative;overflow:hidden}.run-log-row__cell .run-log-row__enlarge{height:100%}.run-log-row__cell-picture{object-fit:contain;width:100%;height:100%;display:block}.run-log-row__cell-label{padding:0 var(--space-1);background:var(--surface-over-picture);color:var(--text);font-size:var(--font-size-small);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.run-log-row__cell .run-log-row__download{opacity:0;transition:opacity var(--transition-fast)}.run-log-row__cell:hover .run-log-row__download,.run-log-row__cell:focus-within .run-log-row__download{opacity:1}.run-log-row__frame{border-radius:var(--radius-control);position:relative;overflow:hidden}.run-log-row__enlarge{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.run-log-row__enlarge:focus-visible{outline:var(--focus-ring);outline-offset:2px}.run-log-row__label{padding:var(--space-1) var(--space-2);background:var(--surface-over-picture);color:var(--text);font-size:var(--font-size-small);pointer-events:none;font-weight:700;position:absolute;bottom:0;left:0;right:0}.run-log-row__download{top:var(--space-1);right:var(--space-1);position:absolute}.run-log-row__download .ui-icon-button{background:var(--surface-over-picture);width:26px;height:26px}.run-log-row__label,.run-log-row__download{opacity:0;transition:opacity var(--transition-fast)}.run-log-row__frame:hover .run-log-row__label,.run-log-row__frame:hover .run-log-row__download,.run-log-row__frame:focus-within .run-log-row__label,.run-log-row__frame:focus-within .run-log-row__download{opacity:1}.run-log-row__text,.run-log-row__details{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:var(--font-size-small);margin:0}.run-log-row__details{color:var(--text-dim)}.run-log-row__error{gap:var(--space-2);padding:var(--space-3);background:var(--bg-input);border-radius:var(--radius-control);color:var(--error);flex-direction:column;display:flex}.generate-panel{flex-direction:column;display:flex}.generate-panel__page{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.generate-panel__locked{display:contents}.generate-panel__page[hidden]{display:none}.generate-panel__field{gap:var(--space-1);flex-direction:column;display:flex}.generate-panel__label{color:var(--text-dim);font-size:var(--font-size-small)}.generate-panel__notice{color:var(--text-dim);font-size:var(--font-size-small);margin:0}.generate-panel__reuse{align-items:baseline;gap:var(--space-2);color:var(--success);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.generate-panel__reuse-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.generate-panel__reuse-link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.generate-panel__prompt{resize:vertical;min-height:192px;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--bg-hover);border-radius:var(--radius-control)}.generate-panel__prompt:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.generate-panel__prompt[data-drop-target]{border-color:var(--accent);background:var(--bg-hover)}.generate-panel__actions{align-items:flex-start;gap:var(--space-2);display:flex}.generate-button{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.generate-button__reason{color:var(--text-dim);font-size:var(--font-size-small);margin:0}.reference-strip{gap:var(--space-2);flex-direction:column;display:flex}.reference-strip__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reference-strip__item{width:56px;height:56px;position:relative}.reference-strip__thumb{background:var(--bg-input);border:1px solid var(--bg-hover);border-radius:var(--radius-control);cursor:zoom-in;width:100%;height:100%;padding:0;overflow:hidden}.reference-strip__thumb img{object-fit:cover;width:100%;height:100%;display:block}.reference-strip__add-item{align-items:center;gap:var(--space-3);display:flex}.reference-strip__add{width:56px;height:56px;color:var(--text-dim);background:var(--bg-input);border:1px solid var(--bg-hover);border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.reference-strip__add:hover{color:var(--text);background:var(--bg-hover)}.reference-strip__hint{color:var(--text-dim);font-size:var(--font-size-small)}.reference-strip__remove{position:absolute;top:-6px;right:-6px}.reference-strip__notice{color:var(--error);font-size:var(--font-size-small);margin:0}.progress-steps{gap:var(--space-3);flex-direction:column;display:flex}.progress-steps__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-steps__item{align-items:center;gap:var(--space-2);color:var(--text-dim);display:flex}.progress-steps__item[data-state=active],.progress-steps__item[data-state=done]{color:var(--text)}.progress-steps__item[data-state=failed]{color:var(--error)}.progress-steps__mark{border:1px solid var(--text-hint);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.progress-steps__bar{background:var(--bg-hover);border-radius:2px;flex:1;height:4px;overflow:hidden}.progress-steps__fill{background:var(--accent);height:100%;display:block}.progress-steps__fill[data-indeterminate]{width:30%;animation:1.2s ease-in-out infinite progress-steps-slide}@keyframes progress-steps-slide{0%{margin-left:0}to{margin-left:70%}}.run-error{gap:var(--space-2);padding:var(--space-3);background:var(--bg-input);border:1px solid var(--error);border-radius:var(--radius-control);flex-direction:column;display:flex}.run-error__message,.run-error__hint{overflow-wrap:anywhere;margin:0}.run-error__hint{color:var(--text-dim);font-size:var(--font-size-small)}.progress-steps__link{color:var(--accent);font:inherit;font-size:var(--font-size-small);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;text-decoration:underline}.progress-steps__link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.run-error__details{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:var(--font-size-small);color:var(--text-dim);margin:0}.setup-overlay{z-index:50;padding:calc(var(--stage-top,0px) + var(--space-3)) calc(var(--stage-right,0px) + var(--space-3)) calc(var(--stage-bottom,0px) + var(--space-3)) calc(var(--stage-left,0px) + var(--space-3));background:color-mix(in srgb, var(--bg-page) 82%, transparent);display:flex;position:absolute;inset:0}.setup-overlay__panel{gap:var(--space-4);width:100%;min-height:0;padding:var(--space-4);border-radius:var(--radius-group);background:var(--bg-panel);color:var(--text);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.setup-overlay__body{min-height:0;margin-inline:calc(-1 * var(--space-2));padding-inline:var(--space-2);flex:1;overflow-y:auto}.setup-overlay__grid{grid-template-columns:repeat(auto-fill, minmax(max(15.5rem, calc((100% - 4 * var(--space-4)) / 5)), 1fr));gap:var(--space-4);align-items:stretch;display:grid}.setup-overlay__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.setup-overlay__problem{min-width:0;color:var(--text-dim);font-size:var(--font-size-small);flex:12rem;margin:0}.setup-overlay__decision{gap:var(--space-3);display:flex}.setup-overlay__announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.setup-toolbar{justify-content:flex-end;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.setup-toolbar__preset{align-items:center;gap:var(--space-2);display:flex}.setup-toolbar__preset .ui-field{align-items:center;gap:var(--space-3);flex-direction:row}.setup-toolbar__preset .ui-field .ui-select{min-width:16rem}.setup-toolbar__sync{min-height:var(--control-height);align-items:center;display:flex}.setup-snapshots{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));min-height:96px;display:grid;position:relative}.setup-snapshots__item{gap:var(--space-1);text-align:center;width:100%;max-width:8rem;font-size:var(--font-size-small);transition:opacity var(--transition-fast);flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.setup-snapshots__item[data-assigned=false]{opacity:.4}.setup-snapshots__where{color:var(--text-dim);font-size:var(--font-size-small)}.setup-snapshots__button{border-radius:var(--radius-control);background:var(--bg-input);cursor:grab;border:none;padding:0}.setup-snapshots__button:hover{background:var(--bg-hover)}.setup-snapshots__button[data-dragging]{opacity:.35}.setup-card[data-target=true] .setup-drop,.setup-snapshots[data-target=true]{outline:var(--focus-ring);outline-offset:2px}.setup-snapshots__button[aria-pressed=true]{outline:var(--focus-ring);outline-offset:1px}.setup-thumb-slot{box-sizing:border-box;aspect-ratio:1;place-items:center;width:100%;display:grid;container-type:size}.setup-thumb{width:min(100cqw, calc(100cqh * var(--trim-aspect,1)));aspect-ratio:var(--trim-aspect,1);background:var(--bg-input);display:block;position:relative;overflow:hidden}.setup-trimmed{pointer-events:none;max-width:none;display:block;position:absolute}.setup-card[data-drop-edge]:after{content:"";background:var(--accent);pointer-events:none;border-radius:2px;width:4px;position:absolute;top:0;bottom:0}.setup-card[data-drop-edge=before]:after{left:calc(-.5 * var(--space-4) - 2px)}.setup-card[data-drop-edge=after]:after{right:calc(-.5 * var(--space-4) - 2px)}.setup-card{gap:var(--space-3);min-width:0;padding:var(--space-3);border-radius:var(--radius-group);background:var(--bg-input);flex-direction:column;display:flex;position:relative}.setup-card__header{align-items:center;gap:var(--space-2);min-width:0;display:flex}.setup-card__header>*{flex-shrink:0}.setup-card__move:not(:focus-within){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.setup-card__move{gap:var(--space-1);display:flex}.setup-card__handle{padding:0 var(--space-1);color:var(--text-dim);cursor:grab;background:0 0;border:none}.setup-card__title{white-space:nowrap;font-size:var(--font-size);margin:0;font-weight:700}.setup-card__lead{padding:1px var(--space-2);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-text);font-size:var(--font-size-small);font-weight:600}.setup-card__header-actions{gap:var(--space-1);margin-left:auto;display:flex}.setup-card__assign{gap:var(--space-3);flex-direction:column;height:17rem;display:flex}.setup-drop{box-sizing:border-box;width:100%;min-height:4rem;padding:var(--space-2) var(--space-3);border:1px dashed var(--text-hint);border-radius:var(--radius-control);transition:background var(--transition-fast);background:0 0;flex:1;justify-content:center;align-items:center;display:flex;position:relative;container-type:size}.setup-canvas{width:min(100cqw, calc(100cqh * var(--drop-aspect,1)));aspect-ratio:var(--drop-aspect,1);background:var(--bg-page);pointer-events:none;flex:none;position:relative}.setup-canvas__tile{background:var(--bg-hover);position:absolute;overflow:hidden}.setup-canvas__tile--aux{box-sizing:border-box;border:1px solid var(--bg-page);background:var(--bg-hover)}.setup-drop--aux{opacity:.8;flex:none;height:17rem}.setup-drop__empty{align-items:center;gap:var(--space-1);color:var(--text-dim);font-size:var(--font-size-small);text-align:center;flex-direction:column;display:flex}.setup-card__cameras{justify-content:center;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;flex:none;margin:0;padding:0;list-style:none;display:flex}.setup-card__camera{width:52px;font-size:var(--font-size-small);cursor:grab;transition:opacity var(--transition-fast);flex-direction:column;align-items:center;display:flex;position:relative}.setup-card__camera[data-dragging]{opacity:.35}.setup-card__camera .ui-icon-button{position:absolute;top:2px;right:2px}.setup-drop[data-drop-hint],.setup-snapshots[data-drop-hint]{background:color-mix(in srgb, var(--accent) 24%, var(--bg-button))}.setup-drop[data-drop-hint]:after,.setup-snapshots[data-drop-hint]:after{content:attr(data-drop-hint);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-page) 55%, transparent);color:var(--text);pointer-events:none;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.setup-card[data-dragging]{opacity:.6}.setup-card__fields{gap:var(--space-3);flex-direction:column;display:flex}.setup-card__include{align-items:center;gap:var(--space-2);display:flex}.setup-add-tile{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-group);background:var(--bg-input);min-height:12rem;color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:none;flex-direction:column;display:flex}.setup-add-tile:hover{background:var(--bg-hover);color:var(--text)}.key-settings{gap:var(--space-3);flex-direction:column;display:flex}.key-settings__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.key-settings__title{font-size:var(--font-size-heading);margin:0;font-weight:600}.key-row{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-control);background:var(--bg-panel);flex-direction:column;display:flex}.key-row__line{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.key-row__name{min-width:64px;font-weight:600}.key-row__value{font-variant-numeric:tabular-nums}.key-row__status{color:var(--text-dim);font-size:var(--font-size-small)}.key-row__actions{gap:var(--space-2);margin-left:auto;display:flex}.key-row__edit{gap:var(--space-2);flex-direction:column;display:flex}.key-row__problem{color:var(--error);font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.key-reset{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.key-dialog__form{gap:var(--space-3);flex-direction:column;min-width:280px;display:flex}.key-dialog__text{color:var(--text-dim);margin:0}.key-dialog__error{color:var(--error);margin:0}.settings-view{background:var(--bg-page);height:100vh;color:var(--text);font-family:var(--font);font-size:var(--font-size);line-height:var(--line-height);grid-template-columns:220px minmax(0,1fr);display:grid;overflow:hidden}.settings-view__nav{gap:var(--space-3);padding:var(--space-5) var(--space-4);background:var(--bg-panel);flex-direction:column;display:flex;overflow-y:auto}.settings-view__back{display:flex}.settings-view__title{font-size:var(--font-size-title);margin:0;font-weight:600}.settings-view__links{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings-view__links a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--text-dim);text-decoration:none;display:block}.settings-view__links a:hover{background:var(--bg-hover);color:var(--text)}.settings-view__links a[aria-current=page]{background:var(--bg-button);color:var(--text)}.settings-view__scroll{min-width:0;min-height:0;position:relative;overflow-y:auto}.settings-view__content{box-sizing:border-box;width:100%;max-width:720px;padding:var(--space-5) 32px 32px;margin:0 auto;container:settings-content/inline-size}@media (width<=699px){.settings-view{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.settings-view__nav{padding:var(--space-3) var(--space-4);flex-flow:wrap;align-items:center;overflow-y:visible}.settings-view__links{flex-flow:wrap}.settings-view__content{padding:var(--space-4) var(--space-4) var(--space-5)}}.map-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.map-card{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.map-card[data-split]{grid-column:1/-1}.map-card__halves{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.map-card[data-split] .map-card__halves{grid-template-columns:repeat(2,minmax(0,1fr))}.map-half{flex-direction:column;min-width:0;display:flex}.map-half__stale{color:var(--error)}.map-half__frame{position:relative}.map-half__drop{aspect-ratio:1;box-sizing:border-box;border-radius:var(--radius-control);background:var(--bg-input);color:var(--text-hint);font-size:var(--font-size-small);text-align:center;transition:background var(--transition-fast);place-items:center;display:grid;position:relative;overflow:hidden}.map-half__frame:not([data-filled]) .map-half__drop{padding:var(--space-2);border:1px dashed var(--bg-hover)}.map-half__drop[data-dragging]{border-color:var(--accent);background:var(--bg-hover)}.map-half__drop[data-dragging] .map-half__choose{background:var(--bg-hover)}.map-half__drop[aria-busy=true]{opacity:.6}.map-half__choose{padding:var(--space-2);color:var(--text-hint);font:inherit;font-size:var(--font-size-small);text-align:center;justify-content:center;align-items:center}.map-half__choose:hover:not(:disabled){background:var(--bg-hover);color:var(--text-dim)}.map-half__choose:disabled{cursor:default}.map-half__file{display:none}.map-half__picture{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:flex}.map-half__picture:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.map-card__thumbnail{object-fit:cover;width:100%;height:100%}.map-card__missing{color:var(--error)}.map-half__caption{padding:var(--space-1) var(--space-2);border-radius:0 0 var(--radius-control) var(--radius-control);background:var(--surface-over-picture);color:var(--text);font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;margin:0;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.map-half__buttons{top:var(--space-1);right:var(--space-1);opacity:0;max-width:82px;transition:opacity var(--transition-fast);flex-wrap:wrap;justify-content:flex-end;gap:2px;display:flex;position:absolute}.map-half__frame:hover .map-half__buttons,.map-half__frame:focus-within .map-half__buttons{opacity:1}.map-half__buttons .ui-icon-button{background:var(--surface-over-picture);width:26px;height:26px}.missing-features{box-sizing:border-box;max-width:36rem;min-height:100dvh;padding:var(--space-5) var(--space-4);justify-content:center;gap:var(--space-3);color:var(--text);flex-direction:column;margin:0 auto;display:flex}.missing-features__title{font-size:var(--font-size-title);margin:0}.missing-features__lead,.missing-features__hint{color:var(--text-dim);margin:0}.missing-features__list{padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.new-material-dialog{gap:var(--space-3);flex-direction:column;min-width:min(360px,100%);display:flex}.new-material-dialog__error{color:var(--error);margin:0}.addons-menu{gap:var(--space-2);flex-direction:column;display:flex}.addons-menu__items{gap:var(--space-4);display:flex}.addons-menu__item{align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-control);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;display:flex}.addons-menu__item:hover,.addons-menu__item:focus-visible{color:var(--text)}.addons-menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.addons-menu__logo{place-items:center;width:48px;height:48px;display:grid;position:relative}.addons-menu__logo img{object-fit:contain;width:100%;height:100%;transition:opacity var(--transition-fast);grid-area:1/1}.addons-menu__arrow{color:var(--text);opacity:0;transition:opacity var(--transition-fast);grid-area:1/1;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.addons-menu__item:hover:not(:disabled) img,.addons-menu__item:focus-visible img{opacity:.35}.addons-menu__item:hover:not(:disabled) .addons-menu__arrow,.addons-menu__item:focus-visible .addons-menu__arrow{opacity:1}.addons-menu__failure{max-width:18rem;color:var(--error);font-size:var(--font-size-small);margin:0}.masks-panel{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.mask-swatches__hint{color:var(--text-dim);margin:0}.mask-swatches{grid-template-columns:repeat(var(--mask-swatch-columns,5), minmax(0, 1fr));gap:var(--space-2);display:grid}.mask-swatch{aspect-ratio:1;border:1px solid var(--bg-hover);border-radius:var(--radius-control);cursor:pointer;min-width:0;padding:0}.mask-swatch:focus-visible,.mask-swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.mask-swatch:disabled{cursor:default}.mask-row{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.mask-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-weight:600;overflow:hidden}.masks-panel__buttons{gap:var(--space-2);padding-top:var(--space-2);background:var(--bg-panel);display:flex;position:sticky;bottom:0}.masks-panel__buttons>*{flex:1 1 0;min-width:0}.masks-panel__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.masks-panel__notice{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);box-shadow:inset 3px 0 0 var(--accent);color:var(--text);margin:0}.masks-panel__notice p{margin:0 0 var(--space-2)}.preview-shading .ui-segmented__option{flex:none}.mask-display{gap:var(--space-3);width:320px;max-width:calc(100vw - 2 * var(--space-4));max-height:calc(100vh - 240px);padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.mesh-picker__menu{gap:var(--space-1);flex-direction:column;min-width:10rem;display:flex}.mesh-picker__item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.mesh-picker__item:hover,.mesh-picker__item:focus-visible{background:var(--bg-button)}.mesh-picker__item[aria-checked=true]{color:var(--accent)}.mesh-picker__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.open-image{right:calc(var(--stage-right,0px) + var(--space-4));bottom:calc(var(--stage-bottom,0px) + var(--space-3));justify-content:flex-end;align-items:center;gap:var(--space-3);max-width:calc(100% - var(--stage-left,0px) - var(--stage-right,0px) - 2 * var(--space-4));display:flex;position:absolute}.open-image__reason{text-align:right;min-width:0;color:var(--text-dim);font-size:var(--font-size-small)}.preview-settings{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.preview-settings>.ui-button{align-self:flex-start}.op-dialog{--compare-frame-height:clamp(220px, 50vh, 640px);gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;display:grid}@media (width<=760px){.op-dialog{--compare-frame-height:clamp(180px, 34vh, 360px);grid-template-columns:minmax(0,1fr)}}.op-dialog__picture{min-width:0}.op-dialog__controls{gap:var(--space-3);flex-direction:column;min-width:0;max-height:60vh;display:flex;overflow-y:auto}.op-dialog__error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--bg-input);box-shadow:inset 3px 0 0 var(--error);color:var(--text);margin:0}.tool-panel{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.tool-panel__title{font-size:var(--font-size-heading);margin:0;font-weight:600}.tool-panel__body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.tool-panel__group{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.mirror-grid{gap:var(--space-2) var(--space-5);grid-template-columns:repeat(2,max-content);display:grid}.tool-panel__readout{color:var(--text-dim);margin:0}.tool-panel__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.op-controls{gap:var(--space-3);flex-direction:column;display:flex}.op-controls__rows{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.op-controls .ui-slider[data-layout=row]{grid-template-columns:7rem minmax(0,1fr) auto}.op-control__readout{align-items:center;gap:var(--space-2);display:inline-flex}.op-control__number{box-sizing:border-box;width:3.75rem;min-height:var(--control-height);padding:0 var(--space-2);border-radius:var(--radius-control);background:var(--bg-input);color:var(--number);font:inherit;font-variant-numeric:tabular-nums;text-align:right;border:none}.op-control__number:focus-visible{outline:var(--focus-ring);outline-offset:2px}.export-dialog{gap:var(--space-4);min-width:0;max-height:calc(100dvh - 13rem);padding:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.export-dialog__cards{gap:var(--space-2);flex-direction:column;display:flex}.export-dialog__card{column-gap:var(--space-2);row-gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--text-hint);border-radius:var(--radius-control);cursor:pointer;grid-template-columns:28px minmax(0,1fr);align-items:center;display:grid;position:relative}.export-dialog__card[data-selected]{border-color:var(--accent)}.export-dialog__card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.export-dialog__card input[type=radio]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.export-dialog__card-logo{object-fit:contain;opacity:.7;width:28px;height:28px;transition:opacity var(--transition-fast);grid-row:1/span 3;align-self:start}.export-dialog__card[data-selected] .export-dialog__card-logo,.export-dialog__card:hover .export-dialog__card-logo{opacity:1}.export-dialog__card-title{color:var(--text);grid-column:2}.export-dialog__card-convention{color:var(--text-dim);font-size:var(--font-size-small);grid-column:2}.export-dialog__card-details{gap:var(--space-1);color:var(--text-dim);font-size:var(--font-size-small);overflow-wrap:anywhere;flex-direction:column;grid-column:2;display:flex}.export-dialog__card-files{color:var(--text-hint)}.export-dialog__options{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.export-dialog__files ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.export-dialog__files li{gap:var(--space-1) var(--space-3);flex-wrap:wrap;align-items:baseline;min-width:0;display:flex}.export-dialog__file-name{overflow-wrap:anywhere;flex:12rem;min-width:0}.export-dialog__file-size,.export-dialog__missing,.export-dialog__empty{color:var(--text-dim);font-size:var(--font-size-small)}.export-dialog__stale,.export-dialog__warning{color:var(--text-dim);font-size:var(--font-size-small);flex-basis:100%;margin:0}.export-dialog__progress{gap:var(--space-1);flex-direction:column;display:flex}.export-dialog__progress progress{width:100%;accent-color:var(--accent)}.export-dialog__error{color:var(--error);margin:0}.export-section{gap:var(--space-2);flex-direction:column;display:flex}.export-section__message{color:var(--success);font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.generate-progress{align-items:center;gap:var(--space-2);color:var(--text-dim);font-size:var(--font-size-small);margin:0;display:flex}.run-log .ui-disclosure__title{white-space:normal;overflow-wrap:anywhere;font-size:var(--font-size-small)}.run-log .ui-disclosure__header{padding-block:var(--space-2)}.run-log__attempts{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-summary__total{margin:0 0 var(--space-3);font-weight:600}.plan-summary__rows{gap:var(--space-3);margin:0 0 var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.plan-summary__row{gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-input);border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) auto;display:grid}.plan-summary__cost{color:var(--text-dim)}.plan-summary__detail{color:var(--text-dim);font-size:var(--font-size-small);overflow-wrap:anywhere;grid-column:1/-1}.generate-outcome{gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);background:var(--bg-input);border-radius:var(--radius-control);font-size:var(--font-size-small);overflow-wrap:anywhere;flex-direction:column;display:flex}.generate-outcome p{margin:0}.generate-outcome--error{border:1px solid var(--error)}.generate-outcome__failures{padding-left:var(--space-4);margin:0}.model-settings{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.model-card{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.model-card+.model-card{padding-top:var(--space-3);border-top:1px solid var(--bg-hover)}.model-card__title{font-size:var(--font-size);margin:0;font-weight:600}.model-card__fields,.reference-images{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.model-card__problem,.run-log__error{color:var(--error);font-size:var(--font-size-small);margin:0}.run-log{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.run-log__attempt{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.run-log__attempt-title,.run-log__text{font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.run-log__prompt{padding:var(--space-2);background:var(--bg-input);border-radius:var(--radius-control);max-height:200px;font-size:var(--font-size-small);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.material-panel{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.material-panel[hidden]{display:none}.material-panel__section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.material-panel__field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.material-panel__label{color:var(--text-dim);font-size:var(--font-size-small)}.prompt-field{position:relative}.prompt-ideas{left:var(--space-2);bottom:calc(var(--space-2) + var(--space-2));gap:var(--space-1);display:flex;position:absolute}.prompt-ideas__number{font-size:var(--font-size-small);font-weight:600;line-height:1}.material-panel__prompt{width:100%;min-height:160px;padding:var(--space-2) var(--space-3) calc(var(--control-height) + var(--space-3));box-sizing:border-box;resize:vertical;background:var(--bg-input);border:1px solid var(--bg-hover);border-radius:var(--radius-control);color:var(--text);font:inherit}.material-panel__prompt:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.material-panel__prompt:disabled{opacity:.6}.material-panel__generate{align-items:center;gap:var(--space-2);display:flex}.material-panel__generate>.ui-button{flex:1;min-width:0}.material-panel__hint{color:var(--text-dim);font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.material-slots{gap:var(--space-3);padding:var(--space-2);flex-direction:column;min-width:0;display:flex}.map-message{padding:var(--space-2) var(--space-3);background:var(--bg-input);border-radius:var(--radius-control);font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.map-message--error{color:var(--error)}.ui-disclosure .ui-button:not([data-variant]),.ui-disclosure .ui-button[data-variant=secondary]{background:var(--bg-input)}.ui-disclosure .ui-button:not([data-variant]):hover:not(:disabled),.ui-disclosure .ui-button[data-variant=secondary]:hover:not(:disabled){background:var(--bg-hover)}.material-panel__notes{gap:var(--space-2);padding:var(--space-3) var(--space-4) 0;flex-direction:column;display:flex}.material-panel--padded{padding:var(--space-3) var(--space-4)}.map-message__dismiss{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.map-chip-thumb{border-radius:var(--radius-control);background:var(--bg-input);width:100%;height:100%;display:block}.map-chip-thumb--albedo{background:linear-gradient(135deg, var(--map-albedo-1) 0%, var(--map-albedo-2) 55%, var(--map-albedo-3) 100%)}.map-chip-thumb--normal{background:radial-gradient(circle at 35% 35%, var(--map-normal-1) 0%, var(--map-normal-2) 45%, var(--map-normal-3) 100%)}.map-chip-thumb--height{background:linear-gradient(135deg, var(--map-height-1) 0%, var(--map-height-2) 60%, var(--map-height-3) 100%)}.map-chip-thumb--metal-roughness{background:linear-gradient(135deg, var(--map-metal-1) 0%, var(--map-metal-2) 50%, var(--map-metal-3) 100%)}.setup-snapshots__button[aria-disabled=true]{cursor:default}.map-tile{box-sizing:border-box;border:1px solid var(--bg-page);background:var(--bg-hover);place-items:center;display:grid}.map-tile__name{padding:0 var(--space-1);color:var(--text-dim);font-size:var(--font-size-small);text-align:center;overflow-wrap:anywhere}.setup-preview__caption,.setup-preview__caveat{color:var(--text-dim);font-size:var(--font-size-small);overflow-wrap:anywhere;margin:0}.setup-preview__problem{color:var(--error);font-size:var(--font-size-small);text-align:center;overflow-wrap:anywhere;margin:0}.material-viewport{background:var(--bg-page);place-items:center;width:100%;min-width:0;height:100%;display:grid;position:relative;container-type:inline-size}.material-viewport__message{padding:0 var(--space-4);color:var(--text-hint);text-align:center;margin:0}.material-viewport__message[role=alert]{color:var(--error)}@container (width<=140px){.material-viewport__message:not([role=alert]){display:none}}
