.app-tabs{flex:0 auto;align-items:center;gap:4px;min-width:0;display:inline-flex}.app-tabs-row{scrollbar-width:none;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.app-tabs-row::-webkit-scrollbar{display:none}.app-tab{height:30px;color:var(--muted,#6b7280);font:inherit;white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.app-tab:hover{color:var(--text,#111827);background:var(--hover,#7f7f7f1a)}.app-tab.on{color:var(--text,#111827);background:var(--input,#f1f3f6)}.app-tab-ico{place-items:center;display:grid}.app-tab-ico svg{width:15px;height:15px}.app-tab.on .app-tab-ico{color:var(--blue,#2563eb)}.app-switch{border:1px solid var(--border,#0f172a24);height:30px;color:var(--text,#111827);font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:500;display:inline-flex}.app-switch:hover,.app-switch.open{background:var(--hover,#7f7f7f1a)}.app-switch-ico{color:var(--muted,#6b7280);place-items:center;display:grid}.app-switch-ico svg{width:14px;height:14px}.app-switch-caret{color:var(--muted,#6b7280);place-items:center;transition:transform .15s;display:grid;transform:rotate(90deg)}.app-switch.open .app-switch-caret{transform:rotate(-90deg)}.app-menu{width:380px;max-width:calc(100vw - 24px);max-height:min(80vh,640px);overflow-y:auto}.app-menu .menu-head{text-transform:none;letter-spacing:0}.app-menu-row{border-radius:5px;align-items:center;gap:4px;display:flex}.app-menu-row:hover{background:var(--hover,#7f7f7f1a)}.app-menu-row.on{background:color-mix(in srgb, var(--blue,#2563eb) 8%, transparent)}.app-menu-open{min-width:0;color:var(--text,#111827);flex:1;align-items:center;gap:10px;padding:7px 8px;text-decoration:none;display:flex}.app-menu-ico{border:1px solid var(--border,#0f172a1f);width:30px;height:30px;color:var(--text,#111827);border-radius:6px;flex:none;place-items:center;display:grid}.app-menu-ico svg{width:16px;height:16px}.app-menu-text{min-width:0;display:grid}.app-menu-text b{font-size:13px;font-weight:500}.app-menu-text span{color:var(--muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.app-menu-install{border:1px solid var(--border,#0f172a24);color:var(--text,#111827);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex:none;align-items:center;gap:4px;margin-right:6px;padding:4px 9px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.app-menu-install svg{width:12px;height:12px}.app-menu-install:hover{border-color:var(--blue,#2563eb);color:var(--blue,#2563eb)}.app-menu-install.added{color:var(--muted,#6b7280);border-color:#0000}.app-menu-install .when-idle{align-items:center;gap:4px;display:inline-flex}.app-menu-install .when-hover{display:none}.app-menu-install.added:hover,.app-menu-install.added:focus-visible{border-color:var(--border,#0f172a24);color:var(--text,#111827)}.app-menu-install.added:hover .when-idle,.app-menu-install.added:focus-visible .when-idle{display:none}.app-menu-install.added:hover .when-hover,.app-menu-install.added:focus-visible .when-hover{display:inline}.app-menu button.menu-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}@media (width<=1100px){.app-tab:not(.on) .app-tab-label{display:none}.app-tab:not(.on){padding:0 8px}}@media (width<=760px){.app-tab-label,.app-switch-label{display:none}}.app-tabs.inline{position:relative}.app-menu-drop{z-index:1000;background:var(--panel,#fff);color:var(--text,#111827);border:1px solid var(--border,#0f172a24);font:13px/1.4 var(--font-ui,Roboto, system-ui, sans-serif);text-align:left;border-radius:8px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0f172a1f}.app-menu-drop .menu-head{color:var(--muted,#6b7280);padding:6px 9px 4px;font-size:12px;font-weight:500}.app-menu-drop .ctx-sep{background:var(--border,#0f172a1f);height:1px;margin:6px 4px}.app-menu-drop .menu-row{color:inherit;border-radius:5px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.app-menu-drop .menu-row:hover{background:#7f7f7f1a}.app-menu-drop .ctx-icon{place-items:center;width:16px;display:grid}.app-menu-drop svg{width:16px;height:16px}.app-menu a.menu-row,.app-menu-open{text-decoration:none}@font-face{font-family:Roboto;src:url(/fonts/Roboto-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;src:url(/fonts/Roboto-latin-ext.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Roboto;src:url(/fonts/Roboto-greek.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Paper Mono;src:url(/fonts/PaperMono.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--font-ui:"Roboto", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace}html{-webkit-text-size-adjust:100%}html,body{overscroll-behavior:none}body{-webkit-tap-highlight-color:transparent}#root{height:100dvh}button,a,select,label,[role=button],[role=tab]{touch-action:manipulation}@media (pointer:coarse){html .menu-row,html .ctx-item,html .flyout-item{min-height:42px}html .icon-btn{min-width:36px;min-height:36px}html .tool[data-tip]:hover:after{display:none}html .tool-caret{width:16px;height:16px}html .slider input[type=range],html input[type=range]{min-height:28px}html .tool-caret:before{content:"";position:absolute;inset:-10px -8px}html .btn{min-height:38px}html .btn.small{min-height:34px}html .zoom-value{min-height:38px}html .zoom-dock button{min-width:38px;min-height:38px}html button.link{position:relative}html button.link:before{content:"";position:absolute;inset:-12px -8px}html .logo{min-height:40px}html .segmented button{min-height:34px}html .text-input,html .select{min-height:40px}html .swatch-btn,html .color-btn{min-height:34px}html .section-title{min-height:36px}html .num-field,html .slider .slider-num{height:36px}html .toggle{border-radius:7px;width:44px;height:26px}html .toggle .knob{width:22px;height:22px}html .toggle.on .knob{transform:translate(18px)}html .pr-seg button,html .lp-sec-title,html .lp-pgroup-title{min-height:34px}html .lp-sec-add{min-width:34px;min-height:34px}html .pst-zoom-v,html .pst-hex{min-height:36px}html .cloud-status{min-width:34px;min-height:34px}html .pr-bg{width:32px;height:32px}html summary{min-height:34px;padding-block:6px}}@media (hover:none) and (pointer:coarse){html .ctx-item>kbd,html .menu-row>kbd,html .flyout-item>kbd{display:none}}.m-dock{z-index:900;height:calc(60px + env(safe-area-inset-bottom));padding:0 max(6px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px, env(safe-area-inset-left));background:color-mix(in srgb, var(--panel) 90%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(18px);border-top:1px solid var(--border);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.m-dock button{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;margin:6px 2px;padding:0 2px;font-size:10.5px;font-weight:600;display:flex}.m-dock button>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.m-dock button:disabled{opacity:.4}.m-dock-ico{place-items:center;display:grid;position:relative}.m-dock-ico svg{width:21px;height:21px}.m-dot{background:var(--blue);width:7px;height:7px;box-shadow:0 0 0 2px var(--panel);border-radius:50%;position:absolute;top:-2px;right:-5px}.m-dock button.on{color:var(--blue);background:var(--blue-soft)}.m-dock button:active{transform:scale(.96)}.m-sheet{left:0;right:0;bottom:var(--dock-h,0px);z-index:890;background:var(--panel);max-height:54dvh;color:var(--text);padding-bottom:calc(env(safe-area-inset-bottom) * var(--sheet-safe,0));border-radius:18px 18px 0 0;flex-direction:column;animation:.24s cubic-bezier(.2,.9,.3,1) m-sheet-in;display:flex;position:fixed;box-shadow:0 -12px 40px #0000003d}.m-sheet.tall{max-height:82dvh}@keyframes m-sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.m-sheet-top{touch-action:none;cursor:grab;flex:none}.m-sheet-grip{background:var(--panel-3);border-radius:3px;width:40px;height:5px;margin:8px auto 2px}.m-sheet-head{justify-content:space-between;align-items:center;gap:8px;padding:2px 8px 6px 18px;display:flex}.m-sheet-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15.5px;overflow:hidden}.m-sheet-actions{flex:none;align-items:center;gap:4px;display:flex}.m-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 0 12px;overflow:auto}.m-sheet-body>.panel.right{border:0;width:auto;height:100%;min-height:50vh}.m-sheet-body .design-scroll{overflow:visible}.pop-backdrop{z-index:999;background:#00000047;animation:.18s ease-out fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.popover.as-sheet{width:auto;max-width:none;max-height:78dvh;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;background:var(--menu);color:var(--menu-text);animation:.22s cubic-bezier(.2,.9,.3,1) m-sheet-in;bottom:0;right:0;overflow:auto;box-shadow:0 -12px 40px #00000047;border-radius:18px 18px 0 0!important;top:auto!important;left:0!important}.popover.as-sheet:before{content:"";background:var(--panel-3);border-radius:3px;width:40px;height:5px;margin:8px auto 4px;display:block}.popover.as-sheet>*{width:auto!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border-radius:0!important}.popover.as-sheet .menu-surface.pad{padding:4px 10px 10px}.popover.as-sheet .gen-palette{max-height:70dvh!important}@media (width<=760px),(height<=500px) and (pointer:coarse){html .app.has-dock{--dock-h:calc(60px + env(safe-area-inset-bottom))}html .app.has-dock>.main{padding-bottom:var(--dock-h)}html .topbar{height:calc(50px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(6px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left));gap:4px}html .topbar .tb-center,html .topbar>.mode-tabs,html .topbar .tb-right .mode-tabs,html .topbar .theme-toggle,html .topbar .dash-link,html .topbar .ai-toggle,html .topbar .tb-divider,html .topbar .logo-text,html .topbar .title-input,html .topbar .cloud-status,html .topbar .install-btn,html .topbar .chip,html .topbar .help-btn,html .topbar .present-split .caret{display:none!important}html .topbar .save-status span{display:none}html .topbar .file-btn{gap:0;min-width:40px;height:38px;padding:0 9px;font-size:0}html .topbar .file-btn svg{font-size:13px}html .topbar .btn.primary{height:36px;padding:0 12px}html .topbar .download-btn span,html .topbar .present-split .btn.primary span{display:inline}html .topbar .tb-right{gap:2px}html .topbar .icon-btn{width:38px;height:38px}html .tool-island{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:14px;flex-direction:row;gap:2px;padding:4px;inset:auto 8px 8px;overflow:auto hidden}html .tool-island::-webkit-scrollbar{display:none}html .tool-island>*{flex:none}html .tool-island .island-sep{width:1px;height:26px;margin:0 3px}html .tool{border-radius:10px;width:50px;height:46px}html .tool-caret{top:2px;right:2px}html .flyout{top:auto;left:8px;right:8px;bottom:calc(var(--dock-h,0px) + 70px);z-index:950;border-radius:16px;min-width:0;max-height:52dvh;padding:8px;position:fixed;overflow:auto}html .canvas-wrap .zoom-dock{bottom:70px;right:8px}html .canvas-wrap .view-btn{display:none}html .canvas-wrap .toasts{max-width:calc(100% - 24px);bottom:72px}html .canvas-wrap.rulers .tool-island{left:8px}html .top-island{border-radius:12px;max-width:none;animation:none;top:8px;left:8px;right:8px;transform:none}html .il-panel,html .canvas-wrap.rulers .il-panel{top:auto;left:0;right:0;bottom:var(--dock-h,0px);z-index:880;border-radius:18px 18px 0 0;width:auto;height:72dvh;max-height:none;position:fixed}html .ai-panel,html .ai-panel-loading{top:0;left:0;right:0;bottom:var(--dock-h,0px);z-index:870;padding-top:env(safe-area-inset-top);border:0;width:auto!important;max-width:none!important;position:fixed!important}html .ctx-menu{right:8px;bottom:calc(var(--dock-h,0px) + 8px);z-index:960;border-radius:16px;min-width:0;max-height:64dvh;overflow:auto;position:fixed!important;top:auto!important;left:8px!important}html .modal{border-radius:18px 18px 0 0;align-self:end;width:100vw;max-width:none;max-height:92dvh}html .modal-back{place-items:end center}html .modal-body.help{grid-template-columns:1fr}html .empty{padding:0 0 64px}html .empty-card{margin:0 16px}html .hud{display:none}html .panel.right{border-left:0;width:auto;max-width:none}}@media (height<=500px) and (pointer:coarse){.m-dock{height:calc(48px + env(safe-area-inset-bottom))}html .app.has-dock{--dock-h:calc(48px + env(safe-area-inset-bottom))}.m-dock button>span:last-child{display:none}}.m-tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:4px 14px 10px;display:grid}.m-tile{border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 12px;font-size:12px;font-weight:600;display:flex}.m-tile-ico{color:var(--muted);place-items:center;display:grid}.m-tile-ico svg{width:24px;height:24px}.m-tile.on{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.m-tile.on .m-tile-ico{color:var(--blue)}.m-tile:active{transform:scale(.97)}.m-section{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:6px 18px 4px;font-size:11px;font-weight:700}@media (width<=760px),(height<=500px) and (pointer:coarse){html .app-shell.has-dock{--dock-h:calc(60px + env(safe-area-inset-bottom))}html .app-shell.has-dock>.main{padding-bottom:var(--dock-h)}html [data-msheet]{z-index:880;background:var(--panel);transform:translateY(calc(100% + var(--dock-h,0px) + 20px));visibility:hidden;flex-direction:column;transition:transform .32s cubic-bezier(.2,.9,.3,1),visibility 0s linear .32s;overflow:hidden;box-shadow:0 -14px 40px #00000038;top:auto!important;left:0!important;right:0!important;bottom:var(--dock-h,0px)!important;border:0!important;border-radius:18px 18px 0 0!important;width:auto!important;min-width:0!important;max-width:none!important;height:min(64dvh,640px)!important;max-height:none!important;margin:0!important;padding-top:22px!important;display:flex!important;position:fixed!important}html [data-msheet]>*{flex-shrink:0}html [data-msheet]>:last-child,html [data-msheet]>.design-scroll,html [data-msheet]>.op-lib-list,html [data-msheet]>.lp-nav-body,html [data-msheet]>.lp-panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}html [data-msheet]:before{content:"";background:var(--panel-3);border-radius:3px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}html[data-msheet=design] [data-msheet=design],html[data-msheet=parts] [data-msheet=parts],html[data-msheet=project] [data-msheet=project]{visibility:visible;transition:transform .32s cubic-bezier(.2,.9,.3,1);transform:none}@media (height<=500px){html .app-shell.has-dock{--dock-h:calc(48px + env(safe-area-inset-bottom))}html [data-msheet]{height:78dvh!important}}}:root,:root[data-theme=dark]{--canvas:#1e1e1e;--panel:#262626;--panel-2:#303030;--panel-3:#3b3b3b;--hover:#ffffff12;--border:#383838;--text:#ececec;--muted:#a0a0a0;--faint:#6f6f6f;--blue:#0d99ff;--blue-hover:#2aa5ff;--blue-soft:#0d99ff2e;--red:#f24822;--green:#14ae5c;--shadow:0 10px 32px #00000080, 0 0 0 1px #ffffff12;--shadow-sm:0 2px 10px #00000059, 0 0 0 1px #ffffff0f;--island:#2a2a2a;--menu:#232323;--menu-text:#ececec;--menu-sep:#ffffff1a;--menu-hover:#ffffff14;--input:#333;--input-hover:#3a3a3a;--track:#4a4a4a;--knob:#f2f2f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--canvas:#f5f5f5;--panel:#fff;--panel-2:#f4f5f7;--panel-3:#e9eaee;--hover:#0000000d;--border:#e6e7eb;--text:#1f2125;--muted:#6b6f76;--faint:#a2a6ad;--blue:#0d99ff;--blue-hover:#2aa5ff;--blue-soft:#0d99ff1f;--red:#e5372a;--green:#14ae5c;--shadow:0 12px 32px #11182724, 0 0 0 1px #1118270f;--shadow-sm:0 2px 8px #1118271a, 0 0 0 1px #1118270f;--island:#fff;--menu:#fff;--menu-text:#1f2125;--menu-sep:#00000014;--menu-hover:#0d99ff1a;--input:#f2f3f5;--input-hover:#eaebee;--track:#dcdee3;--knob:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{font-family:var(--font-ui);color:var(--text);font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--canvas);height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}kbd{color:var(--muted);white-space:nowrap;font-family:inherit;font-size:11px}code{font-family:var(--font-mono);background:var(--panel-2);border-radius:3px;padding:0 4px;font-size:11px}.muted{color:var(--muted)}.small{font-size:12px}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;display:flex}.workspace{flex:1;min-width:0;min-height:0;display:flex;position:relative}.workspace.mode-3d>.canvas-wrap,.workspace.mode-plot>.canvas-wrap,.workspace.mode-protein>.canvas-wrap{visibility:hidden}.layer-3d,.layer-plot,.layer-protein{z-index:15;background:var(--canvas);display:flex;position:absolute;inset:0}.layer-3d[hidden],.layer-plot[hidden],.layer-protein[hidden]{display:none}.loading-3d{color:var(--muted);flex:1;grid-auto-flow:column;place-content:center;align-items:center;gap:10px;display:grid}.mode-tabs{background:var(--input);border-radius:5px;flex:none;gap:2px;padding:3px;display:flex}:is(.topbar:has(.mode-tabs) .tb-left,.topbar:has(.mode-tabs) .tb-right){flex:1 1 0}.topbar:has(.mode-tabs) .tb-right{justify-content:flex-end}.mode-tabs.compact{padding:2px}.mode-tabs.compact :is(button,a){height:28px;padding:0 8px}.mode-tabs.compact :is(button,a) span{display:none}:is(.topbar:has(.mode-tabs.compact) .tb-left,.topbar:has(.mode-tabs.compact) .tb-right){flex:initial}@media (width<=1500px){.mode-tabs :is(button,a):not(.on) span{display:none}.mode-tabs :is(button,a):not(.on){padding:0 10px}}@media (width<=1100px){.topbar .slides-link span,.topbar .download-btn span{display:none}}@media (width<=1200px){.topbar .logo-text{display:none}}@media (width<=1000px){.topbar .help-btn,.topbar .save-status span,.topbar .tb-divider,.mode-tabs :is(button,a) span{display:none}.mode-tabs :is(button,a),.mode-tabs :is(button,a):not(.on){padding:0 9px}.topbar .theme-toggle .tt-opt:not(.on){display:none}.topbar .title-input{max-width:150px}}@media (width<=820px){:is(.topbar .title-input,.topbar:has(>.mode-tabs) .theme-toggle){display:none}}.mode-tabs :is(button,a){height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.mode-tabs :is(button,a):hover{color:var(--text)}.mode-tabs :is(button,a).on{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.mode-tabs :is(button,a).on svg{color:var(--blue)}.btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-2)}.btn:disabled{opacity:.45;cursor:default}.btn.small{border-radius:4px;height:28px;padding:0 10px;font-size:12px}a.btn{color:var(--text);text-decoration:none}.btn.block{width:100%}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled),.btn.ghost.active{background:var(--hover)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--blue-hover)}.btn.active{border-color:var(--blue);background:var(--blue-soft)}.btn.icon-text{padding:0 8px}.btn svg{flex:none}.link{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.link:hover{text-decoration:underline}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;display:inline-grid}.icon-btn.small{width:26px;height:26px}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.on{color:var(--blue)}.icon-btn:disabled{opacity:.35;cursor:default}.topbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:20;flex:none;justify-content:space-between;align-items:center;gap:12px;height:48px;padding:0 10px;display:flex;position:relative}.tb-left,.tb-right{align-items:center;gap:6px;min-width:0;display:flex}.tb-left{flex:1}.tb-divider{background:var(--border);flex:none;width:1px;height:20px;margin:0 4px}.file-btn{font-weight:500}.logo{letter-spacing:.1px;flex:none;align-items:center;gap:8px;padding:0 4px;font-size:14px;font-weight:700;display:inline-flex}.logo-mark{color:#fff;background:linear-gradient(135deg,#0d99ff,#7b61ff 60%,#14ae5c);border-radius:4px;place-items:center;width:26px;height:26px;display:grid}.title-input{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;min-width:80px;max-width:360px;height:30px;padding:0 8px;font-weight:500}.title-input:hover{border-color:var(--border)}.title-input:focus{border-color:var(--blue);background:var(--panel)}.save-status{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:12px;display:inline-flex}.save-status.ok{color:var(--muted)}.save-status.bad{color:var(--red)}.cloud-status{height:26px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.cloud-status:hover{border-color:var(--border);background:var(--panel-2)}.cloud-status.ok{color:var(--green)}.cloud-status.bad{color:var(--red)}.cloud-status.view{color:var(--blue)}.cloud-status svg{width:15px;height:15px}.cloud-pop{width:290px}.cloud-menu{gap:8px;padding:12px 14px;font-size:12.5px;display:grid}.cloud-menu p{color:var(--muted);margin:0;line-height:1.45}.cloud-actions{flex-wrap:wrap;gap:6px;display:flex}.cloud-default{border-top:1px solid var(--border);color:var(--muted);cursor:pointer;align-items:center;gap:7px;padding-top:8px;display:flex}.download-btn{height:34px;padding:0 14px}.btn.primary.active{background:var(--blue-hover);border-color:var(--blue-hover);color:#fff}.chip{background:var(--panel-2);height:24px;color:var(--muted);cursor:default;border-radius:6px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.chip .dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.chip.on{color:var(--text)}.chip.on .dot{background:var(--green)}.theme-toggle{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:4px;gap:2px;padding:2px;display:inline-flex}.tt-opt{width:28px;height:24px;color:var(--muted);border-radius:4px;place-items:center;display:grid}.tt-opt.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0003}.popover{z-index:1000;overscroll-behavior:contain;max-height:calc(100vh - 16px);position:fixed;overflow:auto}.menu-surface,.ctx-menu,.flyout,.font-list{background:var(--menu);color:var(--menu-text);box-shadow:var(--shadow);border-radius:6px}.menu-surface.pad{padding:6px}.pop-color,.pop-export{background:var(--menu);color:var(--menu-text);box-shadow:var(--shadow);border-radius:6px}.pop-list,.pop-symbols{background:var(--menu);color:var(--menu-text);box-shadow:var(--shadow);border-radius:6px;padding:6px}.popover:not(.pop-menu):not(.pop-color):not(.pop-export):not(.pop-list):not(.pop-symbols){background:var(--menu);color:var(--menu-text);box-shadow:var(--shadow);border-radius:6px}.pop-pad{flex-direction:column;gap:10px;min-width:240px;padding:12px;display:flex}.pop-pad.wide{width:280px}.pop-title{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.menu-row,.ctx-item{width:100%;min-height:30px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:4px 9px;display:flex}.menu-row:hover:not(:disabled),.ctx-item:hover:not(:disabled){background:var(--blue);color:#fff}.menu-row:hover:not(:disabled) kbd,.ctx-item:hover:not(:disabled) kbd,.menu-row:hover .recent-meta{color:#ffffffd9}.menu-row:disabled,.ctx-item:disabled{opacity:.4;cursor:default}.menu-row.checked .ctx-icon{color:var(--blue)}.menu-row.checked:hover .ctx-icon{color:#fff}.ctx-item.danger:hover:not(:disabled){background:var(--red)}.ctx-icon{flex:none;place-items:center;width:16px;display:grid}.ctx-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ctx-sep{background:var(--menu-sep);height:1px;margin:4px 6px}.menu-head{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:6px 9px 2px;font-size:11px;font-weight:600}.menu-note{color:var(--muted);padding:4px 9px;font-size:12px}.file-menu{width:300px;max-height:calc(100vh - 80px);overflow:auto}.menu-row.recent{align-items:flex-start;padding-top:6px;padding-bottom:6px}.menu-row.recent .ctx-label{white-space:normal;flex-direction:column;gap:1px;display:flex}.recent-meta{color:var(--muted);font-size:11px}.file-menu .more{margin-top:2px}.file-menu .more-btn{padding:6px 9px}.ctx-menu{z-index:40;-webkit-user-select:none;user-select:none;min-width:240px;padding:6px;position:absolute}.panel{background:var(--panel);flex-direction:column;flex:none;min-height:0;display:flex}.panel.right{border-left:1px solid var(--border);width:292px}.tabs{border-bottom:1px solid var(--border);flex:none;gap:4px;padding:8px 10px;display:flex}.tabs button{height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.tabs button:hover{background:var(--hover);color:var(--text)}.tabs button.on{background:var(--panel-2);color:var(--text)}.tab-count{background:var(--panel-3);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.tab-body{flex-direction:column;flex:1;min-height:0;display:flex}.design-scroll{flex:1;overflow:hidden auto}.layers{flex-direction:column;flex:1;min-height:0;display:flex}.panel-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:52px;padding:12px 14px 10px;display:flex}.head-icon{background:var(--panel-2);width:28px;height:28px;color:var(--muted);border-radius:4px;flex:none;place-items:center;display:grid}.head-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.name-input{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;min-width:0;height:30px;padding:0 6px;font-weight:600}.name-input:hover{border-color:var(--border)}.name-input:focus{border-color:var(--blue);background:var(--panel)}.badge{color:var(--muted);background:var(--panel-2);border-radius:3px;flex:none;padding:3px 8px;font-size:11px;font-weight:600}.prop-section{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:10px 14px 14px;transition:padding-bottom .16s;display:flex}.prop-section.folded{gap:0;padding-bottom:10px}.prop-section.tight{gap:0;padding-top:4px;padding-bottom:4px}.section-title{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;justify-content:space-between;align-items:center;min-height:24px;margin:-2px -6px;padding:2px 6px;display:flex}.section-title:hover{background:var(--hover)}.section-title:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.section-chev{width:10px;color:var(--faint);place-items:center;transition:transform .16s;display:grid;transform:rotate(90deg)}.prop-section.folded .section-chev{transform:rotate(0)}.section-right{cursor:default;align-items:center;display:inline-flex}.section-body{grid-template-rows:1fr;transition:grid-template-rows .16s;display:grid}.prop-section.folded .section-body{grid-template-rows:0fr}.section-inner{flex-direction:column;gap:10px;min-height:0;display:flex}.prop-section.folded .section-inner{overflow:hidden}.section-name{align-items:center;gap:7px;font-size:12.5px;font-weight:650;display:inline-flex}.section-name svg{color:var(--muted)}.prop-row{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;min-height:32px;display:grid}.prop-row.stack{grid-template-columns:1fr}.prop-label{color:var(--muted);font-size:12.5px}.prop-control{align-items:center;gap:6px;min-width:0;display:flex}.prop-control>.slider,.prop-control>.segmented,.prop-control>.color-btn,.prop-control>.num-field,.prop-control>.grid2{flex:1;min-width:0}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.grid2.with-lock{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 26px;align-items:center}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row.between{flex-wrap:nowrap;justify-content:space-between}.row.center{justify-content:center}.row.tight{flex-wrap:nowrap;gap:2px}.row.spread{justify-content:space-between}.row.ends{width:100%}.vsep{background:var(--border);width:1px;height:20px;margin:0 4px}.hint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.howto{color:var(--muted);margin:0;padding-left:18px;font-size:12.5px;line-height:1.6}.lock-ratio.on{color:var(--blue)}.rot-row{align-items:center;gap:2px;width:100%;display:flex}.rot-row .slider{flex:1}.empty-hint{color:var(--muted);padding:18px 16px;line-height:1.55}.boundary{background:var(--panel-2);border-radius:5px;flex-direction:column;align-items:flex-start;gap:6px;margin:14px;padding:12px;display:flex}.quick-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.quick-grid.wide{grid-template-columns:repeat(4,1fr);width:100%}.quick{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:72px;font-weight:500;transition:border-color .12s,background .12s,transform .12s;display:flex}.quick:hover{border-color:var(--blue);background:var(--blue-soft)}.quick:active{transform:scale(.98)}.quick-icon{background:var(--panel-2);width:30px;height:30px;color:var(--blue);border-radius:4px;place-items:center;display:grid}.quick-icon svg{width:18px;height:18px}.num-field{background:var(--input);border:1px solid #0000;border-radius:4px;align-items:center;min-width:0;height:32px;display:flex}.num-field:hover{background:var(--input-hover)}.num-field:focus-within{border-color:var(--blue);background:var(--panel)}.num-field.disabled{opacity:.5}.num-label{min-width:26px;color:var(--muted);cursor:ew-resize;-webkit-user-select:none;user-select:none;flex:none;place-items:center;padding:0 7px;font-size:12px;display:grid}.num-field input{background:0 0;border:0;outline:none;flex:1;width:0;min-width:0;height:100%;padding:0 6px 0 0}.num-field.bare input{padding-left:9px}.num-suffix{color:var(--muted);padding-right:8px;font-size:12px}.slider{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.slider.disabled{opacity:.5}.slider input[type=range]{flex:1;min-width:40px}.slider .slider-num{flex:none;width:68px;height:30px}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:18px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--blue) 0 var(--pct,0%), var(--track) var(--pct,0%) 100%);border-radius:2px;height:4px}input[type=range].mixed::-webkit-slider-runnable-track{background:var(--track)}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--knob);border:1px solid #0000001f;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 1px 3px #0000004d}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--blue-soft), 0 1px 3px #0000004d}input[type=range]::-moz-range-track{background:var(--track);border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--blue);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--knob);border:1px solid #0000001f;border-radius:50%;width:16px;height:16px}.toggle{background:var(--track);cursor:pointer;border:0;border-radius:5px;flex:none;align-items:center;width:36px;height:20px;padding:2px;transition:background .15s;display:inline-flex}.toggle .knob{box-sizing:border-box;background:#fff;border:1px solid #0000001f;border-radius:50%;width:16px;height:16px;transition:transform .15s}.toggle.on{background:var(--blue)}.toggle.on .knob{transform:translate(16px)}.toggle:disabled{opacity:.5;cursor:default}.more{flex-direction:column;display:flex}.more-btn{cursor:pointer;width:100%;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:9px 0;font-size:12.5px;font-weight:600;display:flex}.more-btn:hover{color:var(--text)}.more-chev{place-items:center;transition:transform .12s;display:grid}.more.open .more-chev{transform:rotate(90deg)}.more-body{flex-direction:column;gap:10px;padding:2px 0 12px;display:flex}.sw{background:repeating-conic-gradient(#c8c8c8 0 25%, #fff 0 50%) 0 0 / 8px 8px;border-radius:3px;flex:none;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000026}.sw.round{border-radius:50%}.sw-fill{border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001f}.sw.none{background:var(--panel)}.sw.none:after{content:"";background:var(--red);height:1.5px;position:absolute;top:50%;left:-20%;right:-20%;transform:rotate(-45deg)}.color-btn{background:var(--input);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;min-width:0;height:32px;padding:0 8px;display:flex}.color-btn:hover{background:var(--input-hover)}.color-btn.open{border-color:var(--blue)}.color-btn-text{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.color-btn-text.word{font-family:inherit;font-size:12.5px}.color-picker{flex-direction:column;gap:8px;width:260px;padding:12px;display:flex}.cp-label{color:var(--muted);font-size:11px;font-weight:600}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip-sw{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;place-items:center;width:26px;height:26px;padding:1px;display:grid}.chip-sw:hover{border-color:var(--menu-sep)}.chip-sw.on{border-color:var(--blue)}.cp-sv{cursor:crosshair;touch-action:none;border-radius:4px;height:120px;margin-top:4px;position:relative}.cp-knob{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 1px #00000059,0 1px 3px #0006}.cp-hue,.cp-alpha{border-radius:4px;width:100%;height:14px}input.cp-hue::-webkit-slider-runnable-track{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:3px;height:12px}input.cp-alpha::-webkit-slider-runnable-track{background:linear-gradient(to right, transparent, var(--c,#000)), repeating-conic-gradient(#c8c8c8 0 25%, #fff 0 50%) 0 0 / 8px 8px;border-radius:3px;height:12px}input.cp-hue::-webkit-slider-thumb{margin-top:-2px}input.cp-alpha::-webkit-slider-thumb{margin-top:-2px}.cp-row{align-items:center;gap:4px;display:flex}.cp-hash{color:var(--muted);padding-left:4px}.cp-hex{background:var(--input);min-width:0;height:30px;font-family:var(--font-mono);text-transform:uppercase;border:1px solid #0000;border-radius:4px;outline:none;flex:1;padding:0 6px;font-size:12px}.cp-hex:focus{border-color:var(--blue)}.cp-pct{text-align:right;width:40px;color:var(--muted);font-size:12px}.cp-none{align-self:flex-start}.color-picker.bare{width:auto;padding:0}.paint-picker{flex-direction:column;gap:8px;width:272px;padding:12px;display:flex}.paint-picker .segmented{margin-bottom:2px}.grad-chip{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:4px;width:26px;height:26px;padding:2px;display:grid}.grad-chip.round{border-radius:50%}.grad-chip:hover{border-color:var(--menu-sep)}.grad-chip-fill{background-image:repeating-conic-gradient(#c8c8c8 0 25%, #fff 0 50%);background-size:8px 8px;border-radius:3px;box-shadow:inset 0 0 0 1px #00000024}.grad-chip.round .grad-chip-fill{border-radius:50%}.grad-bar-wrap{height:26px;margin:4px 7px 2px;position:relative}.grad-bar{cursor:copy;background:repeating-conic-gradient(#c8c8c8 0 25%, #fff 0 50%) 0 0 / 8px 8px;border-radius:3px;height:18px;position:absolute;top:4px;left:-7px;right:-7px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000024}.grad-bar-fill{position:absolute;inset:0}.grad-stop{cursor:grab;touch-action:none;background:#fff;border:0;border-radius:3px;place-items:center;width:18px;height:22px;margin-left:-9px;padding:0;transition:opacity .12s,transform .12s;display:grid;position:absolute;top:2px;box-shadow:0 0 0 1px #0000004d,0 1px 4px #0000004d}.grad-stop span{border-radius:3px;width:12px;height:16px;box-shadow:inset 0 0 0 1px #00000026}.grad-stop.on{box-shadow:0 0 0 2px var(--blue), 0 1px 4px #0000004d;z-index:1}.grad-stop:active{cursor:grabbing}.grad-stop.removing{opacity:.35;transform:translateY(6px)}.grad-row{align-items:center;gap:4px;display:flex}.grad-row .num-field{flex:1}.paint-picker .prop-row{grid-template-columns:84px minmax(0,1fr)}.paint-picker .rot-row .num-field{flex:1}.fx-editor{flex-direction:column;gap:8px;display:flex}.fx-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.fx-preset{border:1px solid var(--border);background:var(--panel);cursor:pointer;color:var(--muted);border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:10px 2px 6px;font-size:11px;display:flex}.fx-preset:hover{border-color:var(--blue);color:var(--text)}.fx-preset.on{border-color:var(--blue);color:var(--text);background:var(--blue-soft)}.fx-demo{background:var(--panel);outline:1px solid var(--menu-sep);border-radius:3px;width:22px;height:22px}.fx-ico{place-items:center;display:grid}.fx-ico.on{color:var(--blue)}.segmented{background:var(--input);border-radius:4px;gap:2px;min-width:0;padding:2px;display:inline-flex}.segmented.wide{width:100%;display:flex}.segmented.wide button{flex:1}.segmented button{min-width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0 6px;display:grid}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.seg-label{white-space:nowrap;align-items:center;gap:6px;padding:0 4px;font-size:12.5px;display:inline-flex}.case-ico{letter-spacing:.2px;white-space:nowrap;font-size:11.5px;font-weight:600}.dash-ico{width:22px;height:2px;display:block}.dash-ico.solid{background:currentColor}.dash-ico.dashed{background:repeating-linear-gradient(90deg,currentColor 0 5px,#0000 5px 8px)}.dash-ico.dotted{background:repeating-linear-gradient(90deg,currentColor 0 2px,#0000 2px 5px)}.cap-btn{background:var(--input);cursor:pointer;height:32px;color:var(--text);border:1px solid #0000;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.cap-btn:hover{background:var(--input-hover)}.cap-btn.open{border-color:var(--blue)}.cap-caret{color:var(--muted);place-items:center;display:grid;transform:rotate(90deg)}.cap-list{flex-direction:column;min-width:150px;display:flex}.cap-item{cursor:pointer;height:32px;color:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:0 10px;display:flex}.cap-item:hover{background:var(--blue);color:#fff}.cap-item.on{color:var(--blue)}.cap-item.on:hover{color:#fff}dl.info{grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:12.5px;display:grid}dl.info dt{color:var(--muted)}dl.info dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}dl.info .attr{display:contents}dl.attrs dd{font-family:var(--font-mono);font-size:11px}dl.keys{grid-template-columns:1fr;gap:2px}dl.keys dt{color:var(--text)}dl.keys dd{color:var(--muted);white-space:normal;margin-bottom:6px}.font-picker{min-width:0;position:relative}.font-input{background:var(--input);border:1px solid #0000;border-radius:4px;outline:none;width:100%;height:34px;padding:0 28px 0 10px;font-size:14px}.font-input:hover{background:var(--input-hover)}.font-input:focus{border-color:var(--blue);background:var(--panel);font-family:inherit!important}.font-caret{color:var(--muted);pointer-events:none;display:flex;position:absolute;top:13px;right:10px;transform:rotate(90deg)}.font-list{z-index:60;width:max-content;min-width:100%;max-width:320px;max-height:340px;padding:6px;position:absolute;top:38px;left:0;overflow:auto}.font-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:6px 10px;font-size:15px;overflow:hidden}.font-item.current{color:var(--blue)}.font-item.hi,.font-item:hover{background:var(--blue);color:#fff}.font-empty{color:var(--muted);padding:8px}.font-more{border:0;border-top:1px solid var(--menu-sep);width:100%;color:var(--blue);cursor:pointer;text-align:left;background:0 0;margin-top:4px;padding:8px 10px}.font-picker.compact{width:150px}.font-picker.compact .font-input{height:34px;font-size:13.5px}.style-select{width:100%}select{background:var(--input);cursor:pointer;border:1px solid #0000;border-radius:4px;min-width:0;height:32px;padding:0 6px}select:hover{background:var(--input-hover)}.size-stepper{background:var(--input);border-radius:4px;align-items:center;gap:1px;min-width:0;height:34px;padding:2px;display:flex}.size-stepper .step{width:24px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;display:grid}.size-stepper .step:hover{background:var(--panel);color:var(--text)}.size-stepper .step.caret svg{transform:rotate(90deg)}.size-stepper .size-num{background:0 0;border-radius:3px;flex:1;min-width:34px;height:28px}.size-stepper .size-num input{text-align:center;padding:0}.size-list{flex-direction:column;min-width:80px;max-height:280px;display:flex;overflow:auto}.size-list button{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:3px;padding:5px 12px}.size-list button:hover,.size-list button.on{background:var(--blue);color:#fff}.tgroup{align-items:center;gap:2px;display:inline-flex}.tbtn{min-width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0 5px;display:inline-grid}.tbtn:hover:not(:disabled){background:var(--hover)}.tbtn.on{background:var(--blue-soft);color:var(--blue)}.tbtn.open{background:var(--hover)}.tbtn:disabled{opacity:.4;cursor:default}.tbtn.chem,.btn.chem{font-size:12.5px;font-weight:600}.symbols{width:290px}.sym-tabs{flex-wrap:wrap;gap:2px;margin-bottom:6px;display:flex}.sym-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:4px 8px;font-size:12px}.sym-tabs button.on{background:var(--blue-soft);color:var(--blue)}.sym-grid{grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.sym-grid button{background:var(--panel-2);cursor:pointer;height:30px;color:inherit;border:0;border-radius:3px;font-family:Cambria Math,STIX Two Math,Georgia,serif;font-size:15px}.sym-grid button:hover{background:var(--blue);color:#fff}.canvas-wrap{background:var(--canvas);flex:1;min-width:0;position:relative;overflow:hidden}.canvas-host{position:absolute;inset:0}.gl-canvas,.overlay-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.overlay-canvas{touch-action:none;outline:none}.text-editor{transform-origin:0 0;resize:none;z-index:5;overflow-wrap:break-word;tab-size:4;font-kerning:normal;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.text-editor::selection{background:#0d99ff59}.hud{pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ddd;z-index:6;font:11px/1.55 var(--font-mono);background:#141414d1;border:1px solid #ffffff14;border-radius:4px;padding:8px 10px;position:absolute;top:76px;right:12px}.hud b{color:#6cf08d}.hud .muted{color:#9b9b9b}.tool-island{z-index:8;background:var(--island);box-shadow:var(--shadow-sm);border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:4px;display:flex;position:absolute;top:12px;left:10px}.island-sep{background:var(--border);width:24px;height:1px;margin:3px 0}.tool{cursor:pointer;width:42px;height:42px;color:var(--text);background:0 0;border:0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.tool-icon{place-items:center;display:grid}.tool-icon svg{width:17px;height:17px}.tool-label{color:var(--muted);letter-spacing:-.1px;font-size:9.5px;font-weight:500;line-height:1}.tool:hover{background:var(--hover)}.tool.active{background:var(--blue-soft);color:var(--blue)}.tool.active .tool-label{color:var(--blue);font-weight:600}.tool[data-tip]:hover:after{content:attr(data-tip);white-space:pre;color:#f2f2f2;pointer-events:none;z-index:20;background:#1e1e1e;border-radius:4px;padding:6px 9px;font-size:12px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 4px 12px #0000004d}.tool-group{position:relative}.tool-group:has(.flyout) .tool[data-tip]:hover:after{display:none}.tool-caret{opacity:.55;border-radius:3px;place-items:center;width:12px;height:12px;display:grid;position:absolute;top:3px;right:1px}.tool-caret svg{width:6px;height:6px;transform:rotate(45deg)}.tool-caret:hover{opacity:1;background:#7f7f7f40}.flyout{z-index:30;min-width:230px;padding:6px;position:absolute;top:-6px;left:calc(100% + 12px)}.flyout-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:5px 9px;font-size:11px;font-weight:600}.flyout-item{width:100%;height:32px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;outline:none;align-items:center;gap:10px;padding:0 9px;display:flex}.flyout-item:hover,.flyout-item:focus-visible{background:var(--blue);color:#fff}.flyout-item.active .fi-icon{color:var(--blue)}.flyout-item:hover .fi-icon,.flyout-item:focus-visible .fi-icon{color:#fff}.fi-icon{place-items:center;width:18px;display:grid}.fi-label{flex:1}.flyout-item:hover kbd{color:#fff}.top-island{z-index:9;background:var(--island);max-width:calc(100% - 160px);box-shadow:var(--shadow-sm);scrollbar-width:none;border-radius:7px;align-items:center;gap:2px;padding:5px 6px;animation:.16s ease-out island-in;display:flex;position:absolute;top:12px;left:50%;overflow:auto hidden;transform:translate(-50%)}.top-island::-webkit-scrollbar{display:none}.top-island>*{flex:none}@keyframes island-in{0%{transform:translate(-50%,-3px)}to{transform:translate(-50%)}}.ib{cursor:pointer;min-width:46px;height:44px;color:var(--text);background:0 0;border:0;border-radius:4px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:0 6px;display:flex}.ib:hover:not(:disabled),.ib.open{background:var(--hover)}.ib.on{background:var(--blue-soft);color:var(--blue)}.ib:disabled{opacity:.35;cursor:default}.ib.danger:hover:not(:disabled){color:var(--red)}.ib-icon{place-items:center;height:18px;display:grid}.ib-icon svg{width:17px;height:17px}.ib-label{color:var(--muted);white-space:nowrap;font-size:10.5px;line-height:1}.island-vsep{background:var(--border);flex:none;width:1px;height:28px;margin:0 4px}.island-note{white-space:nowrap;color:var(--blue);align-items:center;gap:6px;padding:0 8px;font-weight:600;display:inline-flex}.island-done{height:34px;margin:0 2px}.pop-transform,.pop-combine{background:var(--menu);color:var(--menu-text);box-shadow:var(--shadow);border-radius:6px}.transform-panel{flex-direction:column;gap:8px;width:340px;padding:12px 14px;display:flex}.transform-panel .prop-row{grid-template-columns:92px minmax(0,1fr)}.transform-panel .grid2{width:100%}.transform-panel .rot-row .num-field{flex:1}.tf-actions{margin-top:4px}.tf-actions .btn.primary{flex:1}.combine-menu{flex-direction:column;gap:2px;width:300px;padding:10px;display:flex}.combine-menu .pop-title{padding:2px 6px 6px}.combine-item{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:7px 8px;display:flex}.combine-item:hover{background:var(--menu-hover)}.combine-icon{background:var(--panel-2);width:30px;height:30px;color:var(--blue);border-radius:4px;flex:none;place-items:center;display:grid}.combine-text{flex-direction:column;gap:1px;min-width:0;display:flex}.combine-text span{color:var(--muted);font-size:11.5px}.combine-item.on{background:var(--menu-hover);box-shadow:inset 0 0 0 1px var(--blue)}.combine-note{color:var(--muted);margin:-2px 6px 4px;font-size:11.5px}.combine-menu .pop-title.combine-sub{padding:10px 6px 4px}.combine-grid{grid-template-columns:1fr 1fr;gap:2px;display:grid}.combine-mini{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.combine-mini svg{color:var(--blue);flex:none}.combine-mini:hover{background:var(--menu-hover)}.arrange-pop{width:248px}.arrange-align{flex-direction:column;gap:6px;padding:0 2px;display:flex}.arrange-align .menu-head{padding-left:4px}.ib-caps{gap:0;display:inline-flex}.cap-ib{min-width:42px}.cap-ib .cap-caret{display:none}.cap-ib svg{width:22px}.border-ico{border:2.5px solid;border-radius:3px;width:15px;height:15px;display:block}.border-ico[data-none]{opacity:.6;border-style:dashed}.text-color-ico{flex-direction:column;position:relative}.tc-bar{border-radius:2px;width:16px;height:3px;margin-top:-2px;display:block;box-shadow:inset 0 0 0 1px #00000026}.top-island .font-picker.compact{margin:0 2px}.top-island .size-stepper{width:128px;margin-right:2px}.top-island .tgroup .tbtn{height:34px}.zoom-pill{z-index:8;background:var(--island);border:1px solid var(--border);border-radius:5px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-value{cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:3px;min-width:54px;height:26px;font-size:12px}.zoom-value:hover{background:var(--hover)}.toasts{pointer-events:none;z-index:30;flex-direction:column;align-items:center;gap:6px;max-width:min(620px,90%);display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;color:#f2f2f2;background:#1f2125;border-radius:5px;align-items:center;gap:9px;padding:9px 14px;line-height:1.4;display:flex;box-shadow:0 8px 24px #0000004d}.toast.error{box-shadow:0 8px 24px #0000004d, inset 3px 0 0 var(--red)}.toast .bar{background:#444;border-radius:2px;flex:none;width:80px;height:4px;overflow:hidden}.toast .bar span{background:var(--blue);height:100%;display:block}.spinner{border:2px solid #7f7f7f73;border-top-color:var(--blue);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{pointer-events:none;place-items:center;padding-left:60px;display:grid;position:absolute;inset:0}.empty-card{pointer-events:auto;text-align:center;background:var(--panel);width:min(520px,90%);box-shadow:var(--shadow);border-radius:9px;flex-direction:column;align-items:center;gap:14px;padding:30px 32px;line-height:1.5;display:flex}.empty-mark{color:#fff;background:linear-gradient(135deg,#0d99ff,#7b61ff 60%,#14ae5c);border-radius:6px;place-items:center;width:46px;height:46px;display:grid}.empty-mark svg{width:24px;height:24px}.empty-title{font-size:19px;font-weight:700}.ai-example{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:14px;padding:10px;transition:border-color .12s,background .12s;display:flex}.ai-example:hover{border-color:var(--blue);background:var(--blue-soft)}.ai-example img{object-fit:cover;width:168px;height:118px;box-shadow:0 0 0 1px var(--border);background:#fff;border-radius:5px;flex:none}.ai-example b{align-items:center;gap:6px;font-size:14px;display:flex}.ai-example b svg{width:15px;height:15px;color:var(--blue)}.ai-example small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45;display:block}@media (width<=520px){.ai-example img{width:104px;height:73px}}.drop-overlay{border:2px dashed var(--blue);color:var(--blue);pointer-events:none;z-index:10;background:#0d99ff14;border-radius:7px;place-items:center;font-size:18px;font-weight:600;display:grid;position:absolute;inset:8px}.gl-error{text-align:center;color:var(--red);place-content:center;gap:6px;display:grid;position:absolute;inset:0}.modal-back{z-index:900;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);width:min(760px,92vw);max-height:86vh;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;display:flex}.modal-body{padding:16px 20px 20px;overflow:auto}.modal-body.help{grid-template-columns:1fr 1fr;gap:24px;display:grid}.modal-body h4{margin:0 0 10px;font-size:13px}.export-panel{flex-direction:column;gap:8px;width:360px;max-height:calc(100vh - 80px);padding:14px;display:flex;overflow:auto}.ep-head{justify-content:space-between;align-items:center;margin-bottom:2px;font-size:15px;display:flex}.ep-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:11px;font-weight:600}.ep-formats{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ep-format{text-align:left;border:1.5px solid var(--border);cursor:pointer;color:inherit;background:0 0;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.ep-format:hover{border-color:var(--faint)}.ep-format.on{border-color:var(--blue);background:var(--blue-soft)}.ep-ftitle{font-weight:700}.ep-fdesc{color:var(--muted);font-size:11.5px;line-height:1.35}.ep-select{width:100%;height:34px}.ab-preset{width:100%;margin-bottom:6px}.ab-note{margin-top:-2px;line-height:1.45}.ep-row{align-items:center;gap:10px;display:flex}.ep-row .num-field{flex:1}.ep-dpis{grid-template-columns:repeat(4,1fr) 88px;gap:4px;display:grid}.ep-dpi{border:1.5px solid var(--border);cursor:pointer;color:inherit;background:0 0;border-radius:4px;flex-direction:column;align-items:center;gap:1px;padding:5px 0;font-size:11px;display:flex}.ep-dpi span{color:var(--muted)}.ep-dpi.on{border-color:var(--blue);background:var(--blue-soft)}.ep-summary{background:var(--panel-2);font-variant-numeric:tabular-nums;border-radius:4px;flex-direction:column;gap:3px;margin-top:8px;padding:10px 12px;display:flex}.ep-warn{color:#c77700;align-items:flex-start;gap:6px;margin-top:4px;font-size:12px;display:flex}.ep-note{color:var(--muted);font-size:12px}.ep-actions{gap:8px;margin-top:4px;display:flex}.ep-actions .btn.primary{flex:1;height:38px}.ep-actions .btn:not(.primary){height:38px}.layers-scroll{flex:1;min-height:0;padding:4px 0;overflow:auto}.layer-row{cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:3px;align-items:center;gap:5px;height:30px;padding-right:8px;display:flex;position:absolute;left:0;right:0}.layer-row:hover{background:var(--hover)}.layer-row.selected{background:var(--blue-soft)}.layer-row.hidden .row-label,.layer-row.hidden .row-icon{opacity:.4}.layer-row.inner{font-size:12px}.layer-row.dragging{opacity:.5}.layer-row.drop-inside{background:var(--blue-soft);border-color:var(--blue)}.drop-line{background:var(--blue);pointer-events:none;border-radius:1px;height:2px;position:absolute;right:6px}.chev{width:16px;height:16px;color:var(--muted);flex:none;place-items:center;transition:transform .1s;display:grid}.chev.open{transform:rotate(90deg)}.chev.none{visibility:hidden}.row-icon{width:18px;height:18px;color:var(--muted);flex:none;place-items:center;display:grid}.layer-row.selected .row-icon{color:var(--blue)}.row-label{text-overflow:ellipsis;flex:1;overflow:hidden}.row-actions{gap:0;display:none}.row-actions .icon-btn{width:24px;height:24px}.layer-row:hover .row-actions,.layer-row.hidden .row-actions{display:flex}.rename{background:var(--input);border:1px solid var(--blue);border-radius:3px;outline:none;flex:1;height:22px;padding:0 5px}.pixel-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.paint-swatch{border-radius:3px;width:20px;height:20px;display:inline-block;box-shadow:inset 0 0 0 1px #00000040,0 0 0 1px #ffffff26}.paint-swatch.small{vertical-align:-2px;border-radius:3px;width:14px;height:14px}.tool.paint-well{gap:3px}.pixel-bar{gap:4px;min-height:54px}.pixel-bar .segmented button{height:30px;padding:0 8px}.pb-text{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;display:inline-flex}.pb-text svg{width:15px;height:15px}.pb-text.mono,.mono{font-variant-numeric:tabular-nums}.pb-field{flex-direction:column;gap:3px;min-width:150px;padding:0 4px;display:flex}.pb-field.wide{min-width:190px}.pb-label{color:var(--muted);font-size:10.5px;line-height:1}.pb-field .slider .slider-num{width:62px;height:26px}.pb-check{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 6px;font-size:12px;display:inline-flex}.pb-select{border:1px solid var(--border);background:var(--input);height:28px;color:var(--text);font:inherit;border-radius:4px;padding:0 6px;font-size:12px}.ib.primary{background:var(--blue);color:#fff}.ib.primary .ib-label{color:#fff}.ib.primary:hover:not(:disabled){background:var(--blue-hover)}.btn.danger:hover:not(:disabled){color:var(--red);border-color:var(--red)}.pixel-panel .design-scroll{padding-bottom:8px}.px-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:52px;padding:12px 14px;display:flex}.px-head-icon{color:var(--muted);place-items:center;display:grid}.px-head-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.px-head-size{color:var(--muted);background:var(--panel-3);font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 7px;font-size:11px}.px-pending{z-index:2;background:var(--blue-soft);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px 9px 14px;font-size:12px;display:flex;position:sticky;top:0}.px-pending-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.px-pending-text b{color:var(--blue);margin-right:4px}.px-hist{background:var(--input);border-radius:4px;width:100%;position:relative;overflow:hidden}.px-hist canvas{width:100%;height:100%;position:absolute;inset:0}.px-levels{flex-direction:column;gap:8px;display:flex}.px-track{height:14px;margin:-4px 6px 0;position:relative}.px-handle{cursor:ew-resize;touch-action:none;filter:drop-shadow(0 0 1px #7f7f7fe6);border-bottom:12px solid #000;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;position:absolute;top:0;transform:translate(-7px)}.px-handle.grey{border-bottom-color:#888}.px-handle.white{border-bottom-color:#fff}.px-levels-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.px-curves{flex-direction:column;gap:8px;display:flex}.px-curve-box{aspect-ratio:1;width:100%;position:relative}.px-curve-box .px-hist{opacity:.6;position:absolute;inset:0;height:100%!important}.px-curve-box svg{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.px-grid line{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.px-diag{stroke:var(--faint);stroke-dasharray:3 3;stroke-width:1px;vector-effect:non-scaling-stroke}.px-curve{fill:none;stroke:var(--text);stroke-width:2px;vector-effect:non-scaling-stroke}.px-pt{fill:var(--panel);stroke:var(--blue);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab}.px-opt{align-items:center;gap:8px;width:100%;display:flex}.px-opt .slider{flex:1}.px-opt .num-field{flex:none;width:76px}.px-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:11px;font-weight:600}.px-maps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.px-map{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;border-radius:4px;flex-direction:column;gap:4px;padding:5px;font-size:11px;display:flex}.px-map:hover{border-color:var(--blue)}.px-map.on{border-color:var(--blue);background:var(--blue-soft)}.px-map.none{color:var(--muted);justify-content:center;align-items:center}.px-map-bar{border-radius:3px;height:10px;display:block}.px-filters{flex-wrap:wrap;gap:6px;display:flex}.px-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.px-actions .btn{justify-content:flex-start}.px-orient{gap:6px;display:flex}.px-orient .btn{flex:1;justify-content:center;padding:0}.px-size{align-items:center;gap:4px;width:100%;display:flex}.px-size .num-field{flex:1;min-width:0}.px-history{flex-direction:column;gap:1px;max-height:240px;margin:0 -6px;display:flex;overflow-y:auto}.px-step{text-align:left;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:6px 8px;font-size:12px;overflow:hidden}.px-step:hover{background:var(--hover)}.px-step.on{background:var(--blue-soft);color:var(--blue);font-weight:600}.px-step.undone{color:var(--faint)}.px-log{color:var(--muted);flex-direction:column;gap:3px;max-height:200px;margin:0;padding-left:20px;font-size:12px;display:flex;overflow-y:auto}.px-foot{padding:14px}.px-empty{flex-direction:column;gap:10px;padding:18px 16px;display:flex}.px-empty-title{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.px-images{flex-direction:column;gap:2px;margin:0 -6px;display:flex}.px-image{height:32px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 8px;display:flex}.px-image:hover:not(:disabled){background:var(--hover)}.px-image span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.flyout.grid{width:312px;min-width:0}.fly-grid{grid-template-columns:repeat(4,1fr);gap:3px;padding:0 3px 4px;display:grid}.fly-group{color:var(--muted);grid-column:1/-1;padding:6px 4px 1px;font-size:10.5px;font-weight:600}.fly-tile{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;outline:none;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;display:flex}.fly-tile .fi-icon{width:auto}.fly-tile .fi-icon svg{width:24px;height:24px}.fly-tile-label{text-align:center;color:var(--muted);font-size:10.5px;line-height:1.15}.fly-tile:hover,.fly-tile:focus-visible{background:var(--hover)}.fly-tile.active{background:var(--blue-soft);color:var(--blue)}.fly-tile.active .fly-tile-label{color:var(--blue)}@media (height<=940px){.tool{height:37px}}@media (height<=820px){.tool{height:34px}.tool-label{display:none}}@media (height<=600px){.tool-island{max-height:calc(100% - 24px);overflow-y:auto}}.solid-controls,.brush-controls{flex-direction:column;gap:8px;display:flex}.solid-controls.compact,.brush-controls.compact{width:300px}.solid-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;display:grid}.solid-grid button,.brush-kinds button{min-width:0;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.solid-grid button svg,.brush-kinds button svg{width:20px;height:20px}.solid-grid button:hover,.brush-kinds button:hover{background:var(--hover)}.solid-grid button.on,.brush-kinds button.on{background:var(--blue-soft);color:var(--blue)}.solid-views select{flex:1;min-width:0}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.brush-kinds{grid-template-columns:repeat(9,minmax(0,1fr));gap:1px;display:grid}.brush-name{font-size:12.5px;font-weight:600}.dna-scale{font-variant-numeric:tabular-nums}.text-input{background:var(--input);width:100%;min-width:0;height:32px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:4px;padding:0 9px}.text-input:focus{border-color:var(--blue);background:var(--panel);outline:none}.text-input.mono{font-family:var(--font-mono);letter-spacing:.5px;font-size:12px}.path-menu{flex-direction:column;gap:8px;width:300px;display:flex}.prop-section .path-menu{width:auto}.op-grid{grid-template-columns:1fr 1fr;gap:2px;display:grid}.op-btn{height:30px;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;min-width:0;padding:0 8px;font-size:12.5px;display:flex}.op-btn span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.op-btn:hover{background:var(--hover)}.op-icon{color:var(--muted);flex:none;place-items:center;display:grid}.op-btn:hover .op-icon{color:var(--blue)}.amount-op{flex-direction:column;gap:6px;display:flex}.amount-op select{flex:1;min-width:0}.tool-options-note{color:var(--muted);white-space:nowrap;padding:0 8px;font-size:12.5px;font-weight:500}.brush-controls .prop-control,.solid-controls .prop-control{min-width:0}.brush-controls .segmented .seg-label,.solid-controls .segmented .seg-label{white-space:nowrap}.brush-controls,.solid-controls{min-width:0;max-width:100%}.zoom-dock{z-index:8;align-items:center;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-dock .zoom-pill{position:static}.view-btn{border:1px solid var(--border);background:var(--island);width:34px;height:34px;box-shadow:none;color:var(--text);cursor:pointer;border-radius:5px;place-items:center;display:grid}.view-btn:hover{background:var(--hover)}.view-btn.on{color:var(--blue)}.view-menu{min-width:250px}.view-row{justify-content:space-between;align-items:center;gap:10px;padding:4px 9px;font-size:12.5px;display:flex}.view-row .num-field{width:100px}.canvas-wrap.rulers .tool-island{top:30px;left:30px}.canvas-wrap.rulers .top-island{top:30px}.live-bar{z-index:9;background:var(--island);max-width:calc(100% - 160px);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--blue-soft);scrollbar-width:none;border-radius:7px;align-items:center;gap:4px;padding:4px 6px;animation:.16s ease-out island-in;display:flex;position:absolute;top:72px;left:50%;overflow-x:auto;transform:translate(-50%)}.live-bar::-webkit-scrollbar{display:none}.live-bar>*{flex:none}.canvas-wrap.rulers .live-bar{top:90px}.canvas-wrap .live-bar{-webkit-user-select:none;user-select:none}.live-badge{background:var(--blue-soft);height:18px;color:var(--blue);letter-spacing:.6px;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:10px;font-weight:700;display:inline-flex}.live-badge:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.35}}.live-title{align-items:center;gap:4px;padding:0 4px;font-size:12px;font-weight:600;display:inline-flex}.live-title svg{color:var(--blue)}.live-ops{gap:2px;display:flex}.live-op,.live-btn{height:30px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.live-op svg{color:var(--blue);width:16px;height:16px}.live-op:hover,.live-btn:hover{background:var(--hover)}.live-op.on{background:var(--blue-soft);color:var(--blue);font-weight:600}.live-btn svg{width:16px;height:16px}.live-btn.primary{background:var(--blue);color:#fff;font-weight:600}.live-btn.primary:hover{filter:brightness(1.08);background:var(--blue)}.live-distance{width:230px}.live-distance .prop-row{grid-template-columns:56px minmax(0,1fr);margin:0}.live-more.ib{min-width:40px;height:34px}.live-pop{flex-direction:column;gap:6px;width:260px;display:flex}.combine-head{align-items:center;gap:8px;display:flex}.combine-actions{gap:6px;padding:4px 6px 2px;display:flex}.canvas-wrap .tool-island,.canvas-wrap .top-island,.canvas-wrap .zoom-dock{-webkit-user-select:none;user-select:none}.pop-gen{padding:0}.gen-palette{flex-direction:column;width:452px;max-width:calc(100vw - 120px);max-height:min(640px,78vh);display:flex}.gen-search{background:var(--input);height:36px;color:var(--muted);border-radius:4px;align-items:center;gap:8px;margin:12px 12px 8px;padding:0 10px;display:flex}.gen-search input{min-width:0;height:100%;color:var(--menu-text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.gen-search:focus-within{box-shadow:0 0 0 2px var(--blue-soft)}.gen-cats{flex-wrap:wrap;gap:6px;padding:0 12px 8px;display:flex}.gen-cat{border:1px solid var(--border);height:28px;color:var(--menu-text);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.gen-cat:hover{background:var(--menu-hover)}.gen-cat.on{background:var(--blue-soft);color:var(--blue);border-color:#0000}.gen-cat svg{width:14px;height:14px}.gen-acc{border-bottom:1px solid var(--menu-sep)}.gen-acc-head{align-items:center;gap:6px;display:flex}.gen-acc-toggle{min-width:0;height:38px;color:var(--menu-text);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:0 2px;font-size:12.5px;font-weight:600;display:flex}.gen-acc-toggle svg{flex:none;width:14px;height:14px}.gen-acc-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gen-acc-chev{color:var(--muted);transition:transform .12s;display:inline-flex}.gen-acc.open .gen-acc-chev{transform:rotate(90deg)}.gen-acc-body{padding:0 0 12px}.gen-more{border:1px solid var(--border);height:26px;color:var(--blue);cursor:pointer;background:0 0;border-radius:4px;padding:0 10px;font-size:12px}.gen-more:hover{background:var(--menu-hover)}.gen-more-row{background:var(--panel-2);width:100%;height:30px;color:var(--blue);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.gen-more-row svg{width:12px;height:12px}.gen-more-row:hover{background:var(--menu-hover)}.gen-crumb{z-index:1;background:var(--menu);padding:8px 0 2px;position:sticky;top:0}.gen-back{height:28px;color:var(--blue);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;padding:0 8px 0 4px;font-size:12.5px;display:inline-flex}.gen-back svg{width:14px;height:14px}.gen-back:hover{background:var(--menu-hover)}.gen-thumb.wait{background:var(--panel-2);opacity:.6;border-radius:4px}.gen-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.gen-scroll{border-top:1px solid var(--menu-sep);padding:0 12px 12px;overflow:auto}.gen-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;margin:12px 2px 8px;font-size:11px;font-weight:600;display:flex}.gen-group-title svg{width:14px;height:14px}.gen-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.gen-sub+.gen-sub{margin-top:10px}.gen-sub-title{color:var(--text);opacity:.8;margin:2px 2px 6px;font-size:11.5px;font-weight:600}.gen-links .hint{margin:0 0 6px}.gen-links .gen-link-to{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tube-links .ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.gen-tile{background:var(--panel-2);color:var(--menu-text);cursor:pointer;border:1px solid #0000;border-radius:5px;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:8px 4px 7px;display:flex}.gen-tile:hover,.gen-tile:focus-visible{border-color:var(--blue);background:var(--menu-hover)}.gen-tile:active{cursor:grabbing}.gen-thumb{pointer-events:none;place-items:center;width:64px;height:56px;display:grid}.gen-thumb svg{width:100%;height:100%}.gen-thumb.icon svg{width:28px;height:28px;color:var(--blue)}.gen-name{text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}.gen-empty{text-align:center;color:var(--muted);padding:24px 8px}.gen-empty .gen-online{max-width:100%;margin:12px auto 0}.gen-empty .gen-online span:last-child,.gen-empty .gen-online{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mol-src{flex-direction:column;gap:2px;margin-bottom:8px;font-size:12.5px;display:flex}.mol-src b{overflow-wrap:anywhere;font-size:13px}.mol-src a{color:var(--blue);text-decoration:none}.mol-src a:hover{text-decoration:underline}.gen-title{align-items:center;gap:8px;padding:12px 16px 4px;font-size:13px;font-weight:600;display:flex}.gen-title-icon{color:var(--blue);place-items:center;display:grid}.gen-size{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-bottom:4px;display:grid}.gen-select{width:100%}.gen-text{background:var(--input);border:0;border-radius:4px;width:100%;height:30px;padding:0 8px}.gen-seed{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.gen-seed .num-field{flex:1;min-width:0}.gen-actions{padding:6px 16px 14px}.pop-gen-settings{max-height:72vh;overflow:auto}.gen-pop{gap:0;width:300px;padding:4px 0 8px}.gen-pop .gen-title{padding:6px 12px 2px}.gen-pop .prop-section{padding-left:4px;padding-right:4px}.eq-dialog{width:min(680px,100vw - 32px)}.eq-dialog .modal-head b{align-items:center;gap:8px;display:inline-flex}.eq-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.eq-preview{background:var(--panel-2);border-radius:5px;place-items:center;min-height:110px;padding:14px;display:grid;overflow:auto}.eq-preview svg{max-width:100%;height:auto}.eq-input{resize:vertical;border:1px solid var(--border);background:var(--input);width:100%;min-height:76px;color:var(--text);font:13px/1.5 var(--font-mono);border-radius:5px;outline:none;padding:10px 12px}.eq-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.eq-status{color:var(--muted);min-height:16px;font-size:12px}.eq-status.bad{color:#f24822}.eq-snippets{flex-direction:column;gap:6px;display:flex}.eq-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.eq-group-name{width:70px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.eq-chip{border:1px solid var(--border);height:26px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:0 9px;font-size:12px}.eq-chip:hover{background:var(--hover);border-color:var(--blue)}.eq-options{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.eq-options .num-field{width:120px}.eq-color{background:var(--input);border-radius:4px;align-items:center;gap:6px;height:32px;padding:0 10px;display:inline-flex}.eq-spacer{flex:1}.eq-tex{font:12px/1.45 var(--font-mono);background:var(--input);white-space:pre-wrap;word-break:break-all;border-radius:4px;max-height:120px;padding:8px 10px;overflow:auto}.tbl-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:4px;display:grid}.tbl-preset{background:var(--panel-2);color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:6px 2px;font-size:10.5px;display:flex}.tbl-preset:hover{border-color:var(--blue)}.tbl-swatch{border:1px solid;border-radius:3px;width:34px;height:24px;position:relative;overflow:hidden}.tbl-swatch span{border-bottom:1px solid;height:7px;position:absolute;top:0;left:0;right:0}.tbl-swatch i{height:5px;position:absolute;top:14px;left:0;right:0}.tbl-ops{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:4px 0 6px;display:grid}.tbl-ops .btn{justify-content:flex-start;padding:0 8px}.tbl-data{resize:vertical;border:1px solid var(--border);background:var(--input);width:100%;color:var(--text);font:12px/1.45 var(--font-mono);white-space:pre;border-radius:4px;padding:8px;overflow:auto}.ai-toggle{align-items:center;gap:6px;display:inline-flex}.ai-toggle.on{background:var(--blue-soft);color:var(--text)}.ai-toggle .mcp{background:var(--faint);opacity:.7;border-radius:50%;width:7px;height:7px}.ai-toggle .mcp.on{background:var(--green);opacity:1}.ai-panel-loading{background:var(--panel);border-right:1px solid var(--border);flex:none;place-items:center;width:360px;display:grid}a.logo{color:inherit;text-decoration:none}.ab-sizes{flex-direction:column;min-width:270px;max-height:min(70vh,560px);display:flex;overflow-y:auto}.pixel-done{z-index:30;background:var(--panel);border:1px solid var(--border);white-space:nowrap;border-radius:8px;align-items:center;gap:12px;padding:6px 6px 6px 14px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.pixel-done-text{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.pixel-done-text svg{width:15px;height:15px;color:var(--blue)}@media (width<=760px){.pixel-done-text{display:none}.pixel-done{bottom:76px}}.op-btn.op-live{background:var(--blue-soft);width:100%;margin-bottom:6px}.op-btn.op-live:hover{filter:brightness(1.05)}.op-btn.op-live .op-icon{color:var(--blue)}.op-btn.op-live .live-badge{margin-left:auto;overflow:visible}.mol-model{flex-direction:column;gap:6px;margin:0 0 10px;display:flex}.mol-model-label{color:var(--muted);font-size:11.5px}
