@import "https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500;600;700&display=swap";:root{--font-mono:"JetBrains Mono", "Roboto Mono", "Consolas", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root,[data-theme=dark]{--canvas-bg:#0a0b0e;--grid-color:#ffffff09;--ui-bg:#0e0f12;--ui-border:#23262e;--border-subtle:#1c1e25;--border-hover:#383d4a;--accent:#3b82f6;--accent-hover:#2563eb;--text-primary:#ededf2;--text-secondary:#8e93a0;--text-muted:#575b66;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--surface:#14161b;--surface-hover:#1a1d23;--surface-active:#3b82f6;--selection:#3b82f638;--shadow-color:#00000080}[data-theme=light]{--canvas-bg:#f8f9fa;--grid-color:#e2e4e9;--ui-bg:#fff;--ui-border:#e1e4ea;--border-subtle:#eceef2;--border-hover:#cbd0d8;--accent:#2563eb;--accent-hover:#1d4ed8;--text-primary:#0e0f12;--text-secondary:#575b66;--text-muted:#8e93a0;--danger:#dc2626;--success:#059669;--warning:#d97706;--surface:#f4f5f7;--surface-hover:#eaecef;--surface-active:#2563eb;--selection:#2563eb26;--shadow-color:#00000014}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-sans);background:var(--ui-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:12px;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--ui-bg)}::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent);color:#fff}input,select,textarea,button{font-family:var(--font-mono);font-size:11px}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:1000;background:#000;border-radius:4px;padding:4px 8px;font-size:10px;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}[data-tooltip]:hover:after{opacity:1}.landing-root{background:var(--canvas-bg);color:var(--text-primary);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.landing-theme-toggle{border:1px solid var(--ui-border);background:var(--ui-bg);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:18px}.landing-theme-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.landing-inner{text-align:center;width:100%;max-width:820px}.landing-brand{align-items:center;gap:10px;margin-bottom:22px;display:inline-flex}.landing-logo{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.landing-brand-name{font-family:var(--font-mono);letter-spacing:.02em;font-size:20px;font-weight:700}.landing-title{letter-spacing:-.02em;margin-bottom:8px;font-size:34px;font-weight:800}.landing-subtitle{color:var(--text-secondary);margin-bottom:34px;font-size:14px}.landing-cards{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=640px){.landing-cards{grid-template-columns:1fr}.landing-title{font-size:26px}}.landing-card{text-align:left;color:inherit;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:14px;flex-direction:column;align-items:flex-start;padding:26px 24px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.landing-card:hover{border-color:var(--card-accent,var(--accent));box-shadow:0 10px 30px var(--shadow-color);transform:translateY(-3px)}.landing-card-icon{background:var(--surface);border-radius:14px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:18px;display:flex}.landing-card-title{margin-bottom:8px;font-size:20px;font-weight:700}.landing-card-desc{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.landing-card-cta{color:var(--card-accent,var(--accent));align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.landing-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:36px;font-size:11px;display:flex}.landing-credit{color:var(--text-muted)}.landing-credit a{color:var(--text-secondary);font-weight:600;text-decoration:none}.landing-credit a:hover{color:var(--accent);text-decoration:underline}.landing-socials{align-items:center;gap:8px;display:inline-flex}.landing-social{border:1px solid var(--ui-border);background:var(--ui-bg);width:30px;height:30px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,border-color .15s,transform .15s;display:inline-flex}.landing-social:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.menu-home-btn{width:26px;height:22px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;margin-right:2px;text-decoration:none;display:inline-flex}.menu-home-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.menu-mode-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface);border:1px solid var(--ui-border);border-radius:2px;margin-right:6px;padding:2px 8px;font-size:10px;font-weight:600}.fp-insert-btn:hover{border-color:var(--accent)!important}button,input,select,textarea{font-family:var(--font-sans);font-size:11px}.app-container{background:var(--ui-bg);width:100vw;height:100vh;color:var(--text-primary);font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.menu-bar{background:var(--ui-bg);border-bottom:1px solid var(--ui-border);z-index:100;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;height:40px;min-height:40px;padding:0 16px;display:flex}.menu-bar .app-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;text-transform:uppercase;align-items:center;gap:8px;margin-right:12px;font-size:13px;font-weight:700;display:flex}.menu-bar .app-title svg{width:15px;height:15px;color:var(--accent)}.menu-home-btn{width:28px;height:28px;color:var(--text-secondary);border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;margin-right:4px;text-decoration:none;transition:all .15s;display:inline-flex}.menu-home-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.menu-mode-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--ui-border);background:0 0;border-radius:2px;margin-right:12px;padding:2px 8px;font-size:10px;font-weight:500}.menu-item{position:relative}.menu-item>button{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s}.menu-item>button:hover,.menu-item>button.active{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-subtle)}.menu-dropdown{background:var(--surface);border:1px solid var(--ui-border);z-index:200;min-width:190px;box-shadow:0 10px 30px var(--shadow-color);border-radius:2px;padding:4px;animation:.12s cubic-bezier(.16,1,.3,1) dropdownIn;position:absolute;top:calc(100% + 4px);left:0}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-dropdown button{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:500;transition:all .1s;display:flex}.menu-dropdown button:hover{background:var(--surface-hover);color:var(--text-primary)}.menu-dropdown button .shortcut{color:var(--text-muted);font-family:var(--font-mono);border:1px solid var(--ui-border);background:#0a0b0e;border-radius:2px;margin-left:20px;padding:1px 6px;font-size:10px;font-weight:600}.menu-dropdown .separator{background:var(--ui-border);height:1px;margin:4px 0}.feedback-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;transition:all .15s;display:flex}.feedback-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.feedback-btn svg{width:15px;height:15px}.gank-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:4px;transition:all .15s;display:flex}.gank-btn:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--ui-border)}.gank-btn svg{width:15px;height:15px}.theme-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:4px;transition:all .15s;display:flex}.theme-toggle-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.theme-toggle-btn svg{width:15px;height:15px}.main-area{flex:1;display:flex;overflow:hidden}.left-toolbar{background:var(--ui-bg);border-right:1px solid var(--ui-border);z-index:50;-webkit-user-select:none;user-select:none;box-sizing:border-box;flex-direction:column;align-items:center;gap:4px;width:48px;min-width:48px;height:100%;padding:6px 0 10px;display:flex;position:relative;overflow:hidden}.left-toolbar.expanded{align-items:stretch}.toolbar-header{border-bottom:1px solid var(--border-subtle);justify-content:center;align-items:center;width:100%;margin-bottom:2px;padding:2px 4px 6px;display:flex}.left-toolbar.expanded .toolbar-header{justify-content:space-between;padding:2px 8px 6px}.toolbar-header-title{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.toolbar-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.toolbar-toggle-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.toolbar-resizer{cursor:col-resize;z-index:90;background:0 0;width:6px;height:100%;transition:background .15s;position:absolute;top:0;right:-3px}.toolbar-resizer:hover,.toolbar-resizer.dragging{background:var(--accent)}.tool-btn{border:1px solid var(--ui-border);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.left-toolbar.expanded .tool-btn{justify-content:flex-start;gap:8px;width:calc(100% - 12px);margin:0 6px 2px;padding:0 8px}.tool-btn-label{font-size:11px;font-family:var(--font-sans);color:inherit;white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;overflow:hidden}.tool-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.tool-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tool-btn svg{flex-shrink:0;width:16px;height:16px}.via-tool-wrapper{display:inline-block;position:relative}.left-toolbar.expanded .via-tool-wrapper{width:100%}.left-toolbar.expanded .via-tool-wrapper .tool-btn{width:calc(100% - 12px);margin:0 6px 2px}.left-toolbar.expanded .via-submenu-popup{left:calc(100% + 4px)}.via-submenu-popup{background:var(--surface);border:1px solid var(--ui-border);box-shadow:0 10px 30px var(--shadow-color);z-index:100;border-radius:2px;gap:4px;padding:4px;display:flex;position:absolute;top:50%;left:36px;transform:translateY(-50%)}.via-submenu-popup:before{content:"";background:0 0;width:12px;height:100%;position:absolute;top:0;left:-12px}.via-submenu-btn{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;transition:all .15s;display:flex}.via-submenu-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.via-submenu-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cmos-category-wrapper{justify-content:center;width:100%;display:flex;position:relative}.cmos-cat-trigger{width:38px;height:22px;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text-secondary);border-radius:2px;justify-content:center;align-items:center;gap:2px;padding:0 4px;font-size:9px;font-weight:700;transition:all .15s;display:flex}.cmos-cat-trigger:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.cmos-cat-trigger.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cmos-cat-popup{background:var(--surface);border:1px solid var(--ui-border);box-shadow:0 10px 30px var(--shadow-color);z-index:100;border-radius:2px;flex-direction:column;gap:2px;min-width:175px;padding:6px;display:flex;position:absolute;top:0;left:44px}.cmos-cat-popup:before{content:"";background:0 0;width:14px;height:100%;position:absolute;top:0;left:-14px}.cmos-cat-popup-item{font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;transition:all .12s;display:flex}.cmos-cat-popup-item:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--ui-border)}.cmos-cat-popup-item.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.toolbar-divider{background:var(--ui-border);width:24px;height:1px;margin:4px 0}.color-swatch{cursor:pointer;border:1px solid var(--ui-border);border-radius:2px;width:26px;height:26px;transition:transform .15s,border-color .15s;position:relative}.color-swatch:hover{z-index:10;border-color:var(--border-hover);transform:scale(1.1)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--accent);transform:scale(1.05)}.canvas-container{background:var(--canvas-bg);flex:1;position:relative;overflow:hidden}.canvas-container canvas{cursor:crosshair;display:block}.canvas-container.tool-select canvas{cursor:default}.canvas-container.panning canvas{cursor:grab}.canvas-container.panning:active canvas{cursor:grabbing}.canvas-container.tool-dropper canvas{cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8cGF0aCBkPSJNMTQgMTggTDIyIDEwIEEgNS43IDUuNyAwIDAgMSAzMCAxOCBMMTggMjIgWiIgZmlsbD0iI2VmNDQ0NCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgPHBhdGggZD0iTTQgMjggTDE0IDE4IEwxOCAyMiBMOCAzMiBaIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgPHBhdGggZD0iTTYgMzAgTDExIDI1IEwxNSAyOSBMMTAgMzIgWiIgZmlsbD0iIzNiODJmNiIvPgogIDxwYXRoIGQ9Ik0wIDMyIEw0IDI4IEw4IDMyIFoiIGZpbGw9IndoaXRlIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+) 0 32,crosshair}.inline-label-input{background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text-primary);font-family:var(--font-mono);z-index:50;min-width:80px;box-shadow:0 4px 12px var(--shadow-color);border-radius:3px;outline:none;padding:4px 8px;font-size:11px;position:absolute}.right-panel{background:var(--ui-bg);border-left:1px solid var(--ui-border);z-index:50;flex-direction:column;width:260px;min-width:260px;display:flex;overflow-y:auto}.panel-tabs{border-bottom:1px solid var(--ui-border);background:var(--ui-bg);height:38px;min-height:38px;display:flex}.panel-tab{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:all .15s;display:flex}.panel-tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.panel-tab.active{color:var(--text-primary);border-bottom-color:var(--accent);background:var(--surface)}.panel-header{border-bottom:1px solid var(--ui-border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:12px 16px;font-size:10px;font-weight:700}.panel-empty{color:var(--text-muted);text-align:center;padding:32px 16px;font-size:11px;line-height:1.6}.panel-content{flex-direction:column;gap:14px;padding:16px;display:flex}.prop-group{flex-direction:column;gap:6px;display:flex}.prop-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:10px;font-weight:600}.prop-input{border:1px solid var(--ui-border);color:var(--text-primary);font-family:var(--font-mono);background:#0a0b0e;border-radius:2px;outline:none;padding:6px 8px;font-size:11px;transition:all .15s}.prop-input:focus{border-color:var(--accent)}.prop-select{border:1px solid var(--ui-border);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;background:#0a0b0e;border-radius:2px;outline:none;padding:6px 8px;font-size:11px}.prop-btn{border:1px solid var(--ui-border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.prop-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.prop-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.prop-btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.prop-btn.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.prop-btn-row{gap:6px;display:flex}.prop-btn-row .prop-btn{flex:1}.color-option{border:1px solid var(--ui-border);background:var(--surface);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);border-radius:2px;align-items:center;gap:8px;margin-top:4px;padding:6px 8px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.color-option:hover{background:var(--surface-hover);border-color:var(--border-hover)}.color-option.active{background:var(--surface-hover);border-color:var(--accent);color:#fff}.color-dot{border:1px solid var(--ui-border);border-radius:2px;flex-shrink:0;width:10px;height:10px}.status-bar{border-top:1px solid var(--ui-border);height:28px;min-height:28px;font-family:var(--font-mono);color:var(--text-secondary);-webkit-user-select:none;user-select:none;background:#0a0b0e;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;font-weight:500;display:flex}.status-left{align-items:center;gap:14px;display:flex}.status-right{color:var(--text-muted);align-items:center;gap:12px;display:flex}.credit-name{color:var(--text-primary);font-weight:600}.credit-link{color:var(--text-primary);font-weight:600;text-decoration:none;transition:color .15s}.credit-link:hover{color:var(--accent);text-decoration:underline}.credit-icon{color:var(--text-muted);align-items:center;gap:4px;text-decoration:none;transition:color .15s;display:inline-flex}.credit-icon:hover{color:var(--text-primary)}.status-item{letter-spacing:-.01em;align-items:center;gap:6px;display:flex}.status-item .dot{border-radius:50%;width:6px;height:6px}.status-item .dot.on{background:#10b981}.status-item .dot.off{background:#575b66}.status-separator{background:var(--ui-border);width:1px;height:12px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background:#000000a6;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{border:1px solid var(--ui-border);background:#0e0f12;border-radius:2px;width:480px;max-width:90vw;animation:.18s cubic-bezier(.16,1,.3,1) modalIn;box-shadow:0 20px 40px #0009}@keyframes modalIn{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--ui-border);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-header h2{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);font-size:13px;font-weight:700}.modal-header svg{color:var(--accent)}.modal-body{flex-direction:column;gap:10px;padding:20px;display:flex}.template-option{background:var(--surface);border:1px solid var(--ui-border);cursor:pointer;border-radius:2px;align-items:flex-start;gap:16px;padding:14px;transition:all .15s;display:flex}.template-option:hover{border-color:var(--accent);background:var(--surface-hover)}.template-option .tpl-icon{border:1px solid var(--ui-border);width:40px;height:40px;color:var(--text-primary);background:#0a0b0e;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.template-option:hover .tpl-icon{background:var(--accent);color:#fff;border-color:var(--accent)}.template-option .tpl-info h3{font-family:var(--font-sans);color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:700}.template-option .tpl-info p{color:var(--text-secondary);font-size:11px;line-height:1.5}.export-modal{width:620px;max-width:95vw}.export-layout{gap:24px;padding:20px;display:flex}@media (width<=600px){.export-layout{flex-direction:column;gap:16px}}.export-preview-container{flex-direction:column;flex:1.1;align-items:center;gap:12px;display:flex}.export-preview-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);align-self:flex-start;font-size:10px;font-weight:700}.export-preview-box{aspect-ratio:1;border:1px solid var(--ui-border);background:#0a0b0e;border-radius:2px;justify-content:center;align-items:center;width:100%;max-height:250px;display:flex;position:relative;overflow:hidden}.export-preview-box canvas{object-fit:contain;max-width:100%;max-height:100%;display:block}.export-preview-dims{font-family:var(--font-mono);color:var(--text-muted);text-align:center;font-size:10px;font-weight:600}.export-options-container{flex-direction:column;flex:.9;justify-content:space-between;gap:14px;display:flex}.export-option-group{flex-direction:column;gap:6px;display:flex}.export-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:10px;font-weight:700}.export-btn-group{gap:6px;display:flex}.export-btn-group.vertical{flex-direction:column}.export-btn{border:1px solid var(--ui-border);background:var(--surface);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);text-align:center;border-radius:2px;flex:1;padding:8px 10px;font-size:11px;font-weight:600;transition:all .15s}.export-btn:hover{background:var(--surface-hover);border-color:var(--border-hover)}.export-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.export-actions{gap:10px;margin-top:12px;display:flex}.export-action-btn{border:1px solid var(--ui-border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;text-align:center;border-radius:2px;flex:1;padding:9px 12px;font-size:11px;font-weight:600;transition:all .15s}.export-action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.export-action-btn.primary:hover{background:#2563eb}.export-action-btn.secondary{background:var(--surface);color:var(--text-primary)}.export-action-btn.secondary:hover{background:var(--surface-hover);border-color:var(--border-hover)}.feedback-target-bar{background:var(--surface);border:1px solid var(--ui-border);border-radius:2px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.feedback-target-info{align-items:center;gap:8px;display:flex}.feedback-target-label{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.feedback-target-address{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:600}.feedback-copy-btn{border:1px solid var(--ui-border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;transition:all .15s;display:inline-flex}.feedback-copy-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.feedback-error-banner{background:#ef444414;border:1px solid #ef44444d;border-radius:2px;margin-bottom:14px;padding:12px 14px}.feedback-error-title{font-family:var(--font-mono);text-transform:uppercase;color:var(--danger);margin-bottom:4px;font-size:11px;font-weight:700}.feedback-error-desc{color:var(--text-secondary);margin-bottom:10px;font-size:12px;line-height:1.4}.feedback-error-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-relay-btn{font-family:var(--font-mono);cursor:pointer;border-radius:2px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.feedback-relay-btn.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.feedback-relay-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.feedback-relay-btn.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--ui-border)}.feedback-relay-btn.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-hover)}.feedback-relay-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-footer{flex-direction:column;gap:12px;margin-top:14px;display:flex}.feedback-quick-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.feedback-quick-label{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-muted);margin-right:2px;font-size:10px}.feedback-chip-btn{border:1px solid var(--ui-border);background:var(--surface);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:2px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.feedback-chip-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.feedback-chip-btn:disabled{opacity:.4;cursor:not-allowed}.feedback-modal-actions{justify-content:flex-end;gap:10px;display:flex}.zoom-controls{background:var(--ui-bg);border:1px solid var(--ui-border);box-shadow:0 8px 24px var(--shadow-color);z-index:40;border-radius:2px;flex-direction:column;align-items:stretch;display:flex;position:absolute;bottom:12px;right:12px;overflow:hidden}.zoom-btn{width:38px;height:30px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s;display:flex}.zoom-btn:hover{background:var(--surface-hover)}.zoom-btn.zoom-level{font-size:10px;font-weight:700;font-family:var(--font-mono);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);color:var(--text-secondary);background:#0a0b0e}.shortcuts-hud{z-index:40;transition:all .15s ease-out;position:absolute;bottom:12px;left:12px;overflow:hidden;background:var(--ui-bg)!important;border:1px solid var(--ui-border)!important;box-shadow:0 10px 30px var(--shadow-color)!important;border-radius:2px!important}.shortcuts-hud.collapsed{width:auto;height:30px}.shortcuts-hud.expanded{width:260px;padding:12px}.hud-toggle-btn{color:var(--text-primary);cursor:pointer;text-align:left;width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:2px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;font-weight:600;display:flex}.hud-toggle-btn:hover{background:var(--surface-hover)}.hud-content{margin-top:8px}.hud-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.hud-grid{flex-direction:column;gap:6px;display:flex}.hud-row{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:11px;display:flex}.hud-row span{font-size:11px}.hud-row kbd{border:1px solid var(--ui-border);color:var(--text-primary);font-size:9px;font-weight:600;font-family:var(--font-mono);box-shadow:none;background:#0a0b0e;border-radius:2px;padding:1px 6px}.layers-section-header{border-top:1px solid var(--ui-border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);margin-top:8px;padding:12px;font-size:9px;font-weight:700}.layers-toggle-all-btn{border:1px solid var(--ui-border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:500;transition:all .15s}.layers-toggle-all-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.layers-list{flex-direction:column;gap:4px;padding:0 12px 16px;display:flex}.layer-row{border:1px solid var(--ui-border);background:var(--surface);color:var(--text-primary);border-radius:2px;justify-content:space-between;align-items:center;padding:6px 8px;transition:all .15s;display:flex}.layer-row:hover{background:var(--surface-hover);border-color:var(--border-hover)}.layer-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.layer-color-indicator{border:1px solid var(--ui-border);border-radius:2px;flex-shrink:0;width:10px;height:10px}.layer-color-indicator.via-symbol{background:var(--text-primary);border-color:var(--ui-border)}.layer-color-indicator.label-symbol{color:#fff;font-size:8px;font-weight:700;font-family:var(--font-mono);background:#8888a8;justify-content:center;align-items:center;line-height:1;display:flex}.layer-name{font-family:var(--font-sans);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.layer-controls{align-items:center;gap:4px;display:flex}.layer-ctrl-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.layer-ctrl-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.layer-ctrl-btn.inactive{color:var(--text-muted);opacity:.4}.layer-ctrl-btn.active{color:var(--accent)}.layer-opacity-control{align-items:center;gap:6px;margin-left:2px;display:flex}.layer-opacity-slider{appearance:none;background:var(--ui-border);cursor:pointer;border-radius:0;outline:none;width:32px;height:2px;transition:width .15s}.layer-opacity-slider:hover,.layer-opacity-slider:focus{width:48px}.layer-opacity-slider::-webkit-slider-thumb{appearance:none;border:1px solid var(--ui-border);background:var(--ui-bg);cursor:pointer;border-radius:50%;width:8px;height:8px;transition:background .15s}.layer-opacity-slider::-webkit-slider-thumb:hover{background:var(--accent)}.layer-opacity-percent{color:var(--text-muted);text-align:right;width:24px;font-size:8px;font-weight:600;font-family:var(--font-mono)}.custom-swatch{overflow:hidden}.custom-color-picker-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;top:0;left:0}.layer-palette-scroll{flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;padding:0 4px;display:flex;overflow:hidden auto}.layer-palette-scroll::-webkit-scrollbar{width:3px}.layer-palette-scroll::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:2px}.left-toolbar.expanded .layer-palette-scroll{align-items:stretch;padding:0 6px}.palette-section-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);text-align:left;width:100%;margin-bottom:2px;padding:4px 4px 6px;font-size:9px;font-weight:700}.palette-row{border:1px solid var(--ui-border);cursor:pointer;background:var(--ui-bg);box-sizing:border-box;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:4px;transition:all .15s;display:flex;position:relative}.left-toolbar.expanded .palette-row{justify-content:flex-start;gap:8px;width:100%;height:28px;margin-bottom:3px;padding:0 6px}.palette-row:hover{background:var(--surface-hover);border-color:var(--border-hover)}.palette-row.active{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 2px var(--accent)}.left-toolbar.expanded .palette-row.active{background:var(--surface-hover);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.palette-swatch{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:20px;height:20px}.left-toolbar.expanded .palette-swatch{width:18px;height:18px}.palette-layer-name{font-family:var(--font-sans);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;font-size:11px;font-weight:500;overflow:hidden}.palette-row.active .palette-layer-name{color:var(--text-primary);font-weight:600}.left-toolbar.expanded .palette-add-metal-btn{justify-content:flex-start;gap:8px;width:100%;height:28px;padding:0 8px}.left-toolbar.expanded .palette-row .palette-remove-btn{opacity:.6;flex-shrink:0;margin-left:auto;position:static}.left-toolbar.expanded .palette-row:hover .palette-remove-btn{opacity:1}.left-toolbar.expanded .fp-insert-btn{justify-content:flex-start!important;gap:8px!important;width:100%!important;padding:0 8px!important}.fp-btn-label{font-size:11px;font-family:var(--font-sans);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;overflow:hidden}.left-toolbar.expanded .cmos-category-wrapper{width:calc(100% - 12px);margin:0 6px 4px}.left-toolbar.expanded .cmos-cat-trigger{justify-content:space-between;width:100%;padding:4px 8px}.left-toolbar.expanded .cmos-cat-popup{left:calc(100% + 4px)}.palette-edit{opacity:0;cursor:pointer;background:#0009;border-radius:2px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.palette-row:hover .palette-edit{opacity:1}.palette-color-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.palette-remove-btn{background:var(--danger);cursor:pointer;color:#fff;opacity:0;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;transition:opacity .15s;display:flex;position:absolute;top:-4px;right:-4px}.palette-row:hover .palette-remove-btn{opacity:1}.palette-remove-btn:hover{color:#fff;background:#dc2626}.palette-add-metal-btn{background:var(--surface);border:1px dashed var(--ui-border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;margin-top:2px;padding:0;transition:all .15s;display:flex}.palette-add-metal-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.palette-divider-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-top:1px solid var(--ui-border);text-align:center;margin-top:4px;padding:6px 0 2px;font-size:8px;font-weight:700}.layers-tab-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.layers-tab-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:10px;font-weight:700;display:flex}.layer-action-btn{background:var(--surface);border:1px solid var(--ui-border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);border-radius:2px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:600;transition:all .15s;display:flex}.layer-action-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent)}.layer-stack{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.layer-drop-indicator{background:var(--accent);height:2px;box-shadow:0 0 6px var(--accent);border-radius:1px;margin:3px 0;transition:all .1s;position:relative}.layer-stack-row{border:1px solid var(--ui-border);background:var(--surface);cursor:pointer;border-radius:2px;align-items:center;gap:6px;min-height:32px;padding:6px 8px;transition:all .12s;display:flex}.layer-stack-row:hover{background:var(--surface-hover);border-color:var(--border-hover)}.layer-stack-row.active{border-color:var(--accent);background:#3b82f614}.layer-stack-row.dragging{opacity:.5}.layer-drag-handle{cursor:grab;color:var(--text-muted);border-radius:2px;align-items:center;padding:2px;transition:color .15s;display:flex}.layer-drag-handle:hover{color:var(--text-primary)}.layer-drag-handle:active{cursor:grabbing}.layer-vis-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:2px;align-items:center;padding:2px;transition:all .15s;display:flex}.layer-vis-btn:hover{color:var(--text-primary)}.layer-vis-btn.hidden{color:var(--text-muted);opacity:.4}.layer-stack-name{font-family:var(--font-sans);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:4px;min-width:0;font-size:11px;font-weight:500;display:flex;overflow:hidden}.layer-custom-badge{background:var(--accent);color:#fff;width:14px;height:14px;font-family:var(--font-mono);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}.layer-el-count{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:9px;font-weight:600}.layer-rename-input{border:1px solid var(--accent);color:var(--text-primary);font-family:var(--font-mono);background:#0a0b0e;border-radius:2px;outline:none;flex:1;min-width:0;padding:2px 6px;font-size:11px}.layer-options-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:2px;align-items:center;padding:2px;transition:all .15s;display:flex}.layer-options-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.layer-options-dropdown{background:var(--surface);border:1px solid var(--ui-border);z-index:200;min-width:120px;box-shadow:0 10px 30px var(--shadow-color);border-radius:2px;padding:4px;animation:.12s cubic-bezier(.16,1,.3,1) dropdownIn;position:absolute;top:100%;right:0}.layer-options-dropdown button{width:100%;color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);text-align:left;background:0 0;border:none;border-radius:2px;padding:6px 10px;font-size:11px;font-weight:500;transition:all .1s;display:block}.layer-options-dropdown button:hover{background:var(--surface-hover);color:var(--text-primary)}.layer-delete-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:2px;align-items:center;padding:2px;transition:all .15s;display:flex}.layer-delete-btn:hover{color:var(--danger)}.layer-delete-btn:disabled{opacity:.2;cursor:not-allowed}.custom-layer-form{border-bottom:1px solid var(--ui-border);background:var(--surface);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.clf-field{flex-direction:column;gap:4px;display:flex}.clf-field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:9px;font-weight:700}.clf-field input[type=text]{border:1px solid var(--ui-border);color:var(--text-primary);font-family:var(--font-mono);background:#0a0b0e;border-radius:2px;outline:none;padding:5px 8px;font-size:11px}.clf-field input[type=text]:focus{border-color:var(--accent)}.clf-field input[type=color]{border:1px solid var(--ui-border);cursor:pointer;background:0 0;border-radius:2px;width:32px;height:24px;padding:0}.clf-field input[type=range]{width:100%}.clf-stroke-options{gap:4px;display:flex}.clf-stroke-btn{border:1px solid var(--ui-border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);text-align:center;background:#0a0b0e;border-radius:2px;flex:1;padding:4px 6px;font-size:10px;font-weight:600;transition:all .15s}.clf-stroke-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.clf-stroke-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.clf-actions{gap:6px;margin-top:4px;display:flex}.clf-create-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;flex:1;padding:7px;font-size:10px;font-weight:700;transition:all .15s}.clf-create-btn:hover{background:#2563eb}.clf-create-btn:disabled{opacity:.4;cursor:not-allowed}.clf-cancel-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--ui-border);cursor:pointer;font-family:var(--font-mono);border-radius:2px;padding:7px 12px;font-size:10px;font-weight:600;transition:all .15s}.clf-cancel-btn:hover{background:var(--surface-hover)}.mobile-sidebar-toggle-btn{display:none}.canvas-floating-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;z-index:100;border-radius:2px;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.canvas-floating-btn:hover{background:#2563eb}@media (width<=768px){.main-area{position:relative}.right-panel{z-index:150;width:240px;box-shadow:-4px 0 16px var(--shadow-color);border-left:1px solid var(--ui-border);background:var(--ui-bg);transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.right-panel.open{transform:translate(0)}.mobile-sidebar-toggle-btn{background:var(--ui-bg);border:1px solid var(--ui-border);width:36px;height:36px;color:var(--text-primary);cursor:pointer;z-index:100;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:12px;right:12px}.mobile-sidebar-toggle-btn:hover{background:var(--surface-hover)}.menu-bar{white-space:nowrap;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--ui-border);justify-content:space-between;padding:0 4px;overflow-x:auto}.menu-bar::-webkit-scrollbar{display:none}.menu-bar .app-title{margin-right:8px}.shortcuts-hud{display:none}.status-bar{height:28px;min-height:28px;padding:0 6px;font-size:8px}.status-left{gap:8px}.status-right{gap:6px}.credit-author,.credit-author-sep,.credit-text{display:none}.status-separator{margin:0 2px}.left-toolbar{border-right:1px solid var(--ui-border);width:44px;min-width:44px;padding:10px 0}.tool-btn{width:30px;height:30px}.color-swatch{width:22px;height:22px}.layer-palette-scroll{max-height:calc(100vh - 340px)}}.autosave-toast{background:var(--surface);color:var(--text-primary);border:1px solid var(--ui-border);box-shadow:0 4px 16px var(--shadow-color);z-index:1000;pointer-events:none;border-radius:6px;padding:10px 20px;font-size:12px;font-weight:600;animation:.3s ease-out toastIn;position:fixed;bottom:40px;right:20px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.support-toast{z-index:1000;width:380px;max-width:calc(100vw - 40px);font-family:var(--font-sans);border-radius:0;flex-direction:column;gap:12px;padding:16px;animation:.25s cubic-bezier(.16,1,.3,1) toastIn;display:flex;position:fixed;bottom:24px;right:20px;box-shadow:0 10px 30px #00000080}[data-theme=dark] .support-toast{background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text-primary)}[data-theme=light] .support-toast{background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text-primary);box-shadow:0 8px 24px #0000001f}.support-toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:4px;transition:background-color .15s,color .15s;display:flex;position:absolute;top:10px;right:10px}.support-toast-close:hover{background:var(--surface-hover);color:var(--text-primary)}.support-toast-content{padding-right:20px}.support-toast-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.01em;margin:0 0 6px;font-size:13px;font-weight:700}.support-toast-text{font-family:var(--font-sans);color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.support-toast-actions{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:2px;display:grid}.support-btn-action{cursor:pointer;height:30px;font-size:11px;font-weight:600;font-family:var(--font-mono);white-space:nowrap;box-sizing:border-box;letter-spacing:-.01em;border-radius:0;justify-content:center;align-items:center;padding:0 6px;text-decoration:none;transition:all .15s;display:inline-flex}.support-btn-action.review{background:var(--accent);color:#fff;border:1px solid var(--accent)}.support-btn-action.review:hover{background:#255ecc;border-color:#255ecc}.support-btn-action.feedback{background:var(--surface);color:var(--text-primary);border:1px solid var(--ui-border)}.support-btn-action.feedback:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.support-btn-action.gank{background:var(--surface);color:var(--text-primary);border:1px solid var(--ui-border)}.support-btn-action.gank:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.support-btn-action.remind{color:var(--text-muted);border:1px solid var(--ui-border);background:0 0}.support-btn-action.remind:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-secondary)}@media (width<=480px){.support-toast{width:auto;max-width:none;bottom:20px;left:16px;right:16px}.support-toast-actions{grid-template-columns:repeat(2,1fr)}}.error-page-container{background:var(--bg,#0e0f12);width:100%;min-height:100vh;color:var(--text,#ededf2);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;display:flex}.error-page-container a{color:inherit;text-decoration:none}.error-navbar{border-bottom:1px solid var(--border,#23262e);z-index:100;background:#0e0f12;justify-content:space-between;align-items:center;height:52px;padding:0 32px;display:flex;position:sticky;top:0}.error-nav-left{align-items:center;gap:10px;display:flex}.error-brand-link{letter-spacing:-.01em;color:var(--text,#ededf2);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.error-brand-link svg{color:var(--accent,#3b82f6)}.error-nav-badge{font-family:var(--font-mono,monospace);color:var(--text-muted,#575b66);border:1px solid var(--border,#23262e);padding:1px 6px;font-size:11px;font-weight:500}.error-nav-links{align-items:center;gap:24px;display:flex}.error-nav-link{color:var(--text-secondary,#8e93a0);font-size:13px;transition:color .15s}.error-nav-link:hover{color:var(--text,#ededf2)}.error-nav-btn{background:var(--text,#ededf2);color:var(--bg,#0e0f12);border:1px solid var(--text,#ededf2);cursor:pointer;align-items:center;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.error-nav-btn:hover{background:#fff;border-color:#fff}.error-main-content{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:840px;margin:0 auto;padding:80px 32px 64px;display:flex}.error-num{font-family:var(--font-mono,monospace);letter-spacing:-.03em;color:var(--text,#ededf2);margin-bottom:16px;font-size:56px;font-weight:700;line-height:1}.error-heading{letter-spacing:-.02em;color:var(--text,#ededf2);margin-bottom:12px;font-size:24px;font-weight:600}.error-paragraph{color:var(--text-secondary,#8e93a0);max-width:580px;margin-bottom:24px;font-size:15px;line-height:1.6}.error-path-tag{background:var(--surface,#14161b);border:1px solid var(--border,#23262e);font-family:var(--font-mono,monospace);color:var(--text-secondary,#8e93a0);word-break:break-all;align-items:center;gap:8px;max-width:100%;margin-bottom:32px;padding:6px 12px;font-size:12px;display:inline-flex}.error-path-tag span{color:var(--text-muted,#575b66)}.error-btn-group{flex-wrap:wrap;gap:12px;margin-bottom:56px;display:flex}.error-btn-primary{background:var(--accent,#3b82f6);color:#fff;border:1px solid var(--accent,#3b82f6);cursor:pointer;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.error-btn-primary:hover{background:var(--accent-hover,#2563eb);border-color:var(--accent-hover,#2563eb)}.error-btn-secondary{background:var(--surface,#14161b);color:var(--text,#ededf2);border:1px solid var(--border,#23262e);cursor:pointer;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.error-btn-secondary:hover{background:var(--surface-hover,#1a1d23);border-color:var(--border-hover,#383d4a)}.error-btn-danger{background:var(--surface,#14161b);color:var(--danger,#ef4444);border:1px solid var(--border,#23262e);cursor:pointer;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.error-btn-danger:hover{background:var(--surface-hover,#1a1d23);border-color:var(--danger,#ef4444)}.error-links-section{border-top:1px solid var(--border,#23262e);padding-top:36px}.error-links-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#575b66);font-size:12px;font-weight:600;font-family:var(--font-mono,monospace);margin-bottom:16px}.error-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.error-link-card{background:var(--surface,#14161b);border:1px solid var(--border,#23262e);cursor:pointer;flex-direction:column;gap:6px;padding:18px;transition:all .15s;display:flex}.error-link-card:hover{background:var(--surface-hover,#1a1d23);border-color:var(--border-hover,#383d4a)}.error-link-card-title{color:var(--text,#ededf2);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.error-link-card-desc{color:var(--text-secondary,#8e93a0);font-size:12px;line-height:1.5}.error-diagnostics-box{background:var(--surface,#14161b);border:1px solid var(--border,#23262e);font-family:var(--font-mono,monospace);margin-bottom:24px;padding:16px;font-size:12px}.error-diagnostics-msg{color:var(--danger,#ef4444);word-break:break-all;margin-bottom:8px;font-weight:600}.error-diagnostics-stack{color:var(--text-secondary,#8e93a0);white-space:pre-wrap;word-break:break-all;border-top:1px solid var(--border,#23262e);max-height:220px;margin-top:10px;padding-top:10px;font-size:11px;line-height:1.6;overflow-y:auto}.error-footer{border-top:1px solid var(--border,#23262e);color:var(--text-muted,#575b66);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 32px;font-size:12px;display:flex}.error-footer a:hover{color:var(--text,#ededf2)}@media (width<=640px){.error-navbar{padding:0 16px}.error-nav-links{display:none}.error-main-content{padding:48px 20px}.error-num{font-size:44px}.error-btn-group{flex-direction:column}.error-btn-group>*{justify-content:center}}
