@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color: #121212;--surface-sunken: #0d0d0f;--surface: #18181b;--surface-raised: #27272a;--surface-overlay: #050505;--border: #3f3f46;--border-subtle: #1f2937;--text-color: #e0e0e0;--text-secondary-color: #a0a0a0;--text-muted: #a1a1aa;--text-strong: #ffffff;--text-on-light: #18181b;--accent: #ffffff;--brand-blue: #3b82f6;--brand-violet: #8b5cf6;--brand-gradient: linear-gradient(135deg, #3b82f6, #8b5cf6);--color-success: #22c55e;--color-success-bright: #4ade80;--color-danger: #ef4444;--color-warning: #f39c12;--like-color: #e74c3c;--regenerate-color: #3498db;--dislike-color: #95a5a6;--download-color: #1abc9c;--focus-ring-color: rgba(255, 255, 255, .2);--glass-bg: rgba(30, 30, 30, .5);--glass-border: rgba(255, 255, 255, .15);--btn-bg-gradient: linear-gradient( 145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .05) );--btn-hover-bg-gradient: linear-gradient( 145deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .1) );--conn-start: #2ecc71;--conn-end: #3498db;--conn-mask: #e84393;--handle-text: #ff00ff;--handle-image: #3498db;--handle-ref: #f39c12;--handle-video: #2ecc71;--handle-conditioning: #1abc9c;--handle-mask: #e84393;--handle-model3d: #9b59b6;--handle-model3d-glow: rgba(155, 89, 182, .45);--model3d-preview-bg: #20242a;--model3d-edge: #1b1f24;--annotate-pin: #4f2bff;--annotate-pin-text: #ffffff;--gizmo-x: #e74c3c;--gizmo-y: #2ecc71;--gizmo-z: #3498db;--gizmo-ring: #f1c40f;--gizmo-center: #ffffff;--gizmo-outline: rgba(0, 0, 0, .55);--gizmo-readout-bg: rgba(5, 5, 5, .82);--neon-cyan: #00f3ff;--neon-glow: rgba(0, 243, 255, .5);--agent-cyan: #4ff9f9;--agent-lilac: #ad9ef5;--agent-violet: #9b7de6;--agent-orb: radial-gradient(circle at 50% 50%, var(--agent-cyan) 0%, var(--agent-lilac) 45%, var(--agent-violet) 100%);--agent-dock-width: 380px;--cost-badge-bg: rgba(59, 130, 246, .12);--cost-badge-border: rgba(59, 130, 246, .35);--cost-badge-text: #93c5fd;--cost-badge-bg-free: rgba(34, 197, 94, .12);--cost-badge-border-free: rgba(34, 197, 94, .35);--cost-badge-text-free: #86efac;--lp-bg: #0b0b0d;--lp-bg-alt: #121215;--lp-card: #16161a;--lp-card-raised: #1c1c21;--lp-line: rgba(255, 255, 255, .08);--lp-line-strong: rgba(255, 255, 255, .16);--lp-nav-bg: rgba(11, 11, 13, .82);--lp-accent: #a5b4fc;--lp-accent-hover: #e4e4e7;--lp-accent-dim: rgba(165, 180, 252, .12);--lp-accent-border: rgba(165, 180, 252, .28);--lp-hero-glow: rgba(139, 92, 246, .13);--lp-shadow: 0 24px 60px -20px rgba(0, 0, 0, .85);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box;margin:0;padding:0}@keyframes flow{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes pulse-aura{0%{box-shadow:0 0 #3498db66}70%{box-shadow:0 0 0 10px #3498db00}to{box-shadow:0 0 #3498db00}}@keyframes spin{to{transform:rotate(360deg)}}.cost-badge-wrap{display:flex;justify-content:center;margin-top:6px}.cost-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--cost-badge-bg);border:1px solid var(--cost-badge-border);color:var(--cost-badge-text);font-size:10px;font-weight:500;letter-spacing:.02em;white-space:nowrap;cursor:help}.cost-badge.cost-badge--auto{background:var(--cost-badge-bg-free);border-color:var(--cost-badge-border-free);color:var(--cost-badge-text-free)}.cost-badge i{font-size:9px;opacity:.85}.spinner{width:50px;height:50px;border:3px solid rgba(0,243,255,.1);border-left-color:var(--neon-cyan);border-radius:50%;animation:spin .8s cubic-bezier(.55,.055,.675,.19) infinite;margin:auto;box-shadow:0 0 15px var(--neon-glow)}.btn-spinner{width:18px;height:18px;border:2px solid rgba(0,243,255,.2);border-top-color:var(--neon-cyan);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;box-shadow:0 0 8px var(--neon-glow);margin-right:8px}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:auto}html{background-color:var(--bg-color);height:100%;margin:0;padding:0}.app-container{display:flex;flex-direction:column;min-height:100%;padding:0px 1rem 1rem;width:100%;max-width:1600px;margin:0 auto}.app-header{display:flex;justify-content:space-between;align-items:center;margin-top:0;margin-bottom:0;padding:5px 0 0;flex-shrink:0}.logo{display:flex;flex-direction:column;gap:2px}.logo-main{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.03em;line-height:1;padding:.1em;margin-top:-.15em;margin-bottom:-.1em;margin-left:-.1em}.logo-tagline{font-size:.85rem;color:var(--text-secondary-color);font-weight:500;letter-spacing:.02em}.mcp-bridge-chip{align-items:center;gap:7px;background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 12px;border-radius:20px;cursor:pointer;font-size:14px}.mcp-bridge-chip .mcp-bridge-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.mcp-bridge-chip[data-state=connecting]{color:var(--color-warning);border-color:var(--color-warning)}.mcp-bridge-chip[data-state=connecting] .mcp-bridge-dot{background:var(--color-warning);animation:mcp-bridge-pulse 1.2s ease-in-out infinite}.mcp-bridge-chip[data-state=connected]{color:var(--color-success-bright);border-color:var(--color-success)}.mcp-bridge-chip[data-state=connected] .mcp-bridge-dot{background:var(--color-success-bright)}@keyframes mcp-bridge-pulse{50%{opacity:.3}}.mcp-node{display:flex;flex-direction:column;gap:8px;padding:6px 2px}.mcp-node-status{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-secondary-color)}.mcp-node-dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary-color);flex-shrink:0}.mcp-node[data-state=connecting] .mcp-node-status{color:var(--color-warning)}.mcp-node[data-state=connecting] .mcp-node-dot{background:var(--color-warning);animation:mcp-bridge-pulse 1.2s ease-in-out infinite}.mcp-node[data-state=connected] .mcp-node-status{color:var(--color-success-bright)}.mcp-node[data-state=connected] .mcp-node-dot{background:var(--color-success-bright)}.mcp-node-hint{font-size:.72rem;color:var(--text-secondary-color);line-height:1.4}.mcp-node-client{width:100%;background:var(--glass-surface);border:1px solid var(--glass-border);color:var(--text-color);padding:5px 6px;border-radius:4px;font-size:.72rem}.mcp-node-where{font-size:.68rem;color:var(--text-secondary-color);line-height:1.4}.mcp-node-config{margin:0;padding:8px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:6px;font-size:.65rem;line-height:1.35;color:var(--text-color);overflow-x:auto;white-space:pre}.mcp-node-link{font-size:.72rem;color:var(--brand-blue);text-decoration:none;display:inline-flex;align-items:center;gap:5px}.mcp-node-link:hover{text-decoration:underline}.output-folder{display:flex;flex-direction:column;gap:8px;padding:6px 2px;flex:1;min-height:0}.output-folder-hint{font-size:.72rem;color:var(--text-secondary-color);line-height:1.4}.output-folder-target{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary-color)}.output-folder-target[data-active=true]{color:var(--text-color)}.output-folder-target[data-active=true] i{color:var(--brand-blue)}.output-folder-auto{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary-color);cursor:pointer}.output-folder-prefix{display:flex;flex-direction:column;gap:4px}.output-folder-prefix label{font-size:.68rem;color:var(--text-muted)}.output-folder-prefix-input{width:100%;box-sizing:border-box;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-color);padding:5px 7px;font-size:.75rem;font-family:var(--font-sans)}.output-folder-prefix-input:focus{outline:none;border-color:var(--brand-blue)}.output-folder-tokens{display:flex;gap:5px}.output-folder-token{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-color);font-size:.68rem;padding:2px 7px;cursor:pointer}.output-folder-token:hover{border-color:var(--brand-blue)}.output-folder-example{font-size:.65rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-folder-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:48px;overflow-y:auto}.output-folder-empty{font-size:.7rem;color:var(--text-muted);line-height:1.4;padding:8px;border:1px dashed var(--border);border-radius:var(--radius-sm);text-align:center}.output-folder-row{display:flex;align-items:center;gap:8px;padding:4px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-shrink:0}.output-folder-thumb{width:32px;height:32px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--surface-raised);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem}.output-folder-thumb img{width:100%;height:100%;object-fit:cover}.output-folder-name{flex:1;min-width:0;font-size:.72rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-folder-name small{color:var(--text-muted)}.output-folder-status{display:flex;align-items:center;gap:4px;font-size:.65rem;color:var(--text-muted);white-space:nowrap}.output-folder-status i{font-size:.55rem}.output-folder-row[data-state=saved] .output-folder-status{color:var(--color-success-bright)}.output-folder-row[data-state=pending] .output-folder-status{color:var(--color-warning)}.output-folder-unlink{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:.7rem}.output-folder-unlink:hover{color:var(--color-danger)}.output-folder-save-btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.output-folder-count{font-size:.7rem;color:var(--text-secondary-color)}.output-folder-error{font-size:.7rem;color:var(--color-danger);line-height:1.35}.app-footer{margin-top:auto;padding-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:.85rem;color:var(--text-secondary-color);opacity:.8;flex-shrink:0}.app-footer a{color:var(--text-secondary-color);text-decoration:none;font-size:.8rem;transition:color .2s}.app-footer a:hover{color:var(--text-color);text-decoration:underline}.main-content-wrapper{flex:1;display:flex;flex-direction:column;width:100%}.container{height:100%;display:flex;flex-direction:column;width:100%}.mode-switcher{width:100%;display:flex;background-color:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:1.5rem;gap:.25rem;flex-shrink:0}.mode-btn{flex:1;padding:.75rem .5rem;border:none;background-color:transparent;color:var(--text-secondary-color);border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.mode-btn.active{background-color:#ffffff1a;color:var(--text-color)}.generator-card{width:100%;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 30px #0000001a;margin-bottom:1.5rem;min-height:600px}.generator-area{position:relative;display:flex;flex-direction:column;gap:1.5rem}.textarea-container{display:flex;flex-direction:column;gap:.5rem}.textarea-container label{font-size:.85rem;font-weight:600;color:var(--text-secondary-color);margin-left:4px}.textarea-container textarea{width:100%;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:var(--text-color);padding:1rem;font-family:inherit;font-size:1rem;resize:vertical;min-height:120px;transition:all .3s ease;outline:none}.textarea-container textarea:focus{background:#0009;border-color:#3498db80;box-shadow:0 0 0 4px #3498db1a}.image-result-container{width:100%;min-height:300px;max-height:600px;background:#0003;border-radius:16px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-bottom:1rem}.image-result-container img{max-width:100%;max-height:600px;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #0000004d}.image-result-container.loading{min-height:400px}.action-buttons-container{margin-top:auto}.generate-btn-main{width:100%;padding:1rem;background:var(--btn-bg-gradient);border:1px solid rgba(255,255,255,.1);border-radius:16px;color:var(--text-color);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 15px #0003}.generate-btn-main:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000004d;background:var(--btn-hover-bg-gradient);border-color:#fff3}.generate-btn-main:disabled{opacity:.7;cursor:not-allowed;transform:none}.generate-btn-main.loading{background:linear-gradient(135deg,#121218f2,#000000f2);border:1px solid var(--neon-cyan);box-shadow:0 0 20px #00f3ff4d,inset 0 0 10px #00f3ff26;color:var(--neon-cyan);text-shadow:0 0 8px var(--neon-glow);opacity:1;cursor:wait}.overlay-buttons-container{position:absolute;bottom:2rem;right:2rem;display:flex;gap:1rem;z-index:20;pointer-events:auto}.action-btn-loop{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#141414cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.action-btn-loop:hover{background:#fff;color:#121212;transform:scale(1.1);box-shadow:0 8px 24px #fff3}.image-upload-area{border:2px dashed rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#ffffff05}.image-upload-area:hover{border-color:#ffffff4d;background:#ffffff0d}#image-preview-container{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary-color)}#image-preview-container i{font-size:2.5rem;color:#ffffff80}#image-preview-container img{max-height:200px;border-radius:8px;box-shadow:0 4px 12px #0003}.canvas-container{width:100%;height:700px;position:relative;border-radius:16px;background-color:#0d0d0f;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.15) 1.5px,transparent 0);background-size:40px 40px;background-position:var(--bg-x, 0px) var(--bg-y, 0px);overflow:hidden;border:1px solid var(--glass-border)}.canvas-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.9) 1.5px,transparent 0);background-size:inherit;background-position:inherit;-webkit-mask-image:radial-gradient(circle at var(--mouse-x, -100px) var(--mouse-y, -100px),black 0%,transparent 150px);mask-image:radial-gradient(circle at var(--mouse-x, -100px) var(--mouse-y, -100px),black 0%,transparent 150px);z-index:0}#canvas-workspace{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0;pointer-events:none;z-index:1}#connections-layer{width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none;z-index:5;overflow:visible}.connection-line{fill:none;stroke-width:3px;stroke-linecap:round;pointer-events:stroke;cursor:pointer;transition:stroke-width .2s;stroke:url(#edge-gradient);filter:url(#glow)}.connection-line.mask-connection{stroke:url(#edge-gradient-mask)}.connection-line.model3d-connection{stroke:url(#edge-gradient-model3d)}.connection-line:hover{stroke-width:5px}.connection-flow{fill:none;stroke:#fff6;stroke-width:2px;stroke-dasharray:4,8;animation:flow 1.5s linear infinite;pointer-events:none;filter:drop-shadow(0 0 2px rgba(255,255,255,.5))}.connection-line.temp{stroke:#ffffff4d;stroke-dasharray:6,6;stroke-width:2;filter:none}.node-handle{position:absolute;width:14px;height:14px;background:#1a1a1c;border:2px solid #444;border-radius:50%;z-index:20;cursor:crosshair;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 5px #000c;pointer-events:auto}.node-handle:hover{transform:scale(1.4);background:#fff;border-color:#fff;box-shadow:0 0 15px #fffc}.node-handle.output{right:-7px;top:50%;transform:translateY(-50%);border-color:var(--conn-end);box-shadow:0 0 8px #3498db66}.node-handle.output-mask{right:-7px;border-color:var(--conn-mask);box-shadow:0 0 8px #e8439366}.node-handle.output.text-output{border-color:#f0f;box-shadow:0 0 8px #f0f6}.node-handle.output.video-output,.node-handle.input.video-input{border-color:var(--handle-video);box-shadow:0 0 8px #2ecc7166}.node-handle.output.conditioning-output{border-color:#1abc9c;box-shadow:0 0 8px #1abc9c66}.node-handle.input.text-input{border-color:#f0f;box-shadow:0 0 8px #f0f6}.node-handle.input{left:-7px;top:50%;transform:translateY(-50%);border-color:var(--conn-end);box-shadow:0 0 8px #3498db66}.node-handle.input-2{left:-7px;top:75%;transform:translateY(-50%);border-color:var(--conn-end);box-shadow:0 0 8px #3498db66}.node-handle.input.agent-input,.node-handle.input.any-input{border-color:var(--accent);box-shadow:0 0 8px #ffffff80}.node-handle.input-mask{left:-7px;border-color:var(--conn-mask);box-shadow:0 0 8px #e8439366}.node-handle.input-ref{left:-7px;border-color:#f39c12;box-shadow:0 0 8px #f39c1266}.node-handle.output.model3d-output,.node-handle.input.model3d-input{border-color:var(--handle-model3d);box-shadow:0 0 8px var(--handle-model3d-glow)}.node-handle.snap-hover{transform:scale(1.5);background-color:#fff!important;border-color:var(--neon-cyan)!important;box-shadow:0 0 15px var(--neon-cyan),0 0 30px var(--neon-cyan);z-index:50;transition:transform .1s ease,box-shadow .1s ease}.canvas-node{position:absolute;background:#16161ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 10px 40px #00000080;z-index:10;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column;pointer-events:auto}.canvas-node.maximized{position:fixed!important;top:20px!important;left:20px!important;width:calc(100vw - 40px)!important;height:calc(100vh - 40px)!important;z-index:9999!important;transform:none!important;box-shadow:0 0 0 100vmax #000c,0 20px 50px #00000080!important;border-radius:12px!important;display:flex;flex-direction:column}#maximized-node-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none}#maximized-node-layer:empty{display:none}#maximized-node-layer .canvas-node{pointer-events:auto}.canvas-node.maximized .node-body{height:calc(100% - 40px)!important;max-height:none!important;display:flex;flex-direction:row;gap:15px}.canvas-node.maximized .earth-controls-panel{width:300px;height:100%;overflow-y:auto;padding-right:5px;display:flex;flex-direction:column}.earth-panel-sticky{position:sticky;top:0;z-index:3;flex-shrink:0;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding-bottom:10px;background:var(--surface);border-bottom:1px solid var(--glass-border)}.earth-action-row{display:flex;gap:5px}.earth-section{border:1px solid var(--glass-border);border-radius:6px;margin-bottom:8px;overflow:hidden;flex-shrink:0}.earth-section-header{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;background:var(--glass-bg);border:none;color:var(--text-color);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .15s ease}.earth-section-header:hover{background:var(--surface-raised)}.earth-section-icon{width:14px;text-align:center;color:var(--text-secondary-color)}.earth-section.open .earth-section-icon{color:var(--neon-cyan)}.earth-section-title{flex:1;text-align:left}.earth-section-chevron{font-size:.7rem;color:var(--text-secondary-color);transition:transform .2s ease}.earth-section.open .earth-section-chevron{transform:rotate(180deg)}.earth-section-body{padding:10px;border-top:1px solid var(--glass-border)}.earth-place{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px;background:var(--glass-bg);border-radius:4px}.earth-subtitle{font-size:.7rem;font-weight:700;color:var(--text-color)}.earth-hint{font-size:.6rem;line-height:1.4;color:var(--text-muted)}.earth-hint b{color:var(--text-color)}.earth-row{display:flex;align-items:center;gap:5px}.earth-row-label{flex-shrink:0;width:52px;font-size:.66rem;color:var(--text-secondary-color)}.earth-row-label.wide{width:80px;font-size:.7rem;color:var(--text-color)}.earth-chip-row{display:flex;flex:1;gap:3px}.earth-chip{flex:1;padding:3px 0;font-size:.64rem;color:var(--text-color);background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer}.earth-chip:hover{background:var(--surface-raised)}.earth-chip.active{color:var(--text-on-light);background:var(--neon-cyan);border-color:var(--neon-cyan);font-weight:700}.earth-nudge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.earth-nudge-grid .node-action-btn,.earth-row .earth-mini-btn{margin:0;padding:4px 0;font-size:.64rem}.earth-row .earth-mini-btn{flex-shrink:0;width:28px}.earth-field{flex:1;min-width:0;padding:3px 5px;font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--text-strong);background:var(--surface-sunken);border:1px solid var(--glass-border);border-radius:4px}.earth-unit{flex-shrink:0;font-size:.62rem;color:var(--text-muted)}.earth-details>summary{cursor:pointer;font-size:.64rem;color:var(--text-secondary-color)}.earth-details[open]>summary{margin-bottom:6px}.earth-details-body{display:flex;flex-direction:column;gap:6px}.earth-status{min-height:.8rem;font-size:.6rem;line-height:1.35;color:var(--text-muted)}.earth-status.warn{color:var(--color-warning)}#cesium-wrapper.placing canvas{cursor:crosshair!important}.earth-gizmo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5}.earth-gizmo.hidden{display:none}.earth-gizmo .gz-hit{fill:none;stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:grab}.earth-gizmo .gz-move .gz-hit{fill:transparent;stroke-width:0;pointer-events:all;cursor:move}.earth-gizmo.dragging .gz-hit{cursor:grabbing}.earth-gizmo .gz-under{fill:none;stroke:var(--gizmo-outline);stroke-width:6;stroke-linecap:round}.earth-gizmo .gz-vis{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-width .1s ease}.earth-gizmo .gz-head{stroke:var(--gizmo-outline);stroke-width:1}.earth-gizmo .gz-x .gz-vis{stroke:var(--gizmo-x)}.earth-gizmo .gz-x .gz-head{fill:var(--gizmo-x)}.earth-gizmo .gz-y .gz-vis{stroke:var(--gizmo-y)}.earth-gizmo .gz-y .gz-head{fill:var(--gizmo-y)}.earth-gizmo .gz-z .gz-vis{stroke:var(--gizmo-z)}.earth-gizmo .gz-z .gz-head{fill:var(--gizmo-z)}.earth-gizmo .gz-ring .gz-vis{stroke:var(--gizmo-ring);stroke-width:2.5}.earth-gizmo .gz-ring .gz-under{stroke-width:5}.earth-gizmo .gz-ring .gz-head{fill:var(--gizmo-ring)}.earth-gizmo .gz-handle:hover .gz-vis,.earth-gizmo .gz-handle.active .gz-vis{stroke-width:5}.earth-gizmo .gz-move .gz-vis{fill:var(--gizmo-center);stroke:var(--gizmo-outline);stroke-width:2}.earth-gizmo .gz-move:hover .gz-vis,.earth-gizmo .gz-move.active .gz-vis{fill:var(--neon-cyan);stroke-width:2}.earth-gizmo .gz-tip{font:700 11px var(--font-sans);text-anchor:middle;fill:var(--text-strong);stroke:var(--gizmo-outline);stroke-width:3;paint-order:stroke;pointer-events:none}.earth-gizmo-readout{position:absolute;z-index:6;display:none;padding:3px 8px;font:600 11px var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-strong);background:var(--gizmo-readout-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);transform:translate(-50%,-100%);pointer-events:none}.earth-gizmo-readout.show{display:block}.model-tree-toggle{margin-top:3px;padding:0;font-size:.6rem;color:var(--text-secondary-color);background:none;border:none;cursor:pointer;text-align:left}.model-tree-toggle:hover{color:var(--text-strong)}.canvas-node.maximized .earth-composer-container{flex:1;height:100%;display:flex;flex-direction:column}.canvas-node.maximized #cesium-wrapper{height:100%!important}.canvas-node.maximized .node-resize-handle{display:none!important}.canvas-node.maximized .node-header,.canvas-node.maximized .node-header:active{cursor:default}.canvas-node.selected,.canvas-node:hover{border-color:var(--neon-cyan);box-shadow:0 0 20px #00f3ff66,0 10px 40px #00000080;z-index:50;transition:border-color .2s ease,box-shadow .2s ease}.canvas-node.drag-over{border-color:var(--neon-cyan);background:#00f3ff1a;box-shadow:0 0 20px #00f3ff66}.drag-over-canvas:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#00f3ff0d;border:2px dashed var(--neon-cyan);pointer-events:none;z-index:9999}.canvas-node.sticky-node{background:transparent;border-radius:2px;box-shadow:2px 2px 10px #0000004d}.canvas-node.sticky-node .node-header{background:#0000000d;border-bottom:1px solid rgba(0,0,0,.1);color:#0009;border-radius:2px 2px 0 0;padding:2px 8px;min-height:24px}.canvas-node.sticky-node .node-header-btn{color:#0006}.canvas-node.sticky-node .node-header-btn:hover{color:#000c}.canvas-node.sticky-node .node-body{padding:0}.node-header{padding:.75rem 1rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:14px 14px 0 0;display:flex;justify-content:space-between;align-items:center;cursor:grab}.node-header-actions{display:flex;gap:8px}.node-header-btn{background:transparent;border:none;color:var(--text-secondary-color);cursor:pointer;font-size:.9rem;transition:color .2s}.node-header-btn:hover{color:var(--text-color)}.node-header:active{cursor:grabbing}.node-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden}.text-node-textarea,.node-prompt-input{width:100%;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-color);padding:8px;font-family:inherit;font-size:.85rem;resize:vertical;min-height:60px;margin-bottom:4px;transition:all .2s}.text-node-textarea:focus,.node-prompt-input:focus{background:#0009;border-color:#3498db80;outline:none;box-shadow:0 0 0 2px #3498db1a}.text-node-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary-color);margin-bottom:4px;font-weight:600;letter-spacing:.05em}.prompt-var-panel{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--glass-border);padding:10px}.prompt-var-row{display:flex;flex-direction:column;gap:4px}.prompt-var-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.prompt-var-name{font-family:monospace;font-size:.78rem;font-weight:600;color:var(--text-color);background:#ffffff14;border:1px solid var(--glass-border);border-radius:4px;padding:2px 6px}.prompt-var-suggest{flex:0 0 auto;width:28px;height:24px;background:#0006;border:1px solid var(--glass-border);border-radius:6px;color:var(--text-secondary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.prompt-var-suggest:hover{color:var(--text-color);border-color:#ffffff4d}.prompt-var-suggest.loading{pointer-events:none;opacity:.7}.prompt-var-value{width:100%;background:#0006;border:1px solid var(--glass-border);border-radius:8px;color:var(--text-color);padding:8px;font-family:inherit;font-size:.82rem;resize:vertical;min-height:54px;box-sizing:border-box}.prompt-var-value:focus{background:#0009;border-color:#3498db80;outline:none}.node-config-row{display:flex;gap:8px}.node-config-select{flex:1;background:#0006;border:1px solid rgba(255,255,255,.1);color:var(--text-color);border-radius:6px;padding:6px 8px;font-size:.8rem;outline:none;cursor:pointer;transition:border-color .2s}.node-config-select:hover{border-color:#ffffff4d}.node-config-select option{background:#222;color:#fff}.run-all-btn{position:absolute;bottom:20px;right:20px;padding:12px 24px;background:var(--btn-bg-gradient);border:1px solid rgba(255,255,255,.1);border-radius:9999px;color:var(--text-color);font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;z-index:1000;box-shadow:0 4px 12px #0000004d}.run-all-btn:hover{background:var(--btn-hover-bg-gradient);transform:translateY(-2px);box-shadow:0 6px 16px #0006}.run-all-btn.running{opacity:.7;cursor:not-allowed;pointer-events:none}.node-action-btn{width:100%;padding:.6rem;background:var(--btn-bg-gradient);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-color);font-weight:600;cursor:pointer;transition:all .2s;margin-top:5px;display:flex;align-items:center;justify-content:center;gap:8px}.node-action-btn:hover{background:var(--btn-hover-bg-gradient);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.inpaint-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;align-items:center}.inpaint-toolbar .node-action-btn{width:auto;flex:0 0 auto;padding:.35rem .55rem;margin-top:0;font-size:.7rem}.inpaint-toolbar .node-action-btn.active-tool{background:var(--brand-blue);color:var(--accent);border-color:var(--brand-blue)}.inpaint-brush-cursor{position:absolute;display:none;border:1.5px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference;z-index:2}.inpaint-brush-cursor.erase{border-style:dashed}.annotate-stage{position:relative;flex:1;min-height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden}.annotate-frame{position:relative;max-width:100%;max-height:100%;display:flex;cursor:crosshair}.annotate-img{max-width:100%;max-height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.annotate-pin{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;background:var(--annotate-pin);color:var(--annotate-pin-text);border:2px solid var(--annotate-pin-text);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;box-shadow:0 2px 6px #00000073;z-index:2}.annotate-pin:active{cursor:grabbing}.annotate-pin.active{transform:translate(-50%,-50%) scale(1.25)}.annotate-list-head{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-secondary-color)}.annotate-clear{background:none;border:none;color:var(--text-secondary-color);font-size:.7rem;cursor:pointer;padding:0}.annotate-clear:hover{color:var(--text-strong)}.annotate-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.annotate-row{display:flex;align-items:flex-start;gap:6px}.annotate-num{flex:0 0 20px;height:20px;margin-top:5px;border-radius:50%;background:var(--annotate-pin);color:var(--annotate-pin-text);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.annotate-text{flex:1;min-width:0;min-height:30px;field-sizing:content;background:#0006;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-color);padding:6px 8px;font-family:inherit;font-size:.8rem;resize:none}.annotate-text:focus{outline:none;border-color:var(--annotate-pin)}.annotate-del{flex:0 0 auto;margin-top:6px;background:none;border:none;color:var(--text-secondary-color);cursor:pointer;font-size:.8rem}.annotate-del:hover{color:var(--color-danger)}.annotate-hint,.annotate-edit-hint{font-size:.7rem;color:var(--text-secondary-color);display:flex;align-items:center;gap:6px}.annotate-edit-hint{color:var(--text-color);margin-bottom:6px}.annotate-edit-hint i{color:var(--annotate-pin)}.node-seed-row{display:flex;gap:8px;align-items:center;margin-top:8px;margin-bottom:8px}.seed-toggle-btn{padding:.5rem .8rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-color);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.seed-toggle-btn:hover{background:#ffffff0d}.seed-toggle-btn.active{background:#3b82f633;color:#3b82f6;border-color:#3b82f680;box-shadow:0 0 10px #3b82f61a}.seed-input{flex:1;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-color);padding:.5rem .8rem;font-size:.8rem;min-width:0;transition:all .2s}.seed-input:disabled{opacity:.5;cursor:not-allowed}.seed-input:focus{outline:none;border-color:#ffffff4d;background:#0006}.colored-prompt-container{margin-top:8px;background:#ffffff05;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.colored-prompt-label{font-size:.75rem;margin-bottom:4px;display:flex;align-items:center;gap:6px;font-weight:600}.colored-prompt-container.red .colored-prompt-label{color:#ef4444}.colored-prompt-container.green .colored-prompt-label{color:#22c55e}.colored-prompt-container.blue .colored-prompt-label{color:#3b82f6}.node-prompt-input::placeholder{color:#ffffff4d}.node-preview{position:relative;width:100%;border-radius:8px;overflow:hidden;background:#0000004d}.canvas-node:not(.preview-node) .node-preview{flex:1;min-height:140px}.canvas-node:not(.preview-node) .node-preview img,.canvas-node:not(.preview-node) .node-preview video{width:100%;height:100%;object-fit:contain;display:block}.preview-node .node-body{padding:0;height:100%;display:flex;flex-direction:column}.preview-node .node-preview{flex:1;width:100%;height:100%;border-radius:0 0 14px 14px;background:transparent}.preview-node .node-preview img,.preview-node .node-preview video{width:100%;height:100%;object-fit:contain;display:block}.preview-node .node-preview.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--text-secondary-color)}.node-compare-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:0 0 14px 14px}.node-compare-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;background:#0d0d0f}.node-compare-overlay{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;border-right:2px solid rgba(255,255,255,.8);background:#0d0d0f;z-index:10}.node-compare-overlay .node-compare-img{width:100%;height:100%}.node-compare-handle{position:absolute;top:50%;right:-14px;width:28px;height:28px;border-radius:50%;background:#fff;color:#121212;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);box-shadow:0 0 10px #00000080;z-index:15;pointer-events:none}.node-compare-range{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:col-resize;z-index:20;margin:0}.image-download-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}.image-download-btn:hover{background:#3498dbcc;transform:scale(1.1)}.node-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;z-index:20}.node-resize-handle:after{content:"";position:absolute;bottom:5px;right:5px;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.3);border-bottom:2px solid rgba(255,255,255,.3)}.node-toolbar{position:absolute;top:1rem;left:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;width:220px;background:#0f0f12e6;border:1px solid var(--glass-border);border-radius:16px;padding:1rem;z-index:100;box-shadow:0 8px 32px #000c;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.node-toolbar::-webkit-scrollbar{width:4px}.node-toolbar::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.node-toolbar::-webkit-scrollbar-track{background:transparent}.node-toolbar.collapsed{transform:translate(-100%);opacity:.3}.node-toolbar:hover{transform:translate(0);opacity:1}.node-tool-btn{width:100%;display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-color);font-size:.85rem;cursor:pointer;transition:all .2s}.node-tool-btn:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(4px)}.search-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center}.search-box{width:600px;max-width:90%;background:#19191ef2;border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 20px 60px #000c,0 0 0 1px #ffffff0d,0 0 30px #00f3ff0d;overflow:hidden;animation:slideUpFade .2s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-input-wrapper{display:flex;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.search-input-wrapper i{font-size:1.5rem;color:var(--text-secondary-color);margin-right:1rem}#node-search-input{width:100%;background:transparent;border:none;color:#fff;font-size:1.5rem;outline:none;font-family:inherit;font-weight:500}#node-search-input::placeholder{color:#fff3}#node-search-results{max-height:400px;overflow-y:auto;padding:.5rem}#node-search-results::-webkit-scrollbar{width:8px}#node-search-results::-webkit-scrollbar-track{background:transparent}#node-search-results::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.search-result-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;cursor:pointer;border-radius:8px;color:var(--text-color);transition:all .15s ease;border-left:3px solid transparent}.search-result-item.active{background:#ffffff1a;border-left-color:var(--neon-cyan)}.search-result-item i{width:24px;text-align:center;color:var(--text-secondary-color);font-size:1.1rem}.search-result-item span{font-size:1rem;font-weight:500}.search-result-item:hover,.search-result-item.active{background:#ffffff0d;color:#fff;border-left-color:var(--neon-cyan)}.search-result-item:hover i,.search-result-item.active i{color:var(--neon-cyan);filter:drop-shadow(0 0 5px var(--neon-cyan))}#selection-box{position:absolute;background:#00f3ff1a;border:1px solid var(--neon-cyan);pointer-events:none;z-index:1000}body.mode-canvas{height:100%;overflow:hidden}body.mode-canvas .app-container{height:100%;padding:0 5px;max-width:100%}body.mode-canvas .app-header{margin-bottom:0;margin-top:0;padding-top:0;padding-bottom:2px}body.mode-canvas .app-footer{display:none}body.mode-canvas .app-footer a{color:var(--text-secondary-color);margin-left:4px}body.mode-canvas .main-content-wrapper,body.mode-canvas .container{flex:1;display:flex;flex-direction:column;min-height:0;margin:0;padding:0}body.mode-canvas .generator-card{flex:1;display:flex;flex-direction:column;margin:0;min-height:0;overflow:hidden;padding:0;border-radius:12px}body.mode-canvas .canvas-container{width:100%;flex:1;height:auto;min-height:0}.landing-view{display:flex;flex-direction:column;min-height:100vh;width:100%;margin:0;padding:0;background:var(--lp-bg);color:var(--text-color);font-family:var(--font-sans)}.landing-view *,.landing-view *:before,.landing-view *:after{box-sizing:border-box}.lp-container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}.lp-container-narrow{max-width:820px}.lp-section{padding:clamp(4.5rem,9vw,7.5rem) 0;scroll-margin-top:5.5rem}.lp-section-alt{background:var(--lp-bg-alt);border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line)}.lp-center{text-align:center}.lp-section-head{max-width:720px;margin-bottom:clamp(2.5rem,5vw,4rem)}.lp-section-head.lp-center{margin-left:auto;margin-right:auto}.lp-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:1rem}.lp-h1{font-size:clamp(2.3rem,4.4vw,3.5rem);line-height:1.08;letter-spacing:-.032em;font-weight:800;color:var(--text-strong);margin-bottom:1.5rem;text-wrap:balance}.lp-h1 em{font-style:normal;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lp-h2{font-size:clamp(1.85rem,3.6vw,2.8rem);line-height:1.15;letter-spacing:-.025em;font-weight:700;color:var(--text-strong);margin-bottom:1rem;text-wrap:balance}.lp-lead{font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.65;color:var(--text-secondary-color);margin-bottom:2rem;max-width:40em}.lp-sub{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;color:var(--text-secondary-color);max-width:46em}.lp-section-head.lp-center .lp-sub{margin-left:auto;margin-right:auto}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1.5rem;border-radius:var(--radius-lg);border:1px solid transparent;font-family:inherit;font-size:.98rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.lp-btn i{font-size:.85em}.lp-btn-primary{background:var(--accent);color:var(--text-on-light);border-color:var(--accent)}.lp-btn-primary:hover{transform:translateY(-1px);background:var(--lp-accent-hover);border-color:var(--lp-accent-hover)}.lp-btn-ghost{background:transparent;color:var(--text-color);border-color:var(--lp-line-strong)}.lp-btn-ghost:hover{background:var(--lp-card-raised);border-color:var(--text-secondary-color);transform:translateY(-1px)}.lp-btn-sm{padding:.55rem 1.1rem;font-size:.9rem;border-radius:var(--radius-md)}.lp-btn-lg{padding:.95rem 1.9rem;font-size:1.05rem}.lp-btn-block{width:100%}.lp-btn:focus-visible,.lp-lang-btn:focus-visible,.lp-faq-item summary:focus-visible{outline:2px solid var(--lp-accent);outline-offset:2px}.lp-nav{position:sticky;top:0;z-index:100;background:var(--lp-nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s ease,background-color .2s ease}.lp-nav.is-scrolled{border-bottom-color:var(--lp-line)}.lp-nav-inner{max-width:1280px;margin:0 auto;padding:.9rem clamp(1.25rem,4vw,2.5rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.lp-nav-logo{text-decoration:none;flex-shrink:0}.lp-nav-logo .logo-main{font-size:1.45rem}.lp-nav-logo .logo-tagline{font-size:.68rem}.lp-nav-links{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}.lp-nav-links a{color:var(--text-secondary-color);text-decoration:none;font-size:.93rem;font-weight:500;transition:color .18s ease}.lp-nav-links a:hover{color:var(--text-strong)}.lp-nav-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.lp-lang-switch{display:flex;border:1px solid var(--lp-line-strong);border-radius:var(--radius-md);overflow:hidden}.lp-lang-btn{background:transparent;border:none;color:var(--text-secondary-color);font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.42rem .62rem;cursor:pointer;transition:background-color .18s ease,color .18s ease}.lp-lang-btn:hover{color:var(--text-strong)}.lp-lang-btn.is-active{background:var(--lp-card-raised);color:var(--text-strong)}.lp-nav-toggle{display:none;background:transparent;border:1px solid var(--lp-line-strong);border-radius:var(--radius-md);color:var(--text-color);font-size:1.05rem;padding:.45rem .7rem;cursor:pointer}.lp-hero{padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,6vw,5rem);background:radial-gradient(ellipse 80% 60% at 50% -10%,var(--lp-hero-glow) 0%,transparent 70%),var(--lp-bg)}.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,4vw,3.25rem);align-items:center}@media(min-width:1000px){.lp-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}}.lp-hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem;padding:0}.lp-hero-chips li{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .85rem;border:1px solid var(--lp-line);border-radius:100px;background:var(--lp-card);font-size:.86rem;color:var(--text-secondary-color)}.lp-hero-chips i{color:var(--lp-accent);font-size:.85rem}.lp-cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.25rem}.lp-center-row{justify-content:center;margin-top:2rem;margin-bottom:0}.lp-cta-note{font-size:.87rem;color:var(--text-muted)}.lp-browser{margin:0;border:1px solid var(--lp-line-strong);border-radius:var(--radius-lg);overflow:hidden;background:var(--lp-card);box-shadow:var(--lp-shadow)}.lp-browser-bar{display:flex;align-items:center;gap:.4rem;padding:.62rem .9rem;background:var(--lp-card-raised);border-bottom:1px solid var(--lp-line)}.lp-browser-dot{width:10px;height:10px;border-radius:50%;background:var(--lp-line-strong)}.lp-browser-url{margin-left:.75rem;font-size:.76rem;color:var(--text-muted);letter-spacing:.01em}.lp-browser img{display:block;width:100%;height:auto}.lp-strip{padding:clamp(2.25rem,4vw,3rem) 0;border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);background:var(--lp-bg-alt)}.lp-strip-label{text-align:center;font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.lp-strip-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.25rem,4vw,3rem)}.lp-strip-logos span{font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:700;letter-spacing:-.01em;color:var(--text-secondary-color);transition:color .2s ease}.lp-strip-logos span:hover{color:var(--text-strong)}.lp-compare{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}@media(min-width:800px){.lp-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}.lp-compare-col{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card)}.lp-compare-col h3{display:flex;align-items:center;gap:.65rem;font-size:1.1rem;font-weight:600;color:var(--text-strong);margin-bottom:1.25rem}.lp-compare-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.lp-compare-col li{position:relative;padding-left:1.6rem;font-size:.96rem;line-height:1.6;color:var(--text-secondary-color)}.lp-compare-col li:before{position:absolute;left:0;top:0;font-family:"Font Awesome 6 Free";font-weight:900;font-size:.8rem}.lp-compare-bad h3 i{color:var(--text-muted)}.lp-compare-bad li:before{content:"";color:var(--text-muted)}.lp-compare-good{border-color:var(--lp-accent-border);background:var(--lp-card-raised)}.lp-compare-good h3 i{color:var(--lp-accent)}.lp-compare-good li:before{content:"";color:var(--color-success-bright)}.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;counter-reset:none}@media(min-width:860px){.lp-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-step{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card)}.lp-step-num{display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--lp-accent);margin-bottom:1rem}.lp-step h3{font-size:1.2rem;font-weight:650;color:var(--text-strong);margin-bottom:.75rem}.lp-step p{font-size:.96rem;line-height:1.65;color:var(--text-secondary-color)}.lp-features{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem}@media(min-width:720px){.lp-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1040px){.lp-features{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-feature-wide{grid-column:span 3}}.lp-feature{padding:clamp(1.4rem,2.6vw,2rem);border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card);transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.lp-feature:hover{border-color:var(--lp-line-strong);background:var(--lp-card-raised);transform:translateY(-2px)}.lp-feature-wide{background:linear-gradient(135deg,var(--lp-card-raised) 0%,var(--lp-card) 60%);border-color:var(--lp-accent-border)}.lp-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);background:var(--lp-accent-dim);color:var(--lp-accent);font-size:1.05rem;margin-bottom:1.1rem}.lp-feature h3{font-size:1.12rem;font-weight:650;color:var(--text-strong);margin-bottom:.65rem;line-height:1.35}.lp-feature-wide h3{font-size:clamp(1.25rem,2.2vw,1.6rem)}.lp-feature p{font-size:.94rem;line-height:1.65;color:var(--text-secondary-color)}.lp-feature-wide p{max-width:60em;font-size:1rem}.lp-showcase{display:grid;gap:clamp(2.5rem,5vw,4rem)}.lp-shot-head{margin-bottom:1.5rem;max-width:55em}.lp-shot-head h3{display:flex;align-items:center;gap:.65rem;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:650;color:var(--text-strong);margin-bottom:.6rem}.lp-shot-head h3 i{color:var(--lp-accent);font-size:.9em}.lp-shot-head p{font-size:.98rem;line-height:1.65;color:var(--text-secondary-color)}.lp-frame{margin:0;border:1px solid var(--lp-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);box-shadow:var(--lp-shadow)}.lp-frame img{display:block;width:100%;height:auto}.lp-split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}@media(min-width:900px){.lp-split{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-split-reverse .lp-split-media{order:-1}}.lp-split+.lp-split{margin-top:clamp(3.5rem,7vw,6rem)}.lp-split-copy h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:.9rem;line-height:1.2}.lp-split-copy p{font-size:1rem;line-height:1.7;color:var(--text-secondary-color);margin-bottom:1.25rem}.lp-split-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.lp-split-points li{display:flex;align-items:flex-start;gap:.7rem;font-size:.95rem;line-height:1.55;color:var(--text-secondary-color)}.lp-split-points i{color:var(--color-success-bright);font-size:.78rem;margin-top:.4em;flex-shrink:0}.lp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.5vw,1.15rem)}@media(min-width:900px){.lp-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-gallery-hero{grid-column:span 2;grid-row:span 2}}.lp-gallery figure{margin:0;border:1px solid var(--lp-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);aspect-ratio:4 / 3}.lp-gallery-hero{aspect-ratio:1 / 1}.lp-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.lp-gallery figure:hover img{transform:scale(1.03)}.lp-models{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem}@media(min-width:640px){.lp-models{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1040px){.lp-models{grid-template-columns:repeat(4,minmax(0,1fr))}}.lp-model-card{padding:clamp(1.4rem,2.6vw,1.85rem);border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card)}.lp-model-card h3{font-size:1.05rem;font-weight:650;color:var(--text-strong);margin-bottom:.3rem}.lp-model-tag{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:1.1rem}.lp-model-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.lp-model-card li{font-size:.92rem;color:var(--text-secondary-color);padding-left:.9rem;position:relative}.lp-model-card li:before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--lp-accent)}.lp-pricing{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}@media(min-width:900px){.lp-pricing{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-plan{position:relative;display:flex;flex-direction:column;padding:clamp(1.6rem,3vw,2.25rem);border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card)}.lp-plan-featured{border-color:var(--lp-accent-border);background:var(--lp-card-raised);box-shadow:var(--lp-shadow)}@media(min-width:900px){.lp-plan-featured{transform:scale(1.03)}}.lp-plan-badge{position:absolute;top:-.75rem;left:50%;transform:translate(-50%);padding:.25rem .85rem;border-radius:100px;background:var(--accent);color:var(--text-on-light);font-size:.72rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.lp-plan-name{font-size:1.2rem;font-weight:650;color:var(--text-strong);margin-bottom:.4rem}.lp-plan-price{font-size:clamp(2rem,3.4vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:.85rem}.lp-plan-price span{font-size:.95rem;font-weight:500;color:var(--text-muted);letter-spacing:0}.lp-plan-price s{display:block;font-size:1.05rem;font-weight:500;color:var(--text-muted);letter-spacing:0;margin-bottom:.15rem;text-decoration-thickness:2px}.lp-plan-offer{font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--color-success-bright);margin:-.5rem 0 1.2rem}.lp-plan-desc{font-size:.94rem;line-height:1.6;color:var(--text-secondary-color);margin-bottom:1.75rem}@media(min-width:900px){.lp-plan-desc{min-height:3.2em}}.lp-plan-list{list-style:none;padding:0;margin:0 0 1.85rem;display:flex;flex-direction:column;gap:.7rem;flex:1}.lp-plan-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.92rem;line-height:1.5;color:var(--text-secondary-color)}.lp-plan-list i{font-size:.78rem;margin-top:.32em;flex-shrink:0}.lp-plan-list .yes i{color:var(--color-success-bright)}.lp-plan-list .no{opacity:.55}.lp-plan-list .no i{color:var(--text-muted)}.lp-pricing-note{margin-top:2rem;text-align:center;font-size:.88rem;line-height:1.7;color:var(--text-muted)}.lp-pricing-note a{color:var(--lp-accent);text-decoration:underline;text-underline-offset:2px}.lp-faq{display:flex;flex-direction:column;gap:.75rem}.lp-faq-item{border:1px solid var(--lp-line);border-radius:var(--radius-lg);background:var(--lp-card);overflow:hidden}.lp-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem clamp(1.1rem,2.5vw,1.6rem);font-size:1rem;font-weight:600;color:var(--text-strong);cursor:pointer;list-style:none;transition:color .18s ease}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.8rem;color:var(--lp-accent);flex-shrink:0;transition:transform .2s ease}.lp-faq-item[open] summary:after{transform:rotate(45deg)}.lp-faq-item summary:hover{color:var(--lp-accent)}.lp-faq-item p{padding:0 clamp(1.1rem,2.5vw,1.6rem) 1.4rem;font-size:.95rem;line-height:1.7;color:var(--text-secondary-color);max-width:62em}.lp-final{padding:clamp(4.5rem,9vw,7rem) 0;border-top:1px solid var(--lp-line);background:radial-gradient(ellipse 70% 100% at 50% 100%,var(--lp-hero-glow) 0%,transparent 70%),var(--lp-bg-alt)}.lp-footer{padding:clamp(3rem,6vw,4.5rem) 0 2rem;border-top:1px solid var(--lp-line);background:var(--lp-bg)}.lp-footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-bottom:2.5rem}@media(min-width:720px){.lp-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-footer-brand{grid-column:span 3}}@media(min-width:1000px){.lp-footer-grid{grid-template-columns:2fr repeat(3,minmax(0,1fr))}.lp-footer-brand{grid-column:span 1}}.lp-footer-brand p{margin-top:1rem;font-size:.9rem;line-height:1.65;color:var(--text-muted);max-width:32em}.lp-footer-col{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}.lp-footer-col h4{font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-strong);margin-bottom:.25rem}.lp-footer-col a{font-size:.91rem;color:var(--text-secondary-color);text-decoration:none;transition:color .18s ease}.lp-footer-col a:hover{color:var(--text-strong)}.lp-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1.75rem;border-top:1px solid var(--lp-line);font-size:.84rem;color:var(--text-muted)}@media(max-width:940px){.lp-nav-toggle{display:inline-flex}.lp-nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.5rem clamp(1.25rem,4vw,2.5rem) 1rem;background:var(--lp-bg-alt);border-bottom:1px solid var(--lp-line)}.lp-nav.is-open .lp-nav-links{display:flex}.lp-nav.is-open{border-bottom-color:transparent}.lp-nav-links a{padding:.8rem 0;border-bottom:1px solid var(--lp-line);font-size:1rem}.lp-nav-links a:last-child{border-bottom:none}.lp-nav-inner{position:relative;flex-wrap:nowrap}}@media(max-width:560px){.lp-nav-actions .lp-btn-sm span{display:none}.lp-cta-row .lp-btn{width:100%}.lp-hero{padding-top:2.25rem}.lp-eyebrow{font-size:.72rem;letter-spacing:.07em;margin-bottom:.75rem}.lp-lead{margin-bottom:1.5rem}.lp-hero-chips{gap:.45rem;margin-bottom:1.5rem}.lp-hero-chips li{padding:.34rem .7rem;font-size:.78rem}.lp-hero-chips i{font-size:.76rem}}@media(prefers-reduced-motion:reduce){.landing-view *,.landing-view *:before,.landing-view *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.auth-view{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-color)}.auth-card{background:#18181b;border:1px solid #27272a;border-radius:24px;padding:3rem;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 20px 40px #00000080}.auth-card h2{font-size:2rem;font-weight:700;color:#fff;margin-bottom:.5rem}.auth-card p{color:var(--text-secondary-color);font-size:1rem}.auth-card .generate-btn-main{background:#fff;color:#000;border:none;font-weight:600}.auth-card .generate-btn-main:hover{background:#f4f4f5;transform:translateY(-2px);box-shadow:0 8px 20px #ffffff1a}.auth-card .back-link:hover{color:#fff!important}@property --agent-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.help-agent-widget{position:fixed;bottom:0;left:0;right:0;margin-inline:auto;width:max-content;z-index:10000;display:none;flex-direction:column;align-items:center;gap:12px;padding-bottom:16px}body.mode-canvas .help-agent-widget{display:flex}.help-agent-toggle{width:58px;height:58px;border-radius:50%;background:var(--agent-orb);border:none;cursor:pointer;box-shadow:0 4px 15px #00000080,0 0 15px color-mix(in srgb,var(--agent-cyan) 30%,transparent);transition:opacity .3s ease,transform .2s,box-shadow .2s;display:flex;justify-content:center;align-items:center;color:transparent;position:relative;overflow:hidden;opacity:.05}.help-agent-widget:hover .help-agent-toggle,.help-agent-widget.is-working .help-agent-toggle{opacity:1}.help-agent-toggle:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4) 0%,transparent 40%);pointer-events:none}.help-agent-toggle:hover{transform:scale(1.05);box-shadow:0 6px 20px #0009,0 0 20px color-mix(in srgb,var(--agent-cyan) 50%,transparent)}@keyframes agentWorking{0%,to{transform:scale(1);filter:brightness(1);box-shadow:0 4px 15px #00000080,0 0 15px color-mix(in srgb,var(--agent-cyan) 40%,transparent)}50%{transform:scale(1.1);filter:brightness(1.2);box-shadow:0 4px 15px #00000080,0 0 30px color-mix(in srgb,var(--agent-cyan) 80%,transparent),0 0 45px color-mix(in srgb,var(--agent-lilac) 60%,transparent)}}.help-agent-toggle.working{animation:agentWorking 1.5s ease-in-out infinite}.help-agent-chat{position:relative;width:380px;height:540px;max-height:72vh;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;box-shadow:0 20px 50px #0009,0 0 40px color-mix(in srgb,var(--agent-cyan) 7%,transparent);transform-origin:bottom center;animation:slideUpFade .35s cubic-bezier(.175,.885,.32,1.275) forwards;transition:box-shadow .4s ease}.help-agent-chat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:conic-gradient(from var(--agent-angle),var(--agent-cyan),var(--brand-blue),var(--brand-violet),var(--agent-lilac),var(--agent-cyan));-webkit-mask:linear-gradient(black 0 0) content-box,linear-gradient(black 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.4;animation:agentRingSpin 9s linear infinite;pointer-events:none;z-index:3;transition:opacity .4s ease}.help-agent-chat:after{content:"";position:absolute;inset:-40% -20% auto -20%;height:70%;background:radial-gradient(40% 60% at 25% 40%,color-mix(in srgb,var(--agent-cyan) 16%,transparent),transparent 70%),radial-gradient(45% 60% at 75% 30%,color-mix(in srgb,var(--brand-violet) 20%,transparent),transparent 70%);filter:blur(10px);animation:agentAurora 14s ease-in-out infinite alternate;pointer-events:none;z-index:-1}.help-agent-widget.is-working .help-agent-chat{box-shadow:0 20px 50px #0009,0 0 50px color-mix(in srgb,var(--agent-cyan) 16%,transparent),0 0 90px color-mix(in srgb,var(--brand-violet) 14%,transparent)}.help-agent-widget.is-working .help-agent-chat:before{opacity:1;animation-duration:2.2s}@keyframes agentRingSpin{to{--agent-angle: 360deg}}@keyframes agentAurora{0%{transform:translate(-6%) scale(1)}to{transform:translate(6%) scale(1.08)}}@keyframes slideUpFade{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.help-agent-chat.is-docked{position:fixed;top:10px;bottom:10px;width:var(--agent-dock-width);height:auto;max-height:none;animation:agentDockIn .4s cubic-bezier(.2,.8,.2,1) both}.help-agent-chat.dock-left{left:10px;--dock-from: -24px}.help-agent-chat.dock-right{right:10px;--dock-from: 24px}@keyframes agentDockIn{0%{transform:translate(var(--dock-from, 0));opacity:0}to{transform:none;opacity:1}}.help-agent-chat.is-floating-free{position:fixed}.help-agent-chat.is-dragging{position:fixed;width:380px;height:min(540px,72vh);animation:none;opacity:.94;cursor:grabbing;box-shadow:0 30px 70px #000000b3,0 0 60px color-mix(in srgb,var(--agent-cyan) 18%,transparent)}.help-agent-chat.is-dragging .chat-header{cursor:grabbing}body.mode-canvas .app-container{transition:padding .35s cubic-bezier(.2,.8,.2,1)}body.mode-canvas.agent-docked-left .app-container{padding-left:calc(var(--agent-dock-width) + 20px)}body.mode-canvas.agent-docked-right .app-container{padding-right:calc(var(--agent-dock-width) + 20px)}body.agent-docked-left .help-agent-toggle,body.agent-docked-right .help-agent-toggle{display:none}body.agent-dock-resizing .app-container{transition:none}body.agent-dock-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.chat-dock-resizer{display:none;position:absolute;top:0;bottom:0;width:10px;cursor:ew-resize;z-index:4}.chat-dock-resizer:after{content:"";position:absolute;top:50%;width:3px;height:44px;border-radius:3px;background:var(--agent-cyan);transform:translateY(-50%);opacity:0;box-shadow:0 0 10px var(--agent-cyan);transition:opacity .2s}.chat-dock-resizer:hover:after,body.agent-dock-resizing .chat-dock-resizer:after{opacity:.9}.help-agent-chat.is-docked .chat-dock-resizer{display:block}.help-agent-chat.dock-left .chat-dock-resizer{right:0}.help-agent-chat.dock-left .chat-dock-resizer:after{right:3px}.help-agent-chat.dock-right .chat-dock-resizer{left:0}.help-agent-chat.dock-right .chat-dock-resizer:after{left:3px}.agent-dock-zones{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .2s ease}.agent-dock-zones.visible{opacity:1}.agent-dock-zone{position:absolute;top:10px;bottom:10px;width:var(--agent-dock-width);border-radius:16px;border:1.5px dashed color-mix(in srgb,var(--agent-lilac) 45%,transparent);background:color-mix(in srgb,var(--brand-violet) 6%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .2s ease}.agent-dock-zone.left{left:10px}.agent-dock-zone.right{right:10px}.agent-dock-zone i{font-size:20px}.agent-dock-zone.hot{border-style:solid;border-color:var(--agent-cyan);background:color-mix(in srgb,var(--agent-cyan) 9%,transparent);color:var(--text-strong);box-shadow:inset 0 0 50px color-mix(in srgb,var(--agent-cyan) 14%,transparent),0 0 40px color-mix(in srgb,var(--agent-cyan) 22%,transparent)}.chat-header{position:relative;z-index:1;padding:12px 12px 12px 14px;border-bottom:1px solid color-mix(in srgb,var(--text-strong) 6%,transparent);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.chat-header-id{display:flex;align-items:center;gap:10px;min-width:0}.agent-orb{position:relative;width:28px;height:28px;border-radius:50%;background:var(--agent-orb);flex-shrink:0;box-shadow:0 0 14px color-mix(in srgb,var(--agent-cyan) 45%,transparent);animation:agentOrbBreathe 4s ease-in-out infinite}.agent-orb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5) 0%,transparent 45%)}.agent-orb:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid transparent;border-top-color:var(--agent-cyan);border-right-color:color-mix(in srgb,var(--brand-violet) 70%,transparent);opacity:0;transition:opacity .3s}.help-agent-widget.is-working .agent-orb{animation-duration:1.2s}.help-agent-widget.is-working .agent-orb:before{opacity:1;animation:agentSpin .9s linear infinite}@keyframes agentOrbBreathe{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.07);filter:brightness(1.15)}}@keyframes agentSpin{to{transform:rotate(360deg)}}.chat-header-text{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-strong);letter-spacing:.01em}.chat-status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.chat-status:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-success-bright);box-shadow:0 0 6px var(--color-success-bright)}.chat-status .when-working{display:none}.help-agent-widget.is-working .chat-status:before{background:var(--agent-cyan);box-shadow:0 0 8px var(--agent-cyan);animation:agentStatusPulse 1s ease-in-out infinite}.help-agent-widget.is-working .chat-status .when-idle{display:none}.help-agent-widget.is-working .chat-status .when-working{display:inline}@keyframes agentStatusPulse{50%{opacity:.35}}.chat-header-actions{display:flex;align-items:center;gap:6px}.chat-dock-switch{display:flex;gap:2px;padding:2px;border-radius:8px;background:color-mix(in srgb,var(--surface-sunken) 70%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 7%,transparent)}.chat-dock-btn,.chat-icon-btn{border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.chat-dock-btn{width:26px;height:22px;border-radius:6px}.chat-dock-btn:hover{color:var(--text-strong);background:color-mix(in srgb,var(--text-strong) 8%,transparent)}.chat-dock-btn.active{color:var(--text-strong);background:color-mix(in srgb,var(--brand-violet) 40%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--brand-violet) 35%,transparent)}.dock-glyph{position:relative;width:14px;height:10px;border:1.5px solid currentColor;border-radius:2.5px}.dock-glyph:after{content:"";position:absolute;top:1px;bottom:1px;width:3px;border-radius:1px;background:currentColor}.dock-glyph.left:after{left:1px}.dock-glyph.right:after{right:1px}.dock-glyph.float:after{left:3px;right:3px;top:3px;width:auto}.chat-icon-btn{width:28px;height:28px;border-radius:8px;font-size:14px}.chat-icon-btn:hover{color:var(--text-strong);background:color-mix(in srgb,var(--text-strong) 8%,transparent)}.chat-messages{position:relative;z-index:1;flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-message{max-width:88%;display:flex;flex-direction:column;animation:chatItemIn .35s cubic-bezier(.2,.8,.2,1) both}.chat-message.assistant{align-self:flex-start}.chat-message.user{align-self:flex-end}.chat-message .message-content{padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.5;word-break:break-word}.chat-message.assistant .message-content{background:color-mix(in srgb,var(--surface-raised) 78%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 7%,transparent);color:var(--text-color);border-bottom-left-radius:4px}.chat-message.user .message-content{background:var(--brand-gradient);color:var(--text-strong);border-bottom-right-radius:4px;box-shadow:0 6px 18px color-mix(in srgb,var(--brand-violet) 28%,transparent)}.chat-message .message-content strong{color:var(--text-strong)}@keyframes chatItemIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;animation:chatItemIn .4s .1s cubic-bezier(.2,.8,.2,1) both}.chat-suggestion{font:inherit;font-size:12px;padding:6px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--agent-lilac) 30%,transparent);background:color-mix(in srgb,var(--agent-lilac) 8%,transparent);color:var(--text-color);cursor:pointer;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}.chat-suggestion:hover{border-color:var(--agent-cyan);background:color-mix(in srgb,var(--agent-cyan) 10%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--agent-cyan) 18%,transparent);transform:translateY(-1px)}.chat-typing{align-self:flex-start;display:flex;gap:5px;padding:13px 15px;border-radius:14px 14px 14px 4px;background:color-mix(in srgb,var(--surface-raised) 78%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 7%,transparent);animation:chatItemIn .3s cubic-bezier(.2,.8,.2,1) both}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--agent-lilac);animation:chatTypingDot 1.2s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.15s;background:var(--brand-violet)}.chat-typing span:nth-child(3){animation-delay:.3s;background:var(--agent-cyan)}@keyframes chatTypingDot{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.chat-tool-step{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:4px 11px 4px 9px;font-size:11.5px;color:var(--text-muted);border-radius:999px;background:color-mix(in srgb,var(--surface-sunken) 60%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 6%,transparent);animation:chatItemIn .3s cubic-bezier(.2,.8,.2,1) both}.chat-tool-step i{font-size:10.5px;color:var(--agent-cyan)}.chat-tool-step span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tool-step.is-error{color:var(--text-color);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}.chat-tool-step.is-error i{color:var(--color-danger)}.chat-plan-card{align-self:stretch;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--surface-sunken) 55%,transparent);border:1px solid color-mix(in srgb,var(--agent-lilac) 25%,transparent);animation:chatItemIn .35s cubic-bezier(.2,.8,.2,1) both}.chat-plan-head{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.chat-plan-head i{color:var(--agent-lilac);margin-right:6px}.chat-plan-bar{height:3px;border-radius:3px;background:color-mix(in srgb,var(--text-strong) 8%,transparent);overflow:hidden;margin-bottom:9px}.chat-plan-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--agent-cyan),var(--brand-violet));box-shadow:0 0 8px color-mix(in srgb,var(--agent-cyan) 60%,transparent);transition:width .6s cubic-bezier(.2,.8,.2,1)}.chat-plan-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.chat-plan-step{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-color);transition:color .3s}.chat-plan-step .plan-dot{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:8px;color:transparent;transition:all .3s}.chat-plan-step.in_progress{color:var(--text-strong);font-weight:500}.chat-plan-step.in_progress .plan-dot{border-color:var(--agent-cyan);border-top-color:transparent;animation:agentSpin .9s linear infinite}.chat-plan-step.done{color:var(--text-muted)}.chat-plan-step.done .plan-dot{background:var(--color-success);border-color:var(--color-success);color:var(--text-on-light)}.chat-input-area{position:relative;z-index:1;padding:10px 12px 12px;border-top:1px solid color-mix(in srgb,var(--text-strong) 6%,transparent);display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--surface-sunken) 55%,transparent);flex-shrink:0}.chat-input-actions{display:flex;align-items:center;gap:4px}.chat-input-area textarea{flex:1;background:color-mix(in srgb,var(--surface-sunken) 85%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 10%,transparent);border-radius:10px;padding:9px 12px;color:var(--text-strong);resize:none;font-family:inherit;font-size:.9rem;max-height:120px;transition:border-color .2s,box-shadow .2s}.chat-input-area textarea::placeholder{color:var(--text-muted)}.chat-input-area textarea:focus{outline:none;border-color:color-mix(in srgb,var(--agent-cyan) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--agent-cyan) 12%,transparent),0 0 20px color-mix(in srgb,var(--brand-violet) 18%,transparent)}.chat-input-area button{height:32px;min-width:32px;padding:0 8px;border-radius:8px;background:transparent;color:var(--text-muted);border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;transition:background .2s,color .2s,transform .2s,box-shadow .2s;flex-shrink:0}.chat-input-area button:hover{background:color-mix(in srgb,var(--text-strong) 8%,transparent);color:var(--text-strong)}#chat-send-btn{margin-left:auto;width:36px;height:36px;padding:0;border-radius:50%;background:var(--brand-gradient);color:var(--text-strong);box-shadow:0 4px 14px color-mix(in srgb,var(--brand-violet) 40%,transparent)}#chat-send-btn:hover{transform:scale(1.07) rotate(-10deg);box-shadow:0 6px 20px color-mix(in srgb,var(--brand-violet) 55%,transparent)}#chat-send-btn:disabled{background:var(--border);color:var(--text-muted);box-shadow:none;transform:none;cursor:not-allowed}#chat-mic-btn.listening,#chat-mic-btn.listening:hover{background:var(--color-danger);color:var(--text-strong);animation:chatMicPulse 1.4s ease-in-out infinite}.chat-input-area.listening textarea{border-color:var(--color-danger)}@keyframes chatMicPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-danger) 0%,transparent)}}.chat-context-tray{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:color-mix(in srgb,var(--surface-sunken) 60%,transparent);border:1px solid color-mix(in srgb,var(--text-strong) 8%,transparent);border-radius:8px}.chat-context-thumb{position:relative;width:56px;height:56px;border-radius:6px;overflow:hidden;border:1px solid color-mix(in srgb,var(--text-strong) 12%,transparent);background:color-mix(in srgb,var(--surface-sunken) 80%,transparent);animation:chatItemIn .3s cubic-bezier(.2,.8,.2,1) both}.chat-context-thumb img{width:100%;height:100%;object-fit:cover}.chat-context-thumb .thumb-index{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:4px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text-strong);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.chat-context-thumb .thumb-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;min-width:0;border-radius:4px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text-strong);border:none;cursor:pointer;font-size:9px;padding:0;display:flex;align-items:center;justify-content:center}.chat-context-thumb .thumb-remove:hover{background:var(--color-danger)}@media(prefers-reduced-motion:reduce){.help-agent-chat:before,.help-agent-chat:after,.agent-orb,.chat-message,.chat-tool-step,.chat-plan-card,.chat-typing span{animation:none!important}}.version-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9999;display:flex;gap:12px;align-items:center;padding:10px 14px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-color);font-family:var(--font-sans);font-size:.85rem;box-shadow:0 8px 24px #00000059;animation:version-banner-in .25s ease-out}@keyframes version-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.version-banner-text{white-space:nowrap}.version-banner-reload{background:var(--accent);color:var(--text-on-light);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.version-banner-reload:hover{opacity:.85}.version-banner-dismiss{background:none;border:none;color:var(--text-secondary-color);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px;transition:color .15s ease}.version-banner-dismiss:hover{color:var(--text-strong)}.screenshot-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sc-crop-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:16px;padding:10px 16px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-surface);color:var(--text-color)}.sc-crop-hint{font-size:.85rem;color:var(--text-secondary-color)}.sc-crop-actions{display:flex;gap:8px}.sc-crop-actions button{padding:8px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-surface);color:var(--text-color);font-size:.8rem;font-weight:600;cursor:pointer;transition:filter .15s ease}.sc-crop-actions button:hover{filter:brightness(1.25)}.sc-crop-confirm{background:var(--neon-cyan);color:#000;border-color:var(--neon-cyan)}.sc-crop-confirm:disabled{opacity:.4;cursor:not-allowed;filter:none}.sc-crop-stage{position:relative;line-height:0;box-shadow:0 8px 40px #0009}.sc-crop-img{display:block;max-width:90vw;max-height:78vh;cursor:crosshair;-webkit-user-select:none;user-select:none}.sc-crop-rect{position:absolute;border:2px solid var(--neon-cyan);background:color-mix(in srgb,var(--neon-cyan) 14%,transparent);box-shadow:0 0 0 100vmax #00000080;pointer-events:none}.payment-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9998;display:flex;gap:12px;align-items:center;width:max-content;max-width:min(760px,calc(100vw - 32px));padding:10px 14px;background:var(--surface);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--text-color);font-family:var(--font-sans);font-size:.85rem;line-height:1.4;box-shadow:0 8px 24px #00000059;animation:version-banner-in .25s ease-out}.payment-banner-icon{color:var(--color-warning);flex-shrink:0}.payment-banner-text{flex:1 1 auto;min-width:0}.payment-banner-action{flex-shrink:0;background:var(--color-warning);color:var(--text-on-light);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.payment-banner-action:hover{opacity:.85}.payment-banner-action:disabled{opacity:.6;cursor:default}.payment-banner-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-secondary-color);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px;transition:color .15s ease}.payment-banner-dismiss:hover{color:var(--text-strong)}@media(max-width:640px){.payment-banner{flex-wrap:wrap}}.release-banner{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9997;display:flex;gap:10px;align-items:center;max-width:min(460px,calc(100vw - 32px));padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-color);font-family:var(--font-sans);font-size:.85rem;line-height:1.4}.release-banner-badge{flex-shrink:0;background:var(--brand-gradient);color:var(--text-strong);border-radius:var(--radius-sm);padding:2px 8px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.release-banner-text{flex:1 1 auto;min-width:0}.release-banner-link{flex-shrink:0;color:var(--text-strong);font-weight:600;text-decoration:underline;text-underline-offset:3px}.release-banner-dismiss{flex-shrink:0;background:none;border:none;color:var(--text-secondary-color);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px}.release-banner-dismiss:hover{color:var(--text-strong)}.model3d-node{display:flex;flex-direction:column;gap:6px}.model3d-preview{position:relative;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;background:var(--model3d-preview-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-muted)}.model3d-preview>.fa-cube{font-size:1.6rem}.model3d-preview.model3d-dropzone{border-style:dashed;cursor:pointer}.canvas-node.drag-over .model3d-preview{border-color:var(--handle-model3d)}.model3d-preview-label{font-size:.68rem;text-align:center;padding:0 10px}.model3d-still{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;cursor:pointer}.model3d-preview-open{position:relative;z-index:1;padding:4px 10px;font-size:.66rem;color:var(--text-strong);background:var(--gizmo-readout-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer}.model3d-still+.model3d-preview-open{position:absolute;right:6px;bottom:6px}.model3d-preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:grab;touch-action:none}.model3d-preview-canvas:active{cursor:grabbing}.model3d-reset-view{position:absolute;top:6px;right:6px;z-index:1;width:24px;height:24px;font-size:.65rem;color:var(--text-strong);background:var(--gizmo-readout-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer}.model3d-info{display:flex;align-items:center;gap:6px}.model3d-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;color:var(--text-strong)}.model3d-badge{flex-shrink:0;padding:1px 6px;font-size:.58rem;font-weight:700;letter-spacing:.04em;color:var(--handle-model3d);border:1px solid var(--handle-model3d);border-radius:var(--radius-sm)}.model3d-meta{font-size:.62rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.model3d-status:empty{display:none}.model3d-retry-save{padding:0;font-size:inherit;color:var(--neon-cyan);background:none;border:none;text-decoration:underline;cursor:pointer}.model3d-form{display:flex;flex-direction:column;gap:6px}.model3d-form input[type=range]{flex:1;min-width:0}.model3d-form input[type=color]{width:32px;height:22px;padding:0;border:none;cursor:pointer}.model3d-form .earth-field[type=color]{flex:1}.model3d-check{display:flex;align-items:center;gap:5px;font-size:.66rem;color:var(--text-secondary-color);cursor:pointer}.model3d-tree{max-height:200px;overflow-y:auto;margin-top:5px;padding:5px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:4px}.model3d-tree-row{display:flex;align-items:center;gap:5px;margin-bottom:2px;font-size:.65rem;color:var(--text-color)}.model3d-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model3d-tree-name i{margin-right:4px;color:var(--text-muted)}.model3d-tree-type{font-size:.55rem;color:var(--text-muted)}.model3d-tree-row input[type=color]{width:20px;height:16px;padding:0;border:none;cursor:pointer}.model3d-tree-row input[type=range]{width:40px}.model3d-mat-row{display:flex;align-items:center;gap:5px;margin-bottom:3px;font-size:.65rem;color:var(--text-color)}.model3d-mat-swatch{flex-shrink:0;width:12px;height:12px;border:1px solid var(--glass-border);border-radius:3px}.model3d-mat-row input[type=color]{width:20px;height:16px;padding:0;border:none;cursor:pointer}.model3d-mat-row input[type=range]{width:44px}.model3d-mat-row .model3d-check{font-size:.6rem;white-space:nowrap}.earth-model-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.earth-model-row{display:flex;flex-direction:column;gap:4px;padding:5px 6px;background:var(--glass-bg);border:1px solid transparent;border-radius:4px;cursor:pointer}.earth-model-row.selected{border-color:var(--handle-model3d)}.earth-model-row.pending{cursor:default;opacity:.7}.earth-model-head{display:flex;align-items:center;gap:5px}.earth-model-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;color:var(--text-color)}.earth-icon-btn{flex-shrink:0;width:22px;padding:2px 0;font-size:.66rem;color:var(--text-color);background:transparent;border:none;cursor:pointer}.earth-icon-btn:hover{color:var(--text-strong)}.earth-variant-row{display:flex;flex-wrap:wrap;gap:3px}.earth-variant-row .earth-chip{flex:1 1 auto;min-width:0;max-width:100%;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.earth-add-input3d{width:100%;margin-bottom:10px;font-size:.7rem}.earth-place.model-group{margin-bottom:8px}.cutout-actions{margin:6px 0}.cutout-actions .node-action-btn{margin:0;padding:5px;font-size:.68rem}.cutout-actions .node-action-btn.active{color:var(--text-on-light);background:var(--neon-cyan)}.cutout-point-list{display:flex;flex-direction:column;gap:3px;max-height:120px;overflow-y:auto}
