.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.ink-terminal-box{box-sizing:border-box;background:#000;border:none;width:100%;min-width:0;position:relative;overflow:hidden}.ink-terminal-box:focus,.ink-terminal-box :focus{box-shadow:none!important;outline:none!important}.ink-terminal-box .ink-terminal-reset{width:100%;height:100%;position:absolute;inset:0;text-align:left!important;letter-spacing:0!important;max-width:100%!important;line-height:1!important;overflow:hidden!important}.ink-terminal-box .xterm{text-align:left!important;box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}.ink-terminal-box .xterm .xterm-screen{padding:0}.ink-terminal-box .xterm .xterm-screen,.ink-terminal-box .xterm .xterm-rows,.ink-terminal-box .xterm .xterm-row{text-align:left!important;display:block!important}.ink-terminal-box .xterm-helper-textarea{opacity:0!important;position:absolute!important}.ink-terminal-box .xterm .xterm-viewport{overflow:hidden auto!important}.ink-terminal-box .xterm .xterm-cursor{display:none}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");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}*,:before,:after{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:var(--pg-accent);--pg-bg:#0a0a0d;--pg-surface-1:#111116;--pg-surface-2:#18181e;--pg-surface-3:#202028;--pg-surface-hover:#ffffff0f;--pg-surface-active:#ffffff1a;--pg-surface-inset:#00000052;--pg-bg-panel:var(--pg-surface-1);--pg-bg-elevated:var(--pg-surface-2);--pg-bg-sidebar:#0d0d11;--pg-surface:var(--pg-surface-2);--pg-surface-soft:#ffffff08;--pg-border-subtle:#ffffff0f;--pg-border:#ffffff1a;--pg-border-strong:#ffffff2e;--pg-text:#f5f5f7;--pg-text-secondary:#a3a3ae;--pg-text-muted:#71717d;--pg-text-faint:#4d4d59;--pg-accent:#8f8dff;--pg-accent-strong:#6e6cf0;--pg-accent-text:#cbc9ff;--pg-accent-soft:#8f8dff29;--pg-accent-softer:#8f8dff14;--pg-accent-border:#8f8dff57;--pg-ring:#8f8dff80;--pg-success:#34d399;--pg-warning:#fbbf24;--pg-danger:#f87171;--pg-danger-soft:#f871711f;--pg-info:#60a5fa;--pg-font-size-xs:11px;--pg-font-size-sm:12.5px;--pg-font-size-md:13.5px;--pg-font-size-lg:15px;--pg-font-size-xl:18px;--pg-space-1:4px;--pg-space-2:8px;--pg-space-3:12px;--pg-space-4:16px;--pg-space-5:20px;--pg-space-6:24px;--pg-space-8:32px;--pg-radius-xs:4px;--pg-radius-sm:6px;--pg-radius-md:8px;--pg-radius-lg:12px;--pg-radius-xl:16px;--pg-radius-full:999px;--pg-shadow-xs:0 1px 2px #0006;--pg-shadow-sm:0 2px 6px #0006;--pg-shadow-md:0 8px 24px #00000073;--pg-shadow-lg:0 16px 48px #0000008c;--pg-shadow-panel:-8px 0 32px #00000059;--pg-ease:cubic-bezier(.4, 0, .2, 1);--pg-duration-fast:.12s;--pg-duration:.18s;--pg-font:"Geist Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--pg-mono:"Geist Mono Variable", ui-monospace, "SF Mono", "JetBrains Mono", monospace}html,body,#root{background:var(--pg-bg);height:100%;color:var(--pg-text);font-family:var(--pg-font);font-size:var(--pg-font-size-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}::selection{background:var(--pg-accent-soft);color:var(--pg-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--pg-radius-full);background:#ffffff1a padding-box padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:#fff3 padding-box padding-box}:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=tab]:focus-visible,[role=treeitem]:focus-visible{box-shadow:0 0 0 2px var(--pg-ring);outline:none}.workspace-panel__btn,.workspace-code-tab__header-btn,.variants-panel__iterate-btn{border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);height:30px;color:var(--pg-text-secondary);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease), transform var(--pg-duration-fast) var(--pg-ease);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:500;line-height:1;display:inline-flex}.workspace-panel__btn:hover:not(:disabled),.workspace-code-tab__header-btn:hover:not(:disabled),.variants-panel__iterate-btn:hover:not(:disabled){background:var(--pg-surface-hover);border-color:var(--pg-border-strong);color:var(--pg-text)}.workspace-panel__btn:active:not(:disabled),.workspace-code-tab__header-btn:active:not(:disabled),.variants-panel__iterate-btn:active:not(:disabled){background:var(--pg-surface-active);transform:translateY(1px)}.workspace-panel__btn:disabled,.workspace-code-tab__header-btn:disabled,.variants-panel__iterate-btn:disabled{opacity:.42;cursor:default}.workspace-panel__btn--ghost{border-color:#0000}.workspace-code-tab__header-btn--primary{background:var(--pg-accent-strong);color:#fff;border-color:#0000}.workspace-code-tab__header-btn--primary:hover:not(:disabled){background:var(--pg-accent);color:#fff;border-color:#0000}.workspace-panel__btn--accent{border-color:var(--pg-accent-border);background:var(--pg-accent-softer);color:var(--pg-accent-text)}.workspace-panel__btn--accent:hover:not(:disabled){background:var(--pg-accent-soft);border-color:var(--pg-accent);color:#e8e7ff}.workspace-panel__close,.variants-panel__delete,.config-panel__close{border-radius:var(--pg-radius-sm);width:28px;height:28px;color:var(--pg-text-muted);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease), transform var(--pg-duration-fast) var(--pg-ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.workspace-panel__close:hover,.config-panel__close:hover{background:var(--pg-surface-hover);border-color:var(--pg-border-subtle);color:var(--pg-text)}.workspace-panel__close:active,.variants-panel__delete:active,.config-panel__close:active{transform:scale(.92)}.variants-panel__delete:hover{background:var(--pg-danger-soft);color:var(--pg-danger);border-color:#f871714d}.playground-shell{background:radial-gradient(ellipse 80% 45% at 20% -10%, #8f8dff0d, transparent 55%), var(--pg-bg);flex-direction:column;height:100%;display:flex;position:relative}.playground-main{flex:1;min-height:0}.playground-terminal{flex:1;min-width:0;min-height:0}.split-pane{flex-direction:row;height:100%;min-height:0;display:flex}.split-pane__left{flex:1 1 0;min-width:0;display:flex;overflow:hidden}.split-pane__right{flex:none;min-width:0;overflow:hidden}.split-pane__right-enter{animation:slideInRight .26s var(--pg-ease)}.split-pane__right-exit{animation:.2s ease-in slideOutRight}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1}to{opacity:0;width:0}}.split-pane__splitter{cursor:col-resize;z-index:10;background:0 0;flex:0 0 8px;position:relative}.split-pane__splitter:after{content:"";background:var(--pg-border-subtle);width:1px;transition:width var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.split-pane__splitter:hover:after,.split-pane__splitter:active:after{background:var(--pg-accent);width:2px}.workspace-panel{background:var(--pg-surface-1);border-left:1px solid var(--pg-border-subtle);height:100%;box-shadow:var(--pg-shadow-panel);flex-direction:column;display:flex}.workspace-panel__header{align-items:center;gap:var(--pg-space-2);background:var(--pg-surface-1);border-bottom:1px solid var(--pg-border-subtle);flex-shrink:0;padding:10px 12px;display:flex}.workspace-panel__tabs{background:var(--pg-surface-inset);border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-md);flex:1;gap:2px;min-width:0;padding:3px;display:flex}.workspace-panel__tab{border-radius:var(--pg-radius-sm);height:28px;color:var(--pg-text-muted);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.workspace-panel__tab:hover{color:var(--pg-text-secondary)}.workspace-panel__tab--active{background:var(--pg-surface-3);color:var(--pg-text);box-shadow:var(--pg-shadow-xs), inset 0 0 0 1px var(--pg-border-subtle)}.workspace-panel__tab--active:hover{color:var(--pg-text)}.workspace-panel__body{flex-direction:column;flex:1;min-height:0;display:flex}.workspace-panel__preview-actions{align-items:center;gap:var(--pg-space-2);background:var(--pg-surface-1);border-bottom:1px solid var(--pg-border-subtle);flex-shrink:0;min-height:46px;padding:8px 12px;display:flex}.workspace-panel__preview-tabs{scrollbar-width:none;flex:1;gap:6px;min-width:0;display:flex;overflow-x:auto}.workspace-panel__preview-tabs::-webkit-scrollbar{display:none}.workspace-panel__preview-tab{border:1px solid var(--pg-border);border-radius:var(--pg-radius-full);height:26px;color:var(--pg-text-secondary);font-family:var(--pg-mono);font-size:var(--pg-font-size-xs);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease);background:0 0;align-items:center;gap:6px;padding:0 11px;font-weight:500;display:inline-flex}.workspace-panel__preview-tab:hover{background:var(--pg-surface-hover);border-color:var(--pg-border-strong);color:var(--pg-text)}.workspace-panel__preview-tab--active{background:var(--pg-accent-soft);border-color:var(--pg-accent-border);color:var(--pg-accent-text)}.workspace-panel__preview-tab--active:hover{background:#8f8dff38}.workspace-panel__preview-dot{background:var(--pg-text-faint);border-radius:50%;flex-shrink:0;width:6px;height:6px}.workspace-panel__preview-tab--ready .workspace-panel__preview-dot,.workspace-panel__preview-dot--ready{background:var(--pg-success);box-shadow:0 0 0 3px #34d39929}.workspace-panel__preview-tab--pending .workspace-panel__preview-dot,.workspace-panel__preview-dot--pending{background:var(--pg-warning);box-shadow:0 0 0 3px #fbbf2429}.workspace-panel__preview-actions-btns{flex-shrink:0;gap:6px;display:flex}.workspace-panel__empty-tab{font-size:var(--pg-font-size-sm);color:var(--pg-text-faint);padding:4px 2px}.workspace-panel__preview-body{background:#fff;flex:1;min-height:0;position:relative}.workspace-panel__iframe{background:#fff;border:0;width:100%;height:100%;display:block}.workspace-panel__placeholder,.workspace-code-tab__placeholder,.variants-panel__empty{text-align:center;height:100%;color:var(--pg-text-muted);font-size:var(--pg-font-size-md);background:var(--pg-surface-1);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 28px;line-height:1.6;display:flex}.workspace-panel__placeholder-icon{border-radius:var(--pg-radius-lg);width:52px;height:52px;color:var(--pg-accent-text);background:var(--pg-accent-softer);border:1px solid var(--pg-accent-border);justify-content:center;align-items:center;margin-bottom:6px;display:flex}.workspace-panel__placeholder-title{color:var(--pg-text);font-weight:600;font-size:var(--pg-font-size-lg);letter-spacing:-.01em}.workspace-panel__placeholder span,.workspace-panel__placeholder p{max-width:340px;color:var(--pg-text-muted)}.workspace-panel__placeholder code{color:var(--pg-accent-text);background:var(--pg-accent-softer);border:1px solid var(--pg-accent-border);border-radius:var(--pg-radius-xs);font-size:var(--pg-font-size-xs);font-family:var(--pg-mono);padding:1px 7px}.workspace-code-tab{flex:1;min-height:0;display:flex;position:relative}.workspace-code-tab--drag{outline:2px dashed var(--pg-accent);outline-offset:-2px}.workspace-code-tab--drag:after{content:"Drop files / folders to upload";z-index:20;color:var(--pg-accent-text);font-size:var(--pg-font-size-lg);pointer-events:none;-webkit-backdrop-filter:blur(3px);background:#0a0a0dc7;justify-content:center;align-items:center;font-weight:500;display:flex;position:absolute;inset:0}.workspace-code-tab__sidebar{background:var(--pg-bg-sidebar);border-right:1px solid var(--pg-border-subtle);flex-shrink:0;overflow-y:auto}.workspace-code-tab__sidebar-header{z-index:1;text-transform:uppercase;letter-spacing:.08em;height:40px;color:var(--pg-text-muted);background:var(--pg-bg-sidebar);border-bottom:1px solid var(--pg-border-subtle);align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.workspace-code-tab__editor{background:var(--pg-surface-1);flex-direction:column;flex:1;min-width:0;display:flex}.workspace-code-tab__splitter{cursor:col-resize;z-index:10;background:0 0;flex-shrink:0;width:5px;position:relative}.workspace-code-tab__splitter:after{content:"";background:var(--pg-border-subtle);width:1px;transition:width var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.workspace-code-tab__splitter:hover:after,.workspace-code-tab__splitter:active:after{background:var(--pg-accent);width:2px}.workspace-code-tab__editor-header{background:var(--pg-surface-1);border-bottom:1px solid var(--pg-border-subtle);flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.workspace-code-tab__editor-filename{font-size:var(--pg-font-size-sm);color:var(--pg-text);font-weight:500;font-family:var(--pg-mono)}.workspace-code-tab__editor-filename--muted{color:var(--pg-text-faint);font-family:var(--pg-font);font-weight:400}.workspace-code-tab__header-spacer{flex:1;min-width:0}.workspace-code-tab__upload-status{font-size:var(--pg-font-size-xs);color:var(--pg-text-muted);white-space:nowrap}.workspace-code-tab__modified{font-size:var(--pg-font-size-xs);color:var(--pg-warning);letter-spacing:.01em;font-weight:500}.workspace-code-tab__saved{font-size:var(--pg-font-size-xs);color:var(--pg-success);font-weight:500;animation:1.4s forwards fadeOut}@keyframes fadeOut{0%,70%{opacity:1}to{opacity:0}}.workspace-code-tab__editor-body{flex:1;min-height:0}.workspace-code-tab__loading{height:100%;color:var(--pg-text-muted);font-size:var(--pg-font-size-md);justify-content:center;align-items:center;display:flex}.file-tree{padding:4px 0 12px}.file-tree__item{cursor:pointer;-webkit-user-select:none;user-select:none;height:26px;font-size:var(--pg-font-size-sm);letter-spacing:.005em;color:var(--pg-text-secondary);transition:background var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease);border:none;border-radius:0;align-items:center;gap:6px;margin:0;padding:0 10px 0 6px;display:flex;position:relative}.file-tree__item--dir{color:var(--pg-text);font-weight:500}.file-tree__item--file{font-weight:400}.file-tree__item:hover{background:var(--pg-surface-hover);color:var(--pg-text)}.file-tree__item--selected,.file-tree__item--selected:hover{background:var(--pg-accent-soft);color:var(--pg-accent-text)}.file-tree__item:focus-visible{box-shadow:inset 0 0 0 1px var(--pg-ring);outline:none}.file-tree__guides{flex-shrink:0;align-self:stretch;margin-right:0;display:flex}.file-tree__guide{flex-shrink:0;width:14px;position:relative}.file-tree__guide:before{content:"";background:#ffffff0e;width:1px;position:absolute;top:-1px;bottom:-1px;left:7px}.file-tree__item:hover .file-tree__guide:before,.file-tree__item--selected .file-tree__guide:before{background:#ffffff17}.file-tree__chevron{width:16px;height:16px;color:var(--pg-text-faint);border-radius:var(--pg-radius-xs);transition:transform var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.file-tree__item:hover .file-tree__chevron:not(.file-tree__chevron--spacer){color:var(--pg-text-muted);background:#ffffff0d}.file-tree__chevron--open{color:var(--pg-text-muted);transform:rotate(90deg)}.file-tree__chevron--spacer{visibility:hidden}.file-tree__chevron--loading{transform:none}.file-tree__spinner{border:1.5px solid #ffffff24;border-top-color:var(--pg-accent-text);border-radius:50%;width:12px;height:12px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.file-tree__icon{opacity:.92;flex-shrink:0;width:16px;height:16px}.file-tree__icon--fallback{background:#ffffff14;border-radius:3px;display:inline-block}.file-tree__item--selected .file-tree__icon{opacity:1}.file-tree__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.2;overflow:hidden}.file-tree__status{text-align:center;color:var(--pg-text-faint);font-size:var(--pg-font-size-sm);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;line-height:1.5;display:flex}.file-tree__status--empty{gap:4px}.file-tree__status-title{color:var(--pg-text-muted);font-weight:550;font-size:var(--pg-font-size-sm)}.file-tree__loading,.file-tree__empty{text-align:center;color:var(--pg-text-faint);font-size:var(--pg-font-size-sm);padding:20px 16px}.center-panel{text-align:center;height:100%;color:var(--pg-text-muted);font-size:var(--pg-font-size-lg);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.center-panel h2{color:var(--pg-text);font-size:var(--pg-font-size-xl);letter-spacing:-.02em;margin:0;font-weight:600}.center-panel p{max-width:36rem;margin:0;line-height:1.6}.center-panel button{border-radius:var(--pg-radius-md);background:var(--pg-accent-strong);color:#fff;height:34px;font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease);border:1px solid #0000;align-items:center;gap:6px;padding:0 16px;font-weight:550;display:inline-flex}.center-panel button:hover{background:var(--pg-accent)}.center-panel button:active{transform:translateY(1px)}.spinner{border:2px solid #ffffff1f;border-top-color:var(--pg-text-secondary);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.config-bubble{z-index:40;border:1px solid var(--pg-border);background:var(--pg-surface-2);color:var(--pg-text-secondary);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:var(--pg-shadow-md);opacity:.94;transition:color var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease), opacity var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.config-bubble:hover{opacity:1;color:var(--pg-accent-text);border-color:var(--pg-accent-border);background:var(--pg-surface-3);box-shadow:var(--pg-shadow-lg)}.config-bubble:active{cursor:grabbing;opacity:1}.config-panel{z-index:30;border-radius:var(--pg-radius-xl);background:var(--pg-surface-2);border:1px solid var(--pg-border);width:min(384px,100vw - 28px);box-shadow:var(--pg-shadow-lg);animation:panelEnter var(--pg-duration) var(--pg-ease);flex-direction:column;padding:0;display:flex;position:absolute;top:14px;right:14px;overflow:hidden}@keyframes panelEnter{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.config-panel__header{border-bottom:1px solid var(--pg-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 12px;display:flex}.config-panel__title{align-items:center;gap:10px;min-width:0;display:flex}.config-panel__title-icon{border-radius:var(--pg-radius-md);background:var(--pg-accent-softer);border:1px solid var(--pg-accent-border);width:32px;height:32px;color:var(--pg-accent-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.config-panel__title-text{flex-direction:column;gap:1px;min-width:0;display:flex}.config-panel__title-text strong{color:var(--pg-text);font-size:var(--pg-font-size-md);letter-spacing:-.01em;font-weight:600}.config-panel__subtitle{color:var(--pg-text-muted);font-size:var(--pg-font-size-xs)}.config-panel__body{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:min(64vh,520px);padding:14px;display:flex;overflow-y:auto}.config-panel__section{flex-direction:column;gap:10px;padding:4px 0 14px;display:flex}.config-panel__section+.config-panel__section{border-top:1px solid var(--pg-border-subtle);padding-top:14px}.config-panel__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--pg-text-muted);margin:0;font-size:11px;font-weight:600}.config-panel label{font-size:var(--pg-font-size-sm);color:var(--pg-text-secondary);letter-spacing:.005em;flex-direction:column;gap:5px;font-weight:500;display:flex}.config-panel input:not([type=checkbox]),.config-panel select{border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);background:var(--pg-surface-inset);width:100%;height:34px;color:var(--pg-text);font-family:var(--pg-font);font-size:var(--pg-font-size-md);transition:border-color var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);outline:none;padding:0 10px}.config-panel input:not([type=checkbox]):hover,.config-panel select:hover{border-color:var(--pg-border-strong)}.config-panel input:not([type=checkbox]):focus,.config-panel select:focus{border-color:var(--pg-ring);background:#0000006b;box-shadow:0 0 0 3px #8f8dff24}.config-panel input::placeholder{color:var(--pg-text-faint)}.config-panel__toggle{cursor:pointer;padding:0;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;display:flex!important}.config-panel__toggle input[type=checkbox]{appearance:none;border-radius:var(--pg-radius-full);border:1px solid var(--pg-border-strong);background:var(--pg-surface-inset);cursor:pointer;width:38px;height:22px;transition:background var(--pg-duration) var(--pg-ease), border-color var(--pg-duration) var(--pg-ease);flex-shrink:0;margin:0;position:relative}.config-panel__toggle input[type=checkbox]:after{content:"";background:var(--pg-text-muted);width:16px;height:16px;transition:transform var(--pg-duration) var(--pg-ease), background var(--pg-duration) var(--pg-ease);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000080}.config-panel__toggle input[type=checkbox]:checked{background:var(--pg-accent-strong);border-color:var(--pg-accent-strong)}.config-panel__toggle input[type=checkbox]:checked:after{background:#fff;transform:translate(16px)}.config-panel__toggle input[type=checkbox]:hover{border-color:var(--pg-accent-border)}.config-panel__mode{border-radius:var(--pg-radius-full);font-size:var(--pg-font-size-xs);color:var(--pg-text-muted);background:var(--pg-surface-inset);border:1px solid var(--pg-border-subtle);align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.config-panel__mode:before{content:"";background:var(--pg-text-faint);border-radius:50%;width:6px;height:6px}.config-panel__mode--proxy{color:var(--pg-accent-text);background:var(--pg-accent-softer);border-color:var(--pg-accent-border)}.config-panel__mode--proxy:before{background:var(--pg-accent);box-shadow:0 0 0 3px #8f8dff29}.config-panel__footer{border-top:1px solid var(--pg-border-subtle);gap:8px;padding:12px 14px 14px;display:flex}.config-panel__save{border-radius:var(--pg-radius-md);background:var(--pg-accent-strong);color:#fff;height:34px;font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease);border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:550;display:inline-flex}.config-panel__save:hover{background:var(--pg-accent)}.config-panel__save:active{transform:translateY(1px)}.config-panel__export{border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);height:34px;color:var(--pg-text-secondary);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease);background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.config-panel__export:hover{background:var(--pg-surface-hover);border-color:var(--pg-border-strong);color:var(--pg-text)}.config-panel__hint{font-size:var(--pg-font-size-xs);color:var(--pg-text-muted);background:var(--pg-surface-inset);border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-md);margin:0;padding:10px 12px;line-height:1.55}.config-panel__hint+.config-panel__hint{margin-top:8px}.config-panel__hint code{color:var(--pg-accent-text);background:var(--pg-accent-softer);border-radius:var(--pg-radius-xs);font-size:10.5px;font-family:var(--pg-mono);padding:1px 5px}.config-panel__disabled{opacity:.45}.config-panel__disabled input,.config-panel__disabled select{cursor:not-allowed}.config-panel__checkbox{cursor:pointer;flex-direction:row!important;align-items:center!important;gap:8px!important}.config-panel__checkbox input{margin:0}.export-dialog-backdrop{z-index:49;-webkit-backdrop-filter:blur(4px);animation:backdropEnter var(--pg-duration) var(--pg-ease);background:#060609a8;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}@keyframes backdropEnter{0%{opacity:0}to{opacity:1}}.export-dialog{z-index:50;border-radius:var(--pg-radius-xl);background:var(--pg-surface-2);border:1px solid var(--pg-border);width:min(520px,100vw - 24px);max-height:min(76vh,660px);box-shadow:var(--pg-shadow-lg);animation:exportDialogEnter .2s var(--pg-ease);flex-direction:column;gap:12px;padding:16px;display:flex;position:relative}@keyframes exportDialogEnter{0%{opacity:0}to{opacity:1}}.export-dialog__header{color:var(--pg-text);font-size:var(--pg-font-size-lg);letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.export-dialog__header button{border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-sm);color:var(--pg-text-muted);font-family:var(--pg-font);font-size:var(--pg-font-size-xs);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease);background:0 0;padding:5px 10px}.export-dialog__header button:hover{background:var(--pg-surface-hover);border-color:var(--pg-border-strong);color:var(--pg-text)}.export-dialog__hint{font-size:var(--pg-font-size-sm);color:var(--pg-text-muted);margin:0;line-height:1.55}.export-dialog__hint code{color:var(--pg-accent-text);background:var(--pg-accent-softer);border-radius:var(--pg-radius-xs);font-size:11px;font-family:var(--pg-mono);padding:1px 5px}.export-dialog__warn{font-size:var(--pg-font-size-xs);color:#d97706;margin:0;line-height:1.45}.export-dialog__error{font-size:var(--pg-font-size-xs);color:var(--pg-danger);margin:0;line-height:1.45}.export-dialog__toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.export-dialog__toolbar button{border:1px solid var(--pg-border);border-radius:var(--pg-radius-sm);color:var(--pg-text-muted);font-family:var(--pg-font);font-size:var(--pg-font-size-xs);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease), border-color var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease);background:0 0;padding:5px 11px}.export-dialog__toolbar button:hover:not(:disabled){background:var(--pg-surface-hover);border-color:var(--pg-border-strong);color:var(--pg-text)}.export-dialog__toolbar button:disabled{opacity:.35;cursor:default}.export-dialog__count{font-size:var(--pg-font-size-xs);color:var(--pg-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.export-dialog__list{border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-md);background:var(--pg-surface-inset);flex:1;min-height:180px;max-height:380px;overflow:auto}.export-dialog__row{font-size:var(--pg-font-size-sm);color:var(--pg-text-secondary);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease);align-items:center;gap:8px;margin:0;padding:7px 10px;display:flex}.export-dialog__row:hover{background:var(--pg-surface-hover)}.export-dialog__row--dir{color:var(--pg-text-muted);font-weight:550}.export-dialog__row input{margin:0}.export-dialog__status{text-align:center;color:var(--pg-text-faint);font-size:var(--pg-font-size-sm);padding:20px}.export-dialog__footer{justify-content:flex-end;display:flex}.export-dialog__footer button{border-radius:var(--pg-radius-md);height:34px;font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease);border:none;align-items:center;gap:6px;padding:0 16px;font-weight:550;display:inline-flex}.export-dialog__footer button:active{transform:translateY(1px)}.export-dialog__primary{color:#fff;background:var(--pg-accent-strong)!important}.export-dialog__primary:hover:not(:disabled){background:var(--pg-accent)!important}.export-dialog__primary:disabled{opacity:.4;cursor:default}.variants-panel{background:var(--pg-surface-1);flex-direction:column;flex:1;min-height:0;display:flex}.variants-panel__composer{border-bottom:1px solid var(--pg-border-subtle);flex-direction:column;flex-shrink:0;gap:10px;padding:12px;display:flex}.variants-panel__composer-label{font-size:var(--pg-font-size-sm);color:var(--pg-text);align-items:center;gap:6px;font-weight:600;display:flex}.variants-panel__input{resize:vertical;border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);background:var(--pg-surface-inset);width:100%;min-height:64px;color:var(--pg-text);font-family:var(--pg-font);font-size:var(--pg-font-size-md);transition:border-color var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);outline:none;padding:9px 11px;line-height:1.5}.variants-panel__input:hover{border-color:var(--pg-border-strong)}.variants-panel__input:focus{border-color:var(--pg-ring);background:#0000006b;box-shadow:0 0 0 3px #8f8dff24}.variants-panel__input::placeholder{color:var(--pg-text-faint)}.variants-panel__composer-row{align-items:center;gap:10px;display:flex}.variants-panel__count{font-size:var(--pg-font-size-sm);color:var(--pg-text-secondary);align-items:center;gap:8px;font-weight:500;display:flex}.variants-panel__count select{border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);background:var(--pg-surface-inset);height:30px;color:var(--pg-text);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:border-color var(--pg-duration-fast) var(--pg-ease);outline:none;padding:0 8px}.variants-panel__count select:focus{border-color:var(--pg-ring)}.variants-panel__generate{border-radius:var(--pg-radius-md);background:var(--pg-accent-strong);color:#fff;height:32px;font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease);border:1px solid #0000;align-items:center;gap:7px;margin-left:auto;padding:0 16px;font-weight:550;display:inline-flex}.variants-panel__generate:hover:not(:disabled){background:var(--pg-accent)}.variants-panel__generate:active:not(:disabled){transform:translateY(1px)}.variants-panel__generate:disabled{opacity:.45;cursor:default}.variants-panel__hint{font-size:var(--pg-font-size-xs);color:var(--pg-text-faint)}.variants-panel__strip{border-bottom:1px solid var(--pg-border-subtle);scrollbar-width:none;flex-shrink:0;gap:10px;padding:12px;display:flex;overflow-x:auto}.variants-panel__strip::-webkit-scrollbar{display:none}.variants-panel__card{border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-lg);background:var(--pg-surface-2);cursor:pointer;width:128px;transition:border-color var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease), transform var(--pg-duration-fast) var(--pg-ease);flex-direction:column;flex:none;padding:0;display:flex;overflow:hidden}.variants-panel__card:hover{border-color:var(--pg-border-strong);transform:translateY(-1px)}.variants-panel__card:active{transform:translateY(0)}.variants-panel__card--active{border-color:var(--pg-accent);box-shadow:0 0 0 3px var(--pg-accent-softer)}.variants-panel__thumb{aspect-ratio:4/3;background:#fff;width:100%;display:block}.variants-panel__thumb iframe{pointer-events:none;border:0;width:100%;height:100%;display:block}.variants-panel__card-name{font-size:var(--pg-font-size-xs);color:var(--pg-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;border-top:1px solid var(--pg-border-subtle);padding:7px 10px 8px;font-weight:500;display:block;overflow:hidden}.variants-panel__card--active .variants-panel__card-name{color:var(--pg-accent-text)}.variants-panel__empty-title{color:var(--pg-text);font-weight:600;font-size:var(--pg-font-size-lg);letter-spacing:-.01em}.variants-panel__stage{flex-direction:column;flex:1;min-height:0;display:flex}.variants-panel__stage-bar{border-bottom:1px solid var(--pg-border-subtle);background:var(--pg-surface-1);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.variants-panel__toggle{background:var(--pg-surface-inset);border:1px solid var(--pg-border-subtle);border-radius:var(--pg-radius-md);gap:2px;padding:3px;display:flex}.variants-panel__toggle-btn{border-radius:var(--pg-radius-sm);height:26px;color:var(--pg-text-muted);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);cursor:pointer;transition:background var(--pg-duration-fast) var(--pg-ease), color var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.variants-panel__toggle-btn:hover{color:var(--pg-text-secondary)}.variants-panel__toggle-btn--active{background:var(--pg-surface-3);color:var(--pg-text);box-shadow:var(--pg-shadow-xs)}.variants-panel__stage-name{font-size:var(--pg-font-size-xs);color:var(--pg-text-muted);font-family:var(--pg-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.variants-panel__stage-spacer{flex:1;min-width:0}.variants-panel__stage-body{background:var(--pg-surface-1);flex-direction:column;flex:1;min-height:0;display:flex}.variants-panel__preview{background:#fff;border:0;flex:1;width:100%;height:100%;display:block}.variants-panel__loading{height:100%;color:var(--pg-text-muted);font-size:var(--pg-font-size-md);justify-content:center;align-items:center;display:flex}.variants-panel__iterate{border-top:1px solid var(--pg-border-subtle);background:var(--pg-surface-1);flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.variants-panel__iterate-input{border:1px solid var(--pg-border);border-radius:var(--pg-radius-md);background:var(--pg-surface-inset);min-width:0;height:32px;color:var(--pg-text);font-family:var(--pg-font);font-size:var(--pg-font-size-sm);transition:border-color var(--pg-duration-fast) var(--pg-ease), background var(--pg-duration-fast) var(--pg-ease), box-shadow var(--pg-duration-fast) var(--pg-ease);outline:none;flex:1;padding:0 11px}.variants-panel__iterate-input:hover{border-color:var(--pg-border-strong)}.variants-panel__iterate-input:focus{border-color:var(--pg-ring);background:#0000006b;box-shadow:0 0 0 3px #8f8dff24}.variants-panel__iterate-input::placeholder{color:var(--pg-text-faint)}
