@font-face{font-family:absans;src:url(../media/Absans_Regular-s.p.1ix8o9w025p2o.woff2?dpl=dpl_8phh2ibzzpsR2wq6zgMWAdi11L2o)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:absans Fallback;src:local(Arial);ascent-override:97.63%;descent-override:31.28%;line-gap-override:3.79%;size-adjust:105.5%}.absans_283d6778-module__76cpSW__className{font-family:absans,absans Fallback;font-weight:400}.absans_283d6778-module__76cpSW__variable{--font-absans:"absans", "absans Fallback"}
@font-face{font-family:nectoMono;src:url(../media/NectoMono_Regular-s.p.45a2b6hy9qil_.woff2?dpl=dpl_8phh2ibzzpsR2wq6zgMWAdi11L2o)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:nectoMono Fallback;src:local(Arial);ascent-override:72.56%;descent-override:20.2%;line-gap-override:4.49%;size-adjust:133.68%}.nectomono_3035c3c5-module__rTekgq__className{font-family:nectoMono,nectoMono Fallback;font-weight:400}.nectomono_3035c3c5-module__rTekgq__variable{--font-necto-mono:"nectoMono", "nectoMono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--font-necto-mono);--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-absans);--default-mono-font-family:var(--font-necto-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.left-1\/2{left:50%}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\!shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--ease-motion:cubic-bezier(.65, 0, .35, 1);--d-tap:.14s;--d-fast:.18s;--d-med:.24s;--d-slow:.32s;--font-display:var(--font-absans), system-ui, sans-serif;--font-mono:var(--font-necto-mono), ui-monospace, Menlo, monospace}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-display);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{letter-spacing:0;font-size:15px;line-height:1.5}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}:root{--bg:#0d0e10;--bg-elev:#14161a;--bg-elev-2:#191c21;--line:#ffffff12;--line-strong:#ffffff24;--fg:#e8e6e1;--fg-mute:#e8e6e1d1;--fg-dim:#e8e6e199;--accent:#f4f2ee;--accent-cool:#8fb5c1;--dye-indigo:#6898d2;--dye-madder:#ce6e58;--dye-gardenia:#e0b660;--dye-persimmon:#c68e5e;--dye-mugwort:#98ac74;--error:#e58a7f;--ok:#9ccf9b;--radius-xs:3px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-full:999px;--shadow-dish:inset 0 2px 5px #0006;--shadow-raised:0 16px 32px -12px #0000008c, 0 4px 10px -4px #00000059;--shadow-text:0 1px 2px #00000059}@supports (color:lab(0% 0 0)){:root{--shadow-dish:inset 0 2px 5px lab(0% 0 0/.4);--shadow-raised:0 16px 32px -12px lab(0% 0 0/.55), 0 4px 10px -4px lab(0% 0 0/.35)}}[data-dye=indigo]{--cat:var(--dye-indigo)}[data-dye=madder]{--cat:var(--dye-madder)}[data-dye=gardenia]{--cat:var(--dye-gardenia)}[data-dye=persimmon]{--cat:var(--dye-persimmon)}[data-dye=mugwort]{--cat:var(--dye-mugwort)}:root{--room-ui-bg:#fafbf9db;--room-ui-elev:#f3f5f2e6;--room-ui-elev-2:#eaede9eb;--room-ui-ink:#30332f;--room-ui-muted:#30332fc2;--room-ui-dim:#30332f8c;--room-ui-dim-material:#30332f99;--room-ui-accent:#424742;--room-ui-line:#6c726f3d;--room-ui-line-strong:#5e656161;--room-ui-line-material:#30332f24;--room-ui-line-material-strong:#30332f47;--room-ui-error:#9b3f35;--room-ui-solid:#f8f9f6;--room-control-bg:#ffffffe6;--room-control-selected:#30332f0f;--room-control-active:#fffffffa;--room-tab-bg:#ffffffd1;--room-tab-hover:#fffffff5;--room-tab-pressed:#ffffffb3;--room-glass-fill:linear-gradient(145deg, #ffffff52, #ffffff1f), #ffffff4d;--room-glass-filter:blur(12px) saturate(.85);--room-glass-rail-fill:#ffffff80;--room-glass-fade:linear-gradient(to bottom, #000, #000c 40%, transparent);--room-grain-image:url(/2d-textures/sandpaper.png);--room-grain-size:208.8px 300px;--room-grain-opacity:.6;--room-guide-color:#fff;--room-guide-width:.8px;--room-guide-dash:1.2 3.2;--room-type-micro:8px;--room-type-detail:9px;--room-type-label:10px;--room-type-body:12px;--room-type-title:21px;--room-type-title-compact:17px;--room-space-1:4px;--room-space-2:8px;--room-space-3:12px;--room-space-4:16px;--room-space-5:20px;--room-panel-inset-x:18px;--room-panel-inset-top:var(--room-space-4);--room-rail-inset-x:14px;--room-rail-inset-top:10px;--room-radius-control:0;--room-control-size:44px;--room-control-compact:32px;--room-control-regular:36px;--room-control-indicator:16px;--room-control-indicator-mark:6px;--room-range-track-material:2px;--room-range-thumb-material:8px;--room-range-track-light:1px;--room-range-thumb-light:9px;--room-duration-reveal:.34s;--room-duration-letter:.17s;--room-duration-panel:.42s;--room-duration-close:.26s;--room-delay-hidden:.3s;--room-delay-icon:.16s;--room-duration-group-fade:.15s;--room-duration-group-travel:.2s;--room-stagger-enter:28ms;--room-stagger-exit:18ms;--room-duration-lens:.11s}.material-cabinet__face,.room-light-modal{--bg:var(--room-ui-bg);--bg-elev:var(--room-ui-elev);--bg-elev-2:var(--room-ui-elev-2);--line:var(--room-ui-line);--line-strong:var(--room-ui-line-strong);--fg:var(--room-ui-ink);--fg-mute:var(--room-ui-muted);--fg-dim:var(--room-ui-dim);--accent:var(--room-ui-accent)}.material-cabinet__face{--error:var(--room-ui-error);color:var(--fg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.material-cabinet__face--material{--line:var(--room-ui-line-material);--line-strong:var(--room-ui-line-material-strong);--fg-light:var(--room-ui-ink);--fg-dim:var(--room-ui-dim-material);--accent:var(--room-ui-ink);--cat:var(--accent);--dye-indigo:var(--accent);--dye-madder:var(--accent);--dye-gardenia:var(--accent);--dye-persimmon:var(--accent);--dye-mugwort:var(--accent)}.app{min-height:100dvh;position:relative}.glass{background:var(--bg);position:relative}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklab, var(--bg) 30%, transparent)}}.glass{-webkit-backdrop-filter:blur(28px)saturate(160%)contrast(105%);isolation:isolate;overflow:hidden}.glass:before{content:"";filter:blur(56px);mix-blend-mode:screen;pointer-events:none;z-index:-1;background:conic-gradient(#ff5a820b,#ffc85a0b,#78ff820b,#46d2ff0f,#be78ff0d,#ff5a820b);animation:42s linear infinite glass-drift;position:absolute;inset:-50%}.glass:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#ffffff2e 30%,#ffffff47 50%,#ffffff2e 70%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}@keyframes glass-drift{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--room-controls-left:clamp(18px, 4.29688vw, 55px);--room-controls-top:clamp(20px, 4.6875dvh, 39px);--room-logo-size:44px;--room-logo-hit-size:var(--room-control-size);--room-controls-width:216px;--room-controls-start:calc(var(--room-controls-top) + var(--room-logo-hit-size))}.nav-bar{z-index:30;color:#211d1a;pointer-events:none;background:0 0;position:fixed;top:0;left:0;right:0}.nav-bar-inner{padding:var(--room-controls-top) 35px 0 var(--room-controls-left);z-index:2;pointer-events:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:0;display:grid;position:relative}.nav-brand{justify-self:start;align-items:center;margin-left:0;display:flex}.nav-logo-button{appearance:none;isolation:isolate;width:var(--room-logo-hit-size);height:var(--room-logo-hit-size);cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:width var(--room-duration-reveal) var(--ease-motion), background var(--d-fast) var(--ease-motion);background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative;overflow:clip}.nav-logo-button[aria-expanded=true]{width:var(--room-controls-width)}.nav-logo-symbol{left:0;top:calc((var(--room-logo-hit-size) - var(--room-logo-size)) / 2);z-index:2;width:var(--room-logo-size);height:var(--room-logo-size);position:absolute}.nav-logo-wordmark{left:calc(var(--room-logo-size) + 6px);width:max-content;color:var(--room-ui-ink);font-family:var(--font-display);letter-spacing:-.035em;white-space:pre;pointer-events:none;font-size:clamp(18px,5vw,25px);font-weight:400;line-height:1;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.nav-logo-letter{opacity:0;transform:translateX(var(--logo-collapse-x,-20px));transition:transform var(--room-duration-reveal) var(--ease-motion), opacity var(--room-duration-letter) var(--ease-motion);display:block}.nav-logo-button[aria-expanded=true] .nav-logo-letter{opacity:1;transition-delay:0s, var(--room-duration-letter);transform:translate(0)}.nav-logo-mark{z-index:0;width:var(--room-logo-size);height:var(--room-logo-size);-webkit-backdrop-filter:blur(11px)saturate(76%);pointer-events:none;background:linear-gradient(145deg,#2a2723,#070707);display:block;position:absolute;inset:0;-webkit-mask-image:url(/loom-mark.svg?v=2);mask-image:url(/loom-mark.svg?v=2);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nav-logo-mark:before{content:"";mix-blend-mode:screen;opacity:.08;background:url(/2d-textures/sandpaper.png) 50%/104px 150px;position:absolute;inset:0}.nav-logo-pixel-home{z-index:1;isolation:isolate;width:40%;height:34%;position:absolute;top:38%;left:30%;overflow:hidden}.nav-logo-pixel{filter:brightness(0)invert()}.nav-environment-guide{top:0;left:var(--room-controls-left);transform-origin:top;width:1px;height:100dvh;transition:transform var(--room-duration-reveal) var(--ease-motion);pointer-events:none;position:absolute;overflow:visible;transform:scaleY(0)}.nav-bar[data-controls-open=true] .nav-environment-guide{transform:scaleY(1)}.nav-logo-button:focus-visible{outline-offset:-4px;outline:2px solid}@media (hover:hover) and (pointer:fine){.nav-logo-button:hover{background:0 0}}.nav-status-group{pointer-events:auto;justify-content:flex-end;justify-self:end;align-items:center;gap:14px;min-width:0;display:flex;position:fixed;top:10px;right:35px}.nav-bar .status-pill,.nav-bar .save-status{color:#211d1aa3}.nav-bar .status-pill[data-tone=loading],.nav-bar .save-status[data-status=dirty]{color:#211d1a}.app-main{flex-direction:column;flex:1;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:24px 28px 40px;display:flex}.stage{z-index:0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.stage>canvas,.stage .object-viewer{max-width:100%;max-height:100%}.stage-veil{-webkit-backdrop-filter:blur(6px);font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.02em;background:#0a0b0d8c;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.stage-badge{border-radius:var(--radius-sm);background:var(--bg-elev-2);padding:4px 8px;position:absolute;top:10px;right:12px}@supports (color:color-mix(in lab, red, red)){.stage-badge{background:color-mix(in oklab, var(--bg-elev-2) 82%, transparent)}}.stage-badge{-webkit-backdrop-filter:blur(10px);border:1px solid var(--dye-gardenia)}@supports (color:color-mix(in lab, red, red)){.stage-badge{border:1px solid color-mix(in oklab, var(--dye-gardenia) 40%, var(--line-strong))}}.stage-badge{color:var(--fg);font-family:var(--font-mono);letter-spacing:.05em;pointer-events:none;font-size:10.5px}.mode-orb{appearance:none;background:var(--bg-elev-2);place-items:center;width:40px;height:40px;padding:0;display:grid}@supports (color:color-mix(in lab, red, red)){.mode-orb{background:color-mix(in oklab, var(--bg-elev-2) 28%, transparent)}}.mode-orb{-webkit-backdrop-filter:blur(8px);cursor:pointer;box-shadow:var(--shadow-dish);transition:transform var(--d-tap) var(--ease-motion), background var(--d-fast) var(--ease-motion);overflow:hidden}.mode-orb-canvas{width:100%;height:100%;display:block}@media (pointer:coarse){.mode-orb{width:44px;height:44px}}.mode-orb[data-mode=object]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mode-orb[data-mode=object]{border-color:color-mix(in oklab, var(--accent) 60%, var(--line-strong))}}.mode-orb:active{transform:scale(.94)}.mode-orb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.mode-orb:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mode-orb:hover{border-color:color-mix(in oklab, var(--accent) 55%, var(--line-strong))}}.mode-orb:hover{background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.mode-orb:hover{background:color-mix(in oklab, var(--bg-elev-2) 42%, transparent)}}}.object-viewer{width:100%;height:100%;position:relative}.object-canvas{position:absolute;inset:0}.mobile-tabs{display:none}@media (max-width:820px){:root{--room-controls-left:18px;--room-controls-top:max(8px, env(safe-area-inset-top,0px));--room-controls-width:min(224px, calc(100vw - 36px))}.nav-bar-inner{padding:var(--room-controls-top) 18px 0 var(--room-controls-left);gap:12px}.nav-brand{margin-left:0}.mobile-nav{z-index:28;padding:2px 6px calc(2px + env(safe-area-inset-bottom,0px));background:var(--bg-elev-2);gap:3px;display:flex;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in oklab, var(--bg-elev-2) 92%, transparent)}}.mobile-nav{-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-strong)}.mobile-nav-tab{appearance:none;border-radius:var(--radius-sm);height:44px;color:var(--fg-mute);font-family:var(--font-mono);letter-spacing:.05em;text-transform:lowercase;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--d-fast) var(--ease-motion), color var(--d-fast) var(--ease-motion);background:0 0;border:0;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex}.mobile-nav-tab[data-active=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.mobile-nav-tab[data-active=true]{background:color-mix(in oklab, var(--accent) 85%, white)}}.mobile-nav-tab[data-active=true]{color:#14110b;font-weight:600}.side-panel.side-panel-left,.side-panel.side-panel-right{top:auto;bottom:calc(48px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);width:100%;height:50vh;position:fixed;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.side-panel.side-panel-left,.side-panel.side-panel-right{background:color-mix(in oklab, var(--bg) 60%, transparent)}}.side-panel.side-panel-left,.side-panel.side-panel-right{-webkit-backdrop-filter:blur(24px);border:1px solid var(--line);visibility:visible;transition:transform .38s var(--ease-motion), visibility 0s linear;border-bottom:none}.side-panel.side-panel-left[data-mshow=false],.side-panel.side-panel-right[data-mshow=false]{visibility:hidden;pointer-events:none;transition:transform .38s var(--ease-motion), visibility 0s linear .38s;transform:translateY(100%)}.side-panel .side-panel-header{display:none}.side-panel-scroll{display:flex}.side-panel.side-panel-left[data-collapsed=true],.side-panel.side-panel-right[data-collapsed=true]{bottom:calc(48px + env(safe-area-inset-bottom,0px))}.status-pill{display:none}.nav-status-group{margin-left:auto}.save-status[data-status=saved]{display:none}.save-status-label{max-width:116px}}@media (min-width:821px){.mobile-nav{display:none}}.save-status{min-width:0;font-family:var(--font-mono);color:var(--fg-mute);white-space:nowrap;align-items:center;gap:7px;font-size:10.5px;display:inline-flex}.save-status-dot{background:var(--fg-dim);border-radius:50%;flex:none;width:6px;height:6px}.save-status-label{text-overflow:ellipsis;overflow:hidden}.save-status[data-status=dirty]{color:var(--fg)}.save-status[data-status=saving] .save-status-dot{background:var(--accent-cool);animation:1.4s ease-in-out infinite pulse}.save-status[data-status=saved] .save-status-dot{background:var(--ok)}.save-status[data-status=error]{color:var(--error)}.save-status[data-status=error] .save-status-dot{background:var(--error)}.save-status-retry{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.status-pill{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap;max-width:60vw;transition:color var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion);align-items:center;gap:8px;font-size:11px;display:inline-flex;overflow:hidden}.status-dot{background:var(--fg-dim);width:6px;height:6px;transition:background var(--d-fast) var(--ease-motion);border-radius:50%;flex-shrink:0}.status-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-pill[data-tone=loading]{color:var(--fg)}.status-pill[data-tone=loading] .status-dot{background:var(--accent-cool);animation:1.4s ease-in-out infinite pulse}.status-pill[data-tone=done]{color:var(--ok);border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.status-pill[data-tone=done]{border-color:color-mix(in oklab, var(--ok) 30%, var(--line-strong))}}.status-pill[data-tone=done] .status-dot{background:var(--ok)}.status-pill[data-tone=error]{color:var(--error);border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.status-pill[data-tone=error]{border-color:color-mix(in oklab, var(--error) 40%, var(--line-strong))}}.status-pill[data-tone=error] .status-dot{background:var(--error)}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.map-tile{opacity:1;transform:none}.glass:before{animation:none}}@media (prefers-reduced-transparency:reduce){.glass,.nav-bar,.btn-ghost,.status-pill,.lightbox-scrim,.dock{-webkit-backdrop-filter:none}.glass{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklab, var(--bg) 96%, transparent)}}.glass:before{display:none}.lightbox-scrim{background:#060608f0}.nav-logo-mark{-webkit-backdrop-filter:none;background:#171513}.nav-logo-mark:before{display:none}}@media (prefers-contrast:more){:root{--line:#ffffff2e;--line-strong:#ffffff59;--fg-mute:#e8e6e1d1}.nav-logo-mark{-webkit-backdrop-filter:none;filter:none;background:#000}.nav-logo-mark:before{display:none}}@media (forced-colors:active){.nav-logo-mark{-webkit-backdrop-filter:none;filter:none;background:canvastext}.nav-logo-mark:before{display:none}}.btn{appearance:none;font-family:var(--font-display);letter-spacing:.005em;border-radius:var(--radius-sm);cursor:pointer;color:var(--fg);transition:transform var(--d-tap) var(--ease-motion), background var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion), color var(--d-fast) var(--ease-motion);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:4px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#14110b;font-weight:600}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{background:color-mix(in oklab, var(--accent) 88%, white)}}}.btn-ghost{background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.btn-ghost{background:color-mix(in oklab, var(--bg-elev-2) 82%, transparent)}}.btn-ghost{border-color:var(--line-strong);-webkit-backdrop-filter:blur(8px)}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{background:color-mix(in oklab, var(--bg-elev-2) 96%, white)}}.btn-ghost:hover{border-color:var(--line-strong)}@supports (color:color-mix(in lab, red, red)){.btn-ghost:hover{border-color:color-mix(in oklab, var(--line-strong) 60%, white)}}}.btn-ghost[data-pressed=true]{background:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.btn-ghost[data-pressed=true]{background:color-mix(in oklab, var(--cat,var(--accent)) 22%, var(--bg-elev-2))}}.btn-ghost[data-pressed=true]{border-color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.btn-ghost[data-pressed=true]{border-color:color-mix(in oklab, var(--cat,var(--accent)) 55%, transparent)}}.btn-ghost[data-pressed=true]{color:var(--fg)}.btn[disabled],.btn[data-hidden=true]{opacity:.5;cursor:not-allowed}@media (pointer:coarse){.btn{min-height:44px}}.pixel-play{z-index:-1;border-radius:inherit;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pixel-play-over{z-index:1}.btn-ghost,.tx-mode-picker,.weave-picker{isolation:isolate;position:relative}.side-panel{z-index:25;border-radius:var(--radius-lg);width:320px;transition:width .28s var(--ease-motion), transform .28s var(--ease-motion);flex-direction:column;display:flex;position:fixed;top:86px;bottom:16px;overflow:hidden}.side-panel-left{background:var(--bg);left:16px}@supports (color:color-mix(in lab, red, red)){.side-panel-left{background:color-mix(in oklab, var(--bg) 50%, transparent)}}.side-panel-left{box-shadow:var(--shadow-raised)}.side-panel-right{text-shadow:var(--shadow-text);right:16px}.side-panel[data-collapsed=true]{bottom:auto}.side-panel-header{z-index:3;border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:44px;padding:12px 12px 12px 14px;display:flex;position:relative}.side-panel-right .side-panel-header{border-bottom:none;padding:12px 14px 12px 12px}.side-panel-heading{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.side-panel-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);opacity:1;transition:opacity .18s var(--ease-motion);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:10.5px;overflow:hidden}.side-panel-tabs{flex:1;gap:14px;min-width:0;display:flex}.side-panel-tab{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);white-space:nowrap;transition:color .18s var(--ease-motion);background:0 0;border:none;padding:0;font-size:10.5px}.side-panel-tab:hover{color:var(--fg-mute)}.side-panel-tab[data-active=true]{color:var(--fg)}.panel-tab-viewport{z-index:2;flex:1;min-height:0;position:relative;overflow:hidden}.panel-tab-track{height:100%;transition:transform .46s var(--ease-motion);grid-template-columns:100% 100%;display:grid;transform:translate(0)}.panel-tab-track[data-tab=swatches]{transform:translate(-100%)}.panel-tab-pane{height:100%}@media (prefers-reduced-motion:reduce){.panel-tab-track{transition-duration:0s}}.side-panel-toggle{appearance:none;border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--fg-mute);transition:background var(--d-fast) var(--ease-motion), color var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.side-panel-toggle:hover{color:var(--fg);background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.side-panel-toggle:hover{background:color-mix(in oklab, var(--bg-elev-2) 60%, transparent)}}.side-panel-toggle:hover{border-color:var(--line)}}.side-panel-toggle:active{transform:scale(.94)}.side-panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.side-panel-toggle .chevron{width:14px;height:14px;filter:drop-shadow(var(--shadow-text));transition:transform var(--d-med) var(--ease-motion);background:currentColor;display:block;-webkit-mask-image:url(/icons/arrow-down.svg);mask-image:url(/icons/arrow-down.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.side-panel[data-collapsed=true] .chevron{transform:rotate(180deg)}.side-panel-scroll{z-index:2;opacity:1;min-height:0;transition:opacity .22s var(--ease-motion);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex:1;gap:18px;padding:14px 14px 18px;display:flex;position:relative;overflow:hidden auto}.side-panel[data-collapsed=true] .side-panel-scroll{display:none}.panel-section{flex-direction:column;gap:8px;display:flex}.panel-section[hidden],.fine-tune[hidden]{display:none}.instrument-action-row{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;display:flex}.probe-strip{border-top:1px solid var(--line);margin-top:8px;padding-top:7px}.material-draft-tools{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);flex-direction:column;gap:4px;padding:5px;display:flex}@supports (color:color-mix(in lab, red, red)){.material-draft-tools{background:color-mix(in oklab, var(--bg-elev-2) 50%, transparent)}}.material-draft-tools .instrument-row-label{padding:1px 2px 2px}.material-draft-tools .draft-strip{grid-template-columns:1.5fr .8fr .8fr;width:100%;display:grid}.material-draft-tools .instrument-button{min-width:0}.material-draft-tools .instrument-button:nth-child(4){grid-column:span 1}.material-draft-tools .instrument-button:nth-child(5){grid-column:span 2}.material-draft-tools[data-dirty=true]{border-color:var(--dye-gardenia)}@supports (color:color-mix(in lab, red, red)){.material-draft-tools[data-dirty=true]{border-color:color-mix(in oklab, var(--dye-gardenia) 48%, var(--line))}}.material-draft-tools[data-dirty=true]>.instrument-row-label{color:var(--dye-gardenia)}.instrument-row-label{color:var(--fg-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:6px 4px 0 2px;font-size:8.5px;line-height:1}.instrument-button{appearance:none;border-radius:var(--radius-sm);min-height:28px;color:var(--fg-mute);font-family:var(--font-mono);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:color var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);background:0 0;border:1px solid #0000;padding:5px 7px;font-size:9.5px;line-height:1}.instrument-button[data-active=true]{color:var(--fg);border-color:var(--line-strong);background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.instrument-button[data-active=true]{background:color-mix(in oklab, var(--bg-elev-2) 80%, transparent)}}.instrument-button:active:not(:disabled){transform:scale(.96)}.instrument-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.instrument-button:disabled{opacity:.36;cursor:default}.instrument-reset,.instrument-redo{color:var(--fg-dim)}.instrument-keep{border-color:var(--dye-gardenia)}@supports (color:color-mix(in lab, red, red)){.instrument-keep{border-color:color-mix(in oklab, var(--dye-gardenia) 42%, transparent)}}.instrument-keep{color:var(--fg)}.material-draft-tools[data-dirty=false] .instrument-keep{border-color:#0000}@media (hover:hover) and (pointer:fine){.instrument-button:hover:not(:disabled){color:var(--fg);background:var(--bg-elev-2)}@supports (color:color-mix(in lab, red, red)){.instrument-button:hover:not(:disabled){background:color-mix(in oklab, var(--bg-elev-2) 72%, transparent)}}}@media (pointer:coarse){.instrument-button{min-width:44px;min-height:44px}}.instrument-surface{gap:12px}.instrument-surface[inert],.fine-tune[inert]{opacity:.5}.instrument-control-label,.instrument-pad-title{font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-mute);justify-content:space-between;gap:8px;font-size:9.5px;display:flex}.construction-control{flex-direction:column;gap:5px;display:flex}.construction-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.construction-option{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elev-2);flex-direction:column;align-items:center;gap:3px;min-width:0;padding:7px 4px 5px;display:flex}@supports (color:color-mix(in lab, red, red)){.construction-option{background:color-mix(in oklab, var(--bg-elev-2) 68%, transparent)}}.construction-option{color:var(--fg-dim);font-family:var(--font-mono);cursor:pointer;box-shadow:var(--shadow-dish);transition:color var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);font-size:9px}.construction-option .weave-diagram{width:30px;height:30px}.construction-option[data-active=true]{color:var(--cat,var(--accent));border-color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.construction-option[data-active=true]{border-color:color-mix(in oklab, var(--cat,var(--accent)) 64%, transparent)}}.construction-option[data-active=true]{background:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.construction-option[data-active=true]{background:color-mix(in oklab, var(--cat,var(--accent)) 10%, var(--bg-elev-2))}}.construction-option:active{transform:scale(.97)}.construction-option:focus-visible,.instrument-pad-surface:focus-visible{outline:2px solid var(--cat,var(--accent));outline-offset:2px}.instrument-pad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.instrument-pad{flex-direction:column;gap:4px;min-width:0;display:flex}.instrument-pad-title{align-items:baseline}.instrument-pad-surface{cursor:crosshair;touch-action:none;background:linear-gradient(#362f2a1f,#362f2a1f) 50% 0/1px 100% no-repeat,linear-gradient(90deg,#362f2a1f,#362f2a1f) 0/100% 1px no-repeat,#ffffffeb;border:1px solid #362f2a33;border-radius:0;height:112px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 1px 3px #2d272314}.instrument-pad-surface:after{content:"";z-index:0;background:radial-gradient(ellipse at 50% 50%, var(--cat,var(--accent)) 0%, var(--cat,var(--accent)) 34%, transparent 72%);position:absolute;inset:10%}@supports (color:color-mix(in lab, red, red)){.instrument-pad-surface:after{background:radial-gradient(ellipse at 50% 50%, color-mix(in oklab, var(--cat,var(--accent)) 72%, white 6%) 0%, color-mix(in oklab, var(--cat,var(--accent)) 30%, transparent) 34%, transparent 72%)}}.instrument-pad-surface:after{filter:blur(14px);opacity:.22;pointer-events:none;transition:opacity var(--d-med) var(--ease-motion), transform var(--d-med) var(--ease-motion);transform:scale(.88)}.instrument-pad-surface[data-active=true]:after{opacity:.9;transform:scale(1.08)}.instrument-pad-axis{z-index:1;font-family:var(--font-mono);letter-spacing:.03em;color:#2b26229e;pointer-events:none;font-size:7.5px;line-height:1;position:absolute}.instrument-pad-axis-top,.instrument-pad-axis-bottom{left:50%;transform:translate(-50%)}.instrument-pad-axis-top{top:6px}.instrument-pad-axis-bottom{bottom:6px}.instrument-pad-axis-left{top:calc(50% + 6px);left:6px}.instrument-pad-axis-right{top:calc(50% + 6px);right:6px}.instrument-pad-handle{z-index:2;box-sizing:border-box;background:var(--cat,var(--accent));width:8px;height:8px;box-shadow:0 0 0 2px #fffffff0, 0 0 0 3px var(--cat,var(--accent)), 0 2px 4px #2c252133;border:0;border-radius:0;position:absolute}@supports (color:color-mix(in lab, red, red)){.instrument-pad-handle{box-shadow:0 0 0 2px #fffffff0, 0 0 0 3px color-mix(in oklab, var(--cat,var(--accent)) 46%, transparent), 0 2px 4px #2c252133}}.instrument-pad-handle{pointer-events:none;transition:box-shadow var(--d-fast) var(--ease-motion);transform:translate(-50%,50%)}.instrument-pad-surface:focus-visible .instrument-pad-handle{box-shadow:0 0 0 2px #fffffff5, 0 0 0 5px var(--cat,var(--accent)), 0 2px 4px #2c252133}@supports (color:color-mix(in lab, red, red)){.instrument-pad-surface:focus-visible .instrument-pad-handle{box-shadow:0 0 0 2px #fffffff5, 0 0 0 5px color-mix(in oklab, var(--cat,var(--accent)) 34%, transparent), 0 2px 4px #2c252133}}.instrument-sliders{flex-direction:column;gap:7px;display:flex}.fine-tune{border-top:1px solid var(--line);padding-top:8px}.fine-tune>summary{color:var(--fg-mute);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;list-style:none;display:flex}.fine-tune>summary::-webkit-details-marker{display:none}.fine-tune>summary:before{content:"+";width:12px;color:var(--cat,var(--accent))}.fine-tune[open]>summary:before{content:"−"}.fine-tune>summary span:first-child{margin-right:auto}.fine-tune>summary span:last-child:not(:first-child){color:var(--fg-dim);font-size:8.5px}@media (pointer:coarse){.side-panel-toggle,.fine-tune>summary{min-width:44px;min-height:44px}}.fine-tune-sections{flex-direction:column;gap:18px;padding-top:18px;display:flex}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.section-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-light);border-bottom:1px solid var(--line);align-items:center;gap:6px;margin-bottom:2px;padding-bottom:2px;font-size:10px;font-weight:600;display:flex}.cache-count{border-radius:var(--radius-full);background:var(--bg-elev-2);padding:1px 6px}@supports (color:color-mix(in lab, red, red)){.cache-count{background:color-mix(in oklab, var(--bg-elev-2) 82%, transparent)}}.cache-count{border:1px solid var(--line-strong);color:var(--fg-mute);letter-spacing:.04em;margin-left:auto;font-size:9px}.dock-empty{font-family:var(--font-mono);color:var(--fg-dim);margin:0;font-size:11px}.dock-error{padding:4px 8px;font-size:10.5px}.weave-picker{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.weave-tile{appearance:none;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-elev-2);flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}@supports (color:color-mix(in lab, red, red)){.weave-tile{background:color-mix(in oklab, var(--bg-elev-2) 70%, transparent)}}.weave-tile{color:var(--fg-mute);cursor:pointer;transition:border-color var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion), color var(--d-fast) var(--ease-motion)}@media (hover:hover) and (pointer:fine){.weave-tile:hover{border-color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.weave-tile:hover{border-color:color-mix(in oklab, var(--cat,var(--accent)) 45%, transparent)}}.weave-tile:hover{color:var(--fg)}}.weave-tile[data-active=true]{border-color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.weave-tile[data-active=true]{border-color:color-mix(in oklab, var(--cat,var(--accent)) 70%, transparent)}}.weave-tile[data-active=true]{background:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.weave-tile[data-active=true]{background:color-mix(in oklab, var(--cat,var(--accent)) 12%, var(--bg-elev-2))}}.weave-tile[data-active=true]{color:var(--fg)}.weave-diagram{width:40px;height:40px;display:block}.weave-tile-caption{font-family:var(--font-mono);letter-spacing:.04em;color:inherit;font-size:9.5px}.perf-meters{grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px;display:grid}.perf-meter{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-elev-2);flex-direction:column;align-items:center;gap:1px;padding:6px 2px;display:flex}@supports (color:color-mix(in lab, red, red)){.perf-meter{background:color-mix(in oklab, var(--bg-elev-2) 70%, transparent)}}.perf-meter-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg);font-size:14px;line-height:1.1}.perf-meter-val[data-warn=true]{color:var(--error)}.perf-meter-unit{font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg-dim);text-transform:uppercase;font-size:8.5px}.perf-auto{justify-content:center;width:100%;margin-bottom:8px}.export-btn{justify-content:center;width:100%;margin-top:8px}.knob-grid{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;grid-template-columns:1fr 1fr;gap:6px 12px;padding-right:2px;display:grid;overflow-y:auto}.knob-stack{flex-direction:column;gap:6px;display:flex}.fabric-picker{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.fabric-picker-label{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.03em;flex:none;font-size:10px}.fabric-picker-select{font-family:var(--font-mono);color:var(--fg);border:1px solid var(--line-strong);border-radius:var(--radius-xs);cursor:pointer;background:0 0;flex:auto;min-width:0;padding:3px 6px;font-size:11px}.fabric-picker-select:hover{border-color:var(--fg-mute)}.fabric-picker-select:focus{border-color:var(--fg);outline:none}.slider{flex-direction:column;gap:2px;display:flex}.slider-label{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.03em;justify-content:space-between;align-items:baseline;font-size:10px;display:flex}.slider-value{font-variant-numeric:tabular-nums;color:var(--fg)}.slider-name{align-items:center;gap:5px;display:inline-flex}.info-dot{opacity:.55;cursor:help;width:13px;height:13px;transition:opacity .14s var(--ease-motion);place-items:center;display:inline-grid;position:relative}.info-dot:hover,.info-dot:focus-visible{opacity:1;outline:none}.info-icon{width:10px;height:10px;filter:drop-shadow(var(--shadow-text));background:currentColor;display:block;-webkit-mask-image:url(/icons/info.svg);mask-image:url(/icons/info.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.info-bubble{color:#d9d7d2;width:max-content;max-width:230px;font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;white-space:normal;pointer-events:none;z-index:300;transform-origin:bottom;opacity:0;transition:opacity .22s var(--ease-motion), transform .22s var(--ease-motion);background:#3d4046;border:none;border-radius:0;padding:6px 9px;font-size:9.5px;line-height:1.45;position:fixed;transform:translate(-50%,calc(-100% - 4px))scale(.94)}.info-bubble[data-open=true]{opacity:1;transform:translate(-50%,calc(-100% - 10px))scale(1)}.section-label .info-dot{margin-left:auto}.slider input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:14px}@media (pointer:coarse){.tx-mode-tab,.slider input[type=range]{min-height:44px}.info-dot:before{content:"";position:absolute;inset:-15.5px}}.slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #ffffff73, var(--cat,var(--accent)));border-radius:var(--radius-full);height:3px}@supports (color:lab(0% 0 0)){.slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, lab(100% -.0000298023 .0000119209/.45), var(--cat,var(--accent)))}}.slider input[type=range]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;transition:transform var(--d-tap) var(--ease-motion);background:#fff;border:0;border-radius:50%;margin-top:-3.5px}.slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}.slider input[type=range]::-moz-range-track{background:linear-gradient(90deg, #ffffff73, var(--cat,var(--accent)));border-radius:var(--radius-full);height:3px}@supports (color:lab(0% 0 0)){.slider input[type=range]::-moz-range-track{background:linear-gradient(90deg, lab(100% -.0000298023 .0000119209/.45), var(--cat,var(--accent)))}}.slider input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:10px;height:10px}.knob-toggles{flex-wrap:wrap;gap:6px;display:flex}.tx-mode-picker{--pixel-picker-ink:#2b2622a3;--pixel-picker-line:#362f2a2e;border:1px solid var(--pixel-picker-line);transition:background var(--d-fast) var(--ease-motion), border-color var(--d-fast) var(--ease-motion);background:#ffffffe6;border-radius:0;gap:0;padding:0;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 1px 3px #2d272314}@media (hover:hover) and (pointer:fine){.tx-mode-picker:hover{background:#fffffffa;border-color:#362f2a42}}.tx-mode-picker-wide{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.tuning-view-picker{--cat:var(--dye-indigo);-webkit-backdrop-filter:blur(12px);flex:none;grid-template-columns:repeat(2,minmax(0,1fr))}.tuning-view-picker-header{width:148px;display:grid}.tuning-view-picker-sheet{width:148px;margin-left:auto;display:grid}.tuning-sheet-heading{z-index:4;align-items:center;gap:10px;display:flex;position:sticky;top:0}@media (min-width:821px){.tuning-sheet-heading{display:none}}.tx-mode-tab{appearance:none;min-width:0;color:var(--pixel-picker-ink);font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;cursor:pointer;transition:background var(--d-fast) var(--ease-motion), color var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);text-align:center;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;display:flex}.tx-mode-tab+.tx-mode-tab{border-left:1px solid var(--pixel-picker-line)}.tx-mode-tab:active{transform:scale(.97)}.tx-mode-tab[data-active=true]{color:var(--cat,var(--accent));font-weight:600}.tx-mode-tab:focus-visible{outline:2px solid var(--cat,#58504a);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.tx-mode-tab:not([data-active=true]):hover{color:#231f1ceb}}.btn-toggle{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;padding:5px 10px}.mini-drop{appearance:none;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:border-color var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);background:var(--bg-elev-2);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.mini-drop{background:color-mix(in oklab, var(--bg-elev-2) 70%, transparent)}}.mini-drop{color:inherit;font:inherit;text-align:left}.mini-drop[data-over=true]{border-color:var(--cat,var(--accent));background:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.mini-drop[data-over=true]{background:color-mix(in oklab, var(--cat,var(--accent)) 10%, var(--bg-elev-2))}}.mini-drop:active{transform:scale(.99)}.mini-drop-title{color:var(--fg);font-size:12.5px;font-weight:500}.mini-drop-hint{font-family:var(--font-mono);color:var(--fg-dim);letter-spacing:.02em;font-size:10.5px}.prompt-field{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-elev-2);align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.prompt-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);flex-shrink:0;font-size:10px}.prompt-input{min-width:0;color:var(--fg);font-family:var(--font-mono);background:0 0;border:0;outline:none;flex:1;padding:7px 8px;font-size:12.5px}.prompt-input::placeholder{color:var(--fg-dim)}.error-line{color:var(--error);font-family:var(--font-mono)}.prompt-field-compact{padding:2px 4px 2px 10px}.prompt-field-compact .prompt-input{min-width:0;padding:5px 6px;font-size:11.5px}.prompt-field-compact .prompt-label{font-size:9.5px}.insert-submit{justify-content:center;width:100%;margin-top:2px}@media (pointer:coarse){.mini-drop,.prompt-input{min-height:44px}}.preview-strip{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.preview-chip{min-width:0}.preview-chip-button{appearance:none;width:100%;min-width:0;color:inherit;text-align:left;border-radius:var(--radius-xs);cursor:pointer;transition:border-color var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion);background:0 0;border:1px solid #0000;flex-direction:column;gap:3px;padding:3px;display:flex}.preview-chip-button:hover{border-color:var(--line-strong)}.preview-chip-button[data-active=true]{border-color:var(--cat)}@supports (color:color-mix(in lab, red, red)){.preview-chip-button[data-active=true]{border-color:color-mix(in oklab, var(--cat) 60%, var(--line-strong))}}.preview-chip-button[data-active=true]{background:var(--cat)}@supports (color:color-mix(in lab, red, red)){.preview-chip-button[data-active=true]{background:color-mix(in oklab, var(--cat) 8%, transparent)}}.preview-chip-button:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.preview-chip-thumb{aspect-ratio:1;border:1px solid var(--line);background:repeating-conic-gradient(#ffffff08 0% 25%,#0000 0% 50%) 0 0/10px 10px,#0a0b0d;overflow:hidden}.preview-chip-thumb img{object-fit:cover;width:100%;height:100%;display:block}.preview-chip-label{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.map-studio-backdrop{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020305c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.map-studio{width:min(1180px,100%);height:min(760px,100dvh - 48px);min-height:520px;color:var(--fg);background:radial-gradient(circle at 22% 0%, var(--cat), transparent 38%), var(--bg-elev);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.map-studio{background:radial-gradient(circle at 22% 0%, color-mix(in oklab, var(--cat) 9%, transparent), transparent 38%), var(--bg-elev)}}.map-studio{border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 28px 100px #0000009e}.map-studio-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 36px;align-items:center;gap:24px;min-height:72px;padding:14px 18px 13px 20px;display:grid}.map-studio-kicker,.map-studio-header h2,.map-studio-source,.map-studio-figure figcaption,.map-studio-control-label,.map-studio-footer p{font-family:var(--font-mono);margin:0}.map-studio-kicker{color:var(--fg-dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:9px}.map-studio-header h2{letter-spacing:.02em;font-size:16px;font-weight:500}.map-studio-source{color:var(--fg-dim);letter-spacing:.03em;flex-direction:column;align-items:flex-end;gap:3px;font-size:9px;display:flex}.map-studio-source span:first-child{max-width:260px;color:var(--fg-mute);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-studio-close{appearance:none;width:34px;height:34px;color:var(--fg-dim);font:21px/1 var(--font-mono);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:1px solid #0000;padding:0}.map-studio-close:hover,.map-studio-close:focus-visible{color:var(--fg);border-color:var(--line);background:#ffffff0d;outline:none}.map-studio-workspace{grid-template-columns:minmax(0,1fr) 264px;min-height:0;display:grid}.map-studio-images{background:#00000024;grid-template-columns:1fr 1fr;gap:12px;min-width:0;min-height:0;padding:18px;display:grid}.map-studio-figure{grid-template-rows:auto minmax(0,1fr);gap:7px;min-width:0;min-height:0;margin:0;display:grid}.map-studio-figure figcaption{color:var(--fg-dim);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.map-studio-figure[data-output] figcaption{color:var(--cat)}@supports (color:color-mix(in lab, red, red)){.map-studio-figure[data-output] figcaption{color:color-mix(in oklab, var(--cat) 68%, var(--fg))}}.map-studio-canvas-frame{border:1px solid var(--line);background:repeating-conic-gradient(#ffffff07 0% 25%,#0000 0% 50%) 0 0/14px 14px,#08090b;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.map-studio-figure[data-output] .map-studio-canvas-frame{border-color:var(--cat)}@supports (color:color-mix(in lab, red, red)){.map-studio-figure[data-output] .map-studio-canvas-frame{border-color:color-mix(in oklab, var(--cat) 42%, var(--line))}}.map-studio-canvas-frame canvas{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.map-studio-controls{background:var(--bg-elev);min-height:0;padding:18px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.map-studio-controls{background:color-mix(in oklab, var(--bg-elev) 93%, black)}}.map-studio-controls{border-left:1px solid var(--line)}.map-studio-control-section{border-bottom:1px solid var(--line);margin-bottom:17px;padding-bottom:17px}.map-studio-control-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.map-studio-control-label{color:var(--fg-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-size:9px;display:block}.map-studio-recipes{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.map-studio-recipes button,.map-studio-toggle{appearance:none;min-width:0;color:var(--fg-mute);font:9px/1.2 var(--font-mono);border:1px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;background:0 0;padding:7px 6px}.map-studio-recipes button:hover,.map-studio-recipes button:focus-visible,.map-studio-recipes button[data-active=true],.map-studio-toggle:hover,.map-studio-toggle:focus-visible,.map-studio-toggle[data-active=true]{color:var(--fg);background:var(--cat)}@supports (color:color-mix(in lab, red, red)){.map-studio-recipes button:hover,.map-studio-recipes button:focus-visible,.map-studio-recipes button[data-active=true],.map-studio-toggle:hover,.map-studio-toggle:focus-visible,.map-studio-toggle[data-active=true]{background:color-mix(in oklab, var(--cat) 10%, transparent)}}.map-studio-recipes button:hover,.map-studio-recipes button:focus-visible,.map-studio-recipes button[data-active=true],.map-studio-toggle:hover,.map-studio-toggle:focus-visible,.map-studio-toggle[data-active=true]{border-color:var(--cat)}@supports (color:color-mix(in lab, red, red)){.map-studio-recipes button:hover,.map-studio-recipes button:focus-visible,.map-studio-recipes button[data-active=true],.map-studio-toggle:hover,.map-studio-toggle:focus-visible,.map-studio-toggle[data-active=true]{border-color:color-mix(in oklab, var(--cat) 52%, var(--line))}}.map-studio-recipes button:hover,.map-studio-recipes button:focus-visible,.map-studio-recipes button[data-active=true],.map-studio-toggle:hover,.map-studio-toggle:focus-visible,.map-studio-toggle[data-active=true]{outline:none}.map-studio-sliders{flex-direction:column;gap:13px;display:flex}.map-studio-toggle{width:100%;padding-block:8px}.map-studio-source-action{grid-template-columns:1fr 1fr;gap:6px;display:grid}.map-studio-source-action .btn{text-align:center;cursor:pointer;justify-content:center;width:100%;min-width:0;padding-inline:7px}.map-studio-footer{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;min-height:66px;padding:12px 18px 12px 20px;display:grid}.map-studio-footer p{color:var(--fg-dim);letter-spacing:.03em;font-size:9px;line-height:1.5}.map-studio-footer .map-studio-error{color:var(--error)}.map-studio-save{justify-content:center;min-width:168px}@media (max-width:660px){.map-studio-backdrop{padding:10px}.map-studio{height:calc(100dvh - 20px);min-height:0}.map-studio-workspace{grid-template-columns:1fr;overflow-y:auto}.map-studio-images{min-height:360px}.map-studio-controls{border-top:1px solid var(--line);border-left:0;overflow:visible}}@media (max-height:600px){.map-studio-backdrop{padding:8px}.map-studio{height:calc(100dvh - 16px);min-height:0}}@media (pointer:coarse){.map-studio-close{width:44px;height:44px}.map-studio-recipes button,.map-studio-toggle,.map-studio-source-action .btn,.map-studio-footer .btn{min-height:44px}}@media (max-width:560px){.map-studio-header{grid-template-columns:1fr 34px}.map-studio-source{display:none}.map-studio-images{grid-template-columns:1fr;min-height:700px}.map-studio-footer{grid-template-columns:1fr}.map-studio-save{width:100%}}.export-note{font-family:var(--font-mono);letter-spacing:.02em;color:var(--fg-dim);margin:2px 0 0;font-size:9px;line-height:1.5}.swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.swatch{flex-direction:column;gap:3px;min-width:0;display:flex;position:relative}.swatch-face{appearance:none;aspect-ratio:1;border:1px solid var(--line-strong);background:var(--bg-elev-2);cursor:pointer;touch-action:manipulation;width:100%;transition:border-color var(--d-fast) var(--ease-motion), transform var(--d-tap) var(--ease-motion);padding:0;display:block;position:relative;overflow:hidden}.swatch:has(.swatch-rename) .swatch-face:active{transform:none}.swatch-face img,.swatch-blank{object-fit:cover;width:100%;height:100%;display:block}.material-thumbnail{display:block;position:absolute;inset:0}.material-thumbnail img{opacity:1}.swatch-blank{background:repeating-conic-gradient(var(--bg-elev-1) 0% 25%, transparent 0% 50%) 0 0 / 12px 12px}.swatch-face:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.swatch-face:hover{border-color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.swatch-face:hover{border-color:color-mix(in oklab, var(--cat,var(--accent)) 55%, transparent)}}}.swatch-face[data-active=true]{border-color:var(--cat,var(--accent));box-shadow:0 0 0 1px var(--cat,var(--accent))}.swatch-stamped .swatch-face{-webkit-mask-image:var(--stamp-mask);-webkit-mask-image:var(--stamp-mask);-webkit-mask-image:var(--stamp-mask);mask-image:var(--stamp-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-image:var(--stamp-mask);border:none;-webkit-mask-size:100% 100%}.swatch-stamped .swatch-face[data-active=true]{box-shadow:none}.swatch-face[data-active=true]+.swatch-label{color:var(--cat,var(--accent))}.swatch-rename{border-radius:var(--radius-xs);background:var(--bg-elev-2);border:none;width:100%;padding:0}@supports (color:color-mix(in lab, red, red)){.swatch-rename{background:color-mix(in oklab, var(--bg-elev-2) 80%, transparent)}}.swatch-rename{color:var(--fg);font-family:var(--font-mono);letter-spacing:.04em;box-shadow:none;outline:none;font-size:9.5px}.swatch-label{font-family:var(--font-mono);color:var(--fg-mute);letter-spacing:.04em;text-align:left;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:9.5px;overflow:hidden}.swatch-del,.swatch-copy{appearance:none;border-radius:var(--radius-sm);width:18px;height:18px;font-family:var(--font-mono);color:#fff;cursor:pointer;opacity:0;transition:opacity var(--d-fast) var(--ease-motion), background var(--d-fast) var(--ease-motion);background:#00000080;border:0;font-size:11px;line-height:1;position:absolute;right:3px}.swatch-del{top:3px}.swatch-copy{bottom:18px}.swatch:hover .swatch-del,.swatch-del:focus-visible,.swatch-del[data-armed=true],.swatch:hover .swatch-copy,.swatch-copy:focus-visible{opacity:1}@media (hover:none){.swatch-copy{opacity:.72}}.swatch-del[data-armed=true]{background:var(--error)}.swatch-touch-order{display:none}@media (pointer:coarse){.swatch-del,.swatch-copy{width:44px;height:44px}.swatch-del{opacity:.72}.swatch-touch-order{grid-template-columns:1fr 1fr;gap:3px;display:grid}.swatch-touch-order button{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);min-width:0;min-height:44px}@supports (color:color-mix(in lab, red, red)){.swatch-touch-order button{background:color-mix(in oklab, var(--bg-elev-2) 72%, transparent)}}.swatch-touch-order button{color:var(--fg-mute);font:13px/1 var(--font-mono);touch-action:manipulation}.swatch-touch-order button:disabled{opacity:.3}}@media (max-width:360px) and (pointer:coarse){.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.swatch-grip{appearance:none;z-index:2;border-radius:var(--radius-sm);color:#fff;cursor:grab;opacity:0;width:18px;height:18px;transition:opacity var(--d-fast) var(--ease-motion);background:#00000080;border:0;place-items:center;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;top:3px;left:3px}.swatch-grip:active{cursor:grabbing}.swatch:hover .swatch-grip,.swatch-grip:focus-visible{opacity:1}.swatch[data-drop=true]:before{content:"";border-radius:var(--radius-xs);background:var(--cat,var(--accent));width:3px;box-shadow:0 0 6px var(--cat,var(--accent));position:absolute;top:4%;bottom:4%;left:-4.5px}@supports (color:color-mix(in lab, red, red)){.swatch[data-drop=true]:before{box-shadow:0 0 6px color-mix(in oklab, var(--cat,var(--accent)) 60%, transparent)}}.swatch[data-drop=true]:before{pointer-events:none;z-index:3}.swatch-grid[data-cloning=true]{outline:1px dashed var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.swatch-grid[data-cloning=true]{outline:1px dashed color-mix(in oklab, var(--cat,var(--accent)) 40%, transparent)}}.swatch-grid[data-cloning=true]{outline-offset:4px}.collection-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.collection-actions .btn{justify-content:center}.collection-load{cursor:pointer;place-items:center;display:grid}.material-load{grid-column:1/-1}:root{--room-cabinet-top:4.6875dvh;--room-cabinet-height:81.1298dvh;--room-cabinet-sheet-height:33.333dvh;--room-controls-bottom:calc(100dvh - var(--room-cabinet-top) - var(--room-cabinet-height))}.room-frame{--room-bake-active:0;--room-ink:#211d1a;--room-line:#352b231b;--room-wall-top:#faf9f4;--room-wall-mid:#e8e5dd;--room-wall-bottom:#d4d2c8;--room-side-top:#f1f0e9;--room-side-mid:#dedfd7;--room-side-bottom:#c6cbc6;--room-floor-near:#968576;--room-floor-mid:#b09e8b;--room-floor-far:#cec1ad;--room-cabinet-left:66.4844%;--room-cabinet-width:30.7813%;--room-wall-corner-x:71.9141%;--room-wall-corner-y:66.6466%;--room-floor-right-y:86.3092%;--room-window-corner-gap:min(8.32031vw, 12.8005dvh);--room-window-width:105.769dvh;--room-window-height:49.8869dvh;--room-window-right-bottom:84.5%;--room-window-silhouette:var(--room-floor-far)}@supports (color:color-mix(in lab, red, red)){.room-frame{--room-window-silhouette:color-mix(in oklab, var(--room-floor-far) 72%, #c2c9c6)}}.room-frame{--room-window-color:#e5e0cf;--room-window-glow:.72;--room-window-x:50%;--room-window-y:38%;--room-night-opacity:0;--room-twilight-opacity:0;--room-beam-angle:42deg;--room-beam-reach:.5;--room-beam-opacity:.32;--room-dapple-x:0px;--room-dapple-y:0px;--room-dapple-rotation:-8deg;--room-dapple-scale-x:1;--room-dapple-scale-y:1;--room-dapple-opacity:.52;--room-dapple-softness:.45;--room-dapple-color:#f0d99d;--room-transmitted-color:#c98472;--room-transmitted-amount:.2;isolation:isolate;width:100%;height:100dvh;min-height:420px;color:var(--room-ink);background:var(--room-wall-mid);position:relative;overflow:hidden}.room-frame__architecture,.room-frame__ground-light,.room-frame__foreground-line{pointer-events:none;position:absolute;inset:0}.room-frame__architecture{z-index:0;overflow:hidden}.room-frame__surface-cache{pointer-events:none;display:none;position:absolute;top:0;left:0}.room-frame[data-room-surface-cached=true] .room-frame__planes{visibility:hidden}.room-frame[data-room-surface-cached=true] .room-frame__surface-cache{display:block}.room-frame__architecture:before,.room-frame__architecture:after{content:"";z-index:1;pointer-events:none;mix-blend-mode:multiply;will-change:opacity;position:absolute;inset:0}.room-frame__architecture:before{opacity:var(--room-twilight-opacity);background:linear-gradient(#d9c0d6,#f4b384 74%,#eab687)}.room-frame__architecture:after{opacity:var(--room-night-opacity);background:linear-gradient(#31445f,#495575 64%,#35455d)}.room-frame__planes,.room-frame__guides{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.room-frame__plane--back{fill:url(#room-back-wall)}.room-frame__plane--side{fill:url(#room-side-wall)}.room-frame__plane--floor{fill:url(#room-floor-plane);stroke:var(--room-floor-far)}@supports (color:color-mix(in lab, red, red)){.room-frame__plane--floor{stroke:color-mix(in oklab, var(--room-floor-far) 68%, white)}}.room-frame__plane--floor{stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill}.room-frame__surface-texture{pointer-events:none;filter:none;transform:none}.room-frame__surface-texture--walls{opacity:.32;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(#0000 0%,#00000038 12%,#000000b8 34%,#000 54%);mask-image:linear-gradient(#0000 0%,#00000038 12%,#000000b8 34%,#000 54%)}.room-frame__surface-texture--floor{opacity:.45;mix-blend-mode:multiply}.room-frame__sunlight-shade{mix-blend-mode:multiply;opacity:0;pointer-events:none;will-change:opacity;background:linear-gradient(144deg,#dcc8aa00,#c1a2767a 22%,#a8834ddb 62%,#775936);position:absolute;inset:0}.room-frame[data-room-sunlight-tone=sunlit] .room-frame__sunlight-shade{opacity:calc(var(--room-bake-active) * min(1, var(--room-dapple-opacity) * 2) * .34)}.room-frame__stop--wall-light{stop-color:var(--room-window-color)}@supports (color:color-mix(in lab, red, red)){.room-frame__stop--wall-light{stop-color:color-mix(in oklab, var(--room-window-color) 20%, var(--room-wall-top))}}.room-frame__stop--wall-mid{stop-color:var(--room-wall-mid)}.room-frame__stop--wall-shade{stop-color:var(--room-wall-bottom)}.room-frame__stop--side-light{stop-color:var(--room-side-top)}.room-frame__stop--side-mid{stop-color:var(--room-side-mid)}.room-frame__stop--side-shade{stop-color:var(--room-side-bottom)}.room-frame__stop--floor-far{stop-color:var(--room-window-color)}@supports (color:color-mix(in lab, red, red)){.room-frame__stop--floor-far{stop-color:color-mix(in oklab, var(--room-window-color) 13%, var(--room-floor-far))}}.room-frame__stop--floor-mid{stop-color:var(--room-floor-mid)}.room-frame__stop--floor-near{stop-color:var(--room-floor-near)}.room-frame__perspective-seams{fill:none;stroke:#f9f5ed7a;stroke-width:.7px;vector-effect:non-scaling-stroke}.room-frame__window-anchor{top:0;right:calc(100% - var(--room-wall-corner-x) + var(--room-window-corner-gap));width:var(--room-window-width);height:var(--room-window-height);pointer-events:none;position:absolute}.room-frame__window{z-index:2;clip-path:polygon(0 0, 100% 0, 100% var(--room-window-right-bottom), 0 100%);box-shadow:none;background:#fff;position:absolute;inset:0;overflow:hidden}.room-frame__window:after{content:"";opacity:clamp(0, calc(var(--room-night-opacity) + var(--room-twilight-opacity) * .72), 1);pointer-events:none;will-change:opacity;background:linear-gradient(#182234,#3b4c64);position:absolute;inset:0}.room-frame__angled-light{top:var(--room-window-y);left:var(--room-window-x);width:96vw;height:34vh;opacity:calc(var(--room-beam-opacity) * (1 - var(--room-bake-active) * .94));background:radial-gradient(ellipse 92% 74% at 4% 48%, var(--room-window-color), var(--room-window-color) 42%, transparent 76%), linear-gradient(90deg, var(--room-window-color), transparent 78%);position:absolute}@supports (color:color-mix(in lab, red, red)){.room-frame__angled-light{background:radial-gradient(ellipse 92% 74% at 4% 48%, color-mix(in srgb, var(--room-window-color) 54%, transparent), color-mix(in srgb, var(--room-window-color) 20%, transparent) 42%, transparent 76%), linear-gradient(90deg, color-mix(in srgb, var(--room-window-color) 24%, transparent), transparent 78%)}}.room-frame__angled-light{mix-blend-mode:screen;transform-origin:0;transform:translate3d(0, -50%, 0) rotate(var(--room-beam-angle)) scaleX(calc(.84 + var(--room-beam-reach) * .32)) scaleY(calc(.82 + var(--room-beam-reach) * .24));will-change:transform, opacity;-webkit-mask-image:radial-gradient(100% 86% at 0,#000 0 22%,#000000b8 48%,#0000 82%);mask-image:radial-gradient(100% 86% at 0,#000 0 22%,#000000b8 48%,#0000 82%)}.room-frame__window-vector{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.room-frame__window-form{opacity:.78;-webkit-mask-image:linear-gradient(#0000 3%,#000 60%);mask-image:linear-gradient(#0000 3%,#000 60%)}.room-frame__window-bloom{opacity:0;will-change:opacity}.room-frame[data-room-sunlight-tone=sunlit] .room-frame__window-bloom{opacity:calc(var(--room-window-bloom) * var(--room-bake-active) * min(1, var(--room-dapple-opacity) * 2))}.room-frame__floor-projection{width:512px;height:256px;opacity:var(--room-projection-visible,0);transform-origin:0;transform:translate3d(var(--room-projection-x,0px), var(--room-projection-y,0px), 0) rotate(var(--room-projection-angle,0deg)) scale(var(--room-projection-scale-x,1), var(--room-projection-scale-y,1));will-change:transform, opacity;position:absolute;top:-128px;left:0}.room-frame__dapple{contain:strict;opacity:calc(var(--room-dapple-opacity) * (1 - var(--room-bake-active)));will-change:opacity;position:absolute;inset:0}.room-frame__ground-light{clip-path:polygon(var(--room-wall-corner-x) var(--room-wall-corner-y), 100% var(--room-floor-right-y), 100% 100%, 0 100%, 0 79.6345%);overflow:hidden}.room-frame__wall-light{pointer-events:none;visibility:hidden;clip-path:polygon(var(--room-wall-corner-x) 0, 100% 0, 100% var(--room-floor-right-y), var(--room-wall-corner-x) var(--room-wall-corner-y));position:absolute;inset:0;overflow:hidden}.room-frame[data-room-sunlight-wall-ready=true] .room-frame__wall-light{visibility:visible}.room-frame[data-room-sunlight=baked][data-room-sunlight-ready=true][data-room-sunlight-wall-ready=true]{--room-bake-active:var(--room-bake-weight,0)}.room-frame__sunlight-receiver{isolation:isolate;opacity:calc(var(--room-dapple-opacity) * var(--room-bake-active));pointer-events:none;will-change:opacity;position:absolute;inset:0}.room-frame__sunlight-plate{transform-origin:0 0;mix-blend-mode:plus-lighter;will-change:transform, opacity;position:absolute;top:0;left:0;overflow:hidden}.room-frame__sunlight-bake,.room-frame__wall-sunlight-bake{max-width:none;filter:blur(var(--room-bake-softness,1px));pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.room-frame__sunlight-defs{pointer-events:none;position:absolute}.room-frame[data-room-sunlight-tone=sunlit] :is(.room-frame__sunlight-bake,.room-frame__wall-sunlight-bake){filter:var(--room-bake-exposure-filter) blur(calc(var(--room-bake-softness,1px) * 2))}.room-frame[data-room-sunlight-tone=sunlit] .room-frame__sunlight-receiver{opacity:calc(min(.92, var(--room-dapple-opacity) * 1.5) * var(--room-bake-active))}.room-frame__dapple-mask{position:absolute;inset:0}.room-frame__dapple-mask--soft{opacity:clamp(.3, calc(var(--room-dapple-softness) + .22), .9);filter:blur(12px);mix-blend-mode:screen;background:radial-gradient(48% 62% at 25%,#ffdea4bd,#0000 75%),radial-gradient(52% 64% at 68% 48%,#ffcd7e94,#0000 79%);inset:-9%;-webkit-mask-image:none;mask-image:none}.room-frame__cloth-shadow{opacity:0;pointer-events:none;transform-origin:0 0;mix-blend-mode:multiply;will-change:transform, opacity;width:256px;height:128px;position:absolute;top:0;left:0}.room-frame__transmitted-light{width:46%;height:42%;opacity:var(--room-transmitted-amount);background:radial-gradient(ellipse at 42% 44%, var(--room-transmitted-color), transparent 70%);border-radius:50%;position:absolute;top:29%;left:22%}@supports (color:color-mix(in lab, red, red)){.room-frame__transmitted-light{background:radial-gradient(ellipse at 42% 44%, color-mix(in oklab, var(--room-transmitted-color) 54%, transparent), transparent 70%)}}.room-frame__transmitted-light{filter:blur(14px);mix-blend-mode:multiply;will-change:opacity}.room-frame__foreground-line{display:none}.room-frame__stage{z-index:6;inset:0 calc(100% - var(--room-cabinet-left)) 0 0;min-width:0;min-height:0;position:absolute;overflow:visible}.room-frame[data-has-cabinet=false] .room-frame__stage{right:0}.room-frame__stage>.stage{position:absolute;inset:0;overflow:visible}.cloth-scene{isolation:isolate;position:relative;overflow:visible}.cloth-scene__loupe-ring{z-index:3;box-sizing:content-box;width:var(--material-loupe-diameter,240px);height:var(--material-loupe-diameter,240px);opacity:0;pointer-events:none;transform:translate3d(calc(var(--material-loupe-x,0px) - 50%), calc(var(--material-loupe-y,0px) - 50%), 0);transition:opacity var(--room-duration-lens) var(--ease-motion);will-change:transform, opacity;border:1px solid #f7f2e9f0;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #26201b8a,inset 0 0 0 1px #ffffff5c,0 9px 25px #261f1929}.cloth-scene[data-material-loupe=visible] .cloth-scene__loupe-ring{opacity:1}.cloth-scene[data-material-loupe=visible]>canvas{cursor:none}.room-frame__cabinet{z-index:7;top:var(--room-cabinet-top);left:var(--room-cabinet-left);width:var(--room-cabinet-width);height:var(--room-cabinet-height);min-height:0;position:absolute;bottom:auto;right:auto}.room-frame__guides{z-index:4;overflow:visible}.room-frame__guides path,.material-cabinet__baseline line,.nav-environment-guide line{fill:none;stroke:var(--room-guide-color);stroke-width:var(--room-guide-width);stroke-dasharray:var(--room-guide-dash);stroke-linecap:round;vector-effect:non-scaling-stroke}.room-frame__overlay{z-index:12;pointer-events:none;position:absolute;inset:0}.room-frame__overlay>*{pointer-events:auto}.material-cabinet{perspective:1500px;color:#26211d;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative}.material-cabinet__track{width:100%;height:100%;min-height:0;transform-style:preserve-3d;transition:transform var(--room-duration-panel) var(--ease-motion);will-change:transform;flex:1 1 0;position:relative;transform:rotateY(0)}.material-cabinet__track[data-face=archive]{transform:rotateY(-180deg)}.material-cabinet__baseline{z-index:2;pointer-events:none;flex:0 0 1px;width:118.02%;height:1px;min-height:1px;display:block;position:relative;left:-9.39086%;overflow:visible}.material-cabinet__face{--room-glass-height:var(--room-cabinet-height);--room-glass-padding-x:var(--room-panel-inset-x);--room-glass-padding-top:var(--room-panel-inset-top);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;backface-visibility:hidden;border-radius:var(--room-radius-control);min-width:0;min-height:0;box-shadow:none;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;border:0;position:absolute;inset:0;overflow:hidden auto}.material-cabinet__face[data-active=false]{pointer-events:none}.material-cabinet__face--material{padding:var(--room-panel-inset-top) var(--room-panel-inset-x) var(--room-space-5)}.material-cabinet__face--archive{padding:var(--room-panel-inset-top) var(--room-panel-inset-x) var(--room-space-5);transform:rotateY(180deg)}.material-cabinet__face,.room-light-modal__dialog{background:var(--room-glass-fill);-webkit-backdrop-filter:var(--room-glass-filter)}.material-cabinet__face:before,.room-light-modal__dialog:before{content:"";z-index:0;top:calc(-1 * var(--room-glass-padding-top));height:var(--room-glass-height);margin-top:calc(-1 * var(--room-glass-padding-top));margin-right:calc(-1 * var(--room-glass-padding-x));margin-bottom:calc(var(--room-glass-padding-top) - var(--room-glass-height));margin-left:calc(-1 * var(--room-glass-padding-x));background:var(--room-grain-image) 0 0 / var(--room-grain-size) repeat;opacity:var(--room-grain-opacity);mix-blend-mode:multiply;pointer-events:none;display:block;position:sticky}.material-cabinet__face>*,.room-light-modal__dialog>*{z-index:1;position:relative}.material-cabinet__face :is(.section-label,.panel-section,.probe-strip,.fine-tune){border:0}.material-cabinet__face--archive .swatch-face[data-active=true]+.swatch-label{color:var(--cat,var(--accent))}@supports (color:color-mix(in lab, red, red)){.material-cabinet__face--archive .swatch-face[data-active=true]+.swatch-label{color:color-mix(in oklab, var(--cat,var(--accent)) 42%, var(--fg))}}.cabinet-pane{flex-direction:column;width:100%;min-height:100%;display:flex}.cabinet-pane__header{flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding-right:0;display:flex}.cabinet-pane__kicker,.cabinet-pane__lede,.cabinet-material-header h2{margin:0}.cabinet-pane__kicker,.cabinet-tuning-label>span{font-family:var(--font-mono);font-size:var(--room-type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);line-height:1.2}.cabinet-pane__lede{max-width:29ch;color:var(--fg-dim);font-size:var(--room-type-body);margin-top:7px;line-height:1.35}.cabinet-material-header h2{max-width:17ch;font-size:var(--room-type-title);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-weight:500;line-height:1.08;overflow:hidden}.cabinet-material-meta{gap:var(--room-space-3);grid-template-columns:minmax(0,1fr) auto auto;margin:18px 0 0;padding:8px 0 10px;display:grid}.cabinet-material-meta>div{min-width:0}.cabinet-material-meta dt,.cabinet-material-meta dd{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.3;overflow:hidden}.cabinet-material-meta dt{color:var(--fg-dim);letter-spacing:.08em;text-transform:uppercase;font-size:8.5px}.cabinet-material-meta dd{color:var(--fg-mute);margin-top:2px;font-size:9.5px}.cabinet-pane__scroll{flex-direction:column;gap:18px;margin-top:18px;padding-right:3px;display:flex}.cabinet-tuning-label{z-index:3;justify-content:space-between;align-items:center;gap:var(--room-space-3);background:linear-gradient(var(--bg) 78%, transparent);margin:0 -3px;padding:4px 3px 7px;display:flex;position:sticky;top:0}.cabinet-disclosure>summary{min-height:var(--room-control-size);color:var(--fg-mute);font-family:var(--font-mono);font-size:var(--room-type-label);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.cabinet-disclosure>summary:after{content:"+";color:var(--fg-dim);font-size:14px}.cabinet-disclosure[open]>summary:after{content:"−"}.cabinet-disclosure>summary::-webkit-details-marker{display:none}.cabinet-disclosure>.panel-section{padding:4px 0 16px}.cabinet-pane--material .cabinet-material-meta{align-items:start;margin-top:12px;padding:0}.cabinet-pane--material .cabinet-material-meta dd{font-size:var(--room-type-label);margin-top:4px}.cabinet-pane--material .cabinet-pane__scroll{gap:var(--room-space-4);margin-top:16px;padding-right:0}.cabinet-pane--material .cabinet-tuning-label{background:0 0;margin:0;padding:0;position:static}.cabinet-pane--material .section-label{letter-spacing:.1em;color:var(--fg-mute);margin:0;padding:0;font-weight:500}.room-performance-note{color:var(--fg-mute);font-size:var(--room-type-detail);margin:0;line-height:1.5}.cabinet-pane--material .preview-strip{gap:var(--room-space-2);grid-template-columns:repeat(auto-fit,minmax(48px,1fr));overflow:visible}.cabinet-pane--material .preview-chip-button{border:0;gap:6px;padding:0}.cabinet-pane--material .preview-chip-thumb{background:#e9ebe7;width:100%}.cabinet-pane--material .export-btn{margin-top:4px}.cabinet-pane--material .export-note{letter-spacing:0;line-height:1.5}.cabinet-pane--material :is(.btn,.instrument-button,.construction-option,.perf-meter,.material-draft-tools,.preview-chip-button,.fabric-picker-select){border-radius:var(--room-radius-control)}.cabinet-pane--material :is(.btn,.instrument-button){min-height:var(--room-control-compact);font-family:var(--font-mono);font-size:var(--room-type-label);letter-spacing:.02em}.cabinet-pane--material :is(.btn-ghost,.tx-mode-picker,.construction-option,.perf-meter){background:var(--room-control-bg);border-color:var(--line);box-shadow:none;-webkit-backdrop-filter:none}.cabinet-pane--material .tx-mode-tab{min-height:var(--room-control-regular);font-size:var(--room-type-label)}.cabinet-pane--material .tx-mode-tab[data-active=true],.room-light-modal .tx-mode-tab[data-active=true]{background:var(--room-control-selected);color:var(--fg)}.cabinet-pane--material .tx-mode-tab:focus-visible{outline-color:var(--accent)}.cabinet-pane--material .construction-options{isolation:isolate;gap:6px;position:relative;overflow:hidden}.cabinet-pane--material .construction-option{min-height:64px;color:var(--fg-dim);gap:6px;padding:8px 4px}.cabinet-pane--material .construction-option[data-active=true]{border-color:var(--accent);background:var(--room-control-active);color:var(--fg)}.cabinet-pane--material .construction-option:focus-visible{outline-color:var(--accent);outline-offset:-3px}.cabinet-pane--material .instrument-pad-grid{gap:var(--room-space-2)}.cabinet-pane--material .instrument-pad-surface{box-shadow:none;border-color:var(--line)}.cabinet-pane--material .instrument-pad-handle{background:var(--fg);box-shadow:none;outline:2px solid #fffffff5}.cabinet-pane--material .instrument-pad-surface:focus-visible .instrument-pad-handle{box-shadow:none;outline:1px solid var(--fg);outline-offset:2px}.cabinet-pane--material :is(.instrument-sliders,.knob-stack){gap:10px}.cabinet-pane--material .perf-meters{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.cabinet-pane--material .fine-tune>summary{min-height:var(--room-control-regular);align-items:center}.cabinet-pane--material :is(.btn,.instrument-button,.material-draft-tools){box-shadow:none;text-shadow:none}.cabinet-pane--material .info-icon{filter:none}.cabinet-pane--material .info-dot:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.room-light-modal .tx-mode-picker{box-shadow:none}@media (pointer:coarse){.cabinet-pane--material :is(.btn,.instrument-button,.tx-mode-tab,.fine-tune>summary){min-height:var(--room-control-size)}}.material-cabinet__flip{appearance:none;z-index:4;top:0;left:calc(-1 * var(--room-control-size));width:var(--room-control-size);height:var(--room-control-size);isolation:isolate;background:var(--room-tab-bg);color:var(--room-ui-ink);cursor:pointer;touch-action:manipulation;transition:background var(--d-tap) var(--ease-motion);border:0;border-radius:0 0 0 12px;place-items:center;padding:0;display:grid;position:absolute}.material-cabinet__flip-icon{opacity:0;filter:blur(2px);pointer-events:none;width:24px;height:24px;transition:opacity var(--d-tap) var(--ease-motion), filter var(--d-tap) var(--ease-motion);grid-area:1/1;display:block}.material-cabinet[data-face=archive] .material-cabinet__flip-icon[data-destination=material],.material-cabinet[data-face=material] .material-cabinet__flip-icon[data-destination=archive]{opacity:1;filter:blur();transition-duration:var(--d-fast);transition-delay:var(--room-delay-icon)}@media (hover:hover){.material-cabinet__flip:hover{background:var(--room-tab-hover)}}.material-cabinet__flip:active{background:var(--room-tab-pressed)}.material-cabinet__flip:focus-visible{outline-offset:-5px;outline:2px solid}.room-light-modal{z-index:29;top:var(--room-controls-start);left:var(--room-controls-left);width:var(--room-controls-width);visibility:hidden;pointer-events:none;color:var(--fg);transition:grid-template-rows var(--room-duration-close) var(--ease-motion), visibility 0s var(--room-delay-hidden);grid-template-rows:0fr;display:grid;position:fixed}.room-light-modal[data-open=true]{visibility:visible;pointer-events:auto;transition:grid-template-rows var(--room-duration-reveal) var(--ease-motion), visibility 0s;grid-template-rows:1fr}.room-light-modal__reveal{isolation:isolate;min-height:0;position:relative;overflow:hidden}.room-light-modal__reveal:before{content:"";z-index:0;background:var(--room-glass-rail-fill);-webkit-backdrop-filter:var(--room-glass-filter);-webkit-mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade);mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade);pointer-events:none;position:absolute;inset:0}.room-light-modal__dialog{--room-glass-height:max(0px, calc(100dvh - var(--room-controls-start) - var(--room-controls-bottom)));--room-glass-padding-x:var(--room-rail-inset-x);--room-glass-padding-top:var(--room-rail-inset-top);z-index:1;box-sizing:border-box;height:max(0px, calc(100dvh - var(--room-controls-start) - var(--room-controls-bottom)));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding:var(--room-rail-inset-top) var(--room-rail-inset-x) var(--room-rail-inset-x);border-radius:var(--room-radius-control);-webkit-backdrop-filter:none;background:0 0;border:0;outline:none;position:relative;overflow:hidden auto}.room-light-modal__dialog:before{-webkit-mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade);mask-image:var(--room-glass-fade);-webkit-mask-image:var(--room-glass-fade)}.room-light-modal__header{justify-content:space-between;align-items:center;gap:var(--room-space-2);min-height:30px;margin-bottom:8px;display:flex}.room-light-modal__header h2{font-family:var(--font-mono);font-size:var(--room-type-label);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:500;line-height:1.35}.room-light-modal__note,.room-light-modal__group-note,.room-light-modal__hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-light-modal__body{gap:var(--room-space-3);flex-direction:column;display:flex}.room-light-modal__group{opacity:0;min-width:0;transition:opacity var(--room-duration-group-fade) var(--ease-motion), transform var(--room-duration-group-travel) var(--ease-motion);transition-delay:calc((4 - var(--cascade-index,0)) * var(--room-stagger-exit));border:0;margin:0;padding:10px 0 0;transform:translateY(-7px)}.room-light-modal[data-open=true] .room-light-modal__group{opacity:1;transition-delay:calc(var(--cascade-index,0) * var(--room-stagger-enter));transform:translateY(0)}.room-light-modal__group legend,.room-light-modal__group summary{width:100%;color:var(--fg-mute);font-family:var(--font-mono);font-size:var(--room-type-detail);letter-spacing:.08em;text-transform:uppercase;padding:0;line-height:1.4}.room-light-modal__group summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:28px;list-style:none;display:flex}.room-light-modal__group summary::-webkit-details-marker{display:none}.room-light-modal__group summary:after{content:"+";font-size:13px}.room-light-modal__group[open] summary:after{content:"−"}.room-light-modal__control{margin-top:10px}.room-light-modal__control label{font-family:var(--font-mono);font-size:var(--room-type-detail);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px 8px;line-height:1.4;display:flex}.room-light-modal__control output{color:var(--fg-mute);font-variant-numeric:tabular-nums;font-size:var(--room-type-micro)}.room-light-modal__control input[type=range]{appearance:none;width:100%;height:26px;accent-color:var(--accent);cursor:ew-resize;background:0 0;margin:1px 0 0;display:block}.room-light-modal__control input:disabled{opacity:.38;cursor:not-allowed}.room-light-modal :is(button,input,summary):focus-visible{outline:1px dotted var(--fg);outline-offset:3px}.room-light-modal__toggle-row{justify-content:space-between;align-items:center;gap:var(--room-space-2);margin-top:5px;display:flex}.room-light-modal__toggle-row label{font-family:var(--font-mono);font-size:var(--room-type-detail)}.room-light-modal__switch{flex:0 0 var(--room-control-size);width:var(--room-control-size);height:var(--room-control-size);place-items:center;display:grid;position:relative}.room-light-modal__switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.room-light-modal__switch-indicator{width:var(--room-control-indicator);height:var(--room-control-indicator);border:1px solid var(--line);border-radius:var(--room-radius-control);background:var(--room-control-bg);pointer-events:none}.room-light-modal__switch input:checked+.room-light-modal__switch-indicator{background:linear-gradient(var(--accent), var(--accent)) center / var(--room-control-indicator-mark) var(--room-control-indicator-mark) no-repeat, var(--room-control-bg)}.room-light-modal__switch input:focus-visible+.room-light-modal__switch-indicator{outline:1px dotted var(--fg);outline-offset:3px}.room-light-modal__response dl{margin:8px 0 0}.room-light-modal__response dl>div{justify-content:space-between;gap:var(--room-space-2);padding:8px 0;display:flex}.room-light-modal__response dt,.room-light-modal__response dd{font-family:var(--font-mono);font-size:var(--room-type-micro);margin:0;line-height:1.4}.room-light-modal__response dd{align-items:center;gap:5px;display:flex}.room-light-modal__tint{background:var(--room-response-tint);flex:none;width:10px;height:10px}.room-light-modal__mode-picker{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:8px;display:grid}.room-light-modal__mode-picker input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.room-light-modal__mode-picker .tx-mode-tab{min-height:var(--room-control-regular);place-items:center;display:grid}.room-light-modal__mode-picker:has(input:focus-visible){outline:1px dotted var(--fg);outline-offset:3px}.room-light-modal__actions{justify-content:flex-end;align-items:center;margin-top:2px;display:flex}.room-light-modal__actions p{display:none}.room-light-modal__cycle-note{font:var(--room-type-detail) / 1.5 var(--font-mono);color:var(--fg-dim);margin:4px 0 0}.room-light-modal__actions button{min-height:var(--room-control-regular);color:var(--fg-mute);font-family:var(--font-mono);font-size:var(--room-type-detail);cursor:pointer;background:0 0;border:0;padding:0}@media (max-width:820px){:root{--room-controls-bottom:0px}.room-frame{--room-wall-corner-y:53.3173%;--room-floor-right-y:69.0474%}.room-frame__planes,.room-frame__sunlight-shade{height:80%}.room-frame__ground-light{clip-path:polygon(var(--room-wall-corner-x) var(--room-wall-corner-y), 100% var(--room-floor-right-y), 100% 100%, 0 100%, 0 63.7076%)}.room-frame__stage{inset:0 0 var(--room-cabinet-sheet-height)}.room-frame__cabinet{width:100%;height:var(--room-cabinet-sheet-height);inset:auto 0 0}.room-frame__guides,.material-cabinet__baseline,.room-frame__foreground-line{display:none}.material-cabinet{overflow:hidden}.material-cabinet__track{width:200%;transform:translate(-50%)}.material-cabinet__track[data-face=archive]{transform:translate(0)}.material-cabinet__track[data-face=material]{transform:translate(-50%)}.material-cabinet__face{backface-visibility:visible;border-radius:var(--room-radius-control);width:50%;transition:transform var(--room-duration-panel) var(--ease-motion);border-bottom:0;border-left:0;border-right:0;inset:0 auto 0 0}.material-cabinet__face--archive{transform-origin:100%;left:0;transform:rotateY(0)}.material-cabinet__face--material{transform-origin:0;left:50%;transform:rotateY(2.5deg)}.material-cabinet__track[data-face=material] .material-cabinet__face--archive{transform:rotateY(-2.5deg)}.material-cabinet__track[data-face=material] .material-cabinet__face--material{transform:rotateY(0)}.material-cabinet__face--material,.material-cabinet__face--archive{--room-glass-height:var(--room-cabinet-sheet-height);--room-glass-padding-x:var(--room-rail-inset-x);--room-glass-padding-top:12px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.material-cabinet__face,.room-light-modal__dialog{background:var(--room-ui-solid);-webkit-backdrop-filter:none}.material-cabinet__flip{top:0;left:0}.room-light-modal__reveal:before{display:none}.room-light-modal__dialog:before{-webkit-mask-image:none;mask-image:none}.cabinet-pane__header{min-height:40px;padding-left:var(--room-control-size);justify-content:center;align-items:flex-start}.cabinet-pane__lede{display:none}.cabinet-material-header h2{font-size:var(--room-type-title-compact);margin-top:2px}.cabinet-material-meta{margin-top:5px;padding:5px 0 6px}.cabinet-pane__scroll{gap:14px;margin-top:8px}.cabinet-pane--archive .swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-light-modal__dialog{--room-glass-padding-x:12px;--room-glass-padding-top:8px;padding:8px 12px max(12px, env(safe-area-inset-bottom,0px))}.room-light-modal__group summary{min-height:var(--room-control-regular)}}@media (pointer:coarse){.room-light-modal__control input[type=range]{min-height:var(--room-control-size);margin-top:0}.room-light-modal__actions button{min-width:var(--room-control-size);min-height:var(--room-control-size)}}@media (prefers-reduced-motion:reduce){.material-cabinet__flip,.material-cabinet[data-face] .material-cabinet__flip-icon[data-destination]{transition:none}.material-cabinet[data-face] .material-cabinet__flip-icon[data-destination]{filter:none}.nav-environment-guide,.nav-logo-button,.nav-logo-letter,.nav-logo-button[aria-expanded=true] .nav-logo-letter,.room-light-modal,.room-light-modal[data-open=true],.room-light-modal__group,.room-light-modal[data-open=true] .room-light-modal__group{transition:none}.room-frame__floor-projection,.room-frame__dapple,.room-frame__transmitted-light{will-change:auto}.cloth-scene__loupe-ring{transition:none}.material-cabinet__track,.material-cabinet__track[data-face=archive]{transform:none}.material-cabinet__face{opacity:0;transition:opacity var(--d-tap) linear;transform:none}.material-cabinet__face[data-active=true]{z-index:1;opacity:1}}@media (max-width:820px) and (prefers-reduced-motion:reduce){.material-cabinet__track,.material-cabinet__face{transition:none}.material-cabinet__track[data-face=archive]{transform:translate(0)}.material-cabinet__track[data-face=material]{transform:translate(-50%)}}@media (prefers-contrast:more){.material-cabinet__face,.room-light-modal__dialog{border-color:currentColor}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.room-light-modal__reveal:before{display:none}.material-cabinet .material-cabinet__flip{background:var(--room-ui-solid);border-color:currentColor}.material-cabinet__face,.room-light-modal__dialog{background:var(--room-ui-solid);-webkit-backdrop-filter:none}.material-cabinet__face:before,.room-light-modal__dialog:before{display:none}}.cabinet-pane--material .slider input[type=range]{--room-range-track-size:var(--room-range-track-material);--room-range-thumb-size:var(--room-range-thumb-material);--room-range-track-fill:var(--room-ui-line-material-strong);--room-range-thumb-fill:var(--fg);--room-range-thumb-border:0}.room-light-modal__control input[type=range]{--room-range-track-size:var(--room-range-track-light);--room-range-thumb-size:var(--room-range-thumb-light);--room-range-track-fill:var(--line-strong);--room-range-thumb-fill:var(--accent);--room-range-thumb-border:1px solid white}:is(.cabinet-pane--material .slider,.room-light-modal__control) input[type=range]::-webkit-slider-runnable-track{height:var(--room-range-track-size);border-radius:var(--room-radius-control);background:var(--room-range-track-fill)}:is(.cabinet-pane--material .slider,.room-light-modal__control) input[type=range]::-moz-range-track{height:var(--room-range-track-size);border-radius:var(--room-radius-control);background:var(--room-range-track-fill)}:is(.cabinet-pane--material .slider,.room-light-modal__control) input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--room-range-thumb-size);height:var(--room-range-thumb-size);margin-top:calc((var(--room-range-track-size) - var(--room-range-thumb-size)) / 2);border:var(--room-range-thumb-border);border-radius:var(--room-radius-control);background:var(--room-range-thumb-fill);box-shadow:none}:is(.cabinet-pane--material .slider,.room-light-modal__control) input[type=range]::-moz-range-thumb{width:var(--room-range-thumb-size);height:var(--room-range-thumb-size);border:var(--room-range-thumb-border);border-radius:var(--room-radius-control);background:var(--room-range-thumb-fill);box-shadow:none}.cabinet-pane--material .slider input[type=range]::-moz-range-progress{height:var(--room-range-track-size);border-radius:var(--room-radius-control);background:0 0}.material-edit-shelf{min-width:0;color:var(--room-ui-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--room-ui-bg);transition:grid-template-rows var(--room-duration-panel) var(--ease-motion);flex:none;grid-template-rows:0fr;display:grid}.material-edit-shelf[data-open=true]{grid-template-rows:1fr}.material-edit-shelf__reveal{min-height:0;overflow:hidden}.material-edit-shelf__body{padding:var(--room-space-2) var(--room-panel-inset-x);font-family:var(--font-mono);font-size:var(--room-type-detail);line-height:1.4}.material-edit-shelf__status-row,.material-edit-shelf__compare{justify-content:space-between;align-items:center;gap:var(--room-space-2);min-width:0;display:flex}.material-edit-shelf__status,.material-edit-shelf__warning{margin:0}.material-leave-dialog{width:min(400px,100vw - 32px);padding:var(--room-space-4);background:var(--room-ui-solid);color:var(--room-ui-ink);font-family:var(--font-mono);font-size:var(--room-type-body);border:0;border-radius:0;margin:auto}.material-leave-dialog::backdrop{background:#0000003d}.material-leave-dialog h2{font:inherit;margin:0 0 8px}.material-leave-dialog p{margin:0 0 16px;line-height:1.5}.material-leave-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.material-leave-dialog button{min-height:var(--room-control-size);background:var(--room-control-selected);color:inherit;font:inherit;font-size:var(--room-type-label);cursor:pointer;border:0;border-radius:0;padding:8px}.material-leave-dialog button:last-child{background:var(--room-ui-ink);color:var(--room-ui-solid)}.material-leave-dialog button:disabled{opacity:.5;cursor:wait}.material-leave-dialog button:focus-visible{outline-offset:2px;outline:1px dotted}.material-edit-shelf__status{min-width:0}.material-edit-shelf__compare{color:var(--room-ui-muted)}.material-edit-shelf__choices{gap:var(--room-space-1);flex:none;display:flex}.material-edit-shelf button{min-height:var(--room-control-compact);min-width:var(--room-control-size);padding:var(--room-space-1);border-radius:var(--room-radius-control);box-shadow:none;color:var(--room-ui-ink);font:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--d-tap) var(--ease-motion);background:0 0;border:0;justify-content:center;align-items:center;line-height:1.4;display:inline-flex}.material-edit-shelf button:hover:not(:disabled),.material-edit-shelf button[aria-pressed=true]{background:var(--room-control-selected)}.material-edit-shelf button:focus-visible{outline:1px solid var(--room-ui-ink);outline-offset:-2px}.material-edit-shelf button:disabled{color:var(--room-ui-dim);cursor:default}.material-edit-shelf__choices button[aria-pressed=true]{text-underline-offset:3px;text-decoration:underline}.material-edit-shelf__actions{align-items:stretch;gap:var(--room-space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.material-edit-shelf .material-edit-shelf__save{background:var(--room-ui-ink);color:var(--room-ui-solid);grid-column:1/-1}.material-edit-shelf .material-edit-shelf__save:hover:not(:disabled){background:var(--room-ui-accent)}.material-edit-shelf .material-edit-shelf__save:disabled{background:var(--room-control-selected);color:var(--room-ui-dim)}.material-edit-shelf .material-edit-shelf__save:focus-visible{outline-color:var(--room-ui-solid)}.material-edit-shelf .material-edit-shelf__archive{text-underline-offset:3px;flex:none;text-decoration:underline}.material-edit-shelf__warning{padding-top:var(--room-space-1);color:var(--room-ui-muted)}@media (max-width:820px){.material-edit-shelf{background:var(--room-ui-solid)}}@media (pointer:coarse){.material-edit-shelf button{min-height:var(--room-control-size)}}@media (prefers-reduced-motion:reduce){.material-edit-shelf,.material-edit-shelf button{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
