:root,:root[data-theme=paper]{color-scheme:light;--window-bg: #f7f7f5;--window-fg: #1b1b1d;--view-bg: #ffffff;--view-fg: #1b1b1d;--headerbar-bg: #ffffff;--headerbar-fg: #1b1b1d;--sidebar-bg: #ffffff;--sidebar-fg: #1b1b1d;--card-bg: #ffffff;--card-fg: #1b1b1d;--popover-bg: #ffffff;--popover-fg: #1b1b1d;--raised-bg: #f0f0ed;--border-color: #85858b;--hairline: #e4e4e0;--dim-fg: #6b6b70;--accent-bg: #a35a12;--accent-fg: #ffffff;--accent-text: #a35a12;--destructive-bg: #c01c28;--destructive-fg: #ffffff;--danger-text: #c01c28;--success: #2a7036;--warning: #a35a12;--info: #0e7490;--viewport-bg: #c9cacc;--viewport-grid: #b3b4b7;--selection: #a35a12}:root[data-theme=graphite]{color-scheme:dark;--window-bg: #141416;--window-fg: #e6e6e3;--view-bg: #1b1c1f;--view-fg: #e6e6e3;--headerbar-bg: #1b1c1f;--headerbar-fg: #e6e6e3;--sidebar-bg: #1b1c1f;--sidebar-fg: #e6e6e3;--card-bg: #1b1c1f;--card-fg: #e6e6e3;--popover-bg: #26272b;--popover-fg: #e6e6e3;--raised-bg: #26272b;--border-color: #70737b;--hairline: #2c2e33;--dim-fg: #8f9197;--accent-bg: #f0a64b;--accent-fg: #1a1206;--accent-text: #f0a64b;--destructive-bg: #c9343a;--destructive-fg: #ffffff;--danger-text: #ff6b6b;--success: #7fd88f;--warning: #f0a64b;--info: #5ccfe6;--viewport-bg: #2a2b2f;--viewport-grid: #3c3e44;--selection: #f0a64b}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("/fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("/fonts/jetbrains-mono-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--axis-x: #e22b30;--axis-y: #43c142;--axis-z: #3478eb;--clock-accent: #2563eb;--clock-accent-fg: #ffffff;--theme-preview-graphite-bg: #141416;--theme-preview-graphite-accent: #f0a64b;--theme-preview-paper-bg: #f7f7f5;--theme-preview-paper-accent: #a35a12}:root{--size-1: 0.25rem;--size-2: 0.5rem;--size-3: 1rem;--size-4: 1.25rem;--size-5: 1.5rem;--size-6: 1.75rem;--size-7: 2rem;--size-8: 3rem;--size-10: 5rem}:root{--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--font-numeric: "tnum" 1, "zero" 1;--font-size-0: 0.75rem;--font-size-1: 0.875rem;--font-size-2: 0.9375rem;--font-size-3: 1.125rem;--font-size-5: 1.5rem;--font-weight-4: 400;--font-weight-6: 600;--font-weight-7: 700;--font-lineheight-2: 1.375;--font-lineheight-3: 1.5}:root{--radius-0: 0;--radius-1: 0.25rem;--radius-2: 0.5rem;--radius-3: 0.75rem;--radius-round: 999px}:root{--shadow-1: 0 1px 2px -1px rgb(0 0 0 / 10%);--shadow-2: 0 2px 4px -2px rgb(0 0 0 / 12%);--shadow-3: 0 4px 8px -2px rgb(0 0 0 / 15%);--shadow-4: 0 8px 16px -4px rgb(0 0 0 / 18%);--shadow-5: 0 12px 24px -8px rgb(0 0 0 / 25%)}:root{--glass-blur: 12px;--popover-glass-bg: color-mix(in srgb, var(--popover-bg) 92%, transparent);--surface-overlay-hover: color-mix(in srgb, var(--window-fg) 6%, transparent);--surface-overlay-active: color-mix(in srgb, var(--window-fg) 10%, transparent);--border-hairline: var(--hairline);--focus-ring: 0 0 0 2px var(--window-bg), 0 0 0 4px var(--accent-text);--glow-accent: none;--accent-shadow: none}:root{--border-size-1: 1px}:root{--duration-quick: 120ms;--duration-moderate: 260ms;--ease-out-3: cubic-bezier(0.25, 0, 0, 1)}:root{--headerbar-height: 48px;--sidebar-width: 340px;--inspector-width: 292px;--bottombar-height: 32px}@media(prefers-reduced-motion: reduce){:root{--duration-quick: 0ms;--duration-moderate: 0ms}}@media(prefers-contrast: more){:root{--border-color: currentColor;--hairline: currentColor;--shadow-1: none;--shadow-2: none;--shadow-3: none;--shadow-4: none;--shadow-5: none;--popover-glass-bg: var(--popover-bg);--focus-ring: 0 0 0 3px var(--window-fg)}}@media(forced-colors: active){:focus-visible{outline:2px solid CanvasText !important;outline-offset:2px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.tabular{font-family:var(--font-mono);font-feature-settings:var(--font-numeric)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{height:100%;font-family:var(--font-family);font-size:var(--font-size-1);line-height:var(--font-lineheight-3);color:var(--window-fg);background-color:var(--window-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none !important}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--size-2);padding:var(--size-2) var(--size-4);font-size:var(--font-size-1);font-weight:var(--font-weight-6);line-height:var(--font-lineheight-2);border-radius:var(--radius-2);border:var(--border-size-1) solid transparent;transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3),border-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3),transform var(--duration-quick) var(--ease-out-3);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:36px;min-width:36px}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent-bg);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-bg) 88%, var(--window-fg))}.btn-primary:active:not(:disabled){background:color-mix(in srgb, var(--accent-bg) 80%, var(--window-fg))}.btn-primary:focus-visible{box-shadow:var(--focus-ring)}.btn-secondary{background-color:var(--card-bg);color:var(--card-fg);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--surface-overlay-hover);border-color:var(--dim-fg)}.btn-secondary:active:not(:disabled){background-color:var(--surface-overlay-active);filter:none}.btn-outline{background:transparent;color:var(--accent-text);border-color:var(--accent-text)}.btn-outline:hover:not(:disabled){background-color:var(--surface-overlay-hover);color:var(--accent-text)}.btn-outline:active:not(:disabled){background-color:color-mix(in srgb, var(--accent-bg) 12%, transparent);border-color:var(--accent-text);filter:none}.btn-outline.btn-danger{background:transparent;color:var(--destructive-bg);border-color:var(--destructive-bg)}.btn-outline.btn-danger:hover:not(:disabled){background-color:var(--destructive-bg);color:var(--destructive-fg)}.btn-outline.btn-danger:active:not(:disabled){background-color:color-mix(in srgb, var(--destructive-bg) 12%, transparent);border-color:var(--destructive-bg);filter:none}.btn-danger{background-color:var(--destructive-bg);color:var(--destructive-fg)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-danger:active:not(:disabled){filter:brightness(0.9)}.btn-flat{background:transparent;color:var(--dim-fg);border-color:transparent}.btn-flat:hover:not(:disabled){background-color:var(--surface-overlay-hover);color:var(--sidebar-fg)}.btn-flat:active:not(:disabled){background-color:var(--surface-overlay-active)}.btn-xs{padding:2px var(--size-1);font-size:var(--font-size-0);min-height:22px;border-radius:var(--radius-1)}.btn-sm{padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);min-height:28px;border-radius:var(--radius-2)}.btn-lg{padding:var(--size-3) var(--size-5);font-size:var(--font-size-2);min-height:44px}.btn-icon{padding:var(--size-2);min-width:36px;min-height:36px}.btn-icon.btn-sm{padding:var(--size-1);min-width:28px;min-height:28px}.btn-icon.btn-xs{padding:2px;min-width:22px;min-height:22px}.btn-text{display:inline}.form-group{display:flex;flex-direction:column;gap:var(--size-1);margin-bottom:var(--size-3)}.form-label{font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg)}.form-input,.form-select,.form-textarea,.form-control{width:100%;padding:var(--size-2) var(--size-3);font-size:var(--font-size-1);font-family:var(--font-family);line-height:var(--font-lineheight-3);color:var(--view-fg);background-color:var(--view-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-2);transition:border-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3)}.form-input::-moz-placeholder, .form-select::-moz-placeholder, .form-textarea::-moz-placeholder, .form-control::-moz-placeholder{color:var(--dim-fg)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder,.form-control::placeholder{color:var(--dim-fg)}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-control:focus{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,.form-control:disabled{opacity:.5;cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--size-2) center;padding-right:var(--size-7);cursor:pointer}.form-color{width:100%;height:40px;padding:var(--size-1);background-color:var(--view-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-2);cursor:pointer}.form-color:focus{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.form-range{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:var(--radius-round);outline:none}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-bg);border-radius:50%;cursor:pointer;border:2px solid var(--view-bg);box-shadow:var(--shadow-1)}.form-range::-moz-range-thumb{width:16px;height:16px;background:var(--accent-bg);border-radius:50%;cursor:pointer;border:2px solid var(--view-bg);box-shadow:var(--shadow-1)}.form-range:focus::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.form-range:focus::-moz-range-thumb{box-shadow:var(--focus-ring)}.form-input.is-invalid,.form-select.is-invalid{border-color:var(--destructive-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive-bg) 25%, transparent)}.form-error{font-size:var(--font-size-0);color:var(--destructive-bg);margin-top:var(--size-1)}.form-help{font-size:var(--font-size-0);color:var(--dim-fg);margin-top:var(--size-1)}.headerbar{position:relative;display:flex;align-items:center;gap:var(--size-2);height:var(--headerbar-height);padding:0 var(--size-3);background:var(--headerbar-bg);color:var(--headerbar-fg);border-bottom:var(--border-size-1) solid var(--border-hairline);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.headerbar-brand{display:flex;align-items:center;flex-shrink:0}.headerbar-brand img{height:36px;width:auto}.headerbar-brand .logo-light{display:block}.headerbar-brand .logo-dark{display:none}[data-scheme=dark] .headerbar-brand .logo-light{display:none}[data-scheme=dark] .headerbar-brand .logo-dark{display:block}.page-switcher{display:flex;align-items:center;gap:2px;margin-left:var(--size-3);padding:2px;border-radius:var(--radius-round);background-color:var(--surface-overlay-hover);flex-shrink:0}.page-switcher-tab{padding:4px var(--size-3);border-radius:var(--radius-round);font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg);text-decoration:none;white-space:nowrap}.page-switcher-tab:hover{color:var(--headerbar-fg)}.page-switcher-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}html[data-initial-view=library] .page-switcher-tab[href="/library"],html[data-initial-view=studio] .page-switcher-tab[href="/studio"],.page-switcher-tab.active{background-color:var(--headerbar-bg);color:var(--headerbar-fg);box-shadow:inset 0 0 0 var(--border-size-1) var(--hairline),var(--shadow-1)}.headerbar-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-round);color:var(--dim-fg);flex-shrink:0}.headerbar-back:hover{background-color:var(--surface-overlay-hover);color:var(--headerbar-fg)}.headerbar-back:focus-visible{outline:none;box-shadow:var(--focus-ring)}.headerbar-back.hidden{display:none}.headerbar-title{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--size-1);line-height:1.2}.headerbar-title .headerbar-title-text{font-size:var(--font-size-2);font-weight:var(--font-weight-6);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-2);padding:1px var(--size-1);margin:0}.headerbar-title .headerbar-title-meta{font-size:var(--font-size-0);line-height:1.25;color:var(--dim-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.headerbar-new{flex-shrink:0}.headerbar-new.hidden{display:none}.headerbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--size-2);flex-shrink:0;margin-left:auto}.headerbar-actions .btn-icon+.btn-icon{margin-left:0}.headerbar-signin{height:32px;min-height:32px}.headerbar-signin.hidden{display:none}.headerbar-avatar{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-round);background:var(--raised-bg);cursor:pointer}.headerbar-avatar:hover{background:var(--surface-overlay-hover)}.headerbar-avatar:focus-visible{outline:none;box-shadow:var(--focus-ring)}.headerbar-avatar .headerbar-avatar-img{display:grid;width:20px;height:20px;overflow:hidden;border-radius:var(--radius-1)}.headerbar-avatar .headerbar-avatar-img svg{width:100%;height:100%}.headerbar-avatar.auth-required::after{content:"";position:absolute;top:0;right:0;width:9px;height:9px;border-radius:50%;background:var(--warning);border:2px solid var(--headerbar-bg)}.headerbar-avatar.hidden{display:none}.network-status{display:inline-flex;align-items:center;gap:var(--size-1);height:28px;padding:0 var(--size-2);border:0;border-radius:var(--radius-round);background:transparent;color:var(--dim-fg);font-size:var(--font-size-0);cursor:pointer}.network-status:hover{background:var(--surface-overlay-hover)}.network-status:focus-visible{outline:none;box-shadow:var(--focus-ring)}.network-status[hidden]{display:none}.network-status-dot{width:7px;height:7px;border-radius:50%;background:var(--warning)}.headerbar-divider{width:1px;height:18px;background:var(--border-hairline);flex-shrink:0;margin:0 var(--size-1)}.headerbar-doc-actions{display:flex;align-items:center;gap:var(--size-1);flex-shrink:0}#saveAssetBtn.has-unsaved{position:relative}#saveAssetBtn.has-unsaved::after{content:"";position:absolute;top:var(--size-1);right:var(--size-1);width:6px;height:6px;border-radius:50%;background-color:var(--accent-bg)}.testnet-banner{display:none;align-items:center;justify-content:center;gap:6px;padding:3px 12px;font-size:12px;line-height:1.4;color:var(--window-fg);background:color-mix(in srgb, var(--warning) 18%, var(--window-bg));border-bottom:1px solid color-mix(in srgb, var(--warning) 45%, transparent)}.testnet-banner.visible{display:flex}.testnet-banner a{color:inherit;text-decoration:underline}.sidebar{display:flex;flex-shrink:0;position:relative;width:var(--sidebar-width-user, var(--sidebar-width));height:100%;background:var(--sidebar-bg);color:var(--sidebar-fg);border-right:var(--border-size-1) solid var(--border-hairline);overflow:hidden;transition:width var(--duration-moderate) var(--ease-out-3)}.sidebar.collapsed{width:0;border-right:none}.sidebar.resizing{transition:none}.sidebar-switcher{display:flex;flex-direction:column;flex-shrink:0;width:48px;padding:var(--size-2) 0;gap:var(--size-1);border-right:var(--border-size-1) solid var(--border-hairline);background:var(--sidebar-bg)}.sidebar-switcher-bottom{margin-top:auto;display:flex;justify-content:center;gap:var(--size-1);padding:var(--size-1) 0;border-top:var(--border-size-1) solid var(--border-hairline)}.panel-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-2);color:var(--dim-fg);transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.panel-toggle:hover{background-color:var(--surface-overlay-hover);color:var(--sidebar-fg)}.panel-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.panel-toggle svg{width:18px;height:18px}.sidebar-switcher-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 var(--size-2);border-radius:var(--radius-2);color:var(--dim-fg);transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.sidebar-switcher-btn:hover{background-color:var(--surface-overlay-hover);color:var(--sidebar-fg)}.sidebar-switcher-btn.active{background:var(--raised-bg);color:var(--accent-text)}.sidebar-switcher-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-switcher-btn svg{width:18px;height:18px}@media(prefers-reduced-motion: no-preference){.sidebar-switcher-btn.pulse{animation:create-pulse 2s ease-in-out infinite}@keyframes create-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-bg) 40%, transparent)}50%{box-shadow:0 0 0 6px transparent}}}@media(prefers-reduced-motion: reduce){.sidebar-switcher-btn.pulse{outline:2px solid var(--accent-bg);outline-offset:2px}}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.sidebar-view{flex:1;display:flex;flex-direction:column;overflow-y:auto}.sidebar-view[hidden]{display:none}.sidebar-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--size-2) var(--size-3);border-bottom:var(--border-size-1) solid var(--border-hairline);flex-shrink:0;min-height:0}.sidebar-view-header h2,.sidebar-view-header h3{font-size:var(--font-size-2);font-weight:var(--font-weight-6);line-height:1}.sidebar-view-body{flex:1;overflow-y:auto;padding:var(--size-3)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-round);color:var(--dim-fg)}.sidebar-toggle:hover{background-color:var(--surface-overlay-hover);color:var(--sidebar-fg)}.sidebar-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.theme-icon-light,.theme-icon-dark{display:none}[data-scheme=light] .theme-icon-light{display:block}[data-scheme=dark] .theme-icon-dark{display:block}.sidebar-view-hint{margin:0;padding:0 var(--size-3) var(--size-2);font-size:var(--font-size-0);color:var(--dim-fg)}.sidebar-reveal{position:absolute;left:0;top:50%;transform:translateY(-50%);width:32px;height:72px;background-color:var(--headerbar-bg);border:var(--border-size-1) solid var(--accent-bg);border-left:none;border-radius:0 var(--radius-3) var(--radius-3) 0;color:var(--accent-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:60;opacity:0;pointer-events:none;transition:opacity var(--duration-quick) var(--ease-out-3);box-shadow:var(--shadow-2)}.sidebar-reveal:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text);width:36px}.sidebar.collapsed~.sidebar-reveal{opacity:1;pointer-events:auto}.sidebar-resize-handle{position:absolute;top:0;right:0;bottom:0;width:8px;cursor:col-resize;z-index:10}.sidebar-resize-handle::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:transparent;transition:background-color var(--duration-quick) var(--ease-out-3)}.sidebar-resize-handle:hover::after,.sidebar-resize-handle:focus-visible::after,.sidebar.resizing .sidebar-resize-handle::after{background:var(--accent-bg)}.sidebar-resize-handle:focus-visible{outline:none}.sidebar.collapsed .sidebar-resize-handle{display:none}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width: 900px){.sidebar-resize-handle{display:none}}.pathbar{display:flex;align-items:center;gap:0;flex:1 1 auto;min-width:0;overflow:hidden}.pathbar-segment,.pathbar-current{display:flex;align-items:center;gap:var(--size-1);padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);border-radius:var(--radius-2);white-space:nowrap}.pathbar-segment{font-weight:var(--font-weight-5);color:var(--dim-fg);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.pathbar-segment:hover{background-color:var(--surface-overlay-hover);color:var(--headerbar-fg)}.pathbar-segment:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pathbar-separator{color:var(--dim-fg);font-size:var(--font-size-0);margin:0 var(--size-1);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pathbar-current{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-7)}.pathbar-current:hover{background-color:transparent;cursor:default}.viewport{flex:1;position:relative;min-height:0;background-color:var(--viewport-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-3);overflow:hidden}.viewport canvas{width:100%;height:100%;display:block;outline:none}.viewport-drop-indicator{position:absolute;inset:var(--size-2);border:2px dashed var(--accent-bg);border-radius:var(--radius-3);pointer-events:none;z-index:25;opacity:0;transition:opacity var(--duration-quick) var(--ease-out-3)}.viewport-drop-indicator.active{opacity:1}.task-progress{position:absolute;top:0;left:0;right:0;z-index:30;pointer-events:none;padding:var(--size-2) var(--size-3);background-color:var(--view-bg);border-bottom:var(--border-size-1) solid var(--hairline);opacity:1;transition:opacity var(--duration-quick) var(--ease-out-3)}.task-progress[hidden]{display:none}.task-progress.fade{opacity:0}.task-progress-label{display:block;margin-bottom:var(--size-1);font-size:var(--font-size-0);color:var(--view-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-progress-track{height:4px;border-radius:var(--radius-round);background-color:var(--border-color);overflow:hidden}.task-progress-fill{height:100%;width:0%;background-color:var(--accent-bg);border-radius:var(--radius-round);transition:width 300ms var(--ease-out-3)}.task-progress.error .task-progress-label{color:var(--danger-text)}.task-progress.error .task-progress-fill{background-color:var(--destructive-bg)}@media(prefers-reduced-motion: reduce){.task-progress-fill{transition:none}}.viewport-generating{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-2) var(--size-3);font-size:var(--font-size-1);color:var(--dim-fg)}.viewport-generating[hidden]{display:none}.asset-drop-icon{font-size:var(--size-8);margin-bottom:var(--size-3);text-align:center}.viewport-spinner{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent-bg);border-radius:50%}@media(prefers-reduced-motion: no-preference){.viewport-spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}@media(prefers-reduced-motion: reduce){.viewport-spinner{opacity:.7}}.transform-toolbar{position:absolute;bottom:var(--size-3);left:var(--size-3);display:flex;align-items:center;gap:var(--size-1);padding:var(--size-1);background-color:var(--sidebar-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);box-shadow:var(--shadow-3);z-index:20}.transform-toolbar .btn{color:var(--sidebar-fg)}.transform-toolbar .btn:hover:not(:disabled){background-color:var(--surface-overlay-hover)}.transform-toolbar .btn:disabled{color:var(--dim-fg);opacity:1;cursor:not-allowed}.transform-toolbar .btn.active{background-color:var(--raised-bg);color:var(--accent-text);border-color:var(--accent-text)}.transform-toolbar .btn.active:hover:not(:disabled){filter:brightness(1.05)}.transform-toolbar-side{left:auto;bottom:auto;right:var(--size-3);top:50%;transform:translateY(-50%);flex-direction:column}.transform-toolbar-sep{width:var(--border-size-1);align-self:stretch;margin-inline:var(--size-1);background-color:var(--hairline)}.edit-mode-toggle{padding-inline:var(--size-2);font-weight:500}.transform-toolbar [hidden]{display:none}#viewportGizmo{position:absolute;top:var(--size-3);right:var(--size-3);pointer-events:none;z-index:20}.inspector{width:var(--inspector-width);flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-fg);border-left:var(--border-size-1) solid var(--border-hairline);display:flex;flex-direction:column;overflow:hidden;transition:width var(--duration-moderate) var(--ease-out-3)}.inspector.collapsed{width:0;border-left:none}.inspector-header{display:flex;align-items:center;justify-content:space-between;padding:var(--size-3);border-bottom:var(--border-size-1) solid var(--border-hairline);flex-shrink:0}.inspector-header h3,.inspector-header h5{font-size:var(--font-size-2);font-weight:var(--font-weight-6)}.inspector-body{flex:1;overflow-y:auto;padding:var(--size-3);display:flex;flex-direction:column;gap:var(--size-4)}.inspector-body::-webkit-scrollbar{width:6px}.inspector-body::-webkit-scrollbar-track{background:transparent}.inspector-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.inspector-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:var(--size-2) var(--size-3);border-top:var(--border-size-1) solid var(--border-hairline)}.inspector-section{display:flex;flex-direction:column;gap:var(--size-3)}.inspector-section-title{font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg);padding-bottom:var(--size-1);border-bottom:var(--border-size-1) solid var(--border-hairline)}.inspector-meta{display:flex;flex-direction:column;gap:var(--size-1)}.inspector-meta-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-1)}.inspector-meta-row .label{color:var(--dim-fg)}.inspector-meta-row .value{font-weight:var(--font-weight-6);font-family:var(--font-mono);font-size:var(--font-size-0);word-break:break-all;text-align:right;max-width:60%}.inspector-transform{display:flex;flex-direction:column;gap:var(--size-3)}.inspector-transform-row{display:flex;align-items:center;gap:var(--size-2)}.inspector-transform-row label{font-size:var(--font-size-0);color:var(--dim-fg);min-width:80px;text-align:right}.inspector-transform-row input{flex:1}.inspector-token-child[hidden]{display:none}.inspector-scale[hidden]{display:none}.inspector-actions{display:flex;flex-direction:column;gap:var(--size-2);padding-top:var(--size-3);border-top:var(--border-size-1) solid var(--border-hairline)}.inspector-hint{margin:0;font-size:var(--font-size-0);color:var(--dim-fg);line-height:1.4}.inspector-reveal{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:72px;background-color:var(--headerbar-bg);border:var(--border-size-1) solid var(--accent-bg);border-right:none;border-radius:var(--radius-3) 0 0 var(--radius-3);color:var(--accent-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:60;opacity:0;pointer-events:none;transition:opacity var(--duration-quick) var(--ease-out-3),width var(--duration-quick) var(--ease-out-3),background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3);box-shadow:var(--shadow-2)}.inspector-reveal:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text);width:36px}.inspector.collapsed~.inspector-reveal{opacity:1;pointer-events:auto}.component-editor-header{display:flex;align-items:center;justify-content:space-between;gap:var(--size-2);margin-bottom:var(--size-2)}.component-editor-name{font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--sidebar-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-editor-swatch{width:24px;height:24px;border-radius:var(--radius-1);border:var(--border-size-1) solid var(--border-color);flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.component-color-editor{width:100%;height:44px;padding:0;border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);cursor:pointer;background:none;overflow:hidden;box-sizing:border-box;transition:border-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3)}.component-color-editor:hover{border-color:var(--dim-fg)}.component-color-editor:focus-visible{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.component-color-editor::-webkit-color-swatch-wrapper{padding:3px}.component-color-editor::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-2) - 2px)}.component-color-editor::-moz-color-swatch{border:none;border-radius:calc(var(--radius-2) - 2px)}.metadata-section{display:flex;flex-direction:column;gap:var(--size-2)}.metadata-subsection{border-bottom:var(--border-size-1) solid var(--border-hairline)}.metadata-subsection:last-child{border-bottom:none}.metadata-subsection summary{padding-block:var(--size-2)}.metadata-list{margin:0;display:grid;grid-template-columns:auto 1fr;-moz-column-gap:var(--size-3);column-gap:var(--size-3);row-gap:var(--size-1);align-items:baseline;padding:var(--size-1) 0 var(--size-2)}.metadata-list .metadata-fact-label{font-size:var(--font-size-0);font-weight:normal;color:var(--dim-fg);white-space:nowrap}.metadata-list .metadata-fact-value{margin:0;font-size:var(--font-size-0);font-family:var(--font-mono);text-align:right;word-break:break-word}.metadata-list .metadata-empty{grid-column:1/-1;font-size:var(--font-size-0);color:var(--dim-fg);font-style:italic}.metadata-kv{display:flex;flex-direction:column;gap:var(--size-2);padding:var(--size-1) 0 var(--size-2)}.metadata-kv-row{display:flex;align-items:center;gap:var(--size-2)}.metadata-kv-key{flex:0 0 40%;font-family:var(--font-mono)}.metadata-kv-value{flex:1 1 auto}.metadata-kv-del{flex-shrink:0;color:var(--destructive-fg);background-color:var(--destructive-bg);border-color:transparent}.metadata-kv-del:hover{filter:brightness(1.1)}.metadata-actions{display:flex;align-items:center;gap:var(--size-2)}.metadata-typed{display:grid;grid-template-columns:minmax(90px, auto) 1fr;gap:var(--size-1) var(--size-2);align-items:center;margin-bottom:var(--size-2)}.metadata-typed-label{font-size:var(--font-size-0);color:var(--dim-fg)}.metadata-print{display:flex;align-items:center;gap:var(--size-2);margin-top:var(--size-2)}.print-badge{font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:1px var(--size-2);border-radius:var(--radius-round);color:var(--window-fg)}.print-badge.print-badge-ok{background:color-mix(in srgb, var(--success) 18%, transparent)}.print-badge.print-badge-warn{background:color-mix(in srgb, var(--warning) 18%, transparent)}.bottombar{display:flex;align-items:center;justify-content:space-between;height:var(--bottombar-height);padding:0 var(--size-3);background:var(--headerbar-bg);color:var(--dim-fg);border-top:var(--border-size-1) solid var(--border-hairline);font-size:var(--font-size-0);flex-shrink:0}.bottombar[hidden]{display:none}.bottombar-status{display:flex;align-items:center;gap:var(--size-2);min-width:0;overflow:hidden}.bottombar-status-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottombar-status-item+.bottombar-status-item::before{content:"·";margin-right:var(--size-2);color:var(--border-hairline)}.bottombar-selection{opacity:.65;font-size:var(--font-size-00, var(--font-size-0));max-width:40ch;flex-shrink:1}.bottombar-actions{display:flex;align-items:center;gap:var(--size-1);flex-shrink:0}.bottombar-help{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-0);font-weight:var(--font-weight-7);color:var(--dim-fg);border-radius:var(--radius-round);border:var(--border-size-1) solid var(--border-color);line-height:1;cursor:pointer;transition:color var(--duration-quick) var(--ease-out-3),border-color var(--duration-quick) var(--ease-out-3)}.bottombar-help:hover{color:var(--accent-bg);border-color:var(--accent-bg)}.bottombar-help:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bottombar-wallet{display:flex;align-items:center;gap:var(--size-1);padding:0 var(--size-2);height:24px;font-size:var(--font-size-0);font-family:var(--font-mono);color:var(--accent-bg);border:var(--border-size-1) solid var(--accent-bg);border-radius:var(--radius-round);cursor:pointer}.bottombar-wallet:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text)}.bottombar-wallet.disconnected{color:var(--dim-fg);border-color:var(--border-color)}.bottombar-wallet.disconnected:hover{background-color:var(--surface-overlay-hover);color:var(--sidebar-fg)}.card{background-color:var(--card-bg);color:var(--card-fg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);padding:var(--size-3);box-shadow:var(--shadow-1)}.asset-library-section{margin-bottom:var(--size-4)}.asset-library-section-title{font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg);margin-bottom:var(--size-3);padding-bottom:var(--size-1);border-bottom:var(--border-size-1) solid var(--border-hairline)}.asset-library-empty{font-size:var(--font-size-1);color:var(--dim-fg);text-align:center;margin:var(--size-3) 0}.asset-library-list{display:flex;flex-direction:column;gap:var(--size-3)}.asset-card{background-color:var(--card-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);padding:var(--size-3);cursor:pointer;transition:border-color var(--duration-quick) var(--ease-out-3),background-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3)}.asset-card:hover{border-color:var(--dim-fg);background-color:var(--surface-overlay-hover)}.asset-card:focus-visible{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.asset-card.active{border-color:var(--accent-bg);box-shadow:var(--glow-accent)}.asset-card[draggable=true]{cursor:grab}.asset-card[draggable=true]:active{cursor:grabbing}.asset-card-thumbnail{position:relative;width:100%;aspect-ratio:16/9;margin-bottom:var(--size-3);border-radius:var(--radius-2);overflow:hidden;background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}.asset-card-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.asset-card-thumbnail-empty{color:var(--dim-fg);font-size:var(--font-size-5)}.asset-card-name{font-size:var(--font-size-2);font-weight:var(--font-weight-6);color:var(--card-fg);margin-bottom:var(--size-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--size-2)}.asset-card-badge{font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:2px var(--size-2);border-radius:var(--radius-round);border:var(--border-size-1) solid var(--border-color);background-color:transparent;color:var(--dim-fg)}.asset-card-badge.badge-owner{background-color:color-mix(in srgb, var(--accent-bg) 15%, transparent);color:var(--accent-bg);border-color:color-mix(in srgb, var(--accent-bg) 40%, transparent)}.asset-card-badge.badge-editor{background-color:var(--surface-overlay-hover);color:var(--dim-fg);border-color:var(--border-color)}.asset-card-actions{display:flex;gap:var(--size-2);margin-top:var(--size-3)}.asset-card-actions .btn{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis}.asset-card-error{border-color:var(--danger-text);background-color:color-mix(in srgb, var(--danger-text) 8%, var(--card-bg))}.asset-card-error:hover{border-color:var(--danger-text)}.asset-card-thumbnail-error{color:var(--danger-text)}.asset-card-reload{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;border-radius:var(--radius-2);background-color:rgba(0,0,0,.45);color:var(--card-fg);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3)}.asset-card-reload:hover,.asset-card-reload:focus-visible{background-color:rgba(0,0,0,.6)}.asset-card-reload:focus-visible{outline:var(--border-size-2) solid var(--accent-bg);outline-offset:-2px}.asset-card-reload svg{width:28px;height:28px}.asset-card--inaccessible{opacity:.55}.asset-card--inaccessible .asset-card-thumbnail{background:color-mix(in srgb, var(--warning) 8%, var(--card-bg));color:var(--warning)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--size-2);padding:var(--size-7) var(--size-3);color:var(--dim-fg)}.empty-state .empty-state-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--size-1);border-radius:var(--radius-round);background-color:color-mix(in srgb, var(--accent-bg) 12%, transparent);color:var(--accent-bg);font-size:var(--font-size-3)}.empty-state .empty-state-icon svg{width:22px;height:22px}.empty-state .empty-state-title{margin:0;font-size:var(--font-size-2);font-weight:var(--font-weight-6);color:var(--sidebar-fg)}.empty-state .empty-state-sub{margin:0;max-width:34ch;font-size:var(--font-size-1);color:var(--dim-fg);line-height:var(--font-lineheight-3)}.empty-state .empty-state-action{margin-top:var(--size-2)}.empty-state .empty-state-actions{display:flex;gap:var(--size-2);justify-content:center}.version-timeline{display:flex;align-items:center;gap:var(--size-1);min-height:36px;padding:0 var(--size-2);overflow-x:auto;background:var(--sidebar-bg);border-top:var(--border-size-1) solid var(--border-hairline)}.version-timeline[hidden]{display:none}.vt-tick{position:relative;flex:0 0 auto;min-width:32px;min-height:32px;border:0;background:transparent;color:var(--window-fg);cursor:pointer}.vt-tick[aria-current=true]{color:var(--accent-bg);box-shadow:inset 0 -2px 0 var(--accent-bg)}.vt-tick:disabled{cursor:default;opacity:.6}.vt-tick-published::before{content:"";position:absolute;top:4px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--success);transform:translateX(-50%)}.vt-tooltip{position:fixed;z-index:100;transform:translateX(-50%);max-width:260px;padding:var(--size-2);background:var(--card-bg);border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-2);color:var(--window-fg)}.vt-tooltip img{display:block;width:100%;border-radius:var(--radius-1);margin-bottom:var(--size-1)}.outliner{display:flex;flex-direction:column;height:100%;gap:var(--size-2)}.outliner-toolbar{display:flex;align-items:center;gap:var(--size-1);padding:var(--size-2) 0;flex-shrink:0}.outliner-tree{flex:1;overflow-y:auto}.outliner-node{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-1) var(--size-2);font-size:var(--font-size-1);border-radius:var(--radius-2);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:32px}.outliner-node:hover{background-color:var(--surface-overlay-hover)}.outliner-node.selected{background-color:color-mix(in srgb, var(--accent-bg) 15%, transparent);color:var(--sidebar-fg)}.outliner-node.selected:hover{background-color:color-mix(in srgb, var(--window-fg) 6%, color-mix(in srgb, var(--accent-bg) 15%, transparent))}.outliner-node.drag-over{background-color:color-mix(in srgb, var(--accent-bg) 25%, transparent)}.outliner-node:focus-visible{outline:none;box-shadow:var(--focus-ring)}.outliner-node-guide{width:1px;align-self:stretch;background-color:var(--border-hairline);margin:0 var(--size-1);flex-shrink:0}.outliner-node-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dim-fg);cursor:pointer;font:inherit}.outliner-node-toggle[data-has-children=false]{opacity:0;pointer-events:none}.outliner-node-toggle:hover{color:var(--sidebar-fg)}.outliner-node-icon{flex-shrink:0;width:18px;text-align:center;font-size:var(--font-size-0)}.outliner-node-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outliner-node-badge{flex-shrink:0;font-size:var(--font-size-0);font-family:var(--font-mono);color:var(--dim-fg);padding:0 var(--size-1);font-variant-numeric:tabular-nums}.outliner-node[data-depth="1"]{padding-left:calc(var(--size-1) * 1)}.outliner-node[data-depth="2"]{padding-left:calc(var(--size-1) * 2)}.outliner-node[data-depth="3"]{padding-left:calc(var(--size-1) * 3)}.outliner-node[data-depth="4"]{padding-left:calc(var(--size-1) * 4)}.outliner-node[data-depth="5"]{padding-left:calc(var(--size-1) * 5)}.outliner-footer{flex-shrink:0;padding:var(--size-2);font-size:var(--font-size-0);color:var(--dim-fg);border-top:var(--border-size-1) solid var(--border-hairline)}.ledger{display:flex;flex-direction:column;height:100%}.ledger-panel-body{display:flex;flex-direction:column;height:100%}.ledger-panel-controls{display:flex;gap:var(--size-2);padding:var(--size-2) 0;flex-shrink:0;align-items:center}.ledger-anchor-btn{padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--accent-bg);background:transparent;border:var(--border-size-1) solid var(--accent-bg);border-radius:var(--radius-2);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.ledger-anchor-btn:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text)}.ledger-filter{flex:1}.ledger-stats{padding:var(--size-1) 0;font-size:var(--font-size-0);color:var(--dim-fg);border-bottom:var(--border-size-1) solid var(--border-hairline);flex-shrink:0}.ledger-list{flex:1;overflow-y:auto}.ledger-entry{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);border-bottom:var(--border-size-1) solid var(--border-hairline);transition:background-color var(--duration-quick) var(--ease-out-3)}.ledger-entry:hover{background-color:var(--surface-overlay-hover)}.ledger-entry-icon{flex-shrink:0;width:20px;text-align:center;color:var(--accent-bg)}.ledger-entry-type{font-weight:var(--font-weight-6);color:var(--accent-bg);flex-shrink:0;min-width:80px}.ledger-entry-cid{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--font-size-0);color:var(--dim-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-entry-actor{flex-shrink:0;font-family:var(--font-mono);font-size:var(--font-size-0);color:var(--dim-fg);min-width:80px;text-align:right}.ledger-empty{padding:var(--size-5) var(--size-3);text-align:center;color:var(--dim-fg);font-size:var(--font-size-1);font-style:italic}.inspector-section details{border-bottom:var(--border-size-1) solid var(--hairline)}.inspector-section summary{display:flex;align-items:center;justify-content:space-between;min-height:32px;cursor:pointer;padding:var(--size-1) var(--size-3);font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg);list-style:none}.inspector-section summary::-webkit-details-marker{display:none}.inspector-section summary::after{content:"▸";font-size:var(--font-size-1);transition:transform var(--duration-quick) var(--ease-out-3)}.inspector-section summary:hover{background:var(--surface-overlay-hover)}.inspector-section details[open] summary::after{transform:rotate(90deg)}.inspector-section details>div{padding:var(--size-3)}.comments-section{display:flex;flex-direction:column;flex:1 1 auto;min-height:180px}.comments-section .inspector-section-title{margin-bottom:0}.comments-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;margin:var(--size-2) 0}.comments-scroll::-webkit-scrollbar{width:6px}.comments-scroll::-webkit-scrollbar-track{background:transparent}.comments-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.comment-list{display:flex;flex-direction:column;gap:var(--size-3);list-style:none;margin:0;padding:0}.comment-item{display:flex;gap:var(--size-2)}.comment-avatar{width:32px;height:32px;border-radius:var(--radius-round);background:var(--raised-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-0);font-weight:var(--font-weight-7);flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:var(--size-2);margin-bottom:var(--size-1);flex-wrap:wrap}.comment-author{font-weight:var(--font-weight-6);font-family:var(--font-mono);font-size:var(--font-size-1);color:var(--sidebar-fg)}.comment-time{font-size:var(--font-size-0);color:var(--dim-fg)}.comment-text{font-size:var(--font-size-1);line-height:var(--font-lineheight-2);color:var(--sidebar-fg);word-break:break-word}.comment-mention{color:var(--accent-bg);font-weight:var(--font-weight-6);cursor:pointer;border-radius:var(--radius-1);padding:0 2px;margin:0 -2px}.comment-mention:hover{text-decoration:underline;background:color-mix(in srgb, var(--accent-bg) 12%, transparent)}.comment-mentioned-you{border-left:3px solid var(--accent-bg);padding:var(--size-2) var(--size-2) var(--size-2) var(--size-3);background:color-mix(in srgb, var(--accent-bg) 8%, transparent);border-radius:0 var(--radius-2) var(--radius-2) 0}.comment-mentioned-you .comment-item{margin:calc(-1*var(--size-2)) calc(-1*var(--size-2)) calc(-1*var(--size-2)) calc(-1*var(--size-3))}.comment-system{opacity:.85}.comment-system .comment-avatar{background:var(--dim-fg);color:var(--sidebar-bg)}.mention-badge{margin-left:auto;font-size:var(--font-size-0);color:var(--accent-bg);font-weight:var(--font-weight-6)}.comments-empty{text-align:center;padding:var(--size-5) var(--size-2)}.comments-empty-icon{font-size:var(--size-6);color:var(--accent-bg);margin-bottom:var(--size-2)}.comments-empty-title{font-size:var(--font-size-2);font-weight:var(--font-weight-6);color:var(--sidebar-fg);margin:0 0 var(--size-1)}.comments-empty-sub{font-size:var(--font-size-1);color:var(--dim-fg);margin:0;line-height:var(--font-lineheight-3)}.comment-composer{margin-top:var(--size-2);padding-top:var(--size-3);border-top:var(--border-size-1) solid var(--border-hairline);position:relative;flex-shrink:0}.composer-label{display:block;font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg);margin-bottom:var(--size-1)}.composer-input{width:100%;min-height:80px;padding:var(--size-2) var(--size-3);font-family:var(--font-family);font-size:var(--font-size-1);line-height:var(--font-lineheight-2);color:var(--view-fg);background:var(--view-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-2);resize:vertical;box-sizing:border-box;transition:border-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3)}.composer-input:focus-visible{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.composer-input:disabled{opacity:.6;cursor:not-allowed;background:var(--raised-bg)}.composer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--size-2)}.composer-hint{font-size:var(--font-size-0);color:var(--dim-fg)}.autocomplete{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--popover-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);box-shadow:var(--shadow-3);max-height:160px;overflow-y:auto;z-index:10}.autocomplete[hidden]{display:none}.autocomplete-item{display:flex;justify-content:space-between;align-items:center;gap:var(--size-2);padding:var(--size-2) var(--size-3);font-size:var(--font-size-1);cursor:pointer;color:var(--popover-fg)}.autocomplete-item:hover,.autocomplete-item.autocomplete-item-active{background:var(--surface-overlay-hover)}.autocomplete-item span{color:var(--dim-fg);font-size:var(--font-size-0)}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.studio-layout{display:flex;flex:1;position:relative;min-height:0;overflow:hidden}.main-stage{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.app-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}#libraryView{position:relative}html[data-initial-view=library] #studioView,html[data-initial-view=studio] #libraryView{display:none !important}body[data-view=library] .headerbar-back,body[data-view=library] .headerbar-title,body[data-view=library] .headerbar-divider,body[data-view=library] .headerbar-doc-actions{display:none !important}.sidebar-view[data-view=chat] .sidebar-view-body{display:flex;flex-direction:column;overflow:hidden;padding:0}#chatHistory{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:var(--size-3)}.chat-history-list{display:flex;flex-direction:column;gap:var(--size-2)}.chat-welcome{text-align:center;padding:var(--size-7) var(--size-2)}.chat-welcome .welcome-icon{font-size:var(--size-7);color:var(--accent-text);margin-bottom:var(--size-3)}.chat-welcome .welcome-text{font-size:var(--font-size-2);font-weight:var(--font-weight-6);color:var(--sidebar-fg);margin:0 0 var(--size-2)}.chat-welcome .welcome-sub{font-size:var(--font-size-1);color:var(--dim-fg);margin:0;line-height:var(--font-lineheight-3)}.chat-bubble{max-width:90%;padding:var(--size-2) var(--size-3);border-radius:var(--radius-3);font-size:var(--font-size-1);line-height:var(--font-lineheight-2);word-break:break-word}.chat-bubble-user{align-self:flex-end;background-color:var(--raised-bg);color:var(--window-fg);border-bottom-right-radius:var(--size-1);font-weight:var(--font-weight-6)}.chat-bubble-system{align-self:flex-start;background-color:var(--card-bg);color:var(--sidebar-fg);border:var(--border-size-1) solid var(--border-hairline);border-bottom-left-radius:var(--size-1)}.chat-bubble-time{display:block;margin-top:var(--size-1);font-size:var(--font-size-0);font-weight:var(--font-weight-4);opacity:.7}.chat-bubble-system .chat-bubble-time{color:var(--dim-fg)}.chat-bubble-working{display:flex;align-items:center;gap:var(--size-2);opacity:.85}.chat-working-spinner{width:14px;height:14px;flex-shrink:0;border:2px solid var(--accent-bg);border-top-color:transparent;border-radius:50%}.chat-working-cancel{margin-left:auto;flex-shrink:0;padding:0 var(--size-2);font-size:.85em}.chat-working-body{display:flex;flex-direction:column;gap:var(--size-1);flex:1;min-width:0}.chat-working-track{display:block;height:4px;border-radius:var(--radius-round);background-color:var(--border-color);overflow:hidden}.chat-working-track[hidden]{display:none}.chat-working-fill{display:block;height:100%;width:0%;background-color:var(--accent-bg);border-radius:var(--radius-round);transition:width 300ms var(--ease-out-3)}@media(prefers-reduced-motion: reduce){.chat-working-fill{transition:none}}@media(prefers-reduced-motion: no-preference){.chat-working-spinner{animation:spin .8s linear infinite}}@media(prefers-reduced-motion: reduce){.chat-working-spinner{opacity:.6}}.chat-bubble-asset{align-self:flex-start;width:100%;background-color:var(--card-bg);color:var(--sidebar-fg);border:var(--border-size-1) solid var(--border-hairline);border-bottom-left-radius:var(--size-1)}.chat-asset-preview{width:100%;aspect-ratio:16/9;border-radius:var(--radius-2);overflow:hidden;background-color:var(--view-bg);display:flex;align-items:center;justify-content:center}.chat-asset-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.chat-asset-snapshot{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.chat-asset-badge{font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg)}.chat-asset-caption{display:block;margin-top:var(--size-2);font-weight:var(--font-weight-6)}.chat-asset-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;margin-top:var(--size-2)}.chat-asset-followups{flex-basis:100%;display:flex;flex-wrap:wrap;gap:var(--size-1);margin-top:var(--size-1)}.chat-asset-saved-pill{margin-left:var(--size-2);padding:0 var(--size-1);border-radius:var(--radius-pill, 999px);background:var(--success);color:var(--window-bg);font-size:.75em}.chat-bubble-image .chat-image-thumb{display:block;max-width:200px;max-height:200px;border-radius:var(--radius-2);margin-bottom:var(--size-1);-o-object-fit:contain;object-fit:contain}.chat-image-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--size-1);margin-bottom:var(--size-1)}.chat-image-cell{margin:0}.chat-image-cell .chat-image-thumb{width:100%;max-width:none;max-height:96px;margin-bottom:0;-o-object-fit:cover;object-fit:cover}.chat-image-view{font-size:var(--font-size-0);color:var(--dim-fg);text-align:center}.chat-choices{display:flex;flex-wrap:wrap;gap:var(--size-1);margin-top:var(--size-2)}.chat-choice-btn:disabled{opacity:.55;cursor:default}.chat-choice-btn.picked{border-color:var(--accent-bg);color:var(--accent-bg);opacity:1}.chat-composer{display:flex;flex-direction:column;gap:var(--size-2);padding:var(--size-2) var(--size-3);background-color:var(--card-bg);border-top:var(--border-size-1) solid var(--border-hairline);flex-shrink:0;transition:box-shadow var(--duration-quick) var(--ease-out-3)}.chat-composer:focus-within{box-shadow:var(--glow-accent)}.chat-composer .form-group{margin-bottom:0}.provider-row{display:flex;align-items:center;gap:var(--size-2)}.provider-row .form-select{flex:1;min-width:0}.provider-key-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--dim-fg);border-radius:var(--radius-3);flex-shrink:0}.provider-key-btn:hover{color:var(--view-fg)}.provider-key-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.provider-key-btn.attention{color:var(--warning)}.provider-key-hint{margin:0;font-size:var(--font-size-0);color:var(--warning)}.provider-key-hint[hidden]{display:none}.provider-balance{margin:0;font-size:var(--font-size-0);color:var(--dim-fg)}.provider-balance[hidden]{display:none}.composer-settings{border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-2);overflow:hidden}.composer-settings .composer-settings-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--size-1) var(--size-2);font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg);list-style:none}.composer-settings .composer-settings-summary::-webkit-details-marker{display:none}.composer-settings .composer-settings-summary::after{content:"▸";font-size:var(--font-size-1);transition:transform var(--duration-quick) var(--ease-out-3)}.composer-settings .composer-settings-summary:hover{background:var(--surface-overlay-hover)}.composer-settings[open] .composer-settings-summary::after{transform:rotate(90deg)}.composer-settings .composer-settings-body{display:flex;flex-direction:column;gap:var(--size-2);padding:var(--size-2)}.messagebar-row{display:flex;align-items:flex-end;gap:var(--size-2)}.messagebar-actions{display:flex;flex-direction:column;align-items:center;gap:var(--size-1);flex-shrink:0}.messagebar-input{flex:1;padding:var(--size-2) var(--size-3);font-size:var(--font-size-1);font-family:var(--font-family);line-height:var(--font-lineheight-3);color:var(--view-fg);background-color:var(--view-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-3);resize:none;min-height:24px;max-height:120px}.messagebar-input::-moz-placeholder{color:var(--dim-fg)}.messagebar-input::placeholder{color:var(--dim-fg)}.messagebar-input:focus{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.messagebar-submit{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--accent-bg);color:var(--accent-fg);border-radius:var(--radius-round);flex-shrink:0;transition:background-color var(--duration-quick) var(--ease-out-3)}.messagebar-submit:hover:not(:disabled){filter:brightness(1.1)}.messagebar-submit:disabled{opacity:.5;cursor:not-allowed}.messagebar-submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.messagebar-submit svg{width:20px;height:20px}.messagebar-submit.generating .messagebar-submit-icon{display:none}.messagebar-submit.generating .messagebar-spinner{display:block}.messagebar-spinner{display:none;width:20px;height:20px;border:2px solid var(--accent-fg);border-top-color:transparent;border-radius:50%}@media(prefers-reduced-motion: no-preference){.messagebar-spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}@media(prefers-reduced-motion: reduce){.messagebar-spinner{opacity:.6}}.messagebar-attach{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--dim-fg);border-radius:var(--radius-round);flex-shrink:0;transition:color var(--duration-quick) var(--ease-out-3)}.messagebar-attach:hover:not(:disabled){color:var(--view-fg)}.messagebar-attach:disabled{opacity:.5;cursor:not-allowed}.messagebar-attach:focus-visible{outline:none;box-shadow:var(--focus-ring)}.messagebar-attach[hidden]{display:none}.image-attach-chips{display:flex;flex-direction:column;gap:var(--size-1);margin-bottom:var(--size-2)}.image-attach-chips[hidden]{display:none}.image-attach-chips .image-attach-chip{margin-bottom:0}.image-attach-chip{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-1) var(--size-2);margin-bottom:var(--size-2);background-color:var(--view-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-3)}.image-attach-chip[hidden]{display:none}.image-attach-thumb{width:32px;height:32px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-2);flex-shrink:0}.image-attach-name{flex:1;font-size:var(--font-size-0);color:var(--dim-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-attach-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--font-size-1);line-height:1;color:var(--dim-fg);border-radius:var(--radius-round);flex-shrink:0}.image-attach-remove:hover{color:var(--view-fg)}.image-attach-remove:focus-visible{outline:none;box-shadow:var(--focus-ring)}.image-attach-view{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;padding:0 var(--size-6) 0 var(--size-2);font-size:var(--font-size-0);font-family:var(--font-family);color:var(--view-fg);background-color:var(--card-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--size-2) center;border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-pill, 999px);cursor:pointer;flex-shrink:0}.image-attach-view:focus-visible{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.messagebar-hint{display:flex;align-items:center;justify-content:center;gap:var(--size-1);font-size:var(--font-size-0);color:var(--dim-fg)}.messagebar-hint .messagebar-hint-icon{flex-shrink:0;opacity:.75}.messagebar-hint[hidden]{display:none}.chat-bubble-history{opacity:.65}.chat-bubble-history .chat-bubble-content{font-style:italic}.chat-bubble-version{cursor:pointer}.refine-indicator{display:flex;align-items:center;gap:var(--size-1);margin-bottom:var(--size-1);font-size:.85em;color:var(--dim-fg)}.refine-indicator-detach{border:0;background:none;cursor:pointer;color:inherit}.team-section{border-top:var(--border-size-1) solid var(--border-hairline);margin-top:var(--size-3);padding-top:var(--size-3)}.team-section[hidden]{display:none}.team-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--size-2)}.team-header h5{margin:0;font-size:var(--font-size-1);color:var(--accent-bg);font-weight:var(--font-weight-6)}.owner-badge{display:inline-block;flex-shrink:0;font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:2px var(--size-2);background-color:color-mix(in srgb, var(--accent-bg) 18%, var(--card-bg));color:var(--window-fg);border-radius:var(--radius-2);white-space:nowrap}.owner-badge[hidden]{display:none}.team-list{max-height:120px;overflow-y:auto;margin-bottom:var(--size-2)}.team-empty{font-size:var(--font-size-0);color:var(--dim-fg);margin:0;padding:var(--size-1) 0}.team-item{display:flex;align-items:center;gap:var(--size-2);min-width:0;padding:var(--size-1) var(--size-2);border-radius:var(--radius-2);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3)}.team-item:hover{background-color:var(--surface-overlay-hover)}.team-item.team-item-selected{background-color:color-mix(in srgb, var(--accent-bg) 12%, var(--card-bg));box-shadow:inset 2px 0 0 var(--accent-bg)}.team-role-badge{flex-shrink:0;font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:1px var(--size-1);border-radius:var(--radius-1);line-height:1.2}.team-role-badge.team-role-editor{background-color:color-mix(in srgb, var(--accent-bg) 20%, transparent);color:var(--accent-bg)}.team-role-badge.team-role-viewer{background-color:color-mix(in srgb, var(--dim-fg) 15%, transparent);color:var(--dim-fg)}.team-addr{flex:1 1 0;min-width:0;font-family:var(--font-mono);font-size:var(--font-size-0);color:var(--dim-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-actions{display:flex;align-items:center;gap:var(--size-1);flex-shrink:0}.team-row{display:flex;align-items:center;justify-content:space-between;padding:var(--size-1) 0;font-size:var(--font-size-1)}.team-address{font-family:var(--font-mono);color:var(--dim-fg);font-size:var(--font-size-0)}.team-add{display:flex;flex-wrap:wrap;gap:var(--size-1)}.team-add input,.team-add select{min-width:0;font-size:var(--font-size-0)}.team-add input{flex:3 1 200px}.team-add select{flex:1 1 90px}.team-add button{flex-shrink:0}.team-help{margin:var(--size-2) 0 0;font-size:var(--font-size-0);color:var(--dim-fg);line-height:var(--font-lineheight-2)}.byok-field{display:flex;gap:var(--size-1)}.byok-field input{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:var(--font-size-0)}.byok-toggle{flex-shrink:0;font-size:var(--font-size-0);padding:0 var(--size-2)}.asset-library-body{flex:1;overflow-y:auto;padding:var(--size-3)}.asset-library-body::-webkit-scrollbar{width:6px}.asset-library-body::-webkit-scrollbar-track{background:transparent}.asset-library-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.dialog-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);animation:dialog-backdrop-in var(--duration-moderate) var(--ease-out-3)}@keyframes dialog-backdrop-in{from{opacity:0}}.dialog{width:min(400px,100vw - var(--size-7)*2);max-height:calc(100vh - var(--size-10)*2);overflow-y:auto;background:var(--popover-glass-bg);backdrop-filter:blur(var(--glass-blur));color:var(--popover-fg);border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-3);box-shadow:var(--shadow-5);animation:dialog-in var(--duration-moderate) var(--ease-out-3);display:flex;flex-direction:column}@keyframes dialog-in{from{opacity:0;transform:scale(0.95) translateY(-8px)}}.dialog-header{padding:var(--size-5) var(--size-5) 0}.dialog-title{margin:0;font-size:var(--font-size-3);font-weight:var(--font-weight-7);line-height:var(--font-lineheight-2)}.dialog-body{padding:var(--size-4) var(--size-5);font-size:var(--font-size-1);line-height:var(--font-lineheight-3);color:var(--dim-fg)}.dialog-body .form-group{margin-bottom:0}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--size-2);padding:0 var(--size-5) var(--size-5)}.dialog-actions .btn{min-width:80px}.dialog-warning{color:var(--danger-text);font-weight:var(--font-weight-6)}@media(prefers-reduced-motion: reduce){.dialog-backdrop,.dialog{animation:none}}.menu-anchor{display:inline-flex}.menu-popover{position:fixed;z-index:200;min-width:11rem;margin:0;padding:var(--size-1);list-style:none;color:var(--popover-fg);background:var(--popover-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);box-shadow:var(--shadow-4)}.menu-popover[hidden]{display:none}.menu-item{display:flex;align-items:center;gap:var(--size-2);min-height:28px;padding:0 var(--size-2);border-radius:var(--radius-1);font-size:var(--font-size-1);cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-overlay-hover);outline:none}.menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-text)}.menu-item[aria-checked=true]::after{content:"✓";margin-left:auto;color:var(--accent-text)}.menu-item[aria-disabled=true]{color:var(--dim-fg);cursor:default}.menu-item kbd{margin-left:auto;font:var(--font-size-0) var(--font-mono);color:var(--dim-fg)}.menu-separator{height:1px;margin:var(--size-1) 0;background:var(--hairline)}.theme-swatch{width:16px;height:16px;border-radius:50%;border:var(--border-size-1) solid var(--border-color);background:linear-gradient(135deg, var(--swatch-a) 50%, var(--swatch-b) 50%)}.theme-swatch--graphite{--swatch-a: var(--theme-preview-graphite-bg);--swatch-b: var(--theme-preview-graphite-accent)}.theme-swatch--paper{--swatch-a: var(--theme-preview-paper-bg);--swatch-b: var(--theme-preview-paper-accent)}.theme-swatch--system{--swatch-a: var(--theme-preview-paper-bg);--swatch-b: var(--theme-preview-graphite-bg)}.wallet-popover{position:fixed;z-index:200;width:260px;background:var(--popover-glass-bg);backdrop-filter:blur(var(--glass-blur));color:var(--popover-fg);border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-3);box-shadow:var(--shadow-4);padding:var(--size-3);display:flex;flex-direction:column;gap:var(--size-2)}.wallet-popover.hidden{display:none}.wallet-popover-header{display:flex;align-items:center;justify-content:space-between;gap:var(--size-2)}.wallet-popover-address{font-family:var(--font-mono);font-size:var(--font-size-2);font-weight:var(--font-weight-6);color:var(--popover-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.wallet-popover-copy{flex-shrink:0;padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--accent-bg);background:transparent;border:var(--border-size-1) solid var(--accent-bg);border-radius:var(--radius-2);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.wallet-popover-copy:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text)}.wallet-popover-copy:focus-visible{outline:none;box-shadow:var(--focus-ring)}.wallet-popover-copy.copied{background-color:var(--success);border-color:var(--success);color:var(--window-bg)}.wallet-popover-explorer{display:inline-flex;align-items:center;gap:var(--size-1);font-size:var(--font-size-1);color:var(--accent-bg);text-decoration:none;padding:var(--size-1) 0}.wallet-popover-explorer:hover{text-decoration:underline}.wallet-popover-explorer:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-2)}.wallet-popover-explorer.hidden{display:none}.wallet-popover-section{display:grid;gap:var(--size-1);padding:var(--size-2) 0;border-top:var(--border-size-1) solid var(--border-hairline)}.wallet-popover-label{font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg)}.wallet-popover-note{margin:0;font-size:var(--font-size-0);color:var(--dim-fg)}.wallet-popover-actions{display:flex;flex-direction:column;gap:var(--size-2);padding-top:var(--size-2);border-top:var(--border-size-1) solid var(--border-hairline)}.wallet-popover-signin{width:100%}.wallet-popover-disconnect{width:100%}.wallet-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);animation:dialog-backdrop-in var(--duration-moderate) var(--ease-out-3)}.wallet-modal{width:min(360px,100vw - var(--size-7)*2);max-height:calc(100vh - var(--size-10)*2);overflow-y:auto;background:var(--popover-glass-bg);backdrop-filter:blur(var(--glass-blur));color:var(--popover-fg);border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-3);box-shadow:var(--shadow-5);animation:dialog-in var(--duration-moderate) var(--ease-out-3);display:flex;flex-direction:column}.wallet-modal-header{padding:var(--size-5) var(--size-5) 0;display:flex;align-items:center;justify-content:space-between}.wallet-modal-header h3{margin:0;font-size:var(--font-size-3);font-weight:var(--font-weight-7);line-height:var(--font-lineheight-2)}.wallet-modal-body{padding:var(--size-4) var(--size-5);display:flex;flex-direction:column;gap:var(--size-2)}.wallet-modal-subtitle{font-size:var(--font-size-1);color:var(--dim-fg);margin:0;line-height:var(--font-lineheight-3)}.wallet-email-step{display:flex;flex-direction:column;gap:var(--size-1)}.wallet-email-row{display:flex;gap:var(--size-2);align-items:stretch}.wallet-email-row .wallet-email-input{flex:1;min-width:0;padding:var(--size-2) var(--size-3);font-size:var(--font-size-1);line-height:var(--font-lineheight-3);color:var(--popover-fg);background:var(--window-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-2);transition:border-color var(--duration-quick) var(--ease-out-3),box-shadow var(--duration-quick) var(--ease-out-3)}.wallet-email-row .wallet-email-input::-moz-placeholder{color:var(--dim-fg);opacity:.8}.wallet-email-row .wallet-email-input::placeholder{color:var(--dim-fg);opacity:.8}.wallet-email-row .wallet-email-input:focus{outline:none;border-color:var(--accent-bg);box-shadow:var(--focus-ring)}.wallet-email-row .btn{white-space:nowrap;padding:var(--size-2) var(--size-3);font-weight:var(--font-weight-6);border-radius:var(--radius-2)}.wallet-email-error{font-size:var(--font-size-0);color:var(--destructive-bg);line-height:var(--font-lineheight-3);min-height:0}.wallet-otp-back{align-self:flex-start;padding:0;font-size:var(--font-size-0);color:var(--dim-fg);text-decoration:none}.wallet-otp-back:hover{color:var(--popover-fg);text-decoration:underline}.wallet-modal-section-label{font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg);margin:0}.wallet-option{display:flex;align-items:center;gap:var(--size-3);padding:var(--size-3);border-radius:var(--radius-2);border:var(--border-size-1) solid var(--border-hairline);background:var(--surface-overlay-hover);color:var(--popover-fg);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3),border-color var(--duration-quick) var(--ease-out-3),transform var(--duration-quick) var(--ease-out-3);text-align:left;width:100%;font-size:var(--font-size-1);font-weight:var(--font-weight-6)}.wallet-option:hover{background-color:var(--surface-overlay-active);border-color:var(--border-color)}.wallet-option:active{transform:translateY(1px)}.wallet-option:focus-visible{outline:none;box-shadow:var(--focus-ring)}.wallet-option img,.wallet-option svg{width:28px;height:28px;border-radius:var(--radius-2);flex-shrink:0;-o-object-fit:contain;object-fit:contain}.wallet-option .wallet-option-icon-placeholder{width:28px;height:28px;border-radius:var(--radius-2);background:var(--raised-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2);font-weight:var(--font-weight-7);flex-shrink:0}.wallet-modal-section-label{font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--dim-fg);margin:0 0 var(--size-1)}.wallet-modal-note{font-size:var(--font-size-0);color:var(--dim-fg);margin:0 0 var(--size-2)}.wallet-modal-divider{display:flex;align-items:center;gap:var(--size-3);margin:0;color:var(--dim-fg);font-size:var(--font-size-0);font-weight:var(--font-weight-6)}.wallet-modal-divider::before,.wallet-modal-divider::after{content:"";flex:1;height:1px;background:var(--border-hairline)}.wallet-option-google{justify-content:center;border:var(--border-size-1) solid var(--border-color);background:var(--raised-bg)}.wallet-option-google:hover{background-color:var(--surface-overlay-hover)}.wallet-option-google svg{width:18px;height:18px}.wallet-modal-empty{text-align:center;padding:var(--size-5);color:var(--dim-fg);font-size:var(--font-size-0)}@media(prefers-reduced-motion: reduce){.wallet-modal-backdrop,.wallet-modal{animation:none}}.notyf{position:fixed !important;top:calc(var(--headerbar-height) + var(--size-2)) !important;right:var(--size-3) !important;left:auto !important;bottom:auto !important;height:auto !important;transform:none !important;width:min(360px,100vw - var(--size-3)*2) !important;padding:0 !important;z-index:500 !important;display:flex;flex-direction:column;align-items:stretch;gap:var(--size-2);pointer-events:none}.notyf>*{pointer-events:auto}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}.notyf__toast{background-color:var(--popover-glass-bg) !important;backdrop-filter:blur(var(--glass-blur));color:var(--popover-fg) !important;border:var(--border-size-1) solid var(--border-hairline);border-radius:var(--radius-3) !important;box-shadow:var(--shadow-4);width:100% !important;max-width:100% !important;margin:0 !important;padding:var(--size-3) !important;position:relative;animation:notyf-fadeinup .3s var(--ease-out-3) forwards;border-left:3px solid var(--accent-bg)}.notyf__toast.notyf__toast--disappear{animation:notyf-fadeoutdown .3s var(--ease-out-3) forwards}.notyf__toast.toast--success{border-left-color:var(--success)}.notyf__toast.toast--error{border-left-color:var(--destructive-bg)}.notyf__toast.toast--warning{border-left-color:var(--warning)}.notyf__toast.toast--info,.notyf__toast.toast--pending{border-left-color:var(--accent-bg)}.notyf__wrapper{padding:0}.notyf__message{color:var(--popover-fg) !important}.notyf__message strong{display:block;font-size:var(--font-size-1);font-weight:var(--font-weight-6);line-height:1.3;color:var(--popover-fg)}.notyf__message span{display:block;font-size:var(--font-size-0);line-height:1.4;color:var(--dim-fg);margin-top:var(--size-1);word-break:break-word}.toast-actions{display:flex;flex-wrap:wrap;gap:var(--size-1);margin-top:var(--size-2)}.toast-action{padding:4px var(--size-2);font-size:var(--font-size-0);font-weight:var(--font-weight-6);color:var(--accent-bg);background:transparent;border:var(--border-size-1) solid var(--accent-bg);border-radius:var(--radius-2);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-3),color var(--duration-quick) var(--ease-out-3)}.toast-action:hover{background-color:var(--surface-overlay-hover);color:var(--accent-text)}.toast-action:focus-visible{outline:none;box-shadow:var(--focus-ring)}.notyf__dismiss{position:absolute;top:var(--size-2);right:var(--size-2);width:20px;height:20px;background:transparent !important}.notyf__dismiss-btn{position:relative;width:100%;height:100%;background:transparent !important;border:none;border-radius:var(--radius-2);cursor:pointer;opacity:.6;transition:opacity var(--duration-quick) var(--ease-out-3)}.notyf__dismiss-btn:hover{opacity:1}.notyf__dismiss-btn::before,.notyf__dismiss-btn::after{content:"";position:absolute;left:calc(50% - 1px);top:calc(50% - 6px);width:2px;height:12px;border-radius:2px;background:var(--dim-fg) !important}.notyf__dismiss-btn::before{transform:rotate(45deg)}.notyf__dismiss-btn::after{transform:rotate(-45deg)}.notyf__toast--dismissible .notyf__wrapper{padding-right:var(--size-4)}.notyf__icon{display:none}.notyf__ripple{display:none !important}@media(prefers-reduced-motion: reduce){.notyf__toast,.notyf__toast.notyf__toast--disappear{transition:none !important;animation-duration:.01ms !important}}@media(max-width: 480px){.notyf{left:var(--size-2) !important;right:var(--size-2) !important;width:auto !important}}.library-layout{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}#libraryMain{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}#libraryGate{flex:1 1 auto;display:grid;place-items:center}.library-drop-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--accent-bg);font-weight:600}.library-drop-content p{margin:0;padding:var(--size-1) var(--size-3);background-color:var(--view-bg);border-radius:var(--radius-round)}.library-toolbar{display:flex;align-items:center;gap:var(--size-2);padding:var(--size-2) var(--size-3);border-bottom:var(--border-size-1) solid var(--border-hairline);flex-shrink:0}.library-search{flex:0 1 240px}.library-sort{flex:0 0 auto;width:auto;min-width:120px}.library-up-btn{flex:0 0 auto}.library-toolbar-actions{display:flex;align-items:center;gap:var(--size-2);margin-left:auto}.library-visitor-badge{flex:0 0 auto;padding:var(--size-1) var(--size-3);border-radius:var(--radius-round);border:var(--border-size-1) solid var(--border-hairline);background-color:var(--view-bg);color:var(--window-fg);font-size:var(--font-size-1);opacity:.85}.library-toolbar-actions .btn{display:inline-flex;align-items:center;gap:var(--size-2)}.library-toolbar .btn{min-height:40px;min-width:40px;padding:var(--size-2) var(--size-3)}.library-toolbar .btn-icon{padding:var(--size-2)}#libraryUploadBtn.attention{animation:kUploadAttention .9s ease-out 2}@keyframes kUploadAttention{from{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-bg) 60%, transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb, var(--accent-bg) 0%, transparent)}}@media(prefers-reduced-motion: reduce){#libraryUploadBtn.attention{animation:none}}.library-content{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--size-3)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:var(--size-3);flex:1 1 auto;align-content:start}.library-grid>.empty-state{grid-column:1/-1;justify-self:center;align-self:center}.library-item{display:flex;flex-direction:column;align-items:center;gap:var(--size-2);padding:var(--size-3);border-radius:var(--radius-2);cursor:pointer}.library-item:hover{background-color:var(--surface-overlay-hover)}.library-item:focus-visible{outline:2px solid var(--accent-bg);outline-offset:2px;background-color:var(--surface-overlay-hover)}.library-item.selected{background-color:var(--surface-overlay-active);box-shadow:var(--focus-ring)}.library-item.drop-target{outline:2px dashed var(--accent-bg);outline-offset:2px}.library-item-thumbnail{position:relative;width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-2);background-color:var(--surface-overlay-hover);color:var(--dim-fg);overflow:hidden}.library-item-thumbnail[data-thumbnail-cid=""]{background-color:transparent}.library-item-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-2)}.library-item-thumbnail .library-item-icon{width:72%;height:72%}.library-row .library-item-icon{width:20px;height:20px;color:var(--dim-fg)}.library-item-name{max-width:100%;font-size:var(--font-size-0);font-weight:var(--font-weight-6);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-list-table{width:100%;border-collapse:collapse}.library-list-table th{text-align:left;font-size:var(--font-size-0);color:var(--dim-fg);padding:var(--size-2);border-bottom:var(--border-size-1) solid var(--border-hairline)}.library-row{cursor:pointer}.library-row:hover{background-color:var(--surface-overlay-hover)}.library-row:focus-visible{outline:2px solid var(--accent-bg);outline-offset:-2px;background-color:var(--surface-overlay-hover)}.library-row.selected{background-color:var(--surface-overlay-active)}.library-row.drop-target{outline:2px dashed var(--accent-bg);outline-offset:-2px}.library-row td{padding:var(--size-2);font-size:var(--font-size-1)}.library-row-name{display:flex;align-items:center;gap:var(--size-2)}.status-badge{font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:2px 8px;border-radius:var(--radius-round)}.status-uploading{background-color:color-mix(in srgb, var(--warning) 22%, var(--card-bg));color:var(--window-fg)}.status-wip{background-color:color-mix(in srgb, var(--dim-fg) 25%, var(--card-bg));color:var(--window-fg)}.status-besked{background-color:color-mix(in srgb, var(--accent-bg) 18%, var(--card-bg));color:var(--window-fg)}.status-pending{background-color:color-mix(in srgb, var(--warning) 22%, var(--card-bg));color:var(--window-fg)}.status-check,.status-flag{position:absolute;bottom:8%;right:8%;width:22px;height:22px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--view-bg),var(--shadow-2)}.status-check svg,.status-flag svg{width:13px;height:13px}.status-check{background-color:var(--accent-bg);color:var(--accent-fg)}.status-flag{background-color:color-mix(in srgb, var(--dim-fg) 35%, var(--card-bg));color:var(--window-fg)}.status-minting{position:absolute;bottom:8%;right:8%;width:22px;height:22px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--view-bg),var(--shadow-2);background-color:var(--card-bg);color:var(--accent-bg)}.status-minting-ring{width:12px;height:12px;border:2px solid color-mix(in srgb, var(--accent-bg) 25%, transparent);border-top-color:var(--accent-bg);border-radius:50%}@media(prefers-reduced-motion: no-preference){.status-minting-ring{animation:spin .8s linear infinite}}@media(prefers-reduced-motion: reduce){.status-minting-ring{opacity:.8}}.library-statusbar{display:flex;align-items:center;justify-content:space-between;padding:var(--size-2) var(--size-3);border-top:var(--border-size-1) solid var(--border-hairline);color:var(--dim-fg);font-size:var(--font-size-0);flex-shrink:0}.library-rubber-band{position:fixed;z-index:30;border:1px solid var(--accent-bg);background-color:color-mix(in srgb, var(--accent-bg) 15%, transparent);pointer-events:none}.library-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-3);padding:var(--size-5);color:var(--dim-fg)}.library-spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--accent-bg);border-radius:50%}@media(prefers-reduced-motion: no-preference){.library-spinner{animation:spin .8s linear infinite}}@media(prefers-reduced-motion: reduce){.library-spinner{opacity:.7}}.library-view-toggle{display:flex;gap:2px}.library-view-toggle button{width:36px;height:36px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-2);color:var(--dim-fg)}.library-view-toggle button.active{background-color:var(--surface-overlay-active);color:var(--headerbar-fg)}.library-body{display:flex;flex:1 1 auto;min-height:0}.library-body .library-content{min-width:0}.library-details{flex:0 0 280px;min-width:280px;display:flex;flex-direction:column;overflow-y:auto;background-color:var(--view-bg);border-right:var(--border-size-1) solid var(--hairline)}.library-details [hidden]{display:none !important}.library-details-preview{position:relative;margin:var(--size-3);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden;background-color:var(--viewport-bg);border:var(--border-size-1) solid var(--hairline);border-radius:var(--radius-2);color:var(--dim-fg)}.library-details-preview canvas,.library-details-preview img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.library-details-orbit-hint{position:absolute;bottom:var(--size-1);right:var(--size-2);font-size:var(--font-size-0);color:var(--dim-fg);opacity:.8;pointer-events:none}.library-details-title{padding:0 var(--size-3) var(--size-1);font-size:var(--font-size-2);font-weight:var(--font-weight-6);overflow-wrap:anywhere}.library-details-badge{display:inline-block;width:-moz-fit-content;width:fit-content;margin:0 var(--size-3) var(--size-2);padding:var(--size-1) var(--size-2);font-size:var(--font-size-0);font-weight:var(--font-weight-6);background-color:var(--card-bg);color:var(--dim-fg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-round)}.library-details-actions{display:flex;gap:var(--size-2);padding:0 var(--size-3) var(--size-2)}.library-details-pill{font-family:var(--font-mono);font-feature-settings:var(--font-numeric);font-size:var(--font-size-0);font-weight:var(--font-weight-6);padding:1px var(--size-1);background-color:var(--card-bg);border:var(--border-size-1) solid var(--border-color);border-radius:var(--radius-1)}.library-details-mono{font-family:var(--font-mono);font-feature-settings:var(--font-numeric);font-size:var(--font-size-0)}.library-details-disclose{display:flex;align-items:center;gap:var(--size-1);margin:var(--size-1) var(--size-3);padding:var(--size-1) 0;border:none;background:none;cursor:pointer;font-size:var(--font-size-0);color:var(--dim-fg)}.library-details-disclose:hover{color:var(--accent-bg)}.library-details-disclose svg{transition:transform .15s ease}.library-details-disclose[aria-expanded=true] svg{transform:rotate(90deg)}@media(prefers-reduced-motion: reduce){.library-details-disclose svg{transition:none}}.library-details-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;height:100%;background-color:var(--card-bg)}.library-details-mosaic>div{display:grid;place-items:center;overflow:hidden;background-color:var(--surface-overlay-hover)}.library-details-mosaic img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.library-details-mosaic-more{font-size:var(--font-size-1);font-weight:var(--font-weight-6);color:var(--dim-fg)}.library-details-mosaic-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-1);width:100%;height:100%;text-align:center;padding:0 var(--size-3);font-size:var(--font-size-0);color:var(--dim-fg);background-color:var(--card-bg)}.library-details-mosaic-empty strong{color:var(--view-fg);font-weight:var(--font-weight-6)}.library-details-rows{padding:0 var(--size-3)}.library-details-row{display:flex;justify-content:space-between;gap:var(--size-3);padding:var(--size-2) 0;border-top:var(--border-size-1) solid var(--hairline);font-size:var(--font-size-1)}.library-details-row .k{color:var(--dim-fg);flex-shrink:0}.library-details-row .v{text-align:right;overflow-wrap:anywhere}.library-details-row .v button{background:none;border:none;color:var(--dim-fg);cursor:pointer;font:inherit;padding:0 0 0 var(--size-1);vertical-align:middle}.library-details-row .v button:hover{color:var(--accent-fg)}.library-details-empty{display:none;flex:1;color:var(--dim-fg);font-size:var(--font-size-1)}.library-details-hint{display:flex;align-items:flex-start;gap:var(--size-2);margin:var(--size-2) var(--size-3) 0;padding-top:var(--size-2);border-top:var(--border-size-1) solid var(--hairline);font-size:var(--font-size-0)}.library-details-hint svg{flex-shrink:0;margin-top:1px}.library-details-prompt{margin:var(--size-2) var(--size-3) 0;padding-top:var(--size-2);border-top:var(--border-size-1) solid var(--hairline);font-size:var(--font-size-0)}.library-details[data-state=empty] .library-details-empty,.library-details[data-state=multi] .library-details-empty{display:block}.library-details[data-state=empty] .library-details-preview,.library-details[data-state=empty] .library-details-body,.library-details[data-state=multi] .library-details-preview,.library-details[data-state=multi] .library-details-body{display:none}.context-menu{position:fixed;z-index:80;min-width:200px;padding:var(--size-1);border-radius:var(--radius-3);background-color:var(--popover-bg);backdrop-filter:blur(12px);box-shadow:var(--shadow-3);border:var(--border-size-1) solid var(--hairline)}.context-menu-item{display:flex;align-items:center;gap:var(--size-2);width:100%;padding:var(--size-2) var(--size-3);border-radius:var(--radius-2);font-size:var(--font-size-1);color:var(--headerbar-fg);background:none;border:none;text-align:left;cursor:pointer}.context-menu-item:hover,.context-menu-item:focus-visible{background-color:var(--surface-overlay-hover);outline:none}.context-menu-item.context-menu-item-primary{color:var(--accent-bg)}.context-menu-item.context-menu-item-danger{color:var(--danger-text)}.context-menu-separator{height:var(--border-size-1);margin:var(--size-1) 0;background-color:var(--border-hairline)}html:has(.landing-page),.landing-page,.landing-page body{overflow:auto;height:auto}.landing-page #app{height:auto;min-height:100vh;overflow:visible}.landing-page{background:var(--window-bg);color:var(--window-fg);font-family:var(--font-family);line-height:1.5}.landing-page :focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:6px}.landing-page .landing-link{color:var(--dim-fg);font-size:14px;text-decoration:none}.landing-page .landing-link:hover{color:var(--window-fg);text-decoration:underline;text-underline-offset:3px}.landing-page .landing-cta{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border:0;border-radius:10px;background:var(--accent-bg);color:var(--accent-fg);font:600 15px/1 var(--font-family);text-decoration:none;white-space:nowrap;cursor:pointer;transition:filter .15s}.landing-page .landing-cta:hover{filter:brightness(1.08)}.landing-page .landing-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 32px;background:color-mix(in srgb, var(--window-bg) 82%, transparent);backdrop-filter:blur(12px)}.landing-page .landing-brand{display:inline-flex;align-items:center;gap:10px;color:var(--window-fg);font-size:17px;font-weight:650;letter-spacing:-0.01em;text-decoration:none}.landing-page .landing-brand img{width:36px;height:auto}.landing-page .landing-hero{display:grid;grid-template-columns:minmax(0, 1fr);align-content:center;justify-items:center;gap:28px;min-height:calc(78svh - 64px);padding:40px 16px 48px;text-align:center}.landing-page .landing-hero h1{margin:0;font-size:clamp(40px,7.2vw,96px);font-weight:700;line-height:.98;letter-spacing:-0.045em;text-wrap:balance}.landing-page .landing-hero-dim{color:var(--dim-fg)}.landing-page .landing-hero-sub{max-width:34ch;margin:0;color:var(--dim-fg);font-size:18px}.landing-page .landing-composer{display:grid;gap:14px;width:min(640px,100%)}.landing-page .prompt{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 8px;border:1px solid var(--hairline);border-radius:14px;background:var(--view-bg);transition:border-color .15s}.landing-page .prompt:focus-within{border-color:var(--border-color)}.landing-page .prompt-input{flex:1;min-width:0;height:40px;padding:0 8px;border:0;outline:none;background:none;color:var(--window-fg);font:400 16px var(--font-family)}.landing-page .prompt-input::-moz-placeholder{color:var(--dim-fg)}.landing-page .prompt-input::placeholder{color:var(--dim-fg)}.landing-page .prompt-mode{display:inline-flex;flex:none;gap:2px;margin:0;padding:3px;border:0;border-radius:9px;background:var(--raised-bg)}.landing-page .prompt-mode[hidden]{display:none}.landing-page .prompt-mode label{position:relative}.landing-page .prompt-mode input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.landing-page .prompt-mode span{display:block;padding:8px 10px;border-radius:7px;color:var(--dim-fg);font:600 12px/1 var(--font-family);letter-spacing:.02em}.landing-page .prompt-mode input:checked+span{background:var(--view-bg);color:var(--window-fg);box-shadow:0 1px 2px color-mix(in srgb, var(--window-fg) 20%, transparent)}.landing-page .prompt-mode input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:1px}.landing-page .prompt-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.landing-page .landing-upload{display:flex;align-items:center;gap:16px;width:min(640px,100%);margin-top:8px;padding:14px 18px 14px 14px;border:1px solid var(--hairline);border-radius:14px;color:var(--window-fg);text-align:left;text-decoration:none;transition:border-color .15s,background-color .15s}.landing-page .landing-upload:hover{border-color:var(--border-color);background:var(--view-bg)}.landing-page .landing-upload-icon{display:grid;flex:none;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--raised-bg)}.landing-page .landing-upload-text{display:grid;flex:1;gap:2px;min-width:0}.landing-page .landing-upload-text strong{font-size:15px;font-weight:600}.landing-page .landing-upload-text span{color:var(--dim-fg);font-size:13px}.landing-page .landing-upload-history{display:flex;flex:none;align-items:center;color:var(--dim-fg);font-size:11px}.landing-page .landing-upload-history span{display:flex;align-items:center}.landing-page .landing-upload-history span::before{content:"";width:8px;height:8px;margin-right:4px;border:1.5px solid var(--border-color);border-radius:50%}.landing-page .landing-upload-history i{width:12px;height:1px;margin:0 6px;background:var(--border-color)}.landing-page .landing-upload-history span:last-child{color:var(--window-fg)}.landing-page .landing-upload-history span:last-child::before{border-color:var(--window-fg);background:var(--window-fg)}.landing-page .prompt-note{margin:0;color:var(--dim-fg);font-size:13px;text-align:center}.landing-page .prompt-chip{padding:6px 12px;border:1px solid var(--hairline);border-radius:999px;background:none;color:var(--dim-fg);font:400 13px var(--font-family);cursor:pointer}.landing-page .prompt-chip:hover{border-color:var(--border-color);color:var(--window-fg)}.landing-page .landing-track{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);align-items:center;gap:clamp(48px,9vw,128px);max-width:1080px;margin:0 auto;padding:160px 16px}.landing-page .landing-track[hidden]{display:none}.landing-hero+.landing-page .landing-track{padding-top:48px}.landing-page .landing-track+.landing-page .landing-track{padding-top:40px}.landing-page .landing-track-art{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.landing-page .landing-track-copy{display:grid;justify-items:start;gap:20px}.landing-page .landing-track-copy h2{margin:0;font-size:clamp(32px,4.4vw,52px);font-weight:650;line-height:1.02;letter-spacing:-0.035em;text-wrap:balance}.landing-page .landing-track-copy>p{max-width:34ch;margin:0;color:var(--dim-fg);font-size:17px}.landing-page .landing-track-kicker{color:var(--dim-fg);font-family:var(--font-mono);font-size:12px}.landing-page .landing-track-facts{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none;font-size:15px}.landing-page .landing-track-facts li{display:flex;align-items:center;gap:12px}.landing-page .landing-track-facts li::before{content:"";flex:none;width:16px;height:1px;background:var(--border-color)}.landing-page .landing-track-note{margin:0;color:var(--dim-fg);font-size:14px}.landing-page .landing-track-note .landing-link{font-size:inherit;text-decoration:underline;text-underline-offset:3px}.landing-page .landing-track-try{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:16px;padding-top:20px;border-top:1px solid var(--hairline);width:100%}.landing-page .landing-track-try span{color:var(--dim-fg);font-family:var(--font-mono);font-size:12px}.landing-page .landing-track-try .landing-link{color:var(--window-fg)}.landing-page .landing-blueprint{position:relative;margin:0;aspect-ratio:672/642;padding:0;border-radius:20px;background-image:radial-gradient(var(--hairline) 1px, transparent 1.5px);background-size:24px 24px}.landing-page .landing-blueprint figcaption{position:absolute;right:0;bottom:-40px;color:var(--dim-fg);font-size:12px}.landing-page .landing-blueprint-part,.landing-page .landing-blueprint-dims{position:absolute;inset:0;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.landing-page .landing-blueprint-part{background:var(--window-fg);-webkit-mask-image:url("/landing/cad-bracket.svg");mask-image:url("/landing/cad-bracket.svg")}.landing-page .landing-blueprint-dims{background:var(--border-color);-webkit-mask-image:url("/landing/cad-bracket-dims.svg");mask-image:url("/landing/cad-bracket-dims.svg")}.landing-page .landing-dim{position:absolute;padding:0 6px;background:var(--window-bg);color:var(--dim-fg);font-size:12px;line-height:1.4;transform:translate(-50%, -50%)}.landing-page .landing-dim-length{left:28%;top:81.5%}.landing-page .landing-dim-width{left:81.3%;top:87.1%}.landing-page .landing-dim-height{left:4.8%;top:36.7%}.landing-page .landing-gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,4vw,48px)}.landing-page .landing-gallery img{width:100%;height:auto;aspect-ratio:1;-o-object-fit:contain;object-fit:contain;scale:1.25;border-radius:20px;background:radial-gradient(65% 65% at 50% 55%, color-mix(in srgb, var(--viewport-bg) 40%, var(--window-bg)) 0%, var(--window-bg) 80%)}.landing-page .landing-gallery img:nth-child(2){margin-top:40%}.landing-page .landing-demo{display:grid;gap:40px;max-width:1080px;margin:0 auto;padding:120px 16px 0}.landing-page .landing-demo-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px}.landing-page .landing-demo-head h2{margin:0;font-size:clamp(28px,4vw,44px);font-weight:650;line-height:1.05;letter-spacing:-0.03em}.landing-page .landing-demo-head p{max-width:36ch;margin:0;color:var(--dim-fg)}.landing-page .landing-demo-figure{display:grid;gap:32px;margin:0}.landing-page .landing-demo-stage{position:relative;aspect-ratio:16/8;overflow:hidden;border-radius:20px;background:radial-gradient(60% 70% at 50% 60%, color-mix(in srgb, var(--viewport-bg) 45%, var(--window-bg)) 0%, var(--window-bg) 75%)}.landing-page .landing-demo-stage canvas{position:absolute;inset:0;width:100%;height:100%;outline:none;opacity:0;touch-action:none;transition:opacity .4s}.landing-page .landing-demo-fallback{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:6%}.landing-page .viewer-ready canvas{opacity:1}.landing-page .viewer-ready .landing-demo-fallback{display:none}.landing-page .landing-demo-figure:not(.viewer-ready) .landing-demo-rail{visibility:hidden}.landing-page .landing-demo-rail{width:min(640px,100%);margin:0 auto}.landing-page .version-rail{display:flex;align-items:center;font:500 12px var(--font-family)}.landing-page .version-rail button{position:relative;flex:1;padding:18px 4px 0;border:0;background:none;color:var(--dim-fg);font:inherit;text-align:left;cursor:pointer}.landing-page .version-rail button::before{content:"";position:absolute;top:6px;right:0;left:0;height:2px;background:var(--hairline)}.landing-page .version-rail button::after{content:"";position:absolute;top:2px;left:0;width:10px;height:10px;border:2px solid var(--border-color);border-radius:50%;background:var(--window-bg)}.landing-page .version-rail button:last-child{flex:0 0 auto}.landing-page .version-rail button:last-child::before{display:none}.landing-page .version-rail button.is-past::before{background:var(--accent-bg)}.landing-page .version-rail button.is-past::after,.landing-page .version-rail button.is-current::after{border-color:var(--accent-bg);background:var(--accent-bg)}.landing-page .version-rail button.is-current{color:var(--window-fg)}.landing-page .rail-tag{display:block;color:var(--dim-fg);font-family:var(--font-mono);font-size:11px}.landing-page .is-current .rail-tag{color:var(--accent-text)}.landing-page .version-caption{min-height:1.5em;margin:12px 0 0;color:var(--dim-fg);font-size:14px;text-align:center}.landing-page .landing-pillars{display:grid;grid-template-columns:repeat(3, 1fr);gap:48px;max-width:1080px;margin:0 auto;padding:160px 16px}.landing-page .landing-pillars h3{margin:0 0 8px;font-size:17px;font-weight:600;letter-spacing:-0.01em}.landing-page .landing-pillars p{margin:0;color:var(--dim-fg);font-size:15px}.landing-page .landing-pillar-n{display:block;margin-bottom:16px;color:var(--accent-text);font-family:var(--font-mono);font-size:12px}.landing-page .landing-footer{display:grid;gap:64px;width:100%;max-width:1080px;margin:0 auto;padding:96px 16px 48px;border-top:1px solid var(--hairline)}.landing-page .landing-final{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.landing-page .landing-final h2{margin:0;font-size:clamp(28px,4vw,40px);font-weight:650;letter-spacing:-0.03em}.landing-page .landing-final p{margin:6px 0 0;color:var(--dim-fg)}.landing-page .landing-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--dim-fg);font-size:13px}.landing-page .landing-base nav{display:flex;gap:20px}@media(max-width: 720px){.landing-page .landing-header{padding:0 16px}.landing-page .landing-demo{padding-top:96px}.landing-page .landing-demo-stage{aspect-ratio:1/1}.landing-page .landing-track,.landing-page .landing-track-art{grid-template-columns:1fr;gap:56px;padding:96px 16px}.landing-page .landing-track-art .landing-gallery{order:1}.landing-page .landing-pillars{grid-template-columns:1fr;gap:32px;padding:96px 16px}}@media(max-width: 560px){.landing-page .prompt{flex-wrap:wrap;padding:8px}.landing-page .prompt-input{flex:1 0 100%;order:-1;height:44px}.landing-page .prompt .landing-cta{flex:1}.landing-page .landing-upload{flex-wrap:wrap}.landing-page .landing-upload-history{flex-basis:100%;padding-left:60px}}@media(prefers-reduced-motion: reduce){.landing-page *,.landing-page *::before,.landing-page *::after{transition:none !important}}.hidden{display:none !important}.text-mono{font-family:var(--font-mono)}.text-accent{color:var(--accent-bg)}.text-dim{color:var(--dim-fg)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width: 1100px){.headerbar-actions .btn-text{display:none}.headerbar-actions .btn:not(.btn-icon){padding-left:var(--size-2);padding-right:var(--size-2)}}@media(max-width: 700px){.headerbar{gap:var(--size-1)}.headerbar-title,.headerbar-divider{display:none}.headerbar-doc-actions .btn span{display:none}.headerbar-doc-actions .btn{padding-left:var(--size-2);padding-right:var(--size-2)}}@media(max-width: 900px){:root{--sidebar-width: 340px;--inspector-width: 292px}.sidebar{position:absolute;top:var(--headerbar-height);left:0;bottom:var(--bottombar-height);z-index:50;box-shadow:var(--shadow-5)}.sidebar.collapsed{transform:translateX(-100%)}.sidebar-reveal{top:auto;bottom:var(--size-3);border-radius:0 var(--radius-3) var(--radius-3) 0}.inspector{position:absolute;top:var(--headerbar-height);right:0;bottom:var(--bottombar-height);z-index:50;box-shadow:var(--shadow-5)}.inspector.collapsed{transform:translateX(100%)}}@media(max-width: 480px){:root{--sidebar-width: 100vw}.headerbar-actions{gap:var(--size-1)}.page-switcher-tab{padding:4px var(--size-2)}.sidebar{width:80vw;max-width:320px}.sidebar.collapsed{width:0;transform:translateX(-100%)}.inspector{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-height:50vh;border-radius:var(--radius-3) var(--radius-3) 0 0;border:none;border-top:var(--border-size-1) solid var(--border-color);box-shadow:var(--shadow-5);z-index:100}.inspector.collapsed{transform:translateY(100%)}.bottombar{font-size:11px;padding:0 var(--size-2)}}