:root{--vox-bg-app:#FAFAFA;--vox-bg-panel:#FFFFFF;--vox-bg-modal:#FFFFFF;--vox-border-base:#E4E4E7;--border-focus:#EA580C;--vox-text-main:#09090B;--vox-text-muted:#52525B;--vs-bg-base:var(--vox-bg-app);--vs-bg-surface:var(--vox-bg-panel);--vs-bg-raised:var(--vox-bg-modal);--vs-bg-input:transparent;--vs-bg-well:var(--vox-bg-panel);--vs-bg-hover:#F4F4F5;--vs-bg-inset:#F4F4F5;--vs-border-subtle:var(--vox-border-base);--vs-border-medium:var(--vox-border-base);--vs-border-strong:var(--vox-border-base);--vs-text-primary:var(--vox-text-main);--vs-text-secondary:var(--vox-text-muted);--vs-text-tertiary:var(--vox-text-muted);--vs-text-ghost:var(--vox-text-muted);--vs-accent:var(--border-focus);--vs-accent-hover:#C2410C;--vs-accent-dim:rgba(234,88,12,0.1);--vs-accent-glow:rgba(234,88,12,0.05);--vs-success:#16A34A;--vs-warning:#CA8A04;--vs-error:#DC2626;--vs-info:#2563EB;--vs-success-dim:rgba(22,163,74,0.07);--vs-warning-dim:rgba(202,138,4,0.07);--vs-error-dim:rgba(220,38,38,0.07);--vs-info-dim:rgba(37,99,235,0.07);--vs-shadow-sm:none;--vs-shadow-md:none;--vs-shadow-lg:none;--vs-shadow-xl:none;--vs-shadow-glow:none;--vs-cream-inset:none;--vs-cream-shadow:none;--vs-cream-hover:none;--vs-glass-bg:var(--vox-bg-panel);--vs-glass-border:var(--vox-border-base);--vs-glass-blur:0px;--vs-connector-rail:#CBD5E1}html.dark{--vox-bg-app:#0e0e10;--vox-bg-panel:#141417;--vox-bg-modal:#1d1d22;--vox-border-base:#2d2d35;--vox-text-main:#f2f2f4;--vox-text-muted:#b3b3b8;--vs-bg-hover:#232328;--vs-bg-inset:#232328;--vs-connector-rail:#3b3b44}.vx-editor-active{background:var(--vs-accent)!important;color:white!important;border-color:var(--vs-accent)!important}.vx-editor-active:hover{background:var(--vs-accent-hover)!important}.vx-editing .vs-topbar{pointer-events:none;opacity:.5}.vx-editing .vs-statusbar{pointer-events:none}.vx-editing #btn-redo-status,.vx-editing #btn-undo-status{pointer-events:auto}.vx-editing #btn-download,.vx-editing #btn-preview-site,.vx-editing #btn-snapshot,.vx-editing #publish-state-label,.vx-editing .vs-publish-split{opacity:.35;transition:opacity .12s ease}.vx-editing #conversation-panel{pointer-events:none;opacity:.5}.vx-editing .vs-preview-toolbar{pointer-events:none}.vx-editing #btn-external-preview,.vx-editing #btn-refresh-preview,.vx-editing #btn-save-design,.vx-editing .vs-device-toggle{opacity:.35}.vx-editing #btn-visual-editor,.vx-editing #preview-frame-container{pointer-events:auto}.vs-ai-streaming .vs-statusbar,.vs-ai-streaming .vs-topbar{pointer-events:none;opacity:.5;transition:opacity .2s ease}.vs-ai-streaming .vs-preview-toolbar{pointer-events:none}.vs-ai-streaming #btn-external-preview,.vs-ai-streaming #btn-refresh-preview,.vs-ai-streaming #btn-save-design,.vs-ai-streaming #btn-visual-editor,.vs-ai-streaming .vs-device-toggle{opacity:.35}.vs-ai-streaming #conversation-panel{pointer-events:auto;opacity:1}.vs-ai-streaming .vs-prompt-area{pointer-events:none;opacity:.45;transition:opacity .2s ease}.vx-context-toolbar{position:fixed;z-index:99999;display:flex;align-items:center;gap:2px;background:var(--vs-bg-raised);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);padding:4px;box-shadow:var(--vs-shadow-lg),0 0 0 1px rgba(0,0,0,.04);opacity:0;pointer-events:none;transition:opacity .12s var(--ease-out),transform .12s var(--ease-out);transform:translate(-50%,-100%) translateY(4px);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.vx-tb-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-100%) translateY(0)}.vx-tb-below{transform:translate(-50%) translateY(-4px)}.vx-tb-below.vx-tb-visible{transform:translate(-50%) translateY(0)}.vx-tb-label{font:500 10px/1 var(--font-mono);color:var(--vs-text-ghost);padding:0 8px;white-space:nowrap}.vx-tb-actions{gap:1px}.vx-tb-actions,.vx-tb-btn{display:flex;align-items:center}.vx-tb-btn{gap:5px;padding:6px 10px;font:500 11px/1 var(--font-sans);color:var(--vs-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .12s var(--ease-out);white-space:nowrap}.vx-tb-btn:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary)}.vx-tb-btn:active{transform:scale(.96)}.vx-tb-btn-danger{color:var(--vs-text-ghost);padding:6px 8px}.vx-tb-btn-danger:hover{background:rgba(239,68,68,.1);color:#ef4444}.vx-tb-btn-ai{color:var(--vs-accent);font-weight:600}.vx-tb-btn-ai:hover{background:color-mix(in srgb,var(--vs-accent) 14%,transparent);color:var(--vs-accent)}.vx-tb-divider{width:1px;height:20px;background:var(--vs-border-subtle);margin:0 2px}.vx-tb-readonly{display:flex;flex-direction:column;gap:6px;padding:10px 14px;min-width:220px;max-width:270px}.vx-tb-readonly-header{display:flex;align-items:center;gap:5px;white-space:nowrap}.vx-tb-readonly-lock{width:11px;height:11px;flex-shrink:0;color:var(--vs-text-ghost);opacity:.6}.vx-tb-readonly-kind{font:600 9px/1 var(--font-sans);color:var(--vs-text-ghost);text-transform:uppercase;letter-spacing:.06em}.vx-tb-readonly-sep{width:2.5px;height:2.5px;border-radius:50%;flex-shrink:0;background:var(--vs-text-ghost);opacity:.35}.vx-tb-readonly-file{font:400 9.5px/1 var(--font-mono);color:var(--vs-text-ghost);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vx-tb-readonly-msg{font:400 11px/1.35 var(--font-sans);color:var(--vs-text-secondary);margin:0}.vx-tb-readonly-actions{display:flex;justify-content:center;padding-top:2px}.vx-tb-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;cursor:pointer;font:500 11px/1 var(--font-sans);white-space:nowrap;color:#fff;background:var(--vs-accent);transition:all .12s var(--ease-out)}.vx-tb-btn-primary:hover{filter:brightness(1.08)}.vx-tb-btn-primary:active{transform:scale(.97)}.vx-tb-btn-primary kbd{font:500 9px/1 var(--font-mono);color:rgba(255,255,255,.65);background:rgba(255,255,255,.15);border-radius:3px;padding:2px 4px}.vx-tb-global-cue{display:flex;align-items:center;gap:6px;padding:5px 10px;font:500 10px/1 var(--font-sans);color:#d97706;background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.15);border-radius:var(--radius-md);white-space:nowrap;margin-right:2px}.vx-tb-global-cue svg{width:12px;height:12px;stroke:currentColor;opacity:.8}.vx-richtext-toolbar{position:fixed;z-index:100000;display:flex;align-items:center;background:var(--vs-bg-raised);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);padding:3px;box-shadow:var(--vs-shadow-lg),0 0 0 1px rgba(0,0,0,.04);opacity:0;pointer-events:none;transition:opacity .1s var(--ease-out),transform .1s var(--ease-out);transform:translate(-50%,-100%) translateY(4px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.vx-rt-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-100%) translateY(0)}.vx-rt-actions{gap:1px}.vx-rt-actions,.vx-rt-btn{display:flex;align-items:center}.vx-rt-btn{justify-content:center;width:30px;height:28px;padding:0;font:600 10px/1 var(--font-mono);color:var(--vs-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .1s var(--ease-out)}.vx-rt-btn:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary)}.vx-rt-btn:active{transform:scale(.92)}.vx-rt-active{background:var(--vs-accent)!important;color:var(--vs-bg-base,#1a1410)!important}.vx-rt-btn-clear{color:var(--vs-text-ghost)}.vx-rt-btn-clear:hover{color:var(--vs-text-primary)}.vx-rt-divider{width:1px;height:18px;background:var(--vs-border-subtle);margin:0 2px;flex-shrink:0}.vx-rt-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vs-accent) 55%,transparent);outline-offset:1px}.vx-rt-btn-save{width:auto;padding:0 10px;gap:4px;font:600 11px/1 var(--font-sans);color:#fff;background:var(--vs-accent);border-radius:var(--radius-md)}.vx-rt-btn-save:hover{background:var(--vs-accent-hover)!important;color:#fff!important}.vx-rt-btn-save kbd{display:inline-block;font:500 9px/1 var(--font-mono);padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.2);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.15)}.vx-rt-btn-cancel{width:auto;padding:0 8px;gap:4px;font:500 11px/1 var(--font-sans);color:var(--vs-text-ghost)}.vx-rt-btn-cancel kbd{display:inline-block;font:500 9px/1 var(--font-mono);padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.06);color:var(--vs-text-ghost);border:1px solid var(--vs-border-subtle)}.vx-rt-btn-cancel:hover{color:var(--vs-text-primary)!important}.vx-rt-php-hint{display:flex;align-items:center;gap:5px;padding:0 8px;font:500 10px/1 var(--font-sans);color:var(--vs-text-ghost);white-space:nowrap}.vx-style-panel{position:fixed;z-index:99998;width:356px;max-height:calc(100vh - 104px);background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--vs-shadow-xl);display:flex;flex-direction:column;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);overflow:hidden}.vx-sp-visible{opacity:1;transform:translateY(0) scale(1)}.vx-sp-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 14px;border-bottom:1px solid var(--vs-border-subtle);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.vx-sp-header:active{cursor:grabbing}.vx-sp-title{font:600 13px/1.2 var(--font-sans);color:var(--vs-text-primary)}.vx-sp-header-actions{display:flex;align-items:center;gap:8px}.vx-sp-drag-hint{font-size:10px;color:var(--vs-text-ghost);letter-spacing:-2px}.vx-sp-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--vs-text-tertiary,var(--vs-text-ghost));cursor:pointer;transition:all .12s var(--ease-out)}.vx-sp-close svg{width:14px;height:14px}.vx-sp-close:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary)}.vx-ai-panel{position:fixed;z-index:99998;width:380px;max-width:calc(100vw - 32px);background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--vs-shadow-xl),0 0 0 1px rgba(0,0,0,.04);display:flex;flex-direction:column;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);overflow:hidden}.vx-ai-visible{opacity:1;transform:translateY(0) scale(1)}.vx-ai-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 14px;border-bottom:1px solid var(--vs-border-subtle);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.vx-ai-header:active{cursor:grabbing}.vx-ai-header-left,.vx-ai-header-right{display:flex;align-items:center;gap:8px}.vx-ai-icon{color:var(--vs-accent);flex-shrink:0}.vx-ai-title{font:600 13px/1.2 var(--font-sans);color:var(--vs-text-primary)}.vx-ai-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.vx-ai-input-wrap{position:relative;background:var(--vs-bg-input,var(--vs-bg-well));border:1px solid var(--vs-border-subtle);border-radius:var(--radius-2xl);transition:all .2s var(--ease-out)}.vx-ai-input-wrap:focus-within{border-color:var(--vs-accent);box-shadow:0 0 0 3px var(--vs-accent-dim),var(--vs-shadow-sm)}.vx-ai-input{width:100%;min-height:38px;max-height:140px;padding:14px 52px 14px 16px;font:400 13px/1.5 var(--font-sans);color:var(--vs-text-primary);background:transparent;border:none;outline:none;resize:none}.vx-ai-input::-moz-placeholder{color:var(--vs-text-ghost)}.vx-ai-input::placeholder{color:var(--vs-text-ghost)}.vx-ai-input:disabled{opacity:.5;cursor:not-allowed}.vx-ai-send{position:absolute;right:8px;bottom:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--vs-accent);color:#fff;border:none;cursor:pointer;transition:all .15s var(--ease-out)}.vx-ai-send:hover{background:var(--vs-accent-hover);box-shadow:var(--vs-shadow-glow);transform:scale(1.05)}.vx-ai-send:active{transform:scale(.95)}.vx-ai-send:disabled{opacity:.4;cursor:not-allowed;transform:none}.vx-ai-cancel{position:absolute;right:8px;bottom:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--vs-bg-raised);color:var(--vs-text-secondary);border:1px solid var(--vs-border-subtle);cursor:pointer;transition:all .15s var(--ease-out)}.vx-ai-cancel:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary);border-color:var(--vs-border-medium)}.vx-ai-status{gap:10px;padding:8px 12px;background:color-mix(in srgb,var(--vs-accent) 8%,var(--vs-bg-surface));border:1px solid color-mix(in srgb,var(--vs-accent) 20%,transparent);border-radius:var(--radius-lg);font:500 12px/1 var(--font-sans);color:var(--vs-accent)}.vx-ai-spinner,.vx-ai-status{display:flex;align-items:center}.vx-ai-spinner{gap:3px}.vx-ai-spinner i{display:block;width:4px;height:4px;border-radius:50%;background:var(--vs-accent);animation:vx-ai-bounce 1.2s ease-in-out infinite}.vx-ai-spinner i:nth-child(2){animation-delay:.15s}.vx-ai-spinner i:nth-child(3){animation-delay:.3s}@keyframes vx-ai-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.vx-section-picker-overlay{z-index:100001}.vx-section-picker{width:620px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column;border-radius:var(--radius-xl);overflow:hidden}.vx-section-picker-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--vs-border-subtle);gap:12px}.vx-section-picker-title{display:flex;align-items:center;gap:8px;font:600 15px/1.2 var(--font-sans);color:var(--vs-text-primary);flex-shrink:0}.vx-section-picker-title svg{color:var(--vs-accent);flex-shrink:0}.vx-section-picker-meta{flex:1;font:400 12px/1 var(--font-sans);color:var(--vs-text-ghost);text-align:right;white-space:nowrap}.vx-section-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px 20px;overflow-y:auto;scrollbar-gutter:stable}.vx-section-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px 16px;background:var(--vs-bg-raised);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all .18s var(--ease-out);text-align:center;outline:none}.vx-section-card:hover{border-color:var(--vs-accent);background:color-mix(in srgb,var(--vs-accent) 6%,var(--vs-bg-raised));transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08),0 0 0 1px color-mix(in srgb,var(--vs-accent) 20%,transparent)}.vx-section-card:active{transform:translateY(0) scale(.98)}.vx-section-card:focus-visible{outline:2px solid var(--vs-accent);outline-offset:2px}.vx-section-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--vs-accent) 10%,var(--vs-bg-surface));color:var(--vs-accent);transition:all .18s var(--ease-out)}.vx-section-card:hover .vx-section-card-icon{background:color-mix(in srgb,var(--vs-accent) 18%,var(--vs-bg-surface));transform:scale(1.05)}.vx-section-card-label{font:600 13px/1.2 var(--font-sans);color:var(--vs-text-primary);margin-top:2px}.vx-section-card-desc{font:400 11px/1.3 var(--font-sans);color:var(--vs-text-ghost)}.vx-section-card-badge{position:absolute;top:8px;right:8px;padding:2px 6px;font:600 9px/1.4 var(--font-sans);color:var(--vs-text-ghost);background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.vx-section-card-exists{opacity:.65}.vx-section-card-exists:hover{opacity:1}.vx-section-card-selected{border-color:var(--vs-accent)!important;background:color-mix(in srgb,var(--vs-accent) 8%,var(--vs-bg-raised))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--vs-accent) 25%,transparent)}.vx-section-card-selected .vx-section-card-icon{background:color-mix(in srgb,var(--vs-accent) 20%,var(--vs-bg-surface))}.vx-section-grid-collapsed{max-height:180px;overflow-y:auto}.vx-section-grid-collapsed .vx-section-card{padding:12px 10px 10px}.vx-section-grid-collapsed .vx-section-card-icon{width:32px;height:32px}.vx-section-grid-collapsed .vx-section-card-icon svg{width:16px;height:16px}.vx-section-grid-collapsed .vx-section-card-desc{display:none}.vx-section-picker-footer{border-top:1px solid var(--vs-border-subtle);padding:14px 20px 18px;display:flex;flex-direction:column;gap:10px;background:var(--vs-bg-base);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.vx-section-footer-selected{display:flex;align-items:center;justify-content:space-between}.vx-section-footer-type{font:600 13px/1 var(--font-sans);color:var(--vs-text-primary)}.vx-section-footer-change{font:500 11px/1 var(--font-sans);color:var(--vs-text-ghost);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .12s var(--ease-out)}.vx-section-footer-change:hover{color:var(--vs-text-primary);background:var(--vs-bg-hover)}.vx-section-footer-input-row{display:flex;gap:8px}.vx-section-footer-input{flex:1;min-height:38px;padding:0 14px;font:400 13px/1 var(--font-sans);color:var(--vs-text-primary);background:var(--vs-bg-input,var(--vs-bg-well));border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);outline:none;transition:all .2s var(--ease-out)}.vx-section-footer-input:focus{border-color:var(--vs-accent);box-shadow:0 0 0 3px var(--vs-accent-dim)}.vx-section-footer-input::-moz-placeholder{color:var(--vs-text-ghost);font-style:italic}.vx-section-footer-input::placeholder{color:var(--vs-text-ghost);font-style:italic}.vx-section-footer-generate{display:flex;align-items:center;gap:6px;padding:0 18px;min-height:38px;font:600 13px/1 var(--font-sans);color:#fff;background:var(--vs-accent);border:none;border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;transition:all .15s var(--ease-out)}.vx-section-footer-generate:hover{background:var(--vs-accent-hover);box-shadow:var(--vs-shadow-glow);transform:translateY(-1px)}.vx-section-footer-generate:active{transform:scale(.97)}.vx-sp-nav{display:flex;gap:0;padding:0 8px;border-bottom:1px solid var(--vs-border-subtle);background:var(--vs-bg-base)}.vx-sp-seg{flex:1;display:flex;align-items:center;justify-content:center;min-height:38px;padding:12px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--vs-text-tertiary,var(--vs-text-ghost));cursor:pointer;transition:all .12s var(--ease-out)}.vx-sp-seg:hover{color:var(--vs-text-primary)}.vx-sp-seg-active{color:var(--vs-accent);border-bottom-color:var(--vs-accent)}.vx-sp-seg svg{pointer-events:none;width:18px;height:18px;stroke-width:1.5}.vx-sp-seg:focus-visible{outline:2px solid color-mix(in srgb,var(--vs-accent) 55%,transparent);outline-offset:-2px}.vx-sp-breakpoints{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid var(--vs-border-subtle);background:var(--vs-bg-base)}.vx-sp-bp{position:relative;flex:1;min-height:24px;padding:3px 4px;background:transparent;border:none;border-radius:var(--radius-sm);font:600 10px/1 var(--font-mono);color:var(--vs-text-ghost);cursor:pointer;transition:all .1s var(--ease-out);display:flex;align-items:center;justify-content:center;gap:3px}.vx-sp-bp:hover{color:var(--vs-text-secondary);background:var(--vs-bg-hover)}.vx-sp-bp-active{color:var(--vs-accent);background:color-mix(in srgb,var(--vs-accent) 12%,transparent)}.vx-sp-bp-dot{width:4px;height:4px;border-radius:50%;background:var(--vs-accent);flex-shrink:0}.vx-sp-body{flex:1;overflow-y:auto;padding:12px 20px 18px 14px;scrollbar-gutter:stable both-edges;background:var(--vs-bg-base)}.vx-sp-section{margin-bottom:12px}.vx-sp-section-title{font:600 9px/1 var(--font-sans);color:var(--vs-text-ghost);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.vx-sp-subpanel{padding:9px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);background:var(--vs-bg-surface)}.vx-sp-field-label{display:block;margin-bottom:5px;font:600 9px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--vs-text-ghost)}.vx-sp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vx-sp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vx-sp-grid-compact{gap:7px}.vx-sp-control{min-width:0}.vx-sp-select{width:100%;min-height:30px;padding:6px 28px 6px 8px;font:500 11px/1 var(--font-mono);color:var(--vs-text-primary);background:var(--vs-bg-input,var(--vs-bg-well));border:1px solid transparent;border-radius:var(--radius-md);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a7062' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px}.vx-sp-select:hover{border-color:var(--vs-border-medium,var(--vs-border-subtle))}.vx-sp-select:focus{border-color:var(--vs-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--vs-accent) 14%,transparent)}.vx-sp-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:none;border-radius:var(--radius-lg);background:var(--vs-bg-input,var(--vs-bg-well))}.vx-sp-segment-3col{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-sp-segment-btn{min-height:28px;padding:4px 8px;border:none;border-radius:var(--radius-md);background:transparent;font:600 10px/1 var(--font-sans);color:var(--vs-text-secondary);cursor:pointer;transition:all .12s var(--ease-out)}.vx-sp-segment-btn:hover{color:var(--vs-text-primary)}.vx-sp-segment-btn-active{background:var(--vs-accent);color:var(--vs-bg-base,#1a1410);box-shadow:0 1px 3px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.15)}.vx-icon-segment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.vx-icon-segment-btn{min-height:30px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm);background:var(--vs-bg-raised);color:var(--vs-text-secondary);font:600 18px/1 var(--font-mono);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s var(--ease-out)}.vx-icon-segment-btn:hover{border-color:var(--vs-border-medium,var(--vs-border-subtle));color:var(--vs-text-primary)}.vx-icon-segment-btn-active{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-bg-base,#1a1410)}.vx-display-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.vx-display-btn{min-height:44px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-md);background:var(--vs-bg-raised);color:var(--vs-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.vx-display-btn:hover{border-color:var(--vs-border-medium,var(--vs-border-subtle));color:var(--vs-text-primary)}.vx-display-btn-active{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-bg-base,#1a1410)}.vx-display-icon svg{width:16px;height:16px;stroke-width:1.5}.vx-display-label{font:600 9px/1 var(--font-sans)}.vx-sp-pills{display:flex;flex-wrap:wrap;gap:6px}.vx-sp-pill{min-height:24px;padding:5px 9px;font:500 10px/1 var(--font-mono);color:var(--vs-text-secondary);background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all .1s var(--ease-out);white-space:nowrap}.vx-sp-pill:hover{border-color:var(--vs-border-medium,var(--vs-border-subtle));color:var(--vs-text-primary)}.vx-sp-pill-active{background:var(--vs-accent);color:var(--vs-bg-base,#1a1410);border-color:var(--vs-accent)}.vx-sp-pill-compact{min-height:23px;padding:4px 8px}.vx-display-btn:focus-visible,.vx-icon-segment-btn:focus-visible,.vx-radius-corner:focus-visible,.vx-shade-back:focus-visible,.vx-shadow-card:focus-visible,.vx-side-btn:focus-visible,.vx-sp-close:focus-visible,.vx-sp-color-dot:focus-visible,.vx-sp-color-family:focus-visible,.vx-sp-cprop:focus-visible,.vx-sp-pill:focus-visible,.vx-sp-segment-btn:focus-visible,.vx-sp-select:focus-visible,.vx-sp-shade:focus-visible,.vx-tb-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--vs-accent) 55%,transparent);outline-offset:1px}.vx-side-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:4px}.vx-side-btn{min-height:30px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm);background:var(--vs-bg-raised);color:var(--vs-text-secondary);font:600 11px/1 var(--font-mono);cursor:pointer;display:flex;align-items:center;justify-content:center}.vx-side-btn svg{width:16px;height:16px;stroke-width:1.5}.vx-side-btn-active{background:var(--vs-accent);border-color:var(--vs-accent);color:var(--vs-bg-base,#1a1410)}.vx-sp-value-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.vx-sp-value-readout{font:600 10px/1 var(--font-mono);color:var(--vs-text-secondary)}.vx-value-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.vx-sp-color-props{display:flex;gap:3px;padding:3px;background:var(--vs-bg-input,var(--vs-bg-well));border-radius:var(--radius-lg);border:none}.vx-sp-cprop{flex:1;min-height:28px;padding:5px 9px;font:600 10px/1 var(--font-sans);color:var(--vs-text-ghost);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .1s var(--ease-out)}.vx-sp-cprop:hover{color:var(--vs-text-secondary)}.vx-sp-cprop-active{background:var(--vs-accent);color:var(--vs-bg-base,#1a1410);box-shadow:0 1px 2px rgba(0,0,0,.06)}.vx-sp-color-specials{display:flex;gap:12px}.vx-sp-color-dot{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;transition:all .1s var(--ease-out);flex-shrink:0;padding:0}.vx-sp-color-dot:hover{transform:scale(1.15);box-shadow:0 0 0 2px var(--vs-bg-raised),0 1px 4px rgba(0,0,0,.15)}.vx-sp-dot-active{box-shadow:0 0 0 3px var(--vs-bg-raised),0 0 0 5.5px var(--vs-accent);transform:scale(1.05)}.vx-color-matrix{display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-lg);background:var(--vs-bg-surface);max-height:88px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--vs-border-subtle) transparent}.vx-cm-row{display:grid;grid-template-columns:repeat(11,1fr);gap:2px}.vx-cm-cell{height:18px;border:2px solid transparent;border-radius:3px;cursor:pointer;padding:0;transition:all 80ms var(--ease-out)}.vx-cm-cell:hover{transform:scale(1.35);z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.3);border-radius:4px}.vx-cm-active{border-color:white;box-shadow:0 0 0 1.5px var(--vs-accent);z-index:1;transform:scale(1.15);border-radius:4px}.vx-cm-row:first-child .vx-cm-cell:first-child{border-top-left-radius:6px}.vx-cm-row:first-child .vx-cm-cell:last-child{border-top-right-radius:6px}.vx-cm-row:last-child .vx-cm-cell:first-child{border-bottom-left-radius:6px}.vx-cm-row:last-child .vx-cm-cell:last-child{border-bottom-right-radius:6px}.vx-sp-classes{display:flex;flex-wrap:wrap;gap:7px}.vx-sp-class{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;font:500 10px/1 var(--font-mono);color:var(--vs-text-secondary);background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm)}.vx-sp-class:hover{border-color:var(--vs-accent);color:var(--vs-text-primary)}.vx-sp-class-remove{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;background:transparent;border:none;color:var(--vs-text-ghost);cursor:pointer;font-size:12px;padding:0;border-radius:2px}.vx-sp-class-remove:hover{color:#ef4444;background:rgba(239,68,68,.1)}.vx-sp-class-editor{margin-bottom:12px}.vx-sp-class-input{width:100%;min-height:34px;padding:8px 11px;font:400 11px/1 var(--font-mono);color:var(--vs-text-primary);background:var(--vs-bg-input,var(--vs-bg-well));border:1px solid transparent;border-radius:var(--radius-md);outline:none}.vx-sp-class-input:focus{border-color:var(--vs-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--vs-accent) 15%,transparent)}.vx-sp-class-input::-moz-placeholder{color:var(--vs-text-ghost)}.vx-sp-class-input::placeholder{color:var(--vs-text-ghost)}.vx-radius-widget{margin:8px 0 10px;display:flex;justify-content:center}.vx-radius-card{position:relative;width:112px;height:76px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--vs-bg-surface),var(--vs-bg-base))}.vx-radius-corner{position:absolute;width:24px;height:20px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-sm);background:var(--vs-bg-raised);color:var(--vs-text-secondary);font:600 9px/1 var(--font-mono);cursor:pointer}.vx-radius-corner:first-child{top:5px;left:5px}.vx-radius-corner:nth-child(2){top:5px;right:5px}.vx-radius-corner:nth-child(3){bottom:5px;left:5px}.vx-radius-corner:nth-child(4){bottom:5px;right:5px}.vx-radius-corner-active{border-color:var(--vs-accent);background:var(--vs-accent);color:var(--vs-bg-base,#1a1410)}.vx-radius-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 10px/1 var(--font-mono);color:var(--vs-text-ghost);letter-spacing:.06em;pointer-events:none}.vx-shadow-list{display:grid;grid-template-columns:1fr;gap:6px}.vx-shadow-card{min-height:36px;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-md);background:var(--vs-bg-raised);padding:6px 8px;display:flex;align-items:center;gap:8px;cursor:pointer}.vx-shadow-card:hover{border-color:var(--vs-border-medium,var(--vs-border-subtle))}.vx-shadow-card-active{border-color:var(--vs-accent);background:color-mix(in srgb,var(--vs-accent) 14%,var(--vs-bg-raised))}.vx-shadow-preview{width:28px;height:14px;border-radius:4px;background:var(--vs-bg-surface);border:1px solid var(--vs-border-subtle)}.vx-shadow-label{font:600 10px/1 var(--font-sans);color:var(--vs-text-secondary)}.vx-shadow-card-active .vx-shadow-label{color:var(--vs-text-primary)}.vx-opacity-slider{width:100%;accent-color:var(--vs-accent)}.vx-sp-footer{display:flex;gap:12px;padding:11px 14px;border-top:1px solid var(--vs-border-subtle);background:var(--vs-bg-surface)}.vx-sp-footer-btn{flex:1}.vx-sp-reset{min-height:34px;padding:9px 14px;font:600 11px/1 var(--font-sans);color:var(--vs-text-tertiary,var(--vs-text-ghost));background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .12s var(--ease-out)}.vx-sp-reset:hover{color:var(--vs-error,#ef4444)}.vx-sp-apply{min-height:34px;padding:9px 14px;font:700 11px/1 var(--font-sans);color:var(--vs-bg-base,#1a1410);background:linear-gradient(180deg,var(--vs-accent-hover,#f5b03e),var(--vs-accent));border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .12s var(--ease-out);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;gap:6px}.vx-sp-apply:hover{filter:brightness(1.05)}.vx-sp-apply:active{transform:scale(.98)}.vx-modal-overlay{position:fixed;inset:0;z-index:200000;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s var(--ease-out)}.vx-modal-visible{opacity:1}.vx-modal{width:560px;max-width:90vw;max-height:75vh;background:var(--vs-bg-raised);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--vs-shadow-xl);display:flex;flex-direction:column;transform:scale(.96) translateY(8px);transition:transform .18s var(--ease-out)}.vx-modal-visible .vx-modal{transform:scale(1) translateY(0)}.vx-modal-sm{width:380px}.vx-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--vs-border-subtle);font:600 14px/1 var(--font-sans);color:var(--vs-text-primary)}.vx-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--vs-text-ghost);cursor:pointer}.vx-modal-close:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary)}.vx-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.vx-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--vs-border-subtle)}.vx-img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.vx-img-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--vs-bg-surface);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .12s var(--ease-out)}.vx-img-item:hover{border-color:var(--vs-accent);background:var(--vs-bg-hover)}.vx-img-item img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);background:var(--vs-bg-well)}.vx-img-name{font:500 10px/1.2 var(--font-sans);color:var(--vs-text-secondary);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-img-loading{padding:32px;font:400 13px/1.5 var(--font-sans)}.vx-img-empty,.vx-img-loading{grid-column:1/-1;text-align:center;color:var(--vs-text-ghost)}.vx-img-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px}.vx-img-empty svg{opacity:.4;margin-bottom:4px}.vx-img-empty-title{font:600 14px/1.3 var(--font-sans);color:var(--vs-text-secondary);margin:0}.vx-img-empty-desc{font:400 12px/1.5 var(--font-sans);color:var(--vs-text-ghost);margin:0;max-width:240px}.vx-form-group{margin-bottom:12px}.vx-form-label{display:block;font:600 11px/1 var(--font-sans);color:var(--vs-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.vx-form-input{width:100%;padding:8px 12px;font:400 13px/1.4 var(--font-sans);color:var(--vs-text-primary);background:var(--vs-bg-well);border:1px solid var(--vs-border-subtle);border-radius:var(--radius-md);outline:none}.vx-form-input:focus{border-color:var(--vs-accent);box-shadow:0 0 0 2px rgba(59,130,246,.15)}select.vx-form-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.vx-btn-primary{padding:8px 16px;font:600 12px/1 var(--font-sans);color:white;background:var(--vs-accent);border:none;border-radius:var(--radius-md);cursor:pointer}.vx-btn-primary:hover{background:var(--vs-accent-hover)}.vx-btn-secondary{padding:8px 16px;font:600 12px/1 var(--font-sans);color:var(--vs-text-secondary);background:transparent;border:1px solid var(--vs-border-subtle);border-radius:var(--radius-md);cursor:pointer}.vx-btn-secondary:hover{background:var(--vs-bg-hover);color:var(--vs-text-primary)}.vx-btn-danger{padding:8px 16px;font:600 12px/1 var(--font-sans);color:white;background:#ef4444;border:none;border-radius:var(--radius-md);cursor:pointer}.vx-btn-danger:hover{background:#dc2626}.vx-save-indicator{position:fixed;bottom:52px;right:20px;z-index:99999;padding:8px 14px;font:500 12px/1 var(--font-sans);color:white;background:rgba(34,197,94,.9);border-radius:var(--radius-lg);box-shadow:var(--vs-shadow-md);opacity:0;transform:translateY(8px);transition:all .2s var(--ease-out);pointer-events:none}.vx-save-visible{opacity:1;transform:translateY(0)}.vx-save-error{background:rgba(239,68,68,.9)}@media (max-width:900px){.vx-style-panel{width:min(350px,calc(100vw - 28px));max-height:calc(100vh - 24px)}.vx-ai-panel{width:min(360px,calc(100vw - 24px))}.vx-sp-body{padding:10px 14px 14px 12px}.vx-display-row{grid-template-columns:repeat(3,minmax(0,1fr))}.vx-sp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.vx-section-picker{width:min(520px,92vw)}.vx-section-picker-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 14px 16px}.vx-section-card{padding:16px 10px 12px}}@keyframes voxel-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes voxel-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.03)}}.is-generating .voxel-top{animation:voxel-lift 1.5s ease-in-out infinite;transform-origin:center}