@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--c-bg-0: #0e0f11;--c-bg-1: #141518;--c-bg-2: #1a1c20;--c-bg-3: #1f2126;--c-bg-4: #262930;--c-bg-5: #2e3139;--c-viewport: #2a2d33;--c-border: #232529;--c-border-soft: #1c1e22;--c-border-strong: #2e3036;--c-text: #e8eaee;--c-text-med: #a3a7b0;--c-text-dim: #6b6f78;--c-text-faint: #4a4d54;--c-accent: #8b5cf6;--c-accent-bg: rgba(139, 92, 246, .18);--c-accent-fg: #ffffff;--c-select: var(--c-accent);--c-select-soft: color-mix(in srgb, var(--c-accent) 14%, transparent);--c-x: #e5484d;--c-y: #46a758;--c-z: #3b82f6;--c-warn: #f5a524;--c-danger: #e5484d;--c-flag-texture: var(--c-z);--c-flag-material: var(--c-accent);--c-flag-anim: var(--c-y);--c-flag-model: #2dd4bf;--c-flag-mask: #eab308;--c-flag-tag: #f97316;--c-sg-guide: var(--c-border-strong);--f-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 13px;--fs-xl: 15px;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 12px;--sp-6: 16px;--sp-7: 24px;--h-menubar: 28px;--h-toolbar: 36px;--h-statusbar: 22px;--h-panel-hd: 26px;--h-control: 24px;--h-row: 22px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--sh-dropdown: 0 8px 24px rgba(0, 0, 0, .45), 0 2px 4px rgba(0, 0, 0, .3);--sh-focus: 0 0 0 1px var(--c-accent);color-scheme:dark}:root[data-theme=light] .loading-overlay{background:#f5f6f89e}:root[data-theme=light] .modal-overlay{background:#14161c52}:root[data-theme=light] .image-assets-panel__thumb-loading{background:#f5f6f8eb;box-shadow:0 0 0 1px var(--c-accent)}:root[data-theme=light]{--c-bg-0: #f5f6f8;--c-bg-1: #ffffff;--c-bg-2: #f0f1f4;--c-bg-3: #e6e8ec;--c-bg-4: #d9dce2;--c-bg-5: #c5c9d2;--c-viewport: #d6d9df;--c-border: #d6d9df;--c-border-soft: #e6e8ec;--c-border-strong: #b6bac4;--c-text: #1a1c20;--c-text-med: #4f5560;--c-text-dim: #767c87;--c-text-faint: #a4a8b1;--c-x: #d8323a;--c-y: #2f8f43;--c-z: #2f6df6;--c-warn: #d68a09;--c-danger: #d8323a;--c-flag-mask: #ca8a04;--c-flag-tag: #ea580c;--sh-dropdown: 0 6px 18px rgba(20, 22, 28, .18), 0 2px 4px rgba(20, 22, 28, .08);--r-sm: 4px;--r-md: 8px;--r-lg: 12px;color-scheme:light}:root[data-theme=midnight]{--c-bg-0: #0a0d18;--c-bg-1: #0f1322;--c-bg-2: #141a2c;--c-bg-3: #1b2238;--c-bg-4: #232c46;--c-bg-5: #2c3759;--c-viewport: #1d2540;--c-border: #232c46;--c-border-soft: #1b2238;--c-border-strong: #2c3759;--c-text: #e6ecff;--c-text-med: #98a2c0;--c-text-dim: #6770a0;--c-text-faint: #444a6f;--c-x: #ff6b71;--c-y: #58c97a;--c-z: #6aa3ff;--c-warn: #ffb84d;--c-danger: #ff5965;--sh-dropdown: 0 10px 26px rgba(2, 4, 12, .7), 0 2px 4px rgba(2, 4, 12, .45);--r-sm: 4px;--r-md: 8px;--r-lg: 12px;color-scheme:dark}:root[data-theme=r3-theme]{--c-bg-0: #171717;--c-bg-1: #1b1b1b;--c-bg-2: #202020;--c-bg-3: #262626;--c-bg-4: #2d2d2d;--c-bg-5: #353535;--c-viewport: #202020;--c-border: #2b2b2b;--c-border-soft: #242424;--c-border-strong: #3a3a3a;--c-text: #ededed;--c-text-med: #b0b0b0;--c-text-dim: #7c7c7c;--c-text-faint: #555555;--c-x: #e5484d;--c-y: #46a758;--c-z: #5b8cff;--c-warn: #f5a524;--c-danger: #e5484d;--r-sm: 0;--r-md: 0;--r-lg: 0;--sh-dropdown: 0 8px 24px rgba(0, 0, 0, .52), 0 2px 4px rgba(0, 0, 0, .38);color-scheme:dark}:root[data-theme=r3-theme] *,:root[data-theme=r3-theme] *:before,:root[data-theme=r3-theme] *:after{border-radius:0!important}body,.app,.menubar,.statusbar,.modal,.modal-overlay,.landing-overlay,.landing-side,.landing-hero,.panel,.menu-popover,.context-menu,.toast,.toolbar-secondary,.timeline-toolbar,.image-assets-panel,.image-assets-panel__item,.image-assets-panel__thumb,.shortcut-group,.loading-overlay__card,.loading-overlay,.statusbar__chip,.menubar__chip,.menubar__item,.landing-action,.landing-recent,.copilot-dock{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--c-bg-0);color:var(--c-text);font-family:var(--f-ui);font-size:var(--fs-md);font-feature-settings:"cv11","ss01","ss03";letter-spacing:-.005em;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#app{height:100%;width:100%}input,button,select,textarea{font:inherit;color:inherit;background:transparent;border:0;outline:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-bg-4);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--c-bg-5);background-clip:padding-box;border:2px solid transparent}.mono,kbd,code{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;min-width:14px;height:16px;background:var(--c-bg-3);border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:10px;color:var(--c-text-med);font-family:var(--f-mono)}.shortcut-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5) var(--sp-5)}@media(max-width:1100px){.shortcut-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.shortcut-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.shortcut-groups{grid-template-columns:1fr}}.shortcut-group{background:var(--c-bg-1);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-4) var(--sp-3);display:flex;flex-direction:column}.shortcut-group__title{margin:0 0 var(--sp-3) 0;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-dim);border-bottom:1px solid var(--c-border);padding-bottom:var(--sp-2)}.shortcut-group__list{margin:0;display:flex;flex-direction:column;gap:2px}.shortcut-row{display:grid;grid-template-columns:minmax(64px,auto) 1fr;align-items:start;gap:var(--sp-3);padding:3px 0;min-width:0}.shortcut-row__keys{display:inline-flex;align-items:center;gap:4px;margin:0;flex-wrap:wrap;padding-top:1px}.shortcut-row__key-combo{display:inline-flex;align-items:center;gap:4px}.shortcut-row__plus{color:var(--c-text-dim);font-size:10px;font-family:var(--f-mono)}.shortcut-row__label{margin:0;color:var(--c-text-med);font-size:var(--fs-sm);min-width:0;line-height:1.35;word-break:break-word}.app{display:grid;grid-template-rows:var(--h-menubar) 1fr var(--h-statusbar);height:100vh;width:100vw;background:var(--c-bg-0)}.app--phone{grid-template-rows:auto 1fr var(--h-statusbar);height:100vh;height:100dvh}.app__body{display:grid;grid-template-columns:var(--left-w, 260px) 1px minmax(0,1fr) 1px var(--right-w, 320px) auto;min-height:0;overflow:hidden;background:var(--c-bg-1)}.app__body--phone{grid-template-columns:1fr}.copilot-dock{width:min(420px,42vw);min-width:360px;display:grid;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;background:var(--c-bg-1);border-left:1px solid var(--c-border)}.copilot-pill{position:fixed;right:14px;bottom:34px;z-index:60;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:15px;border:1px solid var(--c-border-strong);background:var(--c-bg-2);color:var(--c-text-med);font-size:var(--fs-sm);font-weight:600;cursor:pointer;box-shadow:0 10px 24px -12px #000000b3;transition:border-color .14s ease,background .14s ease,color .14s ease}.copilot-pill:hover{border-color:color-mix(in srgb,var(--c-accent) 55%,var(--c-border));color:var(--c-text)}.copilot-pill.is-busy{border-color:color-mix(in srgb,var(--c-accent) 45%,var(--c-border))}.copilot-pill.is-done{border-color:color-mix(in srgb,var(--c-y) 55%,var(--c-border));color:var(--c-y)}.copilot-pill__spinner{flex:none;width:11px;height:11px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c-accent) 35%,transparent);border-top-color:var(--c-accent);animation:landing-spinner .7s linear infinite}.copilot-dock[hidden]{display:none}.copilot-dock .ai-chat-window{height:100%;min-height:0}.app__col{display:grid;min-height:0;min-width:0;overflow:hidden}.app__col--center{grid-template-rows:minmax(0,1fr)}.app__col--center.has-viewport-toolbar{grid-template-rows:minmax(0,1fr) auto}.app__col--center.has-timeline{grid-template-rows:minmax(0,1fr) 1px auto var(--tl-h, 260px)}.app__col--right{grid-template-rows:minmax(160px,1fr) 1px var(--fields-h, 220px)}.app__col--right.is-fields-collapsed{grid-template-rows:minmax(0,1fr) 1px var(--h-panel-hd)}.app__sep--row.is-disabled{cursor:default;pointer-events:none}.app__col--left{grid-template-rows:36px minmax(160px,var(--hierarchy-h, 480px)) 1px minmax(96px,1fr)}.app__col--left:has(.panel--collapsed){grid-template-rows:36px minmax(0,1fr) 1px var(--h-panel-hd)}.left-project-panel{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:var(--sp-2);min-width:0;min-height:0;padding:0 var(--sp-2);background:var(--c-bg-2);border-bottom:1px solid var(--c-border)}.left-project-panel__icon{display:grid;place-items:center;width:22px;height:22px;color:var(--c-accent);background:var(--c-bg-3);border:1px solid var(--c-border);border-radius:var(--r-sm)}.left-project-panel__meta{display:flex;flex-direction:column;min-width:0;gap:1px}.left-project-panel__name{width:100%;min-width:0;height:18px;padding:0 4px;margin:0 -4px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text);font-size:var(--fs-md);font-weight:700;text-overflow:ellipsis;cursor:text;transition:background .12s,box-shadow .12s,color .12s}.left-project-panel__name::placeholder{color:var(--c-text-dim);font-weight:600}.left-project-panel__name:hover{background:var(--c-bg-3)}.left-project-panel__name:focus{background:var(--c-bg-3);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 55%,var(--c-border));color:var(--c-accent)}.left-project-panel__sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase}.app__sep{background:var(--c-border);cursor:col-resize;position:relative}.app__sep:after{content:"";position:absolute;inset:0 -7px}.app__sep:hover,.app__sep.is-active{background:var(--c-accent)}.app__sep--row{cursor:row-resize}.app__sep--row:after{inset:-7px 0}.app__hidden-input{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.menubar{display:flex;align-items:center;height:var(--h-menubar);background:var(--c-bg-2);border-bottom:1px solid var(--c-border);padding:0 var(--sp-3);gap:var(--sp-2);position:relative}.menubar__brand{display:flex;align-items:center;gap:6px;padding:0 6px 0 2px;font-weight:700;font-size:var(--fs-md);letter-spacing:-.01em}.menubar__brand-mark{display:grid;place-items:center;width:16px;height:16px;border-radius:3px;background:var(--c-bg-3);overflow:hidden}.menubar__brand-mark img{display:block;width:100%;height:100%}.menubar__sep{width:1px;height:14px;background:var(--c-border-strong);margin:0 var(--sp-2)}.menubar__menus{display:flex;align-items:center;gap:1px}.menubar__menu{position:relative}.menubar__item{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--r-sm);font-size:var(--fs-md);font-weight:500;color:var(--c-text-med);cursor:pointer}.menubar__item:hover{background:var(--c-bg-4);color:var(--c-text)}.menubar__item.is-active{background:var(--c-bg-5);color:var(--c-text)}.menubar__spacer{flex:1}.menubar__right{display:flex;align-items:center;gap:6px;color:var(--c-text-dim);font-size:var(--fs-sm)}.menubar__tool{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--r-sm);background:var(--c-bg-3);border:1px solid var(--c-border);color:var(--c-text-med);font-size:var(--fs-xs);font-weight:700;line-height:1;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.menubar__tool:hover{background:var(--c-bg-4);border-color:var(--c-border-strong);color:var(--c-text)}.menubar__tool.is-active{background:color-mix(in srgb,var(--c-accent) 28%,var(--c-bg-3));border-color:color-mix(in srgb,var(--c-accent) 64%,var(--c-border));color:var(--c-text)}.menubar__chip{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-text-med);font-size:var(--fs-xs);font-family:var(--f-mono);letter-spacing:.02em}.menubar__chip--button{cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s,color .12s}.menubar__chip--button:hover{background:var(--c-bg-4);color:var(--c-text);border-color:var(--c-border-strong)}.menubar__chip--button.is-new{background:color-mix(in srgb,var(--c-accent) 26%,var(--c-bg-3));border-color:color-mix(in srgb,var(--c-accent) 62%,var(--c-border));color:var(--c-text);box-shadow:0 0 0 1px color-mix(in srgb,var(--c-accent) 18%,transparent)}.menubar__chip--button.is-new:hover{background:color-mix(in srgb,var(--c-accent) 34%,var(--c-bg-3));border-color:var(--c-accent)}.menubar__badge{display:inline-flex;align-items:center;height:14px;padding:0 4px;border-radius:var(--r-sm);background:var(--c-accent);color:var(--c-accent-fg);font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em}.menubar__dot{width:6px;height:6px;border-radius:50%;background:var(--c-y)}.menu-popover{position:absolute;top:100%;left:0;min-width:200px;max-width:320px;background:var(--c-bg-2);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--sh-dropdown);padding:4px;z-index:3000;font-size:var(--fs-md)}.menu-popover--floating{position:fixed;top:var(--menu-y, 0);left:var(--menu-x, 0)}.menu-popover__item-wrap{position:relative}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:24px;padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--c-text-med);font-size:var(--fs-md);cursor:pointer;width:100%;text-align:left}.menu-item:hover:not(:disabled){background:var(--c-bg-4);color:var(--c-text)}.menu-item:disabled{color:var(--c-text-faint);cursor:not-allowed}.menu-item.is-danger{color:var(--c-danger)}.menu-item.is-danger:hover:not(:disabled){background:var(--c-danger);color:#fff}.menu-item__label{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.menu-item__icon{display:grid;place-items:center;width:14px;height:14px;color:var(--c-text-dim);flex:0 0 auto}.menu-item__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item__meta{display:flex;align-items:center;gap:4px;color:var(--c-text-faint);font-family:var(--f-mono);font-size:var(--fs-xs)}.menu-sep{height:1px;background:var(--c-border);margin:4px 0}.menu-popover__submenu{position:absolute;top:-4px;min-width:200px;background:var(--c-bg-2);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--sh-dropdown);padding:4px;z-index:3100}.menu-popover__submenu--right{left:100%;margin-left:4px}.menu-popover__submenu--left{right:100%;margin-right:4px}.toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:var(--h-toolbar);background:var(--c-bg-1);border-bottom:1px solid var(--c-border);padding:0 var(--sp-4);gap:var(--sp-5)}.toolbar__left,.toolbar__center,.toolbar__right{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex-wrap:nowrap}.toolbar__left{flex:0 0 auto}.toolbar__center{justify-content:center;gap:var(--sp-4);color:var(--c-text-dim);font-size:var(--fs-sm);overflow:hidden}.toolbar__center>*{min-width:0}.toolbar__right{justify-content:flex-end;flex:0 0 auto;overflow:visible}.toolbar__right>*{flex:0 0 auto}.toolbar__context{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.toolbar__context-label{text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-faint)}.toolbar__context-value{color:var(--c-text);font-weight:500;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playbar{display:inline-flex;align-items:center;gap:2px;padding:0 var(--sp-3);height:28px;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.playbar .ibtn{width:22px;height:22px}.playbar__btn--danger{color:var(--c-danger)}.playbar__btn{display:inline-grid;place-items:center;width:22px;height:22px;border:0;background:transparent;color:var(--c-text-med);border-radius:var(--r-sm);cursor:pointer;padding:0;transition:background .12s,color .12s}.playbar__btn:hover{color:var(--c-text);background:var(--c-bg-4)}.playbar__btn:focus-visible{outline:1px solid var(--c-accent);outline-offset:-1px}.playbar__btn.is-active{background:var(--c-accent);color:var(--c-accent-fg)}.playbar__btn.is-active:hover{background:var(--c-accent);color:var(--c-accent-fg);filter:brightness(1.08)}.playbar__btn--primary{width:22px;height:22px}.playbar__sep{width:1px;height:14px;background:var(--c-border-strong);margin:0 var(--sp-1)}.playbar__counter,.playbar__frame{display:inline-flex;align-items:center;gap:6px;padding:0 var(--sp-2);font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--c-text-med);min-width:74px;justify-content:flex-start}.playbar__counter strong,.playbar__frame strong{color:var(--c-text);font-weight:600}.playbar__counter-sep{color:var(--c-text-faint)}.toolbar__chip{display:inline-flex;align-items:center;height:20px;padding:0 var(--sp-3);background:var(--c-bg-3);color:var(--c-text-med);border-radius:var(--r-sm);font-size:var(--fs-xs);font-family:var(--f-mono)}.tgroup{display:inline-flex;align-items:center;gap:1px;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--r-md);padding:2px;height:28px}.tgroup__sep{width:1px;height:16px;background:var(--c-border-strong);margin:0 2px;flex:none}.ibtn__label{font-size:var(--fs-xs);font-weight:700;line-height:1}.ibtn{display:inline-grid;place-items:center;padding:0;width:24px;height:24px;border-radius:var(--r-sm);color:var(--c-text-med);cursor:pointer;position:relative;transition:background .12s,color .12s;background:transparent}.ibtn:hover:not(:disabled){background:var(--c-bg-4);color:var(--c-text)}.ibtn.is-active{background:var(--c-accent-bg);color:var(--c-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 45%,transparent)}.ibtn:disabled{color:var(--c-text-faint);cursor:not-allowed}.ibtn[data-kbd]:after{content:attr(data-kbd);position:absolute;bottom:1px;right:2px;font-family:var(--f-mono);font-size:8px;color:var(--c-text-faint);pointer-events:none}.ibtn.is-active[data-kbd]:after{color:color-mix(in srgb,var(--c-accent) 65%,var(--c-text-faint))}.tbtn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--r-sm);color:var(--c-text-med);font-size:var(--fs-md);font-weight:500;cursor:pointer;transition:background .12s,color .12s;background:transparent}.tbtn:hover:not(:disabled){background:var(--c-bg-4);color:var(--c-text)}.tbtn:focus-visible{outline:1px solid var(--c-accent);outline-offset:-1px}.tbtn.is-primary{background:var(--c-accent);color:var(--c-accent-fg);font-weight:600}.tbtn.is-primary:hover{filter:brightness(1.08)}.tbtn.is-ghost{background:var(--c-bg-3);color:var(--c-text)}.tbtn.is-danger{background:var(--c-danger);color:#fff;font-weight:600}.tbtn.is-danger:hover:not(:disabled){filter:brightness(1.08)}.tbtn:disabled{color:var(--c-text-faint);cursor:not-allowed}.seg{display:inline-flex;gap:2px;padding:2px;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.seg__btn{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-dim);font:500 var(--fs-sm)/1 var(--f-ui);cursor:pointer;transition:background .12s,color .12s}.seg__btn:hover{color:var(--c-text-med)}.seg__btn.is-active{background:var(--c-accent-bg);color:var(--c-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 45%,transparent)}.proj-chip{display:flex;align-items:center;gap:var(--sp-3);height:28px;padding:0 var(--sp-3) 0 var(--sp-2);background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--r-md);min-width:240px;max-width:360px}.proj-chip__icon{display:grid;place-items:center;width:18px;height:18px;background:var(--c-bg-3);border-radius:var(--r-sm);color:var(--c-accent);flex:0 0 auto}.proj-chip__meta{display:flex;flex-direction:column;min-width:0;line-height:1.1;flex:1}.proj-chip__label{font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em}.proj-chip__sub{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.proj-chip__name{font-size:var(--fs-md);font-weight:600;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;background:transparent;border:0;outline:0;padding:0}.proj-chip__name:focus{outline:1px solid var(--c-accent);outline-offset:1px;border-radius:2px}.panel{display:grid;grid-template-rows:var(--h-panel-hd) 1fr;min-height:0;min-width:0;background:var(--c-bg-1);overflow:hidden;container-type:inline-size}.panel:has(>.panel__subhd){grid-template-rows:var(--h-panel-hd) auto minmax(0,1fr)}.panel--split{grid-template-rows:var(--hierarchy-h, 1fr) 1px 1fr}.panel--no-hd{grid-template-rows:1fr}.panel--collapsed,.panel--collapsed:has(>.panel__subhd){grid-template-rows:var(--h-panel-hd)}.panel__subhd{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--c-bg-2);border-bottom:1px solid var(--c-border);height:28px;min-height:28px}.panel__subhd-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:100%;padding:0 var(--sp-2);border:none;background:transparent;color:var(--c-text-dim);font-size:var(--fs-xs);cursor:pointer;border-right:1px solid var(--c-border);min-width:0;overflow:hidden}.panel__subhd-tab:last-child{border-right:none}.panel__subhd-tab>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel__subhd-tab:hover{color:var(--c-text);background:var(--c-bg-3)}.panel__subhd-tab.is-active{color:var(--c-text);background:var(--c-bg-3);font-weight:500;box-shadow:inset 0 -2px 0 var(--c-accent)}@container (max-width: 220px){.panel__subhd-tab>span{display:none}.panel__subhd-tab{gap:0}}.panel__hd-toggle{display:inline-grid;place-items:center;width:18px;height:18px;border:none;background:transparent;color:var(--c-text-dim);cursor:pointer;border-radius:var(--r-sm);margin-right:-4px;flex:0 0 auto}.panel__hd-toggle:hover{color:var(--c-text);background:var(--c-bg-3)}.panel__hd{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);background:var(--c-bg-2);border-bottom:1px solid var(--c-border);height:var(--h-panel-hd);min-height:var(--h-panel-hd)}.panel__hd-icon{display:inline-grid;place-items:center;width:14px;height:14px;color:var(--c-text-dim);flex:0 0 auto}.panel__hd-title{font-size:var(--fs-sm);font-weight:600;color:var(--c-text);letter-spacing:-.005em;text-transform:none;margin:0}.panel__hd-meta{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-dim)}.panel__hd-spacer{flex:1}.panel__hd-actions{display:inline-flex;align-items:center;gap:2px}.panel__bd{min-height:0;overflow:auto}.panel__bd--flush{padding:0}.panel__bd--fields{padding:var(--sp-3)}.panel__empty{padding:var(--sp-5);color:var(--c-text-dim);font-size:var(--fs-sm);text-align:center}.ptabs{display:inline-flex;align-items:center;height:20px;gap:1px}.ptab{display:inline-flex;align-items:center;height:20px;padding:0 8px;font-size:var(--fs-sm);color:var(--c-text-dim);cursor:pointer;border-radius:var(--r-sm);position:relative;background:transparent}.ptab:hover{color:var(--c-text-med);background:var(--c-bg-3)}.ptab.is-active{color:var(--c-text);background:var(--c-bg-3);font-weight:500}.sg-panel{display:flex;flex-direction:column;min-height:0;height:100%}.sg-toolbar{display:flex;align-items:center;gap:2px;padding:4px var(--sp-3);border-bottom:1px solid var(--c-border);background:var(--c-bg-1);flex-shrink:0}.sg-search{flex:1;display:flex;align-items:center;gap:5px;height:22px;padding:0 6px;background:var(--c-bg-3);border:1px solid var(--c-border);border-radius:var(--r-sm);color:var(--c-text-dim);font-size:var(--fs-sm);transition:border-color .12s ease,color .12s ease,box-shadow .12s ease}.sg-search:hover{border-color:var(--c-border-strong)}.sg-search:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-bg);color:var(--c-text)}.sg-search.is-active{color:var(--c-text)}.sg-search__icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.sg-search__input{flex:1;min-width:0;height:100%;color:var(--c-text);font-size:var(--fs-sm);background:transparent;border:0;outline:0;padding:0;font-family:inherit}.sg-search__input::placeholder{color:var(--c-text-faint)}.sg-r3-head{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.sg-r3-head__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--c-accent);flex-shrink:0}.sg-r3-head__title{font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-med)}.sg-r3-head__meta{margin-left:auto;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-faint)}.sg-r3-picker{width:auto;max-width:140px;flex-shrink:1;min-width:60px}.sg-row__sub{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--c-text-faint);font-size:var(--fs-sm)}.sg-row__flags{margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding-left:6px}.sg-row:hover .sg-flag{opacity:1}.sg-row.sg-row--r3{--sg-indent-step: 15px;height:27px}.sg-row--r3 .sg-row__icon{width:22px;height:22px}.sg-row__tile{display:grid;place-items:center;width:18px;height:18px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c-accent) 18%,var(--c-bg-3));color:color-mix(in srgb,var(--c-accent) 85%,var(--c-text));font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:700}.sg-tree{display:block;padding:2px 0 var(--sp-4);outline:none;flex:1;min-height:0;overflow:auto}.sg-tree__content{width:max-content;min-width:100%}.sg-tree--r3 .sg-tree__content{width:auto;min-width:0}.sg-row--r3 .sg-row__name{overflow:hidden;text-overflow:ellipsis}.sg-tree__empty{padding:var(--sp-5) var(--sp-3);color:var(--c-text-dim);font-size:var(--fs-sm);text-align:center}.sg-row{--sg-indent-step: 16px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:var(--sp-2);height:26px;padding:0 var(--sp-2) 0 calc(var(--sp-3) + var(--indent, 0) * var(--sg-indent-step));font-size:var(--fs-lg);color:var(--c-text-med);cursor:default;position:relative;width:100%;min-width:100%;background:transparent;border:0;text-align:left;background-color:transparent;background-image:repeating-linear-gradient(to right,var(--c-sg-guide) 0,var(--c-sg-guide) 1px,transparent 1px,transparent var(--sg-indent-step));background-repeat:no-repeat;background-position:calc(var(--sp-3) + 6px) 0;background-size:calc(var(--indent, 0) * var(--sg-indent-step)) 100%}.sg-row:hover{background-color:var(--c-bg-3);color:var(--c-text)}.sg-row.is-selected{background-color:var(--c-select-soft);color:var(--c-text)}.sg-row.is-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--c-select)}.sg-row.is-primary:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--c-accent)}.sg-row.is-dragging{opacity:.4}.sg-row.is-drop-inside{background-color:var(--c-accent-bg);box-shadow:inset 0 0 0 1.5px var(--c-accent);border-radius:var(--r-sm)}.sg-row__dropline{position:absolute;left:calc(var(--sp-3) + 2px + var(--indent, 0) * var(--sg-indent-step));right:var(--sp-3);height:2px;background:var(--c-accent);border-radius:2px;pointer-events:none;z-index:1}.sg-row__dropline.is-before{top:-1px}.sg-row__dropline.is-after{bottom:-1px}.sg-row__dropline:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;border:2px solid var(--c-accent);background:var(--c-bg-1)}.sg-row.is-ancestor{color:var(--c-text)}.sg-row.is-ancestor .sg-row__name{font-weight:500}.sg-row__main{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.sg-row__chev{display:grid;place-items:center;width:14px;height:14px;color:var(--c-text-faint);flex:0 0 auto;background:transparent;border:0;cursor:pointer;padding:0}.sg-row__chev:hover{color:var(--c-text-med)}.sg-row__chev.is-hidden{visibility:hidden}.sg-row__icon{display:grid;place-items:center;width:16px;height:16px;color:var(--c-text-dim);flex:0 0 auto;transition:color .1s ease}.sg-row.is-group .sg-row__icon{color:var(--c-text-med)}.sg-row:hover .sg-row__icon{color:var(--c-text)}.sg-row.is-group .sg-row__icon{color:color-mix(in srgb,var(--c-accent) 78%,var(--c-text-med))}.sg-row.is-model .sg-row__icon{color:color-mix(in srgb,var(--c-accent) 55%,var(--c-text-med))}.sg-row--part.is-mesh .sg-row__icon{color:color-mix(in srgb,var(--c-y) 75%,var(--c-text-med))}.sg-row.is-selected .sg-row__icon{color:var(--c-select)}.sg-row.is-hidden-node{color:var(--c-text-faint)}.sg-row.is-hidden-node .sg-row__icon,.sg-row.is-hidden-node .sg-row__badge{color:var(--c-text-faint);opacity:.7}.sg-row.is-hidden-node.is-group .sg-row__icon,.sg-row.is-hidden-node.is-model .sg-row__icon,.sg-row--part.is-hidden-part{color:var(--c-text-faint)}.sg-row--part.is-hidden-part .sg-row__icon,.sg-row--part.is-hidden-part .sg-row__badge{color:var(--c-text-faint);opacity:.7}.sg-row__name{overflow:visible;white-space:nowrap;flex:0 1 auto;min-width:0}.sg-row__vis{display:inline-flex;align-items:center;gap:1px;flex:0 0 auto}.sg-row__flags{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px}.sg-flag{display:grid;place-items:center;width:16px;height:16px;border-radius:var(--r-sm);color:var(--c-text-dim);opacity:.92}button.sg-flag{background:none;border:0;padding:0;min-width:20px;min-height:20px;cursor:pointer}button.sg-flag:hover,button.sg-flag:focus-visible{color:var(--c-accent);opacity:1}.sg-flag--texture{color:var(--c-flag-texture)}.sg-flag--material{color:var(--c-flag-material)}.sg-flag--anim{color:var(--c-flag-anim)}.sg-flag--model{color:var(--c-flag-model)}.sg-flag--mask{color:var(--c-flag-mask)}.sg-flag--tag{color:var(--c-flag-tag)}.sg-row__badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:15px;padding:0 5px;border-radius:999px;background:var(--c-bg-4);font-family:var(--f-mono);font-size:var(--fs-xs);line-height:1;color:var(--c-text-dim)}.sg-row.is-selected .sg-row__badge{background:var(--c-accent-bg);color:var(--c-text-med)}.sg-row__actions{display:flex;align-items:center;gap:1px;margin-left:var(--sp-3);padding-left:var(--sp-3);border-left:1px solid var(--c-border);opacity:0;transition:opacity .1s}.sg-row:hover .sg-row__actions,.sg-row.is-selected .sg-row__actions{opacity:1}.sg-row__ibtn{display:grid;place-items:center;width:18px;height:18px;border-radius:var(--r-sm);color:var(--c-text-dim);cursor:pointer;background:transparent;border:0;padding:0}.sg-row__ibtn:hover{color:var(--c-text);background:var(--c-bg-4)}.sg-row__ibtn:disabled{color:var(--c-text-faint);background:none;cursor:default}.sg-row__ibtn--vis{color:var(--c-text-dim)}.sg-row.is-node-hidden .sg-row__ibtn--vis{color:var(--c-text-med)}.sg-row__ibtn--solo{color:var(--c-text-dim)}.sg-row__ibtn--solo.is-active{color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 18%,transparent)}.sg-row__ibtn--solo.is-active:hover{color:var(--c-warn)}.sg-row.is-node-hidden .sg-row__name,.sg-row.is-node-hidden .sg-row__icon,.sg-row.is-node-hidden .sg-row__flags{opacity:.45}.sg-row__ibtn.is-off{color:var(--c-text-faint)}.sg-row__ibtn--vis{opacity:1}.sg-row__ibtn--vis.is-off{color:var(--c-text-dim);opacity:.85}.sg-row__ibtn:disabled{color:var(--c-text-faint);cursor:not-allowed;opacity:.45}.sg-row__ibtn:disabled:hover{background:transparent}.sg-tree__drop-end{padding:2px var(--sp-3);font-size:var(--fs-xs);color:var(--c-text-faint);min-height:8px;cursor:default}.sg-tree__drop-end.is-active{background:var(--c-accent-bg);color:var(--c-accent);font-family:var(--f-mono)}.insp-head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--c-border);background:var(--c-bg-1)}.insp-head__top{display:flex;align-items:center;gap:6px;margin-bottom:4px}.insp-head__icon{display:grid;place-items:center;width:20px;height:20px;background:var(--c-bg-3);border-radius:var(--r-sm);color:var(--c-select);flex:0 0 auto}.insp-head__name{flex:1;min-width:0;font-size:var(--fs-lg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.insp-head__sub{font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono);display:block;margin-top:2px}.sec{border-bottom:1px solid var(--c-border)}.sec__hd{display:flex;align-items:center;gap:6px;width:100%;height:24px;padding:0 var(--sp-3);background:var(--c-bg-2);color:var(--c-text-med);font-size:var(--fs-sm);font-weight:600;cursor:pointer;border-bottom:1px solid var(--c-border);border-left:0;border-right:0;border-top:0;text-align:left}.sec__hd:hover{color:var(--c-text)}.sec__hd-chev{color:var(--c-text-dim);display:grid;place-items:center;width:10px;height:10px;flex:0 0 auto}.sec__hd-icon{color:var(--c-text-dim);display:grid;place-items:center;width:12px;height:12px;flex:0 0 auto}.sec__hd:hover .sec__hd-icon{color:var(--c-text-med)}.sec__hd-title{flex:1;text-align:left}.sec__hd:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--c-accent)}.sec__hd-meta{margin-left:auto;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-dim);font-weight:400}.sec__bd{padding:var(--sp-4) var(--sp-4) var(--sp-5);min-width:0}.sec.is-collapsed .sec__bd{display:none}.sec.is-collapsed .sec__hd{border-bottom:0}.row{display:grid;grid-template-columns:70px minmax(0,1fr) 16px;align-items:center;gap:var(--sp-3);min-height:var(--h-control);margin-bottom:6px;width:100%}.row.row--has-actions{grid-template-columns:70px minmax(0,1fr) 16px 16px;gap:var(--sp-2)}.row:last-child{margin-bottom:0}.row--wide{grid-template-columns:70px minmax(0,1fr);container-type:inline-size}.row--stacked{grid-template-columns:1fr;gap:4px}.row__lbl{font-size:var(--fs-sm);color:var(--c-text-dim);text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__lbl.is-anim{color:var(--c-warn)}.row__editable{display:grid;place-items:center;width:16px;height:16px;color:var(--c-text-faint);cursor:pointer;background:transparent;border:0;padding:0}.row__editable input{display:none}.row__editable.is-active{color:var(--c-accent)}.row__keyframe,.vec__keyframe{display:grid;place-items:center;width:14px;height:14px;color:var(--c-text-faint);cursor:pointer;background:transparent;border:0;padding:0;border-radius:2px}.row__keyframe:hover,.vec__keyframe:hover{color:var(--c-text)}.row__keyframe.is-anim,.vec__keyframe.is-anim,.row__keyframe.is-key,.vec__keyframe.is-key{color:var(--c-warn)}.row__keyframe[disabled],.vec__keyframe[disabled]{cursor:default;opacity:.35}.vec__keyframe{width:11px;height:11px}.row__hint{grid-column:1 / -1;font-size:var(--fs-xs);color:var(--c-text-dim);margin-top:2px}.row__inline-actions{display:flex;gap:var(--sp-2);align-items:center}.r3insp .row{grid-template-columns:70px minmax(0,1fr)}.vec{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--c-border);border-radius:var(--r-sm);overflow:hidden}.vec__cell{display:flex;align-items:center;height:var(--h-control);min-width:0;background:var(--c-bg-3);padding:0 4px;gap:3px;position:relative;cursor:ew-resize}.vec__cell:hover{background:var(--c-bg-4)}.vec__cell.is-editable,.vec__cell.is-focused{background:var(--c-bg-4);box-shadow:inset 0 0 0 1px var(--c-accent)}.vec__axis{font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:600;width:8px;text-align:center}.vec__cell[data-axis=x] .vec__axis{color:var(--c-x)}.vec__cell[data-axis=y] .vec__axis{color:var(--c-y)}.vec__cell[data-axis=z] .vec__axis{color:var(--c-z)}.vec__val{flex:1 1 34px;min-width:0;width:34px;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text);text-align:right;background:transparent;border:0;outline:0;padding:0;cursor:ew-resize}.vec__val:focus{cursor:text}.vec__val::placeholder{color:var(--c-text-faint)}.vec__editable{display:grid;place-items:center;width:9px;height:10px;color:var(--c-text-faint);cursor:pointer;background:transparent;border:0;padding:0}.vec__editable input{display:none}.vec__editable.is-active{color:var(--c-accent)}@container (max-width: 220px){.row--wide .vec{grid-template-columns:1fr}}.r3insp-mask__chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);min-width:0}.r3insp-mask__empty{font-size:var(--fs-sm);color:var(--c-text-dim)}.r3insp-mask__chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:20px;padding:0 4px 0 8px;border-radius:var(--r-sm);background:var(--c-bg-3);font-size:var(--fs-xs);color:var(--c-text)}.r3insp-mask__chip--readonly{padding-right:8px;color:var(--c-text-dim)}.r3insp-mask__chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.r3insp-mask__chip-remove{display:grid;place-items:center;flex:0 0 auto;width:14px;height:14px;border-radius:3px;color:var(--c-text-faint);cursor:pointer;background:transparent;border:0;padding:0}.r3insp-mask__chip-remove:hover{background:var(--c-bg-4);color:var(--c-danger)}.r3insp-mask__assign-controls{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.r3insp-mask__assign-controls .sel{flex:1 1 auto;min-width:0}.num,.sel,.text{display:flex;align-items:center;height:var(--h-control);background:var(--c-bg-3);border:1px solid transparent;border-radius:var(--r-sm);padding:0 6px;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--c-text);cursor:ew-resize;width:100%;position:relative}.text{cursor:text;font-family:var(--f-ui)}.num:hover,.sel:hover,.text:hover{background:var(--c-bg-4)}.num input,.text input{flex:1;min-width:0;background:transparent;color:var(--c-text);border:0;outline:0;font:inherit}.num input{text-align:right;padding-right:10px}.text input{text-align:left}.num input::placeholder,.text input::placeholder{color:var(--c-text-faint)}.num input:focus-visible{outline:none}.num:focus-within{border-color:var(--c-accent);background:var(--c-bg-4)}.num__drag{position:absolute;top:1px;right:1px;bottom:1px;width:10px;display:grid;place-items:center;background:transparent;border:0;padding:0;cursor:ew-resize;color:var(--c-text-faint);opacity:0;transition:opacity .12s ease,color .12s ease;touch-action:none}.num:hover .num__drag,.num:focus-within .num__drag,.num__drag.is-active,.num__drag:focus-visible{opacity:1}.num__drag:hover,.num__drag.is-active{color:var(--c-accent)}.num__drag:focus-visible{outline:none;color:var(--c-accent)}.num__drag-grip{display:block;width:2px;height:10px;border-left:1px solid currentColor;border-right:1px solid currentColor;opacity:.85}.vec__drag{width:8px;height:12px;display:grid;place-items:center;background:transparent;border:0;padding:0;cursor:ew-resize;color:var(--c-text-faint);opacity:0;transition:opacity .12s ease,color .12s ease;touch-action:none;flex:0 0 auto}.vec__cell:hover .vec__drag,.vec__drag.is-active,.vec__drag:focus-visible{opacity:1}.vec__drag:hover,.vec__drag.is-active,.vec__drag:focus-visible{color:var(--c-accent);outline:none}.vec__drag .num__drag-grip{width:2px;height:8px}.sel{justify-content:space-between;cursor:pointer;font-family:var(--f-ui)}.sel select{flex:1;background:transparent;color:var(--c-text);border:0;outline:0;appearance:none;font:inherit;cursor:pointer}.sel select option{background:var(--c-bg-2);color:var(--c-text)}.sel select option:checked,.sel select option:hover{background:var(--c-accent);color:var(--c-accent-fg)}.sel__caret{color:var(--c-text-dim);display:grid;place-items:center;width:12px;height:12px;pointer-events:none}.custom-select{position:relative;overflow:visible;cursor:default}.custom-select__button{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;height:100%;min-width:0;padding:0;color:var(--c-text);cursor:pointer}.custom-select__button:disabled{color:var(--c-text-faint);cursor:not-allowed}.custom-select__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select.is-open{z-index:30;border-color:var(--c-accent);background:var(--c-bg-4)}.custom-select.is-open .sel__caret{color:var(--c-accent)}.custom-select__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:160px;max-height:220px;overflow-y:auto;padding:4px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:#141518fa;box-shadow:var(--sh-dropdown)}.custom-select__option{display:flex;align-items:center;width:100%;min-height:24px;color:var(--c-text-med);cursor:pointer;text-align:left}.custom-select__option:hover:not(:disabled){background:var(--c-bg-4);color:var(--c-text)}.custom-select__option.is-selected{background:var(--c-accent-bg);color:var(--c-text);box-shadow:inset 2px 0 0 var(--c-accent)}.custom-select__option:disabled{color:var(--c-text-faint);cursor:not-allowed}.swatch-row{display:flex;align-items:center;gap:4px;height:var(--h-control);background:var(--c-bg-3);border-radius:var(--r-sm);padding:2px 4px 2px 2px;width:100%;min-width:0;position:relative}.swatch{width:20px;height:20px;border-radius:2px;border:1px solid rgba(255,255,255,.08);cursor:pointer;appearance:none;padding:0;background:currentColor;flex:0 0 auto}.swatch::-webkit-color-swatch-wrapper{padding:0;border:0}.swatch::-webkit-color-swatch{border:0;border-radius:2px}.swatch-hex{flex:1;min-width:0;font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--c-text);padding:0 4px;background:transparent;border:0;outline:0;width:100%}.swatch-hex::placeholder{color:var(--c-text-faint)}.tog{width:22px;height:12px;background:var(--c-bg-4);border-radius:999px;position:relative;cursor:pointer;transition:background .12s;border:0;padding:0;flex:0 0 auto}.tog:after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;background:var(--c-text-med);border-radius:50%;transition:transform .12s,background .12s}.tog.is-on{background:var(--c-accent)}.tog.is-on:after{transform:translate(10px);background:var(--c-accent-fg)}.seg{display:inline-flex;background:var(--c-bg-3);border-radius:var(--r-sm);padding:2px;gap:1px}.seg__btn{height:18px;padding:0 8px;border-radius:2px;color:var(--c-text-dim);font-size:var(--fs-xs);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;background:transparent;border:0}.seg__btn:hover{color:var(--c-text)}.seg__btn.is-active{background:var(--c-bg-5);color:var(--c-text)}.viewport-stage{position:relative;min-width:0;min-height:0;overflow:hidden;container-type:size}.vp{position:relative;background:var(--c-viewport);min-height:0;overflow:hidden;width:100%;height:100%;outline:none}.vp.is-checkerboard-bg{background-color:#fff;background-image:linear-gradient(45deg,#c8ccd3 25%,transparent 25%),linear-gradient(-45deg,#c8ccd3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#c8ccd3 75%),linear-gradient(-45deg,transparent 75%,#c8ccd3 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.vp:focus,.vp:focus-visible{outline:none}.vp>canvas{display:block;width:100%;height:100%}.viewport-overlay-frame{position:absolute;top:50%;left:50%;width:min(100cqw,calc(100cqh * var(--viewport-aspect, 1.777777)));height:min(100cqh,calc(100cqw / var(--viewport-aspect, 1.777777)));transform:translate(-50%,-50%);z-index:3;pointer-events:none}.r3-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;color:var(--c-text-dim);text-align:center;z-index:4}.r3-empty-state>*{pointer-events:auto}.r3-empty-state__title{font-size:15px;font-weight:600;color:var(--c-text);margin:0}.r3-empty-state__hint{font-size:13px;color:var(--c-text-dim);margin:0;max-width:320px}.r3-empty-state__action{margin-top:6px;padding:8px 16px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--c-accent) 50%,var(--c-border-strong));background:color-mix(in srgb,var(--c-accent) 16%,var(--c-bg-3));color:var(--c-text);font-size:13px;cursor:pointer}.r3-empty-state__action:hover{background:color-mix(in srgb,var(--c-accent) 28%,var(--c-bg-3))}.r3-restoring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none;background:color-mix(in srgb,var(--c-bg-0) 82%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.r3-restoring__card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 30px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-bg-2) 92%,transparent);border:1px solid var(--c-border-strong);box-shadow:0 12px 34px #00000080}.r3-restoring__spinner{width:30px;height:30px;border-radius:50%;border:3px solid color-mix(in srgb,var(--c-text) 16%,transparent);border-top-color:var(--c-accent);animation:r3-restoring-spin .7s linear infinite}.r3-restoring__label{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--c-text)}@keyframes r3-restoring-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.r3-restoring__spinner{animation:none}}.viewport-overlay-grid,.viewport-safe-area{position:absolute;inset:0}.viewport-overlay-grid{border:1px solid rgba(128,128,128,.85)}.viewport-overlay-grid__line{position:absolute;background:#808080b8}.viewport-overlay-grid__line--vertical{top:0;bottom:0;width:1px;transform:translate(-.5px)}.viewport-overlay-grid__line--horizontal{left:0;right:0;height:1px;transform:translateY(-.5px)}.viewport-safe-area{color:#f4f3f5e0}.viewport-safe-area__action,.viewport-safe-area__title,.viewport-safe-area__center_x,.viewport-safe-area__center_y{position:absolute;border:1px solid currentColor}.viewport-safe-area__action{inset:5%}.viewport-safe-area__title{inset:10%;border-style:dashed}.viewport-safe-area__center{position:absolute;width:100%;height:100%;border:1px solid currentColor}.viewport-safe-area__center_x{width:100%;top:50%;border-style:dotted}.viewport-safe-area__center_y{height:100%;left:50%;border-style:dotted}.viewport-safe-area__action:before,.viewport-safe-area__action:after,.viewport-safe-area__title:before,.viewport-safe-area__title:after,.viewport-safe-area__center_x:before,.viewport-safe-area__center_x:after,.viewport-safe-area__center_y:before,.viewport-safe-area__center_y:after{content:"";position:absolute;width:14px;height:14px;border-color:currentColor}.viewport-safe-area__action:before,.viewport-safe-area__title:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.viewport-safe-area__action:after,.viewport-safe-area__title:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.vp__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;background-position:center;-webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 85%);mask-image:radial-gradient(ellipse at center,black 40%,transparent 85%);pointer-events:none}.vp__floor{position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 100%);pointer-events:none}.vp-hud{position:absolute;display:flex;align-items:center;gap:var(--sp-2);z-index:2;pointer-events:none}.vp-hud>*{pointer-events:auto}.vp-hud.vp-hud--tl{top:var(--sp-3);left:var(--sp-3)}.vp-hud.vp-hud--tc{top:var(--sp-3);left:50%;transform:translate(-50%)}.vp-hud.vp-hud--tr{top:var(--sp-3);right:var(--sp-3)}.vp-hud.vp-hud--bl{bottom:var(--sp-3);left:var(--sp-3)}.vp-hud.vp-hud--br{bottom:var(--sp-3);right:var(--sp-3)}.vp-hud--tools{align-items:center}.hud-group{display:inline-flex;align-items:center;background:#0e0f11d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--c-border-strong);border-radius:var(--r-md);padding:2px;gap:1px}.hud-group--lbl{padding:3px var(--sp-3);font-size:var(--fs-sm);color:var(--c-text-med);gap:var(--sp-3)}.hud-group--lbl strong{color:var(--c-text);font-weight:600}.hud-group .ibtn{width:22px;height:22px;color:var(--c-text-med)}.hud-group .ibtn:hover:not(:disabled){background:var(--c-bg-4);color:var(--c-text)}.hud-group .ibtn.is-active{background:var(--c-accent);color:var(--c-accent-fg)}.hud-group--tools{box-shadow:0 12px 30px #00000038}.hud-group__sep{width:1px;height:16px;margin:0 2px;background:var(--c-border-strong)}.hud-close:hover:not(:disabled){background:#e5484d2e;color:var(--c-danger)}.hud-toggle{width:24px;height:24px;background:#0e0f11d1;border:1px solid var(--c-border-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.timeline-toolbar{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-4);padding:8px var(--sp-4);border-bottom:1px solid var(--c-border);background:color-mix(in srgb,var(--c-bg-1) 86%,#000)}.timeline-toolbar__left,.timeline-toolbar__center,.timeline-toolbar__right{display:flex;align-items:center;min-width:0}.timeline-toolbar__left{gap:var(--sp-3)}.timeline-toolbar__center{justify-content:center}.timeline-toolbar__right{justify-content:flex-end;gap:var(--sp-3)}.timeline-toolbar__color{height:24px;display:flex;align-items:center;gap:var(--sp-2);padding:0 6px 0 4px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg-2);color:var(--c-text-med)}.timeline-toolbar__color input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.timeline-toolbar__color-swatch{width:16px;height:16px;border:1px solid var(--c-border-strong);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px #ffffff14}.timeline-toolbar__color-value{min-width:62px;font-family:var(--f-mono);font-size:10px;line-height:1}.tl{background:var(--c-bg-1);display:grid;grid-template-rows:var(--h-panel-hd) 1fr;min-height:0;overflow:hidden}.tl__work{display:grid;grid-template-columns:var(--tl-animations-w, 220px) 1px minmax(0,1fr);min-height:0;overflow:hidden}.tl__animations{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;container-type:inline-size;background:linear-gradient(180deg,var(--c-bg-1),color-mix(in srgb,var(--c-bg-1) 88%,#000));border-right:1px solid var(--c-border)}.tl__animations-title{display:flex;align-items:center;height:18px;padding:0 var(--sp-3);border-bottom:1px solid var(--c-border);background:var(--c-bg-1);color:var(--c-text-faint);font-family:var(--f-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.tl__animations-toolbar{display:flex;align-items:center;gap:2px;height:28px;min-width:0;padding:0 var(--sp-2);border-bottom:1px solid var(--c-border);background:var(--c-bg-1)}.tl__animations-toolbar .ibtn{width:20px;height:20px;flex:0 0 auto}.tl__clip-name{flex:0 1 98px;min-width:54px;max-width:116px;height:20px}.tl__clip-name input{font-size:var(--fs-xs)}.tl__animations .runtime-animations{gap:0;min-height:0;padding:0;overflow:hidden}.tl__animations .runtime-animations__list{flex:1;gap:0;min-height:0;overflow-y:auto;padding-right:0}.tl__animations .runtime-animation{grid-template-columns:minmax(0,16px) minmax(0,1fr) minmax(0,34px);gap:var(--sp-2);min-width:0;max-width:100%;min-height:30px;padding:0 var(--sp-3);border:0;border-bottom:1px solid var(--c-border-soft);border-radius:0;background:transparent;overflow:hidden}.tl__animations .runtime-animation:hover{background:var(--c-bg-2)}.tl__animations .runtime-animation.is-active{border-color:var(--c-border-soft);background:color-mix(in srgb,var(--c-accent) 12%,var(--c-bg-2));box-shadow:inset 2px 0 0 var(--c-accent)}.tl__animations .runtime-animation__icon{width:16px;height:16px;min-width:0;border-radius:2px;background:var(--c-bg-3);color:var(--c-accent)}.tl__animations .runtime-animation__meta{min-width:0;overflow:hidden}.tl__animations .runtime-animation__name{font-size:var(--fs-xs)}.tl__animations .runtime-animation__sub,.tl__animations .runtime-animation__fps{font-size:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 205px){.tl__animations .runtime-animation{grid-template-columns:16px minmax(0,1fr)}.tl__animations .runtime-animation__fps{display:none}}@container (max-width: 180px){.tl__animations .runtime-animation{grid-template-columns:minmax(0,1fr)}.tl__animations .runtime-animation__icon{display:none}.tl__animations .runtime-animation__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.tl__animations-footer{display:flex;align-items:center;justify-content:center;min-height:40px;padding:var(--sp-2);border-top:1px solid var(--c-border);background:var(--c-bg-1)}.tl__animations-footer .playbar{width:100%;min-width:0;justify-content:center;gap:1px;padding:0 3px;overflow:hidden}.tl__animations-footer .playbar .ibtn{width:20px;height:20px;min-width:0;flex:0 1 20px}.tl__animations-footer .playbar__frame{min-width:0;flex:0 1 58px;padding:0 2px;gap:3px;overflow:hidden;white-space:nowrap}@container (max-width: 205px){.tl__animations-footer .playbar__frame,.tl__animations-footer .playbar__sep{display:none}}@container (max-width: 180px){.tl__animations .runtime-animation__icon,.tl__animations-footer .playbar button[aria-label=Rewind],.tl__animations-footer .playbar button[aria-label="Fast forward"]{display:none}}@container (max-width: 165px){.tl__animations .runtime-animation{grid-template-columns:minmax(0,1fr)}.tl__animations .runtime-animation__fps,.tl__animations-footer .playbar button[aria-label="Skip to start"],.tl__animations-footer .playbar button[aria-label="Skip to end"]{display:none}}.tl__animations-resizer{background:var(--c-border);cursor:col-resize;position:relative}.tl__animations-resizer:after{content:"";position:absolute;top:0;bottom:0;left:-3px;width:7px}.tl__animations-resizer:hover,.tl__animations-resizer.is-active{background:var(--c-accent)}.tl__sheet{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0;overflow:hidden}.tl__ruler-row{display:grid;grid-template-columns:240px 1fr;min-height:18px;border-bottom:1px solid var(--c-border)}.tl__ruler-spacer{display:flex;align-items:center;padding:0 var(--sp-3);border-right:1px solid var(--c-border);background:var(--c-bg-1);color:var(--c-text-faint);font-family:var(--f-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.tl__ruler{position:relative;height:18px;background:var(--c-bg-2);overflow-x:auto;overflow-y:hidden;cursor:ew-resize;scrollbar-width:none}.tl__ruler::-webkit-scrollbar{display:none}.tl__ruler-inner{position:relative;height:100%;min-width:100%}.tl__ruler-line{position:absolute;top:50%;font-family:var(--f-mono);font-size:9px;color:var(--c-text-dim);transform:translate(-50%,-50%);pointer-events:none}.tl__ruler-tick{position:absolute;width:1px;bottom:0;background:var(--c-border-strong);pointer-events:none}.tl__ruler-tick.is-major{height:8px;background:var(--c-text-faint)}.tl__ruler-tick.is-minor{height:4px}.tl__body{display:grid;grid-template-columns:240px 1fr;min-height:0;overflow:hidden}.tl__tracks{min-width:200px}.tl__tracks{border-right:1px solid var(--c-border);overflow:auto;background:linear-gradient(180deg,var(--c-bg-1),color-mix(in srgb,var(--c-bg-1) 88%,#000))}.tl__tracks-inner{display:flex;flex-direction:column}.tl-track{display:flex;align-items:center;gap:6px;height:26px;padding:0 var(--sp-3);border-bottom:1px solid var(--c-border-soft);font-size:var(--fs-md);color:var(--c-text-med);cursor:pointer;background:transparent;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;flex-shrink:0}.tl-track:hover{background:var(--c-bg-2)}.tl-track.is-selected{background:color-mix(in srgb,var(--c-accent) 12%,var(--c-bg-2));box-shadow:inset 2px 0 0 var(--c-accent);color:var(--c-text)}.tl-track--add{height:26px;background:var(--c-bg-1)}.tl-track--group{height:26px;background:var(--c-bg-2);color:var(--c-text);font-weight:600}.tl-track.is-child{padding-left:20px;color:var(--c-text-dim)}.tl-track.is-child .tl-track__name{color:var(--c-text-med)}.tl-track.is-muted{opacity:.55}.tl-track__ico{display:grid;place-items:center;width:14px;height:14px;border-radius:2px;background:var(--c-bg-3);color:var(--c-text-dim);flex:0 0 auto}.tl-track--group .tl-track__ico{color:var(--c-accent)}.tl-track__ico--position{color:var(--c-select)}.tl-track__ico--rotation{color:var(--c-warn)}.tl-track__ico--scale{color:var(--c-y)}.tl-track__ico--visible{color:var(--c-text-med)}.tl-track__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-track__prop{font-family:var(--f-mono);color:var(--c-text-dim);font-size:var(--fs-xs)}.tl-track__kf-count{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-faint);min-width:14px;text-align:right}.tl-track__actions{display:inline-flex;gap:1px;opacity:0;transition:opacity .12s}.tl-track:hover .tl-track__actions,.tl-track.is-selected .tl-track__actions{opacity:1}.tl-track__ibtn{display:grid;place-items:center;width:16px;height:16px;border-radius:2px;color:var(--c-text-dim);cursor:pointer;background:transparent;border:0;padding:0}.tl-track__ibtn:hover{color:var(--c-text);background:var(--c-bg-4)}.tl-track__ibtn.is-off{color:var(--c-text-faint)}.tl__lanes{position:relative;overflow-y:auto;overflow-x:auto;cursor:crosshair;background:repeating-linear-gradient(to bottom,transparent 0,transparent 25px,var(--c-border-soft) 25px,var(--c-border-soft) 26px)}.tl__lanes-inner{position:relative;min-width:100%}.tl__playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--c-accent);pointer-events:none;z-index:3}.tl__playhead:before{content:"";position:absolute;top:-18px;left:-5px;border:5px solid transparent;border-top-color:var(--c-accent);border-bottom:0;width:0;height:0}.tl__marquee{position:absolute;border:1px solid var(--c-select);background:color-mix(in srgb,var(--c-select) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-select) 30%,transparent);pointer-events:none;z-index:4}.tl-lane{position:relative;height:26px;border-bottom:1px solid var(--c-border-soft);cursor:crosshair;-webkit-user-select:none;user-select:none}.tl-lane.is-selected{background:var(--c-select-soft)}.tl-lane.is-muted{opacity:.55}.tl-kf{position:absolute;top:50%;width:8px;height:8px;background:var(--c-warn);border:1px solid rgba(0,0,0,.5);transform:translate(-50%,-50%) rotate(45deg);cursor:pointer;padding:0;z-index:2}.tl-kf:hover{background:#ffd479}.tl-kf.is-selected{background:#fff;box-shadow:0 0 0 2px var(--c-select)}.tl-kf.is-current{background:#ffeaa5}.tl-kf-link{position:absolute;top:50%;height:2px;transform:translateY(-50%);background:color-mix(in srgb,var(--c-warn) 45%,transparent);border-radius:1px;pointer-events:none;z-index:1}.tl__panel-hd-clock{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--c-text);display:inline-flex;align-items:center;gap:4px}.tl__panel-hd-clock strong{color:var(--c-text);font-weight:600}.tl__panel-hd-clock-dim{color:var(--c-text-faint)}.tl__range{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.tl__range strong{color:var(--c-text);font-weight:600}.tl__empty{padding:var(--sp-6);color:var(--c-text-dim);font-size:var(--fs-sm);text-align:center}.exp-hd{display:flex;gap:var(--sp-3);align-items:center;padding:var(--sp-2) var(--sp-3);background:var(--c-bg-1);border-bottom:1px solid var(--c-border)}.exp-hd .seg{flex:0 0 auto}.exp-hd__spacer{flex:1}.exp-code{padding:var(--sp-3);background:var(--c-bg-0);font-family:var(--f-mono);font-size:11px;line-height:1.55;color:var(--c-text-med);overflow:auto;white-space:pre;height:100%;margin:0;min-height:100%}.tok-k{color:#c586c0}.tok-t{color:#4fc1ff}.tok-f{color:#dcdcaa}.tok-s{color:#ce9178}.tok-n{color:#b5cea8}.tok-c{color:#6a9955;font-style:italic}.tok-p{color:#9cdcfe}.statusbar{display:flex;align-items:center;gap:var(--sp-4);height:var(--h-statusbar);padding:0 var(--sp-4);background:var(--c-bg-2);border-top:1px solid var(--c-border);font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono)}.statusbar__dot{width:6px;height:6px;border-radius:50%;background:var(--c-y)}.statusbar__sep{color:var(--c-text-faint);font-family:var(--f-mono)}.statusbar__left,.statusbar__right{display:flex;align-items:center;gap:var(--sp-3)}.statusbar__right{margin-left:auto}.statusbar__chip{color:var(--c-text-med);font-family:var(--f-mono)}.statusbar__chip--phone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app--phone .statusbar__right{min-width:0}.save-status{display:inline-flex;align-items:center;gap:6px;min-width:0;font-family:var(--f-mono);color:var(--c-text-med)}button.save-status{appearance:none;-webkit-appearance:none;background:none;border:1px solid transparent;margin:0;font:inherit;cursor:pointer}.save-status__dot{width:7px;height:7px;border-radius:50%;background:var(--c-text-dim);flex:none}.save-status__text{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.save-status__primary{font-size:var(--fs-xs);letter-spacing:.02em;white-space:nowrap}.save-status__detail{font-size:var(--fs-xs);color:var(--c-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.save-status--synced .save-status__dot{background:var(--c-y)}.save-status--edited .save-status__dot{background:var(--c-warn)}.save-status--edited .save-status__primary{color:var(--c-warn)}.save-status--browser .save-status__dot{background:var(--c-accent)}.save-status--saving .save-status__dot{background:var(--c-accent);animation:saveStatusPulse 1s ease-in-out infinite}@keyframes saveStatusPulse{0%,to{opacity:.3}50%{opacity:1}}button.save-status:hover .save-status__primary,button.save-status:hover .save-status__detail{color:var(--c-text)}.save-status--menubar{height:18px;padding:0 6px;border-radius:var(--r-sm)}.menubar__right>.save-status--menubar{background:var(--c-bg-3)}.menubar__right>.save-status--browser{background:color-mix(in srgb,var(--c-accent) 14%,var(--c-bg-3))}.menubar__right>.save-status--edited{background:color-mix(in srgb,var(--c-warn) 16%,var(--c-bg-3))}button.save-status--menubar:hover{border-color:var(--c-border-strong)}.save-status--menubar .save-status__detail{max-width:160px}.save-status--statusbar{color:var(--c-text-med)}button.save-status--statusbar:hover{text-decoration:underline;text-underline-offset:2px}.save-nudge{position:fixed;right:14px;bottom:calc(var(--h-statusbar, 28px) + 12px);z-index:60;width:244px;max-width:calc(100vw - 28px);display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--r-md);background:var(--c-bg-2);border:1px solid color-mix(in srgb,var(--c-accent) 38%,var(--c-border));box-shadow:var(--sh-dropdown);color:var(--c-text);animation:fadeIn .16s ease}.save-nudge__head{display:flex;align-items:center;gap:7px;padding-right:18px}.save-nudge__icon{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:var(--r-sm);background:color-mix(in srgb,var(--c-accent) 20%,transparent);color:var(--c-accent)}.save-nudge__title{font-size:var(--fs-sm);font-weight:700}.save-nudge__sub{margin:0;color:var(--c-text-med);font-size:var(--fs-xs);line-height:1.4}.save-nudge__save{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-sm);background:var(--c-accent);border:1px solid var(--c-accent);color:var(--c-accent-fg);font-size:var(--fs-xs);font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .12s}.save-nudge__save:hover{filter:brightness(1.08)}.save-nudge__dismiss{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-sm);background:transparent;border:1px solid transparent;color:var(--c-text-dim);cursor:pointer;transition:background .12s,color .12s}.save-nudge__dismiss:hover{background:var(--c-bg-3);color:var(--c-text)}.landing-overlay{position:fixed;inset:0;z-index:1000;background:var(--c-bg-0);display:grid;grid-template-columns:1fr 404px;animation:fadeIn .2s ease}.landing-overlay--phone{grid-template-columns:1fr}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.landing-hero{position:relative;overflow:hidden;background:var(--c-bg-0);padding:48px;display:flex;flex-direction:column}.landing-overlay--phone .landing-hero{border-right:0;padding:32px 24px}.landing-hero__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.landing-hero__fade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 680px 400px at 14% 82%,color-mix(in srgb,var(--c-bg-0) 82%,transparent),transparent 72%),linear-gradient(90deg,transparent 60%,color-mix(in srgb,var(--c-bg-0) 70%,transparent))}.landing-hero__brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;position:relative}.landing-hero__brand-mark{width:22px;height:22px;background:var(--c-bg-3);border-radius:4px;display:grid;place-items:center;overflow:hidden}.landing-hero__brand-mark img{display:block;width:100%;height:100%}.landing-hero__body{margin-top:auto;position:relative}.landing-hero__eyebrow{font-family:var(--f-mono);font-size:11px;color:var(--c-text-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}.landing-hero__title{font-size:44px;font-weight:700;line-height:1.05;letter-spacing:-.025em;color:var(--c-text);margin:0 0 12px;max-width:540px}.landing-overlay--phone .landing-hero__title{font-size:28px}.landing-hero__title em{font-style:normal;color:var(--c-text-med)}.landing-hero__sub{font-size:14px;color:var(--c-text-med);max-width:440px;margin:0 0 36px;line-height:1.5}.landing-hero__feats{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;max-width:540px;font-family:var(--f-mono);font-size:11px;color:var(--c-text-med);list-style:none;padding:0;margin:0}.landing-hero__feats li{padding:6px 0;border-top:1px solid var(--c-border);display:flex;align-items:center;gap:8px}.landing-hero__feats li:before{content:"";width:4px;height:4px;background:var(--c-accent);border-radius:50%}.landing-side{background:var(--c-bg-1);border-left:1px solid var(--c-border);padding:32px 28px;display:flex;flex-direction:column;min-height:0;overflow:auto}.landing-overlay--phone .landing-side{padding:20px 16px}.landing-side__section{margin-bottom:24px}.landing-side__hd{font-size:11px;font-family:var(--f-mono);color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:flex;justify-content:space-between}.landing-side__footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--c-border);font-size:11px;color:var(--c-text-dim);font-family:var(--f-mono);line-height:1.6}.landing-action{display:flex;align-items:center;gap:12px;padding:13px 14px;min-height:78px;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--r-lg);cursor:pointer;margin-bottom:8px;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease;width:100%;text-align:left;color:var(--c-text)}.landing-action:hover{border-color:color-mix(in srgb,var(--c-accent) 40%,var(--c-border-strong));background:var(--c-bg-3);transform:translateY(-1px)}.landing-action:disabled,.landing-recent:disabled{opacity:.55;pointer-events:none}.landing-action:hover .landing-action__ico{color:var(--c-accent);border-color:color-mix(in srgb,var(--c-accent) 45%,transparent)}.landing-action.is-primary{background:linear-gradient(140deg,color-mix(in srgb,var(--c-accent) 92%,#fff),var(--c-accent));color:var(--c-accent-fg);border-color:var(--c-accent);box-shadow:0 10px 24px -14px color-mix(in srgb,var(--c-accent) 80%,transparent)}.landing-action.is-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px -14px color-mix(in srgb,var(--c-accent) 85%,transparent);border-color:var(--c-accent)}.landing-action__ico{width:32px;height:32px;display:grid;place-items:center;background:var(--c-bg-3);border:1px solid var(--c-border);border-radius:var(--r-md);flex:0 0 auto;color:var(--c-text-med);transition:color .14s ease,border-color .14s ease}.landing-action.is-primary .landing-action__ico{background:#0e0f1124;border-color:#0e0f1124;color:var(--c-accent-fg)}.landing-action__body{display:flex;flex:1;flex-direction:column;min-width:0}.landing-action__title{font-size:13px;font-weight:600;line-height:1.2}.landing-action__sub{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--c-text-dim);font-family:var(--f-mono);margin-top:3px;min-width:0}.landing-action__sub-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-action.is-primary .landing-action__sub{color:#0e0f11a6}.landing-project-types__hint{margin:0 0 var(--sp-5);color:var(--c-text-dim);font-size:var(--fs-sm);line-height:1.4}.landing-project-types{display:flex;flex-direction:column;gap:var(--sp-3)}.landing-project-type{--type-accent: var(--c-accent);position:relative;display:flex;align-items:center;gap:var(--sp-5);height:76px;min-width:0;padding:0 var(--sp-5);background:radial-gradient(150% 130% at 50% -12%,color-mix(in srgb,var(--type-accent) 9%,var(--c-bg-2)) 0%,var(--c-bg-2) 70%);border:1px solid var(--c-border);border-radius:var(--r-lg);color:var(--c-text);cursor:pointer;text-align:left;overflow:hidden;transition:height .18s cubic-bezier(.4,0,.2,1),background .16s ease,border-color .16s ease,box-shadow .18s ease}.landing-project-type--empty{--type-accent: #38bdf8}.landing-project-type--hologfx{--type-accent: #00f6ff}.landing-project-type--r3{--type-accent: #871e52}.landing-action-duo{display:flex;gap:8px}.landing-action-duo .landing-action{flex:1;min-width:0;min-height:0;margin-bottom:0;padding:11px 12px}.landing-action-duo .landing-action__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-import-hint{margin:8px 2px 0;font-family:var(--f-mono);font-size:10px;line-height:1.5;color:var(--c-text-faint)}.landing-status{margin-top:8px;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--r-md);border:1px solid transparent;font-family:var(--f-mono);font-size:10.5px;line-height:1.45;animation:landing-status-in .2s ease}.landing-status.is-ok{background:color-mix(in srgb,var(--c-y) 12%,var(--c-bg-2));border-color:color-mix(in srgb,var(--c-y) 45%,transparent);color:var(--c-y)}.landing-status.is-error{background:color-mix(in srgb,var(--c-danger) 12%,var(--c-bg-2));border-color:color-mix(in srgb,var(--c-danger) 45%,transparent);color:var(--c-danger)}.landing-status__icon{flex:none;font-weight:700;font-size:12px}.landing-status__msg{min-width:0;flex:1}.landing-status.is-loading{background:color-mix(in srgb,var(--c-accent) 10%,var(--c-bg-2));border-color:color-mix(in srgb,var(--c-accent) 40%,transparent);color:var(--c-text-med)}.landing-status__spinner{flex:none;width:11px;height:11px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c-accent) 35%,transparent);border-top-color:var(--c-accent);animation:landing-spinner .7s linear infinite}@keyframes landing-spinner{to{transform:rotate(360deg)}}.landing-status__cancel{flex:none;padding:3px 10px;border:1px solid color-mix(in srgb,var(--c-danger) 45%,var(--c-border));border-radius:var(--r-sm);background:transparent;color:var(--c-danger);font-family:var(--f-mono);font-size:10px;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease}.landing-status__cancel:hover{background:var(--c-danger);color:#fff}@keyframes landing-status-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.landing-status--shake{animation:landing-status-shake .42s ease}@keyframes landing-status-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}.landing-project-type:hover,.landing-project-type:focus-visible{height:122px;background:radial-gradient(150% 130% at 50% -12%,color-mix(in srgb,var(--type-accent) 17%,var(--c-bg-2)) 0%,var(--c-bg-2) 64%);border-color:color-mix(in srgb,var(--type-accent) 40%,var(--c-border));box-shadow:0 14px 30px -22px color-mix(in srgb,var(--type-accent) 45%,transparent)}.landing-project-type:focus-visible{outline:0}.landing-project-type__icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:color-mix(in srgb,var(--type-accent) 18%,var(--c-bg-2));border:1px solid color-mix(in srgb,var(--type-accent) 45%,transparent);color:var(--type-accent);transition:transform .16s ease,background .16s ease}.landing-project-type:hover .landing-project-type__icon{transform:scale(1.05);background:color-mix(in srgb,var(--type-accent) 22%,var(--c-bg-2))}.landing-project-type__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.landing-project-type__title{font-size:var(--fs-lg);font-weight:600;line-height:1.2;color:var(--c-text)}.landing-project-type__desc{color:var(--c-text-dim);font-size:var(--fs-sm);line-height:1.35}.landing-project-type__preview{flex:none;position:relative;width:170px;height:100%;pointer-events:none}.landing-project-type__mini{position:absolute;left:50%;top:50%;width:86px;height:54px;margin:-27px 0 0 -43px;border-radius:var(--r-sm);border:1px solid var(--c-border);overflow:hidden;opacity:0;box-shadow:0 6px 14px -8px #0009;transition:transform .22s cubic-bezier(.34,1.28,.64,1),opacity .18s ease,box-shadow .18s ease}.landing-project-type__mini-thumb{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(color-mix(in srgb,var(--type-accent) 10%,transparent) 1px,transparent 1px) 0 0 / 8px 8px,linear-gradient(90deg,color-mix(in srgb,var(--type-accent) 10%,transparent) 1px,transparent 1px) 0 0 / 8px 8px,radial-gradient(120% 120% at 50% 15%,color-mix(in srgb,var(--type-accent) 24%,var(--c-bg-3)),var(--c-bg-3));color:var(--type-accent)}.landing-project-type__mini-img{display:block;width:100%;height:100%;object-fit:cover}.landing-project-type__mini--a{transform:translate(-8px,64px) rotate(-6deg) scale(.92);z-index:1}.landing-project-type__mini--b{transform:translateY(68px) scale(.96);z-index:2}.landing-project-type__mini--c{transform:translate(8px,64px) rotate(6deg) scale(.92);z-index:1}.landing-project-type:hover .landing-project-type__mini,.landing-project-type:focus-visible .landing-project-type__mini{opacity:1}.landing-project-type:hover .landing-project-type__mini--a,.landing-project-type:focus-visible .landing-project-type__mini--a{transform:translate(-40px,-2px) rotate(-10deg) scale(1)}.landing-project-type:hover .landing-project-type__mini--b,.landing-project-type:focus-visible .landing-project-type__mini--b{z-index:3;transform:translateY(-8px) scale(1.06);box-shadow:0 12px 22px -10px #000000b3}.landing-project-type:hover .landing-project-type__mini--c,.landing-project-type:focus-visible .landing-project-type__mini--c{transform:translate(40px,-2px) rotate(10deg) scale(1)}.landing-project-type__go{flex:none;display:inline-flex;align-items:center;gap:var(--sp-2);height:30px;padding:0 var(--sp-5);border-radius:var(--r-md);background:var(--type-accent);color:var(--c-bg-0);font-size:var(--fs-sm);font-weight:700;opacity:0;transform:translate(-8px);transition:opacity .16s ease,transform .16s ease}.landing-project-type:hover .landing-project-type__go,.landing-project-type:focus-visible .landing-project-type__go{opacity:1;transform:none}@media(max-width:640px){.landing-project-type{height:auto;min-height:64px;padding:var(--sp-4)}.landing-project-type:hover,.landing-project-type:focus-visible{height:auto}.landing-project-type__preview,.landing-project-type__go{display:none}}.origin-badge{display:inline-flex;align-items:center;height:15px;padding:0 6px;border-radius:999px;font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;flex:none}.origin-badge--disk{background:color-mix(in srgb,var(--c-y) 20%,transparent);color:var(--c-y)}.origin-badge--browser{background:color-mix(in srgb,var(--c-accent) 22%,transparent);color:var(--c-accent)}.landing-action.is-primary .origin-badge--disk,.landing-action.is-primary .origin-badge--browser{background:#0e0f1124;color:#0e0f11b8}.origin-badge__sep{color:var(--c-text-faint)}.landing-recent-list{display:flex;flex-direction:column;gap:2px}.landing-recent-row{display:flex;align-items:center;gap:4px}.landing-recent{--recent-accent: var(--c-text-faint);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px 8px 8px 14px;border-radius:var(--r-sm);cursor:pointer;min-width:0;flex:1;background:transparent;border:0;width:100%;text-align:left;color:var(--c-text);position:relative}.landing-recent:hover{background:var(--c-bg-2)}.landing-recent--standard{--recent-accent: #38bdf8}.landing-recent--hologfx{--recent-accent: #00f6ff}.landing-recent--r3{--recent-accent: #871e52}.landing-recent__bar{position:absolute;left:3px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--recent-accent);opacity:.9}.landing-recent__chip{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--recent-accent)}.landing-recent__body{min-width:0}.landing-recent__name{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.landing-recent__meta{display:block;font-size:10px;font-family:var(--f-mono);color:var(--c-text-faint);margin-top:3px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-recent__time{font-size:10px;font-family:var(--f-mono);color:var(--c-text-faint);white-space:nowrap}.landing-recent__remove{display:grid;place-items:center;width:16px;height:16px;background:transparent;color:var(--c-text-faint);border:0;border-radius:50%;cursor:pointer;font-size:10px;line-height:1;justify-content:center}.landing-recent__remove:hover{background:var(--c-danger);color:#fff}.landing-empty{padding:16px 10px;color:var(--c-text-dim);font-size:12px;font-family:var(--f-mono);text-align:center}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:4000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.modal{min-width:320px;max-width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--c-bg-2);border:1px solid var(--c-border-strong);border-radius:var(--r-lg);box-shadow:var(--sh-dropdown);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:text;user-select:text}.modal--wide{width:min(960px,calc(100vw - 32px));max-width:min(960px,calc(100vw - 32px))}.modal--gallery{width:min(760px,calc(100vw - 32px));max-width:min(760px,calc(100vw - 32px))}.modal--wide .modal__bd{overflow:hidden;padding:var(--sp-5)}.modal__hd{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);background:var(--c-bg-2)}.modal__title{margin:0;font-size:var(--fs-lg);font-weight:600;color:var(--c-text)}.modal__close{width:24px;height:24px;display:grid;place-items:center;background:transparent;color:var(--c-text-dim);border:0;border-radius:var(--r-sm);cursor:pointer}.modal__close:hover{background:var(--c-bg-4);color:var(--c-text)}.modal__bd{padding:var(--sp-5);overflow:auto;color:var(--c-text-med);font-size:var(--fs-md);line-height:1.55}.modal__actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5)}.modal__list{margin:0 0 var(--sp-4) 0;padding-left:var(--sp-5);list-style:disc;font-size:var(--fs-sm);color:var(--c-text-med);line-height:1.6;max-height:280px;overflow-y:auto}.modal__list-item{margin-bottom:var(--sp-1)}.ar-preview-link{display:grid;gap:12px}.ar-preview-link p{margin:0;color:var(--c-text-med);font-size:13px;line-height:1.45}.ar-preview-link__qr{display:grid;place-items:center;justify-self:center;width:180px;height:180px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:#fff;color:#111116;font-family:var(--font-mono);font-size:11px;text-align:center}.ar-preview-link__qr img{display:block;width:164px;height:164px;image-rendering:pixelated}.ar-preview-link__field{display:grid;gap:6px}.ar-preview-link__field span,.ar-preview-link__alternates>span,.ar-preview-link__meta{color:var(--c-text-dim);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.ar-preview-link__field input{width:100%;height:var(--h-control);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-1);color:var(--c-text);font-family:var(--font-mono);font-size:12px;padding:0 8px}.ar-preview-link__field input:focus{border-color:var(--c-accent);outline:none}.ar-preview-link__meta{display:flex;gap:12px;flex-wrap:wrap;text-transform:none}.ar-preview-link__alternates{display:grid;gap:5px}.ar-preview-link__alternates a{color:var(--c-text-med);font-family:var(--font-mono);font-size:11px;overflow-wrap:anywhere}.ar-preview-page{position:fixed;inset:0;overflow:hidden;background:#111116;color:var(--c-text)}.ar-preview-page__canvas{display:block;width:100%;height:100%;touch-action:none}.ar-preview-page__hud{position:absolute;inset:16px 16px auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}.ar-preview-page__hud h1{margin:4px 0;color:var(--c-text);font-size:20px;font-weight:700;letter-spacing:0}.ar-preview-page__hud p{margin:0;color:var(--c-text-med);font-size:13px}.ar-preview-page__eyebrow{color:var(--c-accent);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.ar-preview-page__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;pointer-events:auto}.ar-preview-page__empty{display:grid;min-height:100%;place-content:center;padding:24px;text-align:center}.ar-preview-page__empty h1{margin:0 0 8px;font-size:22px}.ar-preview-page__empty p{margin:0;color:var(--c-text-med)}@media(max-width:720px){.ar-preview-page__hud{inset:auto 12px 12px;flex-direction:column}.ar-preview-page__actions{justify-content:flex-start}}.release-notes{display:flex;flex-direction:column;gap:var(--sp-5);min-width:min(420px,calc(100vw - 64px))}.release-notes__head{display:flex;flex-direction:column;gap:var(--sp-2)}.release-notes__version{display:inline-flex;align-items:center;width:fit-content;height:20px;padding:0 var(--sp-3);border:1px solid color-mix(in srgb,var(--c-accent) 45%,var(--c-border));border-radius:var(--r-sm);background:color-mix(in srgb,var(--c-accent) 13%,var(--c-bg-2));color:var(--c-text);font-family:var(--f-mono);font-size:var(--fs-xs)}.release-notes__intro{margin:0;color:var(--c-text-med)}.release-notes__markdown{display:flex;flex-direction:column;gap:var(--sp-3)}.release-notes__markdown h3,.release-notes__markdown h4,.release-notes__markdown h5,.release-notes__markdown p,.release-notes__markdown ul{margin:0}.release-notes__markdown h3,.release-notes__markdown h4,.release-notes__markdown h5{color:var(--c-text);font-size:var(--fs-md);font-weight:700}.release-notes__markdown p{color:var(--c-text-med);font-size:var(--fs-sm)}.release-notes__markdown ul{display:flex;flex-direction:column;gap:var(--sp-3);padding:0;list-style:none}.release-notes__markdown li{position:relative;padding:var(--sp-4) var(--sp-4) var(--sp-4) 26px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-1);color:var(--c-text-dim);font-size:var(--fs-sm);line-height:1.45}.release-notes__markdown li:before{content:"";position:absolute;top:15px;left:12px;width:6px;height:6px;border-radius:50%;background:var(--c-accent)}.project-drop-overlay{position:fixed;inset:0;z-index:3900;display:grid;place-items:center;padding:var(--sp-6);background:color-mix(in srgb,var(--c-accent) 22%,rgba(0,0,0,.72));border:2px solid color-mix(in srgb,var(--c-accent) 72%,transparent);pointer-events:none}.project-drop-overlay__card{display:grid;gap:var(--sp-2);width:min(360px,calc(100vw - 48px));padding:var(--sp-5);border:1px solid color-mix(in srgb,var(--c-accent) 65%,var(--c-border-strong));border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-bg-1) 88%,var(--c-accent));box-shadow:var(--sh-dropdown);text-align:center}.project-drop-overlay__label{color:var(--c-text);font-size:var(--fs-lg);font-weight:700}.project-drop-overlay__copy{color:var(--c-text-med);font-family:var(--f-mono);font-size:var(--fs-xs);line-height:1.5}.ai-chat-window{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:min(620px,calc(100vh - 128px));min-height:460px;background:var(--c-bg-0)}.ai-chat-header{grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);min-height:var(--h-panel-hd);padding:6px 10px;background:var(--c-bg-2);border-bottom:1px solid var(--c-border)}.ai-chat-header__identity{min-width:0;display:grid;gap:1px}.ai-chat-header__name{color:var(--c-text);font-size:var(--fs-lg);font-weight:650;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-chat-header__status{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.ai-chat-header__status-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--c-y);box-shadow:0 0 6px var(--c-y)}.ai-chat-header__status-dot.is-busy{background:var(--c-accent);box-shadow:0 0 6px var(--c-accent)}.ai-chat-header__provider,.ai-chat-header__model{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-header__model:before{content:"·";margin-right:6px;opacity:.7}.ai-chat-header__actions{display:flex;align-items:center;gap:2px}.ai-settings-panel{grid-row:2;border-bottom:1px solid var(--c-border);background:var(--c-bg-2);overflow:hidden;animation:ac-fade .16s ease}.ai-settings-panel__hd{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:var(--h-panel-hd);padding:0 10px;border-bottom:1px solid var(--c-border);color:var(--c-text-med);font-size:var(--fs-sm)}.ai-settings-panel__meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text-faint);font-family:var(--f-mono);font-size:var(--fs-xs)}.ai-settings-panel .ai-dialog__grid{padding:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-dialog__grid{display:grid;gap:10px}.ai-mode.seg{grid-column:1 / -1;width:100%}.ai-mode.seg .seg__btn{flex:1;justify-content:center;gap:6px}.ai-field{display:grid;gap:4px}.ai-field--wide{grid-column:1 / -1}.ai-field__label{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-faint);text-transform:uppercase}.ai-field__input,.ai-field__textarea{width:100%;border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-bg-1);color:var(--c-text);font:inherit;min-height:var(--h-control);padding:5px 8px}.ai-field__textarea{min-height:120px;resize:vertical}.ai-field__input:focus-visible,.ai-field__textarea:focus-visible{outline:1px solid var(--c-accent);outline-offset:1px}.ai-save-key{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text-med);font-size:var(--fs-sm);line-height:1.35}.ai-save-key input{width:14px;height:14px;accent-color:var(--c-accent)}.ai-chat-history{grid-row:3;min-height:0;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--c-bg-0);background-size:18px 18px}.ai-chat-history::-webkit-scrollbar{width:9px;height:9px}.ai-chat-history::-webkit-scrollbar-track{background:transparent}.ai-chat-history::-webkit-scrollbar-thumb{background:var(--c-bg-4);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.ai-chat-history::-webkit-scrollbar-thumb:hover{background:var(--c-border-strong);background-clip:padding-box}.ai-chat-row{display:flex;gap:9px}.ai-chat-row--assistant{justify-content:flex-start;align-items:flex-start}.ai-chat-row--user{justify-content:flex-end}.ai-chat-avatar{flex:none;width:24px;height:24px;margin-top:1px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--c-accent-fg);background:linear-gradient(135deg,var(--c-accent),color-mix(in srgb,var(--c-accent) 35%,#000))}.ai-chat-message{min-width:0;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:7px 9px;box-shadow:0 4px 14px #00000014}.ai-chat-message--assistant{flex:1;width:100%;background:var(--c-bg-2);color:var(--c-text-med);border-top-left-radius:4px}.ai-chat-message--user{max-width:84%;background:color-mix(in srgb,var(--c-accent) 22%,transparent);color:var(--c-text);border-color:color-mix(in srgb,var(--c-accent) 40%,var(--c-border));border-radius:13px 13px 3px}.ai-chat-message.is-error{border-color:color-mix(in srgb,var(--c-danger) 60%,transparent);background:color-mix(in srgb,var(--c-danger) 12%,var(--c-bg-2));color:var(--c-danger)}.ai-chat-message.is-streaming{border-color:color-mix(in srgb,var(--c-accent) 48%,var(--c-border))}.ai-chat-message.is-streaming .ai-chat-message__text:after{content:"";display:inline-block;width:5px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--c-accent);animation:ai-stream-caret .8s steps(1,end) infinite}.ai-chat-message__text{white-space:pre-wrap;font-size:var(--fs-sm);line-height:1.4}.ai-chat-message__meta{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:5px;color:currentColor;opacity:.62;font-family:var(--f-mono);font-size:10px}.ai-chat-message__meta span{min-width:0}.ai-chat-message__meta span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-change-summary{margin-top:9px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-0);overflow:hidden;animation:ac-pop .16s ease}.ai-change-summary__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:26px;padding:5px 8px;border-bottom:1px solid var(--c-border)}.ai-change-summary__title{color:var(--c-text);font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.ai-change-summary__counts{display:inline-flex;align-items:center;gap:5px;min-width:0}.ai-change-summary__count{display:inline-flex;align-items:baseline;gap:3px;height:18px;padding:0 5px;border:1px solid var(--c-border);border-radius:var(--r-sm);color:var(--c-text-dim);background:var(--c-bg-2);font-family:var(--f-mono);font-size:10px;white-space:nowrap}.ai-change-summary__count strong{color:var(--c-text);font-weight:600}.ai-change-summary__count--added strong{color:var(--c-accent)}.ai-change-summary__count--changed strong{color:var(--c-warn)}.ai-change-summary__count--removed strong{color:var(--c-danger)}.ai-change-summary__list{display:flex;flex-direction:column;gap:1px;margin:0;padding:5px 8px 7px;list-style:none}.ai-change-summary__item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:var(--sp-2);align-items:baseline;min-width:0;color:var(--c-text-med);font-size:var(--fs-xs);line-height:1.35}.ai-change-summary__item-kind{color:var(--c-text-dim);font-family:var(--f-mono);text-transform:uppercase}.ai-change-summary__item--added .ai-change-summary__item-kind{color:var(--c-accent)}.ai-change-summary__item--changed .ai-change-summary__item-kind{color:var(--c-warn)}.ai-change-summary__item--removed .ai-change-summary__item-kind{color:var(--c-danger)}.ai-change-summary__actions{display:flex;flex-direction:column;border-top:1px solid var(--c-border)}.ai-change-summary__actions .ai-chat-json{margin:0;border:0;border-bottom:1px solid var(--c-border);border-radius:0;background:transparent}.ai-change-summary__actions .ai-chat-json:last-child{border-bottom:0}.ai-change-summary__actions .ai-chat-message__actions{margin:0;padding:7px 8px}.ai-change-summary__item-label,.ai-change-summary__item-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-change-summary__item-detail{grid-column:2;color:var(--c-text-dim);font-family:var(--f-mono)}.ai-chat-json{margin-top:8px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-0);overflow:hidden}.ai-chat-json summary{cursor:pointer;padding:6px 8px;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.ai-chat-json__toolbar{display:flex;justify-content:flex-end;padding:5px 6px;border-top:1px solid var(--c-border);background:var(--c-bg-1)}.ai-chat-json pre{max-height:220px;overflow:auto;margin:0;padding:8px;color:var(--c-text-med);font-family:var(--f-mono);font-size:11px;line-height:1.45;border-top:1px solid var(--c-border)}.ai-chat-message__actions{display:flex;justify-content:flex-end;margin-top:8px}.ai-chat-typing{display:flex;gap:4px;align-items:center;height:18px}.ai-chat-status{margin-bottom:5px;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.ai-chat-typing span{width:5px;height:5px;border-radius:50%;background:var(--c-text-faint);animation:ac-blink 1s infinite}.ai-chat-typing span:nth-child(2){animation-delay:.12s}.ai-chat-typing span:nth-child(3){animation-delay:.24s}@keyframes ac-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes ac-fade{0%{opacity:0}to{opacity:1}}@keyframes ac-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@keyframes ai-stream-caret{0%,49%{opacity:1}50%,to{opacity:0}}.ai-chat-composer{grid-row:4;margin:8px 10px 10px;display:flex;flex-direction:column;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg-1);overflow:hidden;transition:border-color .12s ease,background-color .12s ease}.ai-chat-composer:focus-within{border-color:color-mix(in srgb,var(--c-accent) 62%,var(--c-border-strong));background:color-mix(in srgb,var(--c-bg-1) 82%,var(--c-bg-2))}.ai-chat-composer__input{width:100%;min-height:38px;max-height:132px;resize:none;border:0;background:transparent;color:var(--c-text);font:inherit;line-height:1.45;overflow-y:hidden;padding:10px 11px 4px;scrollbar-gutter:stable}.ai-chat-composer__input:focus-visible{outline:none}.ai-chat-composer__row{display:flex;align-items:center;gap:8px;padding:4px 8px 8px}.ai-chat-composer__count{margin-left:auto;color:var(--c-text-faint);font-family:var(--f-mono);font-size:var(--fs-xs)}.ai-chat-composer__send{height:30px;min-width:68px;justify-content:center;border-radius:var(--r-sm)}.ai-chat-composer__send:disabled{cursor:not-allowed;opacity:.55}.toast{position:fixed;left:50%;bottom:44px;transform:translate(-50%);background:var(--c-bg-2);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:var(--r-md);padding:8px 14px;font-size:var(--fs-sm);box-shadow:var(--sh-dropdown);z-index:3500}.toast.is-warning{border-color:var(--c-warn);color:var(--c-warn)}.phone-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);padding:max(var(--sp-4),env(safe-area-inset-top)) max(var(--sp-4),env(safe-area-inset-right)) var(--sp-4) max(var(--sp-4),env(safe-area-inset-left));background:var(--c-bg-2);border-bottom:1px solid var(--c-border)}.phone-header__row{display:flex;align-items:center;gap:var(--sp-3)}.phone-header__row .ibtn{flex:none;width:44px;height:44px;border-radius:var(--r-md)}.phone-header__meta{flex:1;min-width:0}.phone-header__eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-xs);font-family:var(--f-mono);color:var(--c-accent);text-transform:uppercase;letter-spacing:.06em}.phone-header__eyebrow-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor}.phone-header__title{margin:2px 0 0;font-size:var(--fs-xl);font-weight:650;line-height:1.15;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-header__subtitle{margin:2px 0 0;font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-header__more{position:relative;flex:none}.phone-header__menu{top:calc(100% + 8px);left:auto;right:0;min-width:190px;display:flex;flex-direction:column;gap:1px}.phone-header__menu .menu-item.is-active{color:var(--c-accent)}.phone-header__toolbar{display:flex;align-items:center;gap:var(--sp-3)}.phone-header__import{height:44px;padding:0 var(--sp-5);gap:var(--sp-3);font-size:var(--fs-md);border-radius:var(--r-md)}.phone-header__import-caret{opacity:.75}.phone-header__picker{display:flex;align-items:center;gap:var(--sp-3)}.phone-header__picker-label{font-size:var(--fs-xs);font-family:var(--f-mono);color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.phone-header__picker .custom-select{flex:1;min-width:0}.phone-import-menu{display:flex;flex-direction:column;gap:2px}.phone-import-menu .menu-item{height:44px;font-size:var(--fs-md)}.phone-import-menu .menu-item__icon{width:16px;height:16px;color:var(--c-accent)}.phone-shell{display:grid;grid-template-rows:1fr auto;height:100%;background:var(--c-bg-1);overflow:hidden;position:relative}.phone-playback{padding:var(--sp-4) max(var(--sp-4),env(safe-area-inset-right)) max(var(--sp-4),env(safe-area-inset-bottom)) max(var(--sp-4),env(safe-area-inset-left));border-top:1px solid var(--c-border);background:var(--c-bg-2);display:flex;flex-direction:column;gap:var(--sp-3)}.phone-playback__meta{min-width:0}.phone-playback__eyebrow{margin:0 0 4px;font-size:var(--fs-xs);font-family:var(--f-mono);color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.06em}.phone-playback__clip{width:100%}.phone-playback__transport{display:flex;align-items:center;gap:var(--sp-3)}.phone-playback__scrub{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}.phone-playback__slider{width:100%;appearance:none;height:4px;background:var(--c-bg-4);border-radius:999px;accent-color:var(--c-accent)}.phone-playback__slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:var(--c-accent);border-radius:50%;cursor:pointer}.phone-playback__slider::-moz-range-thumb{width:14px;height:14px;background:var(--c-accent);border-radius:50%;cursor:pointer;border:0}.phone-playback__labels{display:flex;align-items:center;justify-content:space-between}.phone-playback__frame-label{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-dim)}.phone-playback__empty{color:var(--c-text-dim);font-size:var(--fs-xs);font-family:var(--f-mono);margin:0}.phone-playback__btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-3);color:var(--c-text);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.phone-playback__btn:active{background:var(--c-bg-4)}.phone-playback__btn--primary{width:48px;height:48px;border:0;background:var(--c-accent);color:var(--c-accent-fg);box-shadow:0 8px 20px -6px var(--c-accent)}.phone-playback__btn--primary:active{background:var(--c-accent);filter:brightness(1.08)}.insp-multi-note{padding:var(--sp-2) var(--sp-3);color:var(--c-text-dim);font-size:var(--fs-xs);font-family:var(--f-mono);border-bottom:1px solid var(--c-border);background:var(--c-bg-1)}.material-binding-panel{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--c-border);background:var(--c-bg-1)}.material-binding-panel .row__hint{margin:2px 0 0}.sec__sub{padding:var(--sp-2) 0 4px;font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em}.insp-image-preview{width:100%;max-width:220px;border:1px solid var(--c-border);border-radius:var(--r-sm);overflow:hidden;background:var(--c-bg-3)}.insp-image-preview img{display:block;width:100%;height:auto}.sec--field{padding:var(--sp-3);margin-bottom:var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2)}.sec--field .sec__hd{background:transparent;border-bottom:0;padding:0;margin-bottom:4px;cursor:default}.sec__title{font-size:var(--fs-md);color:var(--c-text);font-weight:600;margin:0}.sec__path{font-size:var(--fs-xs);color:var(--c-text-dim);font-family:var(--f-mono);margin-bottom:var(--sp-3)}.sec--field .sec__hd .ibtn{flex:0 0 auto}.fields__value{min-width:0;font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-med);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-animations{display:flex;flex-direction:column;gap:var(--sp-3)}.runtime-animations__head{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.runtime-animations__list{display:flex;flex-direction:column;gap:var(--sp-2)}.runtime-animation{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-med);cursor:pointer;text-align:left}.runtime-animation:hover{background:var(--c-bg-3);color:var(--c-text)}.runtime-animation.is-active{border-color:color-mix(in srgb,var(--c-accent) 65%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 14%,var(--c-bg-2));color:var(--c-text)}.runtime-animation__icon{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-accent)}.runtime-animation__meta{display:flex;flex-direction:column;min-width:0;gap:2px}.runtime-animation__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.runtime-animation__sub,.runtime-animation__fps{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.tbtn--block{width:100%;justify-content:center}.pie-menu{position:fixed;left:var(--pie-x, 50%);top:var(--pie-y, 50%);width:0;height:0;z-index:80;pointer-events:none;animation:pie-menu-pop .12s ease-out}@keyframes pie-menu-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.pie-menu__center{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:grid;place-items:center;gap:2px;width:96px;height:96px;padding:var(--sp-3);border-radius:50%;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--c-bg-2) 95%,transparent),color-mix(in srgb,var(--c-bg-1) 92%,transparent));backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border:1px solid color-mix(in srgb,var(--c-accent) 28%,var(--c-border));box-shadow:0 10px 28px #0000006b,inset 0 1px color-mix(in srgb,var(--c-text) 8%,transparent);pointer-events:none;text-align:center;transition:border-color .11s ease-out,box-shadow .11s ease-out}.pie-menu__center:before{content:"";position:absolute;inset:6px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--c-text) 14%,transparent);pointer-events:none}.pie-menu__center-label{color:var(--c-text);font-size:var(--fs-sm);font-weight:600;letter-spacing:-.005em;line-height:1.2;max-width:76px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pie-menu__center-desc{display:none}.pie-menu__item{position:absolute;left:0;top:0;transform:translate(calc(-50% + var(--pie-item-x, 0)),calc(-50% + var(--pie-item-y, 0)));display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);height:32px;padding:0 14px;min-width:92px;border:1px solid var(--c-border);border-radius:999px;background:color-mix(in srgb,var(--c-bg-2) 92%,transparent);color:var(--c-text-med);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;pointer-events:auto;box-shadow:0 4px 14px #00000047;transition:transform 80ms ease-out,background 80ms ease-out,color 80ms ease-out}.pie-menu__item:hover{color:var(--c-text);background:var(--c-bg-3)}.pie-menu__item.is-current{border-color:color-mix(in srgb,var(--c-accent) 50%,var(--c-border));color:var(--c-text)}.pie-menu__item.is-highlighted{border-color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 22%,var(--c-bg-2));color:var(--c-text);transform:translate(calc(-50% + var(--pie-item-x, 0)),calc(-50% + var(--pie-item-y, 0))) scale(1.08);box-shadow:0 6px 18px color-mix(in srgb,var(--c-accent) 35%,transparent)}.pie-menu__item:disabled{opacity:.4;cursor:not-allowed}.pie-menu__item-icon{display:inline-grid;place-items:center;width:16px;height:16px;color:var(--c-accent)}.pie-menu__item.is-current .pie-menu__item-icon{color:var(--c-accent)}.materials-panel,.components-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.components-panel__head{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.components-panel__add{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-text);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.components-panel__add:hover{background:var(--c-bg-4);border-color:var(--c-accent);color:var(--c-accent)}.components-panel__list{display:flex;flex-direction:column;gap:var(--sp-2)}.components-panel__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;width:100%;min-height:32px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-med);overflow:hidden}.components-panel__item:hover{background:var(--c-bg-3);color:var(--c-text)}.components-panel__item.is-active{border-color:color-mix(in srgb,var(--c-accent) 65%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 14%,var(--c-bg-2));color:var(--c-text)}.components-panel__item.is-code-only{color:var(--c-text-dim)}.components-panel__item-main{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;min-width:0}.components-panel__item-main:disabled{cursor:not-allowed}.components-panel__item-actions{display:inline-flex;align-items:center;gap:2px;padding:0 var(--sp-2);border-left:1px solid var(--c-border);grid-column:2;grid-row:1}.components-panel__item-main{grid-column:1;grid-row:1}.components-panel__anim{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--c-border);background:color-mix(in srgb,var(--c-accent) 5%,var(--c-bg-1))}.components-panel__anim-row{display:flex;flex-direction:column;gap:3px;min-width:0}.components-panel__anim-row>span{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--c-text-dim)}.components-panel__anim-row:first-child>span:before,.components-panel__anim-row:last-child>span:before{content:"";width:6px;height:6px;border-radius:999px}.components-panel__anim-row:first-child>span:before{background:#34d399}.components-panel__anim-row:last-child>span:before{background:#f87171}.components-panel__anim-row select{width:100%;height:24px;padding:0 24px 0 var(--sp-2);background-color:var(--c-bg-3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%238a8f98' stroke-width='1.4' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-2) center;border:1px solid var(--c-border);border-radius:var(--r-sm);color:var(--c-text);font-size:var(--fs-sm);cursor:pointer;appearance:none;transition:border-color .12s ease}.components-panel__anim-row select:hover{border-color:var(--c-border-strong)}.components-panel__anim-row select:focus-visible{outline:0;border-color:var(--c-accent);box-shadow:var(--sh-focus)}.components-panel__mark{display:grid;place-items:center;width:18px;height:18px;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-accent)}.components-panel__meta{display:flex;flex-direction:column;min-width:0;gap:1px}.components-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.components-panel__sub{display:flex;align-items:center;gap:4px;min-width:0;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.components-panel__sep{color:var(--c-text-faint)}.components-panel__badge{display:inline-grid;place-items:center;min-width:38px;height:18px;padding:0 6px;border:1px solid color-mix(in srgb,var(--c-accent) 45%,var(--c-border));border-radius:var(--r-sm);color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 10%,transparent);font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.components-panel__badge.is-muted{color:var(--c-text-dim);border-color:var(--c-border);background:transparent}.components-panel__remove{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-faint);cursor:pointer;transition:background .12s ease,color .12s ease}.components-panel__remove:hover{background:color-mix(in srgb,var(--c-danger) 16%,transparent);color:var(--c-danger)}.r3gfx .components-panel__item-main{grid-template-columns:28px minmax(0,1fr)}.r3gfx .components-panel__mark{width:28px;height:28px;border-radius:var(--r-sm);border:1px solid var(--c-border);overflow:hidden;background:repeating-conic-gradient(var(--c-bg-3) 0% 25%,var(--c-bg-4) 0% 50%) 50% / 10px 10px;color:color-mix(in srgb,var(--c-text) 65%,transparent)}.components-panel__mark-img{display:block;width:100%;height:100%;object-fit:cover}.r3gfx .components-panel__item.is-active{position:relative;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 65%,transparent)}.r3gfx .components-panel__item.is-active:after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--c-accent) 9%,transparent);pointer-events:none}.r3gfx .components-panel__item.is-active .components-panel__mark{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 70%,transparent)}.materials-panel__head{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.materials-panel__head-actions{display:inline-flex;align-items:center;gap:2px}.ibtn--danger:not(:disabled):hover{color:#ff7a7a}.ibtn:disabled{opacity:.4;cursor:not-allowed}.materials-panel__list{display:flex;flex-direction:column;gap:var(--sp-2)}.materials-panel__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;width:100%;min-height:44px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-med);overflow:hidden}.materials-panel__item:hover{background:var(--c-bg-3);color:var(--c-text)}.materials-panel__item.is-active{border-color:color-mix(in srgb,var(--c-accent) 65%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 14%,var(--c-bg-2));color:var(--c-text)}.materials-panel__item-main{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;min-width:0}.materials-panel__item-actions{display:inline-flex;align-items:center;gap:2px;padding:0 var(--sp-2);border-left:1px solid var(--c-border)}.materials-panel__swatch{display:block;width:20px;height:20px;border-radius:var(--r-sm);border:1px solid var(--c-border);background:#fff}.materials-panel__meta{display:flex;flex-direction:column;min-width:0;gap:2px}.materials-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.materials-panel__sub{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.materials-panel__icon{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-accent)}.image-assets-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.image-assets-panel__head{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.image-assets-panel__head-actions{display:inline-flex;align-items:center;gap:2px}.image-assets-panel__list{display:flex;flex-direction:column;gap:var(--sp-2)}.image-assets-panel__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;width:100%;min-height:52px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-med);overflow:hidden}.image-assets-panel__item:hover{background:var(--c-bg-3);color:var(--c-text)}.image-assets-panel__item.is-active{border-color:color-mix(in srgb,var(--c-accent) 65%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 14%,var(--c-bg-2));color:var(--c-text)}.image-assets-panel__item-main{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;min-width:0}.image-assets-panel__item-actions{display:inline-flex;align-items:center;gap:2px;padding:0 var(--sp-2);border-left:1px solid var(--c-border)}.image-assets-panel__thumb{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:linear-gradient(45deg,color-mix(in srgb,var(--c-bg-3) 70%,#ffffff) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--c-bg-3) 70%,#ffffff) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--c-bg-3) 70%,#ffffff) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--c-bg-3) 70%,#ffffff) 75%);background-color:var(--c-bg-1);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;overflow:hidden}.image-assets-panel__thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain}.image-assets-panel__thumb-loading{position:absolute;left:3px;bottom:3px;width:12px;height:12px;display:grid;place-items:center;background:#0e0f11d9;border-radius:50%;box-shadow:0 0 0 1px #8b5cf68c;pointer-events:none;animation:imageAssetThumbBadgeIn .16s ease}.image-assets-panel__thumb-spinner{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(139,92,246,.25);border-top-color:var(--c-accent);animation:imageAssetThumbSpin .85s linear infinite}@keyframes imageAssetThumbSpin{to{transform:rotate(360deg)}}@keyframes imageAssetThumbBadgeIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.image-assets-panel__thumb-spinner{animation-duration:2.4s}}.image-assets-panel__meta{display:flex;flex-direction:column;min-width:0;gap:2px}.image-assets-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.image-assets-panel__sub{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.image-assets-panel__icon{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-accent)}.model-assets-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.model-assets-panel__head{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.model-assets-panel__list{display:flex;flex-direction:column;gap:var(--sp-2)}.model-assets-panel__item{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);color:var(--c-text-med);overflow:hidden}.model-assets-panel__item:hover{background:var(--c-bg-3);color:var(--c-text)}.model-assets-panel__item.is-active{border-color:color-mix(in srgb,var(--c-accent) 65%,var(--c-border));background:color-mix(in srgb,var(--c-accent) 12%,var(--c-bg-2));color:var(--c-text)}.model-assets-panel__item-main{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-2) var(--sp-3);border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.model-assets-panel__thumb,.model-assets-panel__tree-icon{display:grid;place-items:center;border-radius:var(--r-sm);background:var(--c-bg-3);color:var(--c-accent)}.model-assets-panel__thumb{width:36px;height:36px;border:1px solid var(--c-border)}.model-assets-panel__meta{display:flex;flex-direction:column;min-width:0;gap:2px}.model-assets-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.model-assets-panel__sub{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.model-assets-panel__toggle{display:grid;place-items:center;color:var(--c-text-dim)}.model-assets-panel__details{border-top:1px solid var(--c-border);background:color-mix(in srgb,var(--c-bg-1) 80%,var(--c-bg-2))}.model-assets-panel__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:var(--sp-2);color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.model-assets-panel__stats span{min-width:0;padding:4px 6px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-assets-panel__tree{padding:0 var(--sp-2) var(--sp-2)}.model-assets-panel__tree-row{display:grid;grid-template-columns:12px 18px minmax(0,1fr) auto;align-items:center;gap:4px;width:100%;min-height:24px;padding:2px 6px 2px calc(6px + var(--tree-depth, 0) * 12px);border:none;border-radius:var(--r-sm);background:transparent;color:var(--c-text-med);cursor:pointer;text-align:left}.model-assets-panel__tree-row:disabled{cursor:default}.model-assets-panel__tree-row:hover:not(:disabled){background:var(--c-bg-3);color:var(--c-text)}.model-assets-panel__tree-toggle{display:grid;place-items:center;color:var(--c-text-dim)}.model-assets-panel__tree-icon{width:16px;height:16px}.model-assets-panel__tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:var(--fs-xs)}.model-assets-panel__tree-type{color:var(--c-text-dim);font-family:var(--f-mono);font-size:10px;text-transform:uppercase}.model-assets-panel__empty{padding:var(--sp-3);color:var(--c-text-dim);font-size:var(--fs-xs)}.panel--assets{position:relative}.panel--assets.is-image-drop-active{border-color:color-mix(in srgb,var(--c-accent) 62%,var(--c-border))}.asset-drop-overlay{position:absolute;inset:var(--h-panel-hd) 0 0;z-index:5;display:grid;place-items:center;padding:var(--sp-4);background:color-mix(in srgb,var(--c-accent) 18%,rgba(9,10,13,.86));border:1px solid color-mix(in srgb,var(--c-accent) 60%,transparent);pointer-events:none}.panel--assets:has(>.panel__subhd) .asset-drop-overlay{inset-block-start:calc(var(--h-panel-hd) + var(--h-control))}.asset-drop-overlay__card{display:grid;gap:var(--sp-2);width:min(240px,100%);padding:var(--sp-4);border:1px solid color-mix(in srgb,var(--c-accent) 65%,var(--c-border-strong));border-radius:var(--r-sm);background:color-mix(in srgb,var(--c-bg-2) 90%,var(--c-accent));box-shadow:var(--sh-dropdown);text-align:center}.asset-drop-overlay__label{color:var(--c-text);font-size:var(--fs-md);font-weight:700}.asset-drop-overlay__copy{color:var(--c-text-med);font-family:var(--f-mono);font-size:var(--fs-xs)}.material-asset-editor{display:flex;flex-direction:column;gap:var(--sp-3)}.material-asset-editor__head{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid color-mix(in srgb,var(--c-accent) 40%,var(--c-border));border-radius:var(--r-sm);background:color-mix(in srgb,var(--c-accent) 10%,var(--c-bg-2))}.material-asset-editor__swatch{display:block;width:20px;height:20px;border-radius:var(--r-sm);border:1px solid var(--c-border)}.material-asset-editor__meta{display:flex;flex-direction:column;min-width:0;gap:2px}.material-asset-editor__title{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text);font-size:var(--fs-sm);font-weight:600}.material-asset-editor__icon{display:inline-grid;place-items:center;width:14px;height:14px;color:var(--c-accent)}.material-asset-editor__sub{color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs)}.material-asset-editor__body{margin-top:0}.statusbar-progress{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--c-text-med);font-family:var(--f-mono);animation:statusbarProgressFadeIn .18s ease}.statusbar-progress__pulse{position:relative;width:72px;height:4px;border-radius:999px;background:#8b5cf61f;overflow:hidden;flex-shrink:0}.statusbar-progress__pulse-bar{position:absolute;top:0;left:0;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#8b5cf600,#8b5cf6d9,#8b5cf600);animation:statusbarProgressSlide 1.4s cubic-bezier(.4,0,.2,1) infinite}.statusbar-progress__label{font-size:var(--fs-xs);letter-spacing:.02em;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}@keyframes statusbarProgressSlide{0%{transform:translate(-100%)}to{transform:translate(280%)}}@keyframes statusbarProgressFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.loading-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:#0e0f118c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:loadingOverlayFadeIn .16s ease}.loading-overlay__card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);padding:28px 36px;min-width:240px;background:var(--c-bg-2);border:1px solid var(--c-border-strong);border-radius:var(--r-lg);box-shadow:var(--sh-dropdown);animation:loadingOverlayPop .22s cubic-bezier(.34,1.3,.64,1)}.loading-overlay__spinner{position:relative;width:44px;height:44px}.loading-overlay__ring{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--c-accent);border-right-color:#8b5cf68c;animation:loadingOverlaySpin 1.05s cubic-bezier(.6,.1,.4,.9) infinite}.loading-overlay__ring--alt{inset:6px;border-top-color:#8b5cf659;border-right-color:transparent;border-left-color:#8b5cf6b3;animation-direction:reverse;animation-duration:1.4s}.loading-overlay__label{margin:0;font-size:var(--fs-md);color:var(--c-text);text-align:center;letter-spacing:.01em}.loading-overlay__bar{position:relative;width:220px;height:6px;border-radius:999px;background:#8b5cf61f;overflow:hidden}.loading-overlay__bar-fill{position:absolute;inset:0;width:40%;border-radius:999px;background:linear-gradient(90deg,rgba(139,92,246,.1) 0%,var(--c-accent) 50%,rgba(139,92,246,.1) 100%);animation:loadingOverlayBarSlide 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-overlay__bar--determinate .loading-overlay__bar-fill{left:0;right:auto;background:linear-gradient(90deg,var(--c-accent) 0%,rgba(139,92,246,.85) 100%);animation:none;transition:width .2s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #8b5cf673}.loading-overlay__elapsed{margin:0;font-size:var(--fs-sm);color:var(--c-text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}.loading-overlay__detail{margin:calc(var(--sp-3) * -1) 0 0;max-width:280px;color:var(--c-text-med);font-family:var(--f-mono);font-size:var(--fs-xs);line-height:1.4;text-align:center}@keyframes loadingOverlayBarSlide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes loadingOverlaySpin{to{transform:rotate(360deg)}}@keyframes loadingOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes loadingOverlayPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.statusbar-progress__pulse-bar,.loading-overlay__ring,.loading-overlay__bar-fill{animation-duration:2.4s}.loading-overlay__card{animation:none}}.set{display:grid;grid-template-columns:168px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:min(600px,calc(100vh - 140px));background:var(--c-bg-1)}.settings-section+.settings-section{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--c-border)}.settings-section__hd,.set-nav{display:flex;flex-direction:column;gap:2px;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--c-border);background:var(--c-bg-2)}.set-nav__item{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:34px;padding:0 var(--sp-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-med);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.set-nav__item:hover:not(:disabled){background:var(--c-bg-3);color:var(--c-text)}.set-nav__item.is-active{color:var(--c-text);background:var(--c-bg-4)}.set-nav__item.is-active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--c-accent)}.set-nav__item:focus-visible{outline:none;box-shadow:var(--sh-focus)}.set-nav__item:disabled{opacity:.4;cursor:not-allowed}.set-nav__icon{display:grid;place-items:center;width:16px;height:16px;color:currentColor;opacity:.8}.set-nav__item.is-active .set-nav__icon{color:var(--c-accent);opacity:1}.set-nav__label{font-weight:500}.set-body{position:relative;min-width:0;min-height:0;padding:var(--sp-6) var(--sp-7);overflow:auto}.set-panel{display:flex;flex-direction:column;gap:var(--sp-6)}.set-panel__hd{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-border)}.set-panel__title{margin:0;font-size:var(--fs-xl);font-weight:600;color:var(--c-text)}.set-panel__sub{margin:0;font-size:var(--fs-sm);color:var(--c-text-dim)}.set-panel--fill{min-height:100%}.set-panel--hidden{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;opacity:0;pointer-events:none}.set-group{display:flex;flex-direction:column;padding:var(--sp-2) var(--sp-5) var(--sp-4);background:var(--c-bg-2);border:1px solid var(--c-border-soft);border-radius:var(--r-md)}.set-group__hd{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:20px;padding:var(--sp-3) 0 var(--sp-1);margin-bottom:var(--sp-2)}.set-group__title{font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-dim)}.set-group__note{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--c-text-dim)}.set-link{border:0;background:none;color:var(--c-accent);font:inherit;font-size:var(--fs-sm);padding:0;cursor:pointer}.set-link:hover{text-decoration:underline}.set-link:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:2px}.set-rows{display:flex;flex-direction:column}.set-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-5);min-height:36px;padding:var(--sp-3) 0}.set-row+.set-row{border-top:1px solid var(--c-border-soft)}.set-row__label{color:var(--c-text-med);font-size:var(--fs-md)}.set-row--stack{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--sp-3)}.set-row--split{display:flex;align-items:center;justify-content:space-between}.set-input{height:28px;min-width:0;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg-0);color:var(--c-text);padding:0 var(--sp-3);font:inherit}.set-row>.set-input{justify-self:end}select.set-input{width:220px;max-width:100%;cursor:pointer}.set-input--num{width:96px;text-align:right}.set-input--color{width:48px;padding:3px;cursor:pointer}.hologfx-vec3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.hologfx-vec3 .set-input--num{width:100%;text-align:left}.set-advanced__toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) 0;background:transparent;border:0;cursor:pointer;color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}.set-advanced__toggle:hover{color:var(--c-text-med)}.set-advanced__chev{display:grid;place-items:center;width:12px;height:12px;flex:0 0 auto}.set-input:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--c-accent) 50%,transparent)}.set-slider-wrap{display:flex;align-items:center;gap:var(--sp-4);width:230px;max-width:100%}.set-row>.set-slider-wrap{justify-self:end}.set-slider{flex:1;min-width:0;appearance:none;-webkit-appearance:none;height:4px;border-radius:999px;background:var(--c-bg-4);cursor:pointer}.set-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-bg-1);box-shadow:0 1px 3px #00000080;cursor:pointer}.set-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-bg-1);cursor:pointer}.set-slider:focus-visible{outline:none;box-shadow:var(--sh-focus)}.set-slider__value{flex:none;width:34px;text-align:right;font-family:var(--f-mono);font-size:var(--fs-md);color:var(--c-text)}.set-hdr__controls .set-slider-wrap{width:100%}.set-segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--c-bg-3);border:1px solid var(--c-border);border-radius:var(--r-md)}.set-row--stack .set-segmented{align-self:flex-start}.set-segmented__button{min-height:24px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-med);padding:0 var(--sp-4);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:background .12s ease,color .12s ease}.set-segmented__button:hover:not(:disabled){color:var(--c-text)}.set-segmented__button.is-active{color:var(--c-accent-fg);background:var(--c-accent)}.set-segmented__button:focus-visible{outline:none;box-shadow:var(--sh-focus)}.set-segmented__button:disabled{opacity:.4;cursor:not-allowed}.set-toggle{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--c-text);font-size:var(--fs-md);cursor:pointer}.set-toggle__input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.set-switch{position:relative;display:inline-block;flex:none;width:38px;height:21px;border-radius:11px;background:var(--c-bg-4);transition:background .14s ease}.set-switch__knob{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0006;transition:transform .14s ease}.set-toggle__input:checked~.set-switch{background:var(--c-accent)}.set-toggle__input:checked~.set-switch .set-switch__knob{transform:translate(17px)}.set-toggle__input:focus-visible~.set-switch{outline:none;box-shadow:var(--sh-focus)}.set-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-5)}.set-hdr{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:var(--sp-5);align-items:start;height:clamp(280px,38vh,380px)}.set-hdr__stage{display:grid;grid-template-rows:30px minmax(0,1fr);height:100%;min-height:0;overflow:hidden;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-0)}.set-hdr__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4);border-bottom:1px solid var(--c-border);background:var(--c-bg-2)}.set-hdr__chip,.set-hdr__meta{overflow:hidden;font-family:var(--f-mono);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.set-hdr__chip{color:var(--c-accent);letter-spacing:.04em;text-transform:uppercase}.set-hdr__meta{color:var(--c-text-dim)}.set-hdr__controls{min-width:0;padding:var(--sp-5);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-2)}.set-hdr__controls .set-actions{margin-top:auto}.set-hdr__controls .set-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--sp-2)}.set-hdr__controls .set-row+.set-row{border-top:0}.set-hdr__controls .set-row>.set-input{justify-self:stretch}.set-hdr__controls select.set-input,.set-hdr__controls .set-input--num{width:100%}.set-hdr__controls .set-input--num{text-align:left}.settings-hdr-preview{position:relative;min-height:0;overflow:hidden;background:var(--c-bg-0)}.settings-hdr-preview__canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.settings-hdr-preview__canvas:active{cursor:grabbing}.settings-hdr-preview__status{position:absolute;inset:0;display:grid;place-items:center;padding:var(--sp-6);color:var(--c-text-dim);font-family:var(--f-mono);font-size:var(--fs-xs);text-align:center;pointer-events:none}.set-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.set-theme{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);background:var(--c-bg-1);border:1px solid var(--c-border);border-radius:var(--r-md);color:var(--c-text);font-family:var(--f-ui);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease}.set-theme:hover{border-color:var(--c-border-strong)}.set-theme.is-active{border-color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 7%,var(--c-bg-1));box-shadow:0 0 0 1px var(--c-accent) inset}.set-theme:focus-visible{outline:none;box-shadow:var(--sh-focus)}.set-theme__preview{position:relative;display:block;aspect-ratio:16 / 10;width:100%;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--c-border)}.set-theme__chip{position:absolute;inset:22% 12% 14%;border-radius:4px;border:1px solid;display:flex;flex-direction:column;gap:4px;padding:8px}.set-theme__bar{display:block;width:60%;height:4px;border-radius:2px}.set-theme__bar--short{width:35%}.set-theme__dot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px #ffffff14}.set-theme__meta{display:flex;flex-direction:column;gap:2px}.set-theme__label{font-size:var(--fs-md);font-weight:600;color:var(--c-text)}.set-theme__desc{font-size:var(--fs-xs);color:var(--c-text-dim)}.set-theme__active{position:absolute;top:8px;right:10px;font-size:10px;color:var(--c-accent);line-height:1}@media(max-width:760px){.set{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.set-nav{flex-direction:row;overflow-x:auto;padding:var(--sp-3);border-right:0;border-bottom:1px solid var(--c-border)}.set-nav__item{flex:0 0 auto}.set-nav__item.is-active:before{inset:auto 7px 0;width:auto;height:2px}.set-body{padding:var(--sp-5)}.set-hdr{grid-template-columns:1fr}}@media(max-width:540px){.set-theme-grid{grid-template-columns:1fr}select.set-input{width:160px}}.settings-trigger{display:inline-grid;place-items:center;width:28px;height:28px;background:transparent;color:var(--c-text-dim);border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease,transform .22s ease}.settings-trigger:hover{color:var(--c-text);background:var(--c-bg-3);border-color:var(--c-border)}.settings-trigger:hover svg{animation:settingsTriggerSpin 1.6s linear}.settings-trigger--landing{position:absolute;top:24px;right:28px;z-index:2;width:32px;height:32px;background:var(--c-bg-2);border-color:var(--c-border)}.landing-overlay--phone .settings-trigger--landing{top:14px;right:16px}@keyframes settingsTriggerSpin{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.intro-splash{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background:radial-gradient(120% 120% at 50% 42%,#15121f 0%,var(--c-bg-0) 60%);opacity:1;transition:opacity .45s ease}.intro-splash.is-leaving{opacity:0;pointer-events:none}.intro-splash__glow{position:absolute;width:70vmin;height:70vmin;border-radius:50%;background:radial-gradient(circle,#8b5cf647,#8b5cf600 70%);filter:blur(36px);animation:introGlow 1.9s ease-out both;pointer-events:none}.intro-splash__logo{position:relative;width:min(44vmin,300px);height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 12px 40px rgba(139,92,246,.25))}@keyframes introGlow{0%{opacity:0;transform:scale(.65)}45%{opacity:1}to{opacity:.6;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.intro-splash__glow{animation:none;opacity:.5}}.landing-side--login{justify-content:center;position:relative}.landing-side--login .landing-side__section{margin-bottom:0}.landing-side--login .landing-side__footer{margin-top:0;position:absolute;left:28px;right:28px;bottom:24px}.landing-overlay--phone .landing-side--login .landing-side__footer{position:static;margin-top:16px}.landing-action__ico--gitlab{background:var(--c-bg-2)}.landing-action:hover .landing-action__ico--gitlab{border-color:var(--c-border-strong)}.login-status{margin-top:12px}.login-status:not(.is-ok){background:var(--c-bg-2);border-color:var(--c-border);color:var(--c-text-med)}.auth-steps{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:18px}.auth-step{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px}.auth-step__dot{width:22px;height:22px;border-radius:50%;position:relative;border:1px solid var(--c-border-strong);background:var(--c-bg-2);display:grid;place-items:center;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.auth-step__dot:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--c-accent);transform:scale(0);transition:transform .38s cubic-bezier(.2,.7,.2,1.25)}.auth-step__num{position:relative;font-family:var(--f-mono);font-size:10px;font-weight:600;color:var(--c-text-dim);transition:color .25s ease}.auth-step__lbl{font-family:var(--f-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-faint);transition:color .2s ease;text-align:center}.auth-step__line{flex:1;max-width:34px;height:1px;margin-top:11px;background:var(--c-border-strong);position:relative;overflow:hidden}.auth-step__line:before{content:"";position:absolute;inset:0;background:var(--c-accent);transform:translate(-100%);transition:transform .4s ease}.auth-step__line.is-done:before{transform:none}.auth-step.is-active .auth-step__dot{border-color:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 18%,transparent);animation:auth-step-pulse 1.2s ease-in-out infinite}@keyframes auth-step-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--c-accent) 10%,transparent)}}.auth-step.is-active .auth-step__num{color:var(--c-accent)}.auth-step.is-active .auth-step__lbl{color:var(--c-text-med)}.auth-step.is-done .auth-step__dot{border-color:var(--c-accent);box-shadow:none;animation:none}.auth-step.is-done .auth-step__dot:before{transform:scale(1)}.auth-step.is-done .auth-step__num{color:var(--c-accent-fg)}.auth-step.is-done .auth-step__lbl{color:var(--c-accent)}.login-overlay.is-exiting{animation:login-tab-out .24s ease forwards;pointer-events:none}@keyframes login-tab-out{to{opacity:0;transform:translate(-32px)}}.landing-overlay--tab-in{animation:login-tab-in .28s ease both}@keyframes login-tab-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}.landing-overlay--tab-in .landing-side{animation:login-rail-in .32s cubic-bezier(.2,.7,.2,1) 60ms both}@keyframes login-rail-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.landing-user{display:flex;align-items:center;gap:10px;padding:4px 2px 18px;margin-bottom:18px;border-bottom:1px solid var(--c-border)}.landing-user__avatar{width:34px;height:34px;border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-bg-3);flex:0 0 auto;display:grid;place-items:center;font-weight:700;font-size:14px;color:var(--c-accent)}.landing-user__body{flex:1;min-width:0}.landing-user__name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-user__sub{font-family:var(--f-mono);font-size:10px;color:var(--c-text-dim);margin-top:2px}.landing-user__btns{display:flex;gap:6px;flex:0 0 auto}.landing-user__btn{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--c-border);border-radius:var(--r-md);background:transparent;color:var(--c-text-dim);cursor:pointer;flex:0 0 auto;transition:color .14s ease,border-color .14s ease}.landing-user__btn:hover{color:var(--c-text);border-color:var(--c-border-strong)}.landing-hero__brand-badge{margin-left:2px;padding:2px 8px;border-radius:999px;font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent);border:1px solid color-mix(in srgb,var(--c-accent) 45%,transparent);background:color-mix(in srgb,var(--c-accent) 12%,transparent)}.auth-step.is-error .auth-step__dot{border-color:var(--c-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-danger) 18%,transparent);animation:auth-step-pulse-error 1.2s ease-in-out infinite}.auth-step.is-error .auth-step__dot:before{background:var(--c-danger);transform:scale(1)}.auth-step.is-error .auth-step__num{color:var(--c-accent-fg)}.auth-step.is-error .auth-step__lbl{color:var(--c-danger)}@keyframes auth-step-pulse-error{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--c-danger) 10%,transparent)}}
