:root{--md-primary:#8fd88a;--md-on-primary:#003a07;--md-primary-container:#10520f;--md-on-primary-container:#aaf5a4;--md-secondary-container:#3a4b37;--md-on-secondary-container:#d5e8cf;--md-tertiary:#a0cfd5;--md-tertiary-container:#1f4d53;--md-on-tertiary-container:#bcebf1;--md-error:#ffb4ab;--md-surface:#10140f;--md-on-surface:#e0e4da;--md-on-surface-variant:#c2c9bc;--md-surface-container-lowest:#0b0f0a;--md-surface-container-low:#181d17;--md-surface-container:#1c211b;--md-surface-container-high:#262b25;--md-surface-container-highest:#31362f;--md-outline:#8c9388;--md-outline-variant:#424940;--md-inverse-surface:#e0e4da;--md-inverse-on-surface:#2d322c;--md-scrim:#000;--font:"Google Sans Flex", "Google Sans", "Roboto Flex", Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", ui-monospace, Menlo, monospace;--shape-xs:4px;--shape-s:8px;--shape-m:12px;--shape-l:16px;--shape-xl:28px;--shape-full:999px;--elev-1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026;--elev-2:0 1px 2px #0000004d, 0 2px 6px 2px #00000026;--elev-3:0 4px 8px 3px #00000026, 0 1px 3px #0000004d;--ease-emph:cubic-bezier(.2, 0, 0, 1);--ease-std:cubic-bezier(.2, 0, 0, 1);--dur-s:.15s;--dur-m:.25s;--x-axis:#ff5d6c;--y-axis:#8bdc5b;--z-axis:#5aa2ff;--key:#ffc94d;--key-anim:#5fd38d;--rail-w:80px;--panel-w:320px;--props-w:320px;--topbar-h:56px;font-family:var(--font);color:var(--md-on-surface);background:var(--md-surface-container-lowest);-webkit-font-smoothing:antialiased;font-synthesis:none;font-size:14px;line-height:1.4}*,:before,:after{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--md-surface-container-lowest);-webkit-user-select:none;user-select:none}input,textarea,select,button{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--md-primary);color:var(--md-on-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--md-on-surface) 18%, transparent);background-clip:content-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--md-on-surface) 32%, transparent)}::-webkit-scrollbar-corner{background:0 0}.ms{letter-spacing:normal;text-transform:none;white-space:nowrap;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;-webkit-font-smoothing:antialiased;direction:ltr;flex:none;font-family:Material Symbols Rounded;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.ms.fill{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 20}.t-display{font-size:36px;font-weight:400;line-height:44px}.t-headline{font-size:24px;font-weight:400;line-height:32px}.t-title-l{font-size:20px;font-weight:500;line-height:28px}.t-title{letter-spacing:.01em;font-size:16px;font-weight:500;line-height:24px}.t-title-s{font-size:14px;font-weight:500;line-height:20px}.t-label{letter-spacing:.04em;font-size:12px;font-weight:500;line-height:16px}.t-body-s{font-size:12px;line-height:16px}.t-muted{color:var(--md-on-surface-variant)}.sl{isolation:isolate;position:relative}.sl:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--dur-s) linear;z-index:-1;background:currentColor;position:absolute;inset:0}.sl:hover:after{opacity:.08}.sl:active:after{opacity:.12}.ripple-host{border-radius:inherit;pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.ripple{opacity:.16;pointer-events:none;z-index:-1;background:currentColor;border-radius:50%;animation:.5s cubic-bezier(.2,0,0,1) forwards ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(1)}}.look-card:active,.format-card:active,.proj-card:active,.add-card:active{transform:scale(.97)}.look-card,.format-card,.proj-card,.add-card{transition:transform .12s ease-out}.sl:focus-visible{outline:3px solid var(--md-primary);outline-offset:2px}.btn{border-radius:var(--shape-full);letter-spacing:.01em;white-space:nowrap;height:40px;transition:box-shadow var(--dur-s), background var(--dur-s), border-radius var(--dur-m) var(--ease-emph);border:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:500;display:inline-flex}.btn:has(>.ms:first-child){padding-left:16px}.btn:disabled{opacity:.38;pointer-events:none}.btn.filled{background:var(--md-primary);color:var(--md-on-primary)}.btn.filled:hover{box-shadow:var(--elev-1)}.btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.btn.outlined{color:var(--md-primary);border:1px solid var(--md-outline);background:0 0}.btn.text{color:var(--md-primary);background:0 0;padding:0 12px}.btn.elevated{background:var(--md-surface-container-low);color:var(--md-primary);box-shadow:var(--elev-1)}.btn.danger{background:var(--md-error-container,#93000a);color:var(--md-on-error-container,#ffdad6)}.btn.small{height:32px;padding:0 14px;font-size:13px}.btn.big{border-radius:var(--shape-l);height:56px;padding:0 28px;font-size:16px}.btn:active{border-radius:var(--shape-s)}.icon-btn{border-radius:var(--shape-full);width:40px;height:40px;color:var(--md-on-surface-variant);transition:background var(--dur-s), color var(--dur-s), border-radius var(--dur-m) var(--ease-emph);background:0 0;border:none;flex:none;place-items:center;display:inline-grid}.icon-btn.sm{width:32px;height:32px}.icon-btn.xs{width:26px;height:26px}.icon-btn.xs .ms{font-size:18px}.icon-btn.on{color:var(--md-primary)}.icon-btn.filled{background:var(--md-primary);color:var(--md-on-primary)}.icon-btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.icon-btn.tonal.on,.icon-btn.toggle.on{background:var(--md-primary);color:var(--md-on-primary)}.icon-btn.toggle.on{border-radius:var(--shape-m)}.icon-btn:disabled{opacity:.38;pointer-events:none}.fab{border-radius:var(--shape-l);background:var(--md-primary-container);min-width:56px;height:56px;color:var(--md-on-primary-container);box-shadow:var(--elev-3);border:none;align-items:center;gap:12px;padding:0 16px;font-weight:500;display:inline-flex}.seg{border:1px solid var(--md-outline);border-radius:var(--shape-full);height:36px;display:inline-flex;overflow:hidden}.seg>button{color:var(--md-on-surface);border:none;border-right:1px solid var(--md-outline);background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.seg>button:last-child{border-right:none}.seg>button.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.seg.full{display:flex}.seg.full>button{flex:1;justify-content:center;padding:0 6px}.chip{border-radius:var(--shape-s);border:1px solid var(--md-outline-variant);height:32px;color:var(--md-on-surface-variant);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.chip .ms{font-size:18px}.chip.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-color:#0000}.field{flex-direction:column;gap:4px;display:flex}.field>label{color:var(--md-on-surface-variant);font-size:12px;font-weight:500}.text-input{border-radius:var(--shape-s);border:1px solid var(--md-outline);-webkit-user-select:text;user-select:text;width:100%;min-width:0;height:40px;transition:border-color var(--dur-s);background:0 0;outline:none;padding:0 12px}.text-input:focus{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary)}textarea.text-input{resize:vertical;height:auto;padding:10px 12px}.search{border-radius:var(--shape-full);background:var(--md-surface-container-high);height:44px;color:var(--md-on-surface-variant);align-items:center;gap:8px;padding:0 8px 0 14px;display:flex}.search input{color:var(--md-on-surface);-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1;min-width:0}.num{border-radius:var(--shape-s);background:var(--md-surface-container-highest);cursor:ew-resize;font-variant-numeric:tabular-nums;flex:1;align-items:center;min-width:0;height:30px;display:flex;position:relative;overflow:hidden}.num .fillbar{background:color-mix(in srgb, var(--md-primary) 28%, transparent);pointer-events:none;position:absolute;inset:0 auto 0 0}.num .lbl{color:var(--md-on-surface-variant);pointer-events:none;padding-left:8px;font-size:11px;font-weight:600;position:relative}.num .val{text-align:right;pointer-events:none;white-space:nowrap;flex:1;padding-right:8px;font-size:12.5px;position:relative;overflow:hidden}.num .arrow{opacity:0;width:18px;height:100%;color:var(--md-on-surface-variant);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid;position:relative}.num:hover .arrow{opacity:1}.num:hover{background:color-mix(in srgb, var(--md-surface-container-highest) 85%, var(--md-on-surface))}.num input{outline:2px solid var(--md-primary);border-radius:inherit;background:var(--md-surface-container-lowest);text-align:right;-webkit-user-select:text;user-select:text;border:none;padding:0 8px;font-size:12.5px;position:absolute;inset:0}.num.x .lbl{color:var(--x-axis)}.num.y .lbl{color:var(--y-axis)}.num.z .lbl{color:var(--z-axis)}.num.keyed{background:color-mix(in srgb, var(--key) 22%, var(--md-surface-container-highest))}.num.animated{background:color-mix(in srgb, var(--key-anim) 16%, var(--md-surface-container-highest))}.prop-row{align-items:center;gap:6px;min-height:32px;display:flex}.prop-row>.prop-label{width:86px;color:var(--md-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:12.5px;overflow:hidden}.prop-row>.prop-body{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.keybtn{width:22px;height:22px;color:var(--md-outline);background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.keybtn:hover{background:color-mix(in srgb, var(--md-on-surface) 10%, transparent)}.keybtn .ms{font-size:16px}.keybtn.animated{color:var(--key-anim)}.keybtn.keyed{color:var(--key)}.switch{border-radius:var(--shape-full);border:2px solid var(--md-outline);background:var(--md-surface-container-highest);width:52px;height:32px;transition:background var(--dur-s), border-color var(--dur-s);flex:none;padding:0;position:relative}.switch:before{content:"";background:var(--md-outline);width:16px;height:16px;transition:all var(--dur-m) var(--ease-emph);border-radius:50%;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.switch.on{background:var(--md-primary);border-color:var(--md-primary)}.switch.on:before{background:var(--md-on-primary);width:24px;height:24px;left:24px}.switch.sm{transform-origin:100%;transform:scale(.8)}.slider{cursor:pointer;touch-action:none;flex:1;align-items:center;height:32px;display:flex;position:relative}.slider .track{background:var(--md-secondary-container);border-radius:3px;height:6px;position:absolute;left:0;right:0}.slider .active{background:var(--md-primary);border-radius:3px;height:6px;position:absolute;left:0}.slider .handle{background:var(--md-primary);width:4px;height:22px;box-shadow:0 0 0 4px var(--md-surface-container-low);border-radius:2px;position:absolute;transform:translate(-50%)}.card{background:var(--md-surface-container);border-radius:var(--shape-m)}.section{border-radius:var(--shape-m);background:var(--md-surface-container);margin-bottom:8px;overflow:hidden}.section>header{cursor:pointer;align-items:center;gap:8px;height:44px;padding:0 8px 0 14px;display:flex}.section>header .ms.lead{color:var(--md-primary)}.section>header .title{flex:1;font-size:14px;font-weight:500}.section>.body{flex-direction:column;gap:6px;padding:2px 12px 12px;display:flex}.divider{background:var(--md-outline-variant);height:1px;margin:6px 0}.menu{z-index:1000;border-radius:var(--shape-s);background:var(--md-surface-container);min-width:200px;max-width:320px;max-height:70vh;box-shadow:var(--elev-2);animation:menu-in var(--dur-m) var(--ease-emph);transform-origin:0 0;padding:8px 0;position:fixed;overflow-y:auto}@keyframes menu-in{0%{opacity:0;transform:scale(.92)translateY(-4px)}}.menu-item{text-align:left;width:100%;height:40px;color:var(--md-on-surface);background:0 0;border:none;align-items:center;gap:12px;padding:0 14px;font-size:14px;display:flex}.menu-item .ms{color:var(--md-on-surface-variant)}.menu-item .kbd{color:var(--md-on-surface-variant);margin-left:auto;font-size:12px}.menu-item.danger,.menu-item.danger .ms{color:var(--md-error)}.menu-sep{background:var(--md-outline-variant);height:1px;margin:6px 0}.scrim{z-index:900;background:color-mix(in srgb, var(--md-scrim) 45%, transparent);animation:fade-in var(--dur-m) linear;place-items:center;padding:16px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.dialog{background:var(--md-surface-container-high);border-radius:var(--shape-xl);box-shadow:var(--elev-3);width:100%;max-width:min(560px,100%);max-height:min(86vh,900px);animation:dialog-in .35s var(--ease-emph);flex-direction:column;display:flex}.dialog.wide{max-width:min(980px,100%)}@keyframes dialog-in{0%{opacity:0;transform:translateY(-24px)scale(.96)}}.dialog>header{align-items:center;gap:12px;padding:24px 24px 12px;display:flex}.dialog>header .ms.lead{color:var(--md-secondary,var(--md-primary));font-size:24px}.dialog>.content{color:var(--md-on-surface-variant);padding:4px 24px 8px;overflow-y:auto}.dialog>footer{justify-content:flex-end;gap:8px;padding:16px 24px 20px;display:flex}.tooltip{z-index:2000;pointer-events:none;background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);border-radius:var(--shape-xs);max-width:260px;animation:fade-in var(--dur-s) linear;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex;position:fixed}.tooltip kbd,kbd{font-family:var(--font-mono);background:color-mix(in srgb, currentColor 15%, transparent);border-radius:4px;padding:1px 5px;font-size:11px}.snackbar{z-index:1500;border-radius:var(--shape-xs);background:var(--md-inverse-surface);min-height:48px;color:var(--md-inverse-on-surface);box-shadow:var(--elev-3);animation:snack-in .3s var(--ease-emph);align-items:center;gap:8px;max-width:min(600px,100vw - 32px);padding:6px 8px 6px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.snackbar .btn.text{color:var(--md-inverse-primary)}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,12px)}}.progress{background:var(--md-secondary-container);border-radius:2px;height:4px;overflow:hidden}.progress>div{background:var(--md-primary);border-radius:2px;height:100%;transition:width .2s linear}.progress.indet>div{animation:indet 1.2s infinite var(--ease-std);width:40%!important}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(260%)}}.spinner{border:3px solid var(--md-secondary-container);border-top-color:var(--md-primary);border-radius:50%;width:24px;height:24px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tabs{border-bottom:1px solid var(--md-outline-variant);scrollbar-width:none;display:flex;overflow-x:auto}.tabs>button{height:44px;color:var(--md-on-surface-variant);white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.tabs>button.on{color:var(--md-primary)}.tabs>button.on:before{content:"";background:var(--md-primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:20%;right:20%}.empty{text-align:center;color:var(--md-on-surface-variant);flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.empty .ms{opacity:.6;font-size:40px}.badge{border-radius:var(--shape-full);background:var(--md-tertiary-container);color:var(--md-on-tertiary-container);letter-spacing:.03em;padding:1px 6px;font-size:10px;font-weight:700}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.scroll-y{min-height:0;overflow-y:auto}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hidden{display:none!important}.boot{background:var(--md-surface);align-content:center;place-items:center;gap:24px;display:grid;position:fixed;inset:0}.app{background:var(--md-surface-container-lowest);flex-direction:column;height:100%;display:flex}.topbar{height:var(--topbar-h);background:var(--md-surface-container);border-bottom:1px solid var(--md-outline-variant);z-index:5;flex:none;align-items:center;gap:6px;padding:0 12px 0 8px;display:flex}.brand{border-radius:var(--shape-full);background:0 0;border:none;align-items:center;gap:10px;height:44px;padding:0 12px 0 8px;display:flex}.brand-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.project-name{min-width:0}.name-btn{border-radius:var(--shape-full);background:var(--md-surface-container-high);border:none;align-items:center;gap:8px;max-width:260px;height:36px;padding:0 12px;font-weight:500;display:flex}.search-pill{border-radius:var(--shape-full);background:var(--md-surface-container-high);width:min(360px,30vw);height:38px;color:var(--md-on-surface-variant);border:none;align-items:center;gap:10px;padding:0 10px 0 14px;display:flex}.search-pill span{text-align:left;flex:1}.guest-chip{border-radius:var(--shape-full);background:var(--md-surface-container-highest);height:32px;color:var(--md-on-surface-variant);align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.main{flex:1;min-height:0;display:flex}.center{flex-direction:column;flex:1;gap:6px;min-width:0;padding:6px 0;display:flex}.rail{width:var(--rail-w);background:var(--md-surface-container);border-right:1px solid var(--md-outline-variant);scrollbar-width:none;flex-direction:column;flex:none;align-items:center;gap:4px;padding:10px 0;display:flex;overflow-y:auto}.rail-item{width:72px;color:var(--md-on-surface-variant);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:2px 0 6px;display:flex}.rail-pill{border-radius:var(--shape-full);width:56px;height:32px;transition:background var(--dur-m) var(--ease-emph);place-items:center;display:grid}.rail-pill .ms{font-size:24px}.rail-label{font-size:12px;font-weight:500}.rail-item.on{color:var(--md-on-surface)}.rail-item.on .rail-pill{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.left-sheet{width:var(--panel-w);background:var(--md-surface-container-low);border-right:1px solid var(--md-outline-variant);min-height:0;animation:sheet-in .25s var(--ease-emph);flex-direction:column;flex:none;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translate(-16px)}}.panel{flex-direction:column;height:100%;min-height:0;display:flex}.panel-head{align-items:center;gap:8px;padding:16px 16px 10px;display:flex}.panel-head .t-title{flex:1;font-size:18px}.viewport{border-radius:var(--shape-l);min-height:0;box-shadow:inset 0 0 0 1px var(--md-outline-variant);background:#0b0d10;flex:1;margin:0 6px;position:relative;overflow:hidden}.viewport-canvas{position:absolute;inset:0}.viewport-canvas canvas:focus{outline:none}.vp-toolbar{border-radius:var(--shape-full);background:color-mix(in srgb, var(--md-surface-container) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--elev-1);align-items:center;gap:6px;padding:4px;display:flex;position:absolute;top:10px;left:10px}.vp-toolbar.right{gap:2px;left:auto;right:10px}.vp-toolbar .seg{background:0 0;border:none;height:32px}.vp-toolbar .seg>button{border-radius:var(--shape-full);border:none;padding:0 10px}.vp-stats{font:11px var(--font-mono);color:#fff;pointer-events:none;background:#00000073;border-radius:6px;padding:4px 8px;position:absolute;bottom:10px;left:12px}.rec-badge{color:#fff;border-radius:var(--shape-full);box-shadow:var(--elev-2);pointer-events:none;background:#c62828;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.rec-badge .dot{background:#fff;border-radius:5px;width:10px;height:10px;animation:1s infinite blink}@keyframes blink{50%{opacity:.2}}.vp-empty,.vp-drop{text-align:center;pointer-events:none;color:#e8ece4;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.vp-empty>*{pointer-events:auto}.vp-empty .t-muted{color:#c2c9bc;max-width:420px}.vp-empty{background:radial-gradient(#00000059,#0000 60%)}.vp-drop{background:color-mix(in srgb, var(--md-primary) 22%, #00000080);border:3px dashed var(--md-primary);border-radius:inherit}.passepartout{pointer-events:none;clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0, var(--x) var(--y), var(--x) calc(var(--y) + var(--h)), calc(var(--x) + var(--w)) calc(var(--y) + var(--h)), calc(var(--x) + var(--w)) var(--y), var(--x) var(--y));background:#0000008c;position:absolute;inset:0}.passepartout .frame-outline{left:var(--x);top:var(--y);width:var(--w);height:var(--h);position:absolute;box-shadow:inset 0 0 0 1px #ffffff80}.timeline{border-radius:var(--shape-l);background:var(--md-surface-container-low);height:250px;box-shadow:inset 0 0 0 1px var(--md-outline-variant);resize:vertical;flex-direction:column;flex:none;margin:0 6px;display:flex;overflow:hidden}.tl-bar{border-bottom:1px solid var(--md-outline-variant);scrollbar-width:none;flex:none;align-items:center;gap:8px;height:50px;padding:0 10px;display:flex;overflow-x:auto}.tl-time{font-variant-numeric:tabular-nums;border-radius:var(--shape-s);background:var(--md-surface-container-highest);align-items:center;gap:4px;min-width:108px;height:32px;padding:0 10px;font-size:15px;font-weight:600;display:flex}.tl-body{flex:1;min-height:0;display:flex;position:relative}.tl-left{border-right:1px solid var(--md-outline-variant);scrollbar-width:none;flex:none;width:220px;overflow:hidden auto}.tl-ruler-left{align-items:center;padding:0 12px;display:flex}.tl-canvas{touch-action:none;cursor:default;display:block}.tl-row{height:28px;color:var(--md-on-surface-variant);cursor:pointer;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:13px;display:flex}.tl-row.sel{background:color-mix(in srgb, var(--md-primary) 10%, transparent);color:var(--md-on-surface)}.tl-row.obj{color:var(--md-on-surface)}.tl-row.chan{padding-left:46px;font-size:12px}.tl-row.scene{font-weight:500}.tl-expand{width:18px;height:18px;color:inherit;background:0 0;border:none;place-items:center;padding:0;display:grid}.props{width:var(--props-w);background:var(--md-surface-container-low);border-left:1px solid var(--md-outline-variant);flex-direction:column;flex:none;min-height:0;display:flex}.props-head{align-items:center;gap:8px;min-height:56px;padding:12px 8px 10px 16px;display:flex}.props-scroll{flex:1;padding:0 8px 24px;overflow-y:auto}.outl-row{border-radius:var(--shape-full);height:36px;color:var(--md-on-surface);cursor:pointer;align-items:center;gap:8px;padding-right:4px;font-size:13.5px;display:flex}.outl-row .icon-btn{opacity:0}.outl-row:hover .icon-btn,.outl-row.sel .icon-btn{opacity:1}.outl-row.sel{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.motion-grid{grid-template-columns:repeat(3,1fr);align-content:start;gap:6px;padding:0 10px 12px;display:grid}.motion-card{border-radius:var(--shape-m);background:var(--md-surface-container);color:var(--md-on-surface);border:none;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 4px;display:flex}.motion-card:hover{background:var(--md-surface-container-high)}.move-grid,.look-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.move-card{border-radius:var(--shape-m);background:var(--md-surface-container-high);color:var(--md-on-surface);text-align:center;border:none;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11.5px;line-height:1.2;display:flex}.move-card .ms{color:var(--md-primary)}.look-card{border-radius:var(--shape-m);background:var(--md-surface-container-high);color:var(--md-on-surface);border:2px solid #0000;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:8px 4px;font-size:12px;display:flex}.look-card.on{border-color:var(--md-primary)}.look-card .swatch{aspect-ratio:16/10;border-radius:var(--shape-s);color:#fff;text-shadow:0 1px 3px #00000080;place-items:center;width:100%;display:grid}.hdri-grid{grid-template-columns:repeat(3,1fr);gap:4px;max-height:280px;display:grid;overflow-y:auto}.hdri{aspect-ratio:2;background:var(--md-surface-container-highest);border:none;border-radius:6px;padding:0;overflow:hidden}.hdri img{object-fit:cover;width:100%;height:100%;display:block}.auto-card{border-radius:var(--shape-l);background:var(--md-surface-container);color:var(--md-on-surface);border:none;align-items:center;gap:14px;width:100%;padding:12px 14px;display:flex}.auto-card>.ms{color:var(--md-primary)}.tpl-icon{border-radius:var(--shape-m);color:#fff;flex:none;place-items:center;width:40px;height:40px;display:grid}.add-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.add-card{border-radius:var(--shape-m);background:var(--md-surface-container);color:var(--md-on-surface);text-align:center;border:none;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 4px 10px;font-size:12px;line-height:1.2;display:flex}.add-card .thumb{background:var(--md-surface-container-highest);width:44px;height:44px;color:var(--md-primary);image-rendering:pixelated;border-radius:10px;place-items:center;display:grid;overflow:hidden}.add-card .thumb img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.add-card:hover{background:var(--md-surface-container-high)}.mc-banner{border-radius:var(--shape-l);background:linear-gradient(135deg, color-mix(in srgb, var(--md-primary-container) 80%, transparent), var(--md-surface-container));color:var(--md-on-primary-container);flex-direction:column;gap:8px;margin-bottom:8px;padding:14px;display:flex}.warn{background:var(--md-error-container,#93000a);color:var(--md-on-error-container,#ffdad6);border-radius:var(--shape-s);padding:8px 12px;font-size:13px}.export-grid{color:var(--md-on-surface);grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.format-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.format-card{border-radius:var(--shape-l);background:var(--md-surface-container);color:var(--md-on-surface);text-align:left;border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.format-card .ms{color:var(--md-primary)}.format-card.on{border-color:var(--md-primary);background:var(--md-secondary-container)}.shortcut-grid{grid-template-columns:1fr;gap:8px;display:grid}.legal{color:var(--md-on-surface);line-height:1.55}.legal a,.home a{color:var(--md-primary)}.palette{max-width:640px}.menu-item.active{background:color-mix(in srgb, var(--md-on-surface) 8%, transparent)}.tour{z-index:800;animation:dialog-in .4s var(--ease-emph);position:fixed;bottom:24px;right:24px}.tour-card{background:var(--md-surface-container-high);border-radius:var(--shape-xl);width:360px;max-width:calc(100vw - 48px);box-shadow:var(--elev-3);flex-direction:column;gap:10px;padding:20px;display:flex}.tour-icon{border-radius:var(--shape-l);background:var(--md-primary-container);width:48px;height:48px;color:var(--md-on-primary-container);place-items:center;display:grid}.home{background:radial-gradient(1200px 600px at 80% -10%, color-mix(in srgb, var(--md-primary) 16%, transparent), transparent), var(--md-surface);height:100%;padding:0 clamp(16px,5vw,64px) 32px;overflow-y:auto}.home>section{max-width:1200px;margin:0 auto 36px}.home h2{align-items:center;gap:8px;margin:0 0 14px;display:flex}.home-top{align-items:center;gap:10px;max-width:1200px;height:72px;margin:0 auto;display:flex}.home-top .num{flex:none;width:180px}.hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;padding:32px 0 12px;display:grid}.hero h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(32px,4.6vw,56px);font-weight:700;line-height:1.05}.hero-art{height:260px;color:var(--md-on-primary-container);place-items:center;display:grid;position:relative}.hero-art>.ms{z-index:2;background:var(--md-primary-container);box-shadow:var(--elev-3);border-radius:28px;padding:24px;position:relative}.cube{background:linear-gradient(135deg, var(--md-primary), var(--md-tertiary));opacity:.85;border-radius:22px;width:110px;height:110px;animation:6s ease-in-out infinite float;position:absolute}.cube.c1{top:6%;left:8%;transform:rotate(-12deg)}.cube.c2{background:linear-gradient(135deg, var(--md-tertiary), var(--md-secondary-container));width:80px;height:80px;animation-delay:-2s;top:30%;right:6%}.cube.c3{width:64px;height:64px;animation-delay:-4s;bottom:0;left:30%}@keyframes float{50%{translate:0 -14px;rotate:8deg}}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.tpl-card{border-radius:var(--shape-l);background:var(--md-surface-container);color:var(--md-on-surface);text-align:left;transition:transform var(--dur-m) var(--ease-emph), box-shadow var(--dur-m);border:none;flex-direction:column;gap:6px;padding:10px 10px 14px;display:flex}.tpl-card:hover{box-shadow:var(--elev-2);transform:translateY(-3px)}.tpl-art{border-radius:var(--shape-m);color:#fff;place-items:center;height:112px;margin-bottom:4px;display:grid}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.proj-card{border-radius:var(--shape-l);background:var(--md-surface-container);color:var(--md-on-surface);text-align:left;cursor:pointer;border:none;flex-direction:column;gap:4px;padding:8px 8px 12px;display:flex}.proj-thumb{aspect-ratio:16/9;border-radius:var(--shape-m);background:var(--md-surface-container-highest);color:var(--md-on-surface-variant);place-items:center;margin-bottom:4px;display:grid;overflow:hidden}.proj-thumb img{object-fit:cover;width:100%;height:100%}.home-foot{max-width:1200px;color:var(--md-on-surface-variant);border-top:1px solid var(--md-outline-variant);flex-wrap:wrap;align-items:center;gap:8px;margin:24px auto 0;padding-top:16px;font-size:13px;display:flex}.home-foot a.btn{text-decoration:none}@media (max-width:1280px){:root{--panel-w:290px;--props-w:290px}.hide-sm{display:none}}@media (max-width:1000px){.search-pill{display:none}.props{right:0;top:var(--topbar-h);z-index:4;box-shadow:var(--elev-3);position:absolute;bottom:0}.left-sheet{left:var(--rail-w);top:var(--topbar-h);z-index:4;box-shadow:var(--elev-3);position:absolute;bottom:0}.hero{grid-template-columns:1fr}.hero-art{display:none}.export-grid{grid-template-columns:1fr}}@media (max-width:640px){:root{--rail-w:64px}.rail-label,.brand-name{display:none}.rail-item{width:60px}.rail-pill{width:48px}.props{width:100%}}.expr-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.expr{aspect-ratio:1;border-radius:var(--shape-m);background:var(--md-surface-container-high);color:var(--md-on-surface);border:2px solid #0000;place-items:center;display:grid}.expr.on{border-color:var(--md-primary);background:var(--md-secondary-container)}[data-desktop=darwin] .topbar{-webkit-app-region:drag;padding-left:84px}[data-desktop=darwin] .topbar button,[data-desktop=darwin] .topbar input,[data-desktop=darwin] .topbar .cl-rootBox{-webkit-app-region:no-drag}[data-desktop=darwin] .home-top{-webkit-app-region:drag;padding-left:72px}[data-desktop=darwin] .home-top>*{-webkit-app-region:no-drag}.mc-chip{border-radius:var(--shape-full);background:color-mix(in srgb, var(--md-surface-container-high) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--elev-2);pointer-events:none;align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.skin-picker{flex-direction:column;gap:8px;display:flex}.skin-input{align-items:center;gap:6px;display:flex}.skin-input .text-input{height:36px}.skin-head{background:var(--md-surface-container-highest);width:36px;height:36px;color:var(--md-on-surface-variant);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.skin-head img,.skin-chip img{image-rendering:pixelated;width:100%;height:100%}.skin-chips{flex-wrap:wrap;gap:6px;display:flex}.skin-chip{border-radius:var(--shape-full);border:1px solid var(--md-outline-variant);max-width:130px;height:30px;color:var(--md-on-surface);background:0 0;align-items:center;gap:6px;padding:0 10px 0 4px;font-size:12.5px;display:inline-flex}.skin-chip img{border-radius:4px;flex:none;width:22px;height:22px}.skin-chip.on{background:var(--md-secondary-container);border-color:#0000}.nav-gizmo{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:58px;right:10px}.nav-gizmo canvas{background:radial-gradient(circle, color-mix(in srgb, var(--md-surface-container) 55%, transparent) 60%, transparent 70%);cursor:grab;touch-action:none;border-radius:50%}.nav-buttons{flex-direction:column;gap:4px;display:flex}.nav-btn{background:color-mix(in srgb, var(--md-surface-container) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:32px;height:32px;color:var(--md-on-surface);box-shadow:var(--elev-1);cursor:grab;touch-action:none;border:none;border-radius:50%;place-items:center;display:grid}.fly-hud{border-radius:var(--shape-full);background:color-mix(in srgb, var(--md-surface-container-high) 92%, transparent);box-shadow:var(--elev-2);pointer-events:none;align-items:center;gap:10px;padding:6px 14px;font-size:13px;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.path-banner{border-radius:var(--shape-full);background:color-mix(in srgb, var(--md-surface-container-high) 94%, transparent);box-shadow:var(--elev-3);border:1px solid #ffc94d;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 6px 6px 14px;font-size:13px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.path-banner .ms{color:#ffc94d}.crosshair{pointer-events:none;mix-blend-mode:difference;background:linear-gradient(#fff,#fff) 50%/2px 100% no-repeat,linear-gradient(#fff,#fff) 50%/100% 2px no-repeat;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rec-badge.player{top:12px}.player-keys{border-radius:var(--shape-l);color:#fff;pointer-events:none;background:#0000008c;flex-wrap:wrap;justify-content:center;gap:6px 14px;max-width:calc(100% - 24px);padding:8px 14px;font-size:12.5px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.storage-meter{color:var(--md-on-surface-variant);flex-direction:column;align-items:flex-end;gap:4px;font-weight:500;display:inline-flex}.storage-meter .bar{background:var(--md-surface-container-highest);border-radius:3px;width:160px;height:6px;overflow:hidden}.storage-meter .bar>span{background:var(--md-primary);border-radius:3px;height:100%;transition:width .6s cubic-bezier(.2,0,0,1);display:block}.storage-meter.full .bar>span{background:var(--md-error,#ba1a1a)}.render-screen{flex-direction:column;gap:14px;padding:4px 0;display:flex}.render-preview{border-radius:var(--shape-l);background:#000;place-items:center;width:100%;max-height:52vh;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 28px #00000059}.render-preview canvas{object-fit:contain;width:100%;height:100%;display:block}.render-preview .spinner{position:absolute}.render-pct{border-radius:var(--shape-full);color:#fff;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;padding:2px 10px;font:600 13px/22px system-ui,sans-serif;position:absolute;bottom:10px;right:12px}.render-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.render-stats>div{border-radius:var(--shape-m);background:var(--md-surface-container-high);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.render-chip{border-radius:var(--shape-full);background:var(--md-secondary-container);color:var(--md-on-secondary-container,inherit);padding:4px 10px;font-size:12px;font-weight:600}@media (max-width:640px){.render-stats{grid-template-columns:repeat(2,1fr)}}.hover-tag{z-index:6;pointer-events:none;border-radius:var(--shape-full);background:color-mix(in srgb, var(--md-surface-container-highest) 88%, transparent);color:var(--md-on-surface);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:hover-in .12s var(--ease-emph,ease-out);padding:3px 10px;font-size:12px;font-weight:600;position:absolute;box-shadow:0 2px 8px #00000040}@keyframes hover-in{0%{opacity:0;transform:translateY(4px)scale(.96)}}.guides{pointer-events:none;z-index:2;position:absolute;overflow:visible}.guides line,.guides path{stroke:#ffffff8c;stroke-width:1px;fill:none;filter:drop-shadow(0 0 1px #0009)}.guides circle{fill:#ffffffb3}.guides .safe{fill:none;stroke:#ffd6008c;stroke-dasharray:6 4}.guides .safe.title{stroke:#ff785080}.camera-hud{z-index:2;pointer-events:none;color:#ffffffd9;text-shadow:0 1px 2px #000c;white-space:nowrap;box-sizing:border-box;background:linear-gradient(#0000,#00000073);gap:10px;padding:3px 10px;font:600 11px/18px ui-monospace,SF Mono,Menlo,monospace;display:flex;position:absolute;overflow:hidden}.camera-hud .rec{color:#ff6b5b}
