:root{color-scheme:light;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--c-primary:#7A5CFF;--c-primary-hover:#5A3BFF;--c-primary-light:#f3f0ff;--c-primary-gradient:linear-gradient(135deg,#7A5CFF,#5A3BFF);--c-accent:#06d6a0;--c-accent-light:#ecfdf5;--c-pink:#ec4899;--c-orange:#f97316;--c-cyan:#06b6d4;--c-bg:#f8f9fc;--c-surface:#ffffff;--c-sidebar-bg:#ffffff;--c-header-bg:linear-gradient(90deg,#1e0b36,#301853 50%,#46227a);--c-header-text:#f0f0f0;--c-border:#e2e8f0;--c-border-light:#f1f5f9;--c-border-focus:var(--c-primary);--c-text:#1f2937;--c-text-secondary:#4b5563;--c-text-muted:#6b7280;--c-success:#10b981;--c-error:#ef4444;--c-warning:#f59e0b;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--sidebar-w:clamp(320px,28vw,430px);--sidebar-min-w:320px;--header-h:56px;--transition:200ms cubic-bezier(.4,0,.2,1);--transition-slow:400ms cubic-bezier(.4,0,.2,1);--shadow-xs:0 1px 2px rgba(122,92,255,.05);--shadow-sm:0 2px 6px rgba(122,92,255,.06),0 1px 2px rgba(0,0,0,.03);--shadow-md:0 6px 20px rgba(122,92,255,.08);--shadow-lg:0 16px 40px rgba(122,92,255,.12);--shadow-glow:0 0 20px rgba(122,92,255,.15);--shadow-neon:0 0 30px rgba(122,92,255,.2),0 0 60px rgba(90,59,255,.08)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px rgba(124,58,237,.2)}50%{box-shadow:0 0 20px rgba(124,58,237,.4)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes rainbow-border{0%{border-color:#a78bfa}25%{border-color:#ec4899}50%{border-color:#06d6a0}75%{border-color:#06b6d4}to{border-color:#a78bfa}}*,:after,:before{box-sizing:border-box}body{padding:0;font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4,h5,h6,p{margin:0}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{height:56px;background:linear-gradient(90deg,#24124a,#35206a 55%,#2c195a);justify-content:space-between;padding:0 20px;flex-shrink:0;z-index:20;box-shadow:0 8px 22px rgba(16,24,40,.22);border-bottom:1px solid rgba(255,255,255,.08);position:relative}.header,.header-brand{color:#FFFFFF;display:flex;align-items:center}.header-brand{gap:10px;font-size:14px;font-weight:700;letter-spacing:.2px;white-space:nowrap;padding-left:4px}.header-brand svg{flex-shrink:0;stroke:#FFFFFF;filter:none}.header-tabs{display:flex;height:100%;position:absolute;left:50%;transform:translateX(-50%)}.header-tab{display:flex;align-items:center;justify-content:center;padding:0 14px;background:transparent;border:none;color:#d9d5ec;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition);position:relative;letter-spacing:.2px;border-radius:8px}.header-tab:hover{color:#FFFFFF;background:rgba(255,255,255,.08)}.header-tab.active{color:#FFFFFF;font-weight:600}.header-tabs-indicator{position:absolute;bottom:0;height:2px;background:#8fb6ff;border-radius:2px 2px 0 0;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),opacity .3s;box-shadow:0 0 10px rgba(143,182,255,.55)}.header-actions{gap:12px;padding-right:4px}.header-actions,.header-status{display:flex;align-items:center}.header-status{font-size:10px;color:#d6d8e8;gap:5px}.header-status-dot{width:4px;height:4px;border-radius:50%}.header-status-dot.idle{background:#20D062;box-shadow:0 0 6px #20D062}.header-status-dot.busy{background:#f59e0b;box-shadow:0 0 6px #f59e0b}.header-status-text{line-height:1.1;font-size:10px;text-align:center}.btn-header-login{background:linear-gradient(90deg,#5A7BFF,#7A5CFF);color:#FFFFFF;border:none;border-radius:9999px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s;box-shadow:0 2px 8px rgba(90,123,255,.3)}.btn-header-login:hover{opacity:.9;transform:translateY(-1px)}.btn-header-login:active{transform:translateY(0)}.header-user{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.header-user-wrap{position:relative}.header-user-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:9999px;border:1px solid rgba(191,219,254,.95);background:rgba(243,248,255,.98);color:#1e3a8a;cursor:pointer;min-height:36px;box-shadow:0 6px 16px rgba(37,99,235,.22)}.header-user-trigger:hover{background:#ffffff;border-color:#93c5fd}.header-user-menu{position:absolute;right:0;top:calc(100% + 10px);width:320px;border-radius:22px;border:1px solid #dbeafe;background:#ffffff;box-shadow:0 18px 38px rgba(59,130,246,.2);overflow:hidden;z-index:40}.header-user-menu-profile{margin:14px;padding:16px 18px;border-radius:20px;background:#eef4ff;border:1px solid #dbeafe}.header-user-menu-profile .name{font-size:18px;line-height:1.2;font-weight:700;color:#1e3a8a}.header-user-menu-profile .sub{margin-top:8px;font-size:14px;color:#64748b}.header-user-menu-item{width:calc(100% - 24px);margin:6px 12px;border:none;border-radius:14px;background:#f8fbff;color:#1e3a8a;font-size:16px;font-weight:700;text-align:left;padding:16px 18px;cursor:pointer;display:flex;align-items:center;gap:14px}.header-user-menu-item:hover{background:#eef4ff}.header-user-menu-item.danger{margin-bottom:14px}.header-user-menu-item .icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#e8f0ff;color:#5b89d6;flex-shrink:0}.header-user-menu-item .icon svg{width:22px;height:22px}.header-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid #93c5fd;background:#eff6ff}.header-avatar-placeholder{width:22px;height:22px;border-radius:50%;background:#5A7BFF;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.header-username{font-size:12px;font-weight:700;color:#1e3a8a;text-shadow:none}.btn-header-logout{background:transparent;color:#CFC6E8;border:none;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}.btn-header-logout:hover{background:rgba(255,255,255,.1);color:#fff}.btn-header-user-center{background:rgba(255,255,255,.14);color:#FFFFFF;border:1px solid rgba(255,255,255,.2);font-size:12px;cursor:pointer;padding:3px 8px;border-radius:9999px;transition:all var(--transition)}.btn-header-user-center:hover{background:rgba(255,255,255,.22)}.app-body{display:flex;flex:1 1;overflow:hidden;background:linear-gradient(135deg,#f8f9fc,#eef2f6);padding:var(--space-4);gap:var(--space-4)}.user-center-page{width:100%;height:100%;overflow:auto;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#f4f7ff);border:1px solid #dbeafe;padding:16px}.user-center-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:14px;border:1px solid #e2e8f0;background:#ffffff}.user-center-page-header .left-actions{min-width:110px}.user-center-page-header .profile{display:flex;align-items:center;gap:14px;flex:1 1}.user-center-page-header .kicker{font-size:14px;color:#334155;font-weight:600}.user-center-page-header .name{font-size:52px;line-height:1;font-weight:800;color:#0f2f70}.user-center-page-header .desc{margin-top:8px;color:#64748b;font-size:20px}.user-center-page-avatar,.user-center-page-avatar-placeholder{width:88px;height:88px;border-radius:22px}.user-center-page-avatar{object-fit:cover;border:1px solid #bfdbfe}.user-center-page-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#1d4ed8;font-size:34px;font-weight:800}.user-center-page-grid{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.user-center-panel{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px}.user-center-panel h3{margin:0 0 10px;color:#0f2f70}.user-center-panel .row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #eff6ff}.user-center-panel .row:first-of-type{border-top:none}.user-center-panel .row span{color:#64748b}.user-center-panel .row strong{color:#0f2f70}.user-center-panel.records{margin-top:12px}.record-head,.record-row{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr .6fr;grid-gap:8px;gap:8px;padding:10px 0}.record-head{color:#64748b;border-bottom:1px solid #eff6ff}.record-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border-radius:9999px;padding:4px 10px;font-size:12px;font-weight:700;border:1px solid transparent}.record-status.status-success{color:#166534;background:#dcfce7;border-color:#86efac}.record-status.status-processing{color:#92400e;background:#fef3c7;border-color:#fcd34d;position:relative;padding-left:22px}.record-status.status-processing:before{content:"";position:absolute;left:9px;top:50%;width:7px;height:7px;border-radius:50%;background:#d97706;transform:translateY(-50%);animation:processingDotPulse 1.2s ease-in-out infinite}.record-status.status-failed{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.record-status.status-empty,.record-status.status-unknown{color:#4b5563;background:#e5e7eb;border-color:#d1d5db}@keyframes processingDotPulse{0%{opacity:.35;transform:translateY(-50%) scale(.85)}50%{opacity:1;transform:translateY(-50%) scale(1.1)}to{opacity:.35;transform:translateY(-50%) scale(.85)}}.source-badge{gap:6px;border-radius:9999px;padding:4px 10px 4px 6px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}.source-badge,.source-icon{display:inline-flex;align-items:center}.source-icon{width:20px;height:20px;border-radius:9999px;justify-content:center;font-size:11px;font-weight:800}.source-badge.src-ai{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.source-badge.src-ai .source-icon{background:#7c3aed;color:#fff}.source-badge.src-file{background:#e0f2fe;color:#075985;border-color:#7dd3fc}.source-badge.src-file .source-icon{background:#0284c7;color:#fff}.source-badge.src-image{background:#dcfce7;color:#166534;border-color:#86efac}.source-badge.src-image .source-icon{background:#16a34a;color:#fff}.source-badge.src-template{background:#ffedd5;color:#9a3412;border-color:#fdba74}.source-badge.src-template .source-icon{background:#f97316;color:#fff}.source-badge.src-style{background:#fef3c7;color:#92400e;border-color:#fcd34d}.source-badge.src-style .source-icon{background:#d97706;color:#fff}.source-badge.src-default{background:#e5e7eb;color:#374151;border-color:#d1d5db}.source-badge.src-default .source-icon{background:#6b7280;color:#fff}.sidebar{width:320px;min-width:320px;background:linear-gradient(180deg,#faf8ff,#ffffff);border-radius:12px;box-shadow:0 8px 24px rgba(124,58,237,.08),0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative}.sidebar:before{display:none}.sidebar-content{flex:1 1;overflow-y:auto;padding:var(--space-4);scrollbar-width:thin;display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-section{background:#ffffff;border-radius:12px;border:1px solid rgba(124,58,237,.1);padding:var(--space-4);box-shadow:0 2px 10px rgba(124,58,237,.03);transition:all var(--transition-slow);position:relative;margin-bottom:0}.sidebar-section:hover{box-shadow:0 6px 16px rgba(124,58,237,.06);border-color:rgba(124,58,237,.2)}.sidebar-section.grow{flex:1 1;display:flex;flex-direction:column}.sidebar-section.grow .field-textarea{flex:1 1;min-height:120px;resize:none}.ai-workspace{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1;min-height:0}.sidebar-title{font-size:15px;font-weight:700;color:#6d28d9;margin-bottom:16px;padding:0;border:none;display:flex;align-items:center;justify-content:flex-start;letter-spacing:.2px;text-transform:none;background:none;-webkit-text-fill-color:initial}.sidebar-title:after{display:none}.field{margin-bottom:12px}.field:last-child{margin-bottom:0}.field-grow{flex:1 1;display:flex;flex-direction:column}.field-label{display:block;font-size:13px;font-weight:600;color:#4b5563;margin-bottom:8px;letter-spacing:.2px;text-transform:none}.field-input,.field-select,.field-textarea{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#1f2937;font-size:13.5px;font-family:var(--font-sans);transition:all var(--transition)}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.1);background:#fff}.field-input::placeholder,.field-textarea::placeholder{color:#9ca3af}.field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.field-textarea{resize:vertical;min-height:84px;line-height:1.6}.field-textarea-grow{flex:1 1;min-height:120px;resize:none}.field-input[type=file]{padding:8px 10px;font-size:12px;background:rgba(243,240,255,.6);cursor:pointer}.field-input[type=file]:hover{background:var(--c-primary-light);border-color:var(--c-primary)}.field-input[type=color]{padding:4px;height:38px;cursor:pointer;border-radius:var(--radius-sm)}.field-input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--c-primary);cursor:pointer}.btn{width:100%;padding:12px 20px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition),border-color var(--transition),opacity var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;letter-spacing:.5px}.btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);transform:translateX(-100%);transition:none}.btn:hover:after{animation:shimmer .6s ease forwards}.btn-primary{background:linear-gradient(135deg,#7A5CFF,#5A3BFF);color:#fff;box-shadow:0 6px 16px rgba(90,59,255,.25),inset 0 2px 4px rgba(255,255,255,.15)}.btn-primary:hover{box-shadow:0 8px 24px rgba(90,59,255,.35),inset 0 2px 4px rgba(255,255,255,.2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(90,59,255,.2)}.btn-secondary{background:rgba(255,255,255,.9);color:var(--c-text);border:1.5px solid var(--c-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--c-primary-light);border-color:var(--c-primary);color:var(--c-primary);box-shadow:0 2px 12px rgba(124,58,237,.1)}.btn-apply-edit{border:1px solid rgba(122,92,255,.2);color:#5A3BFF;background:rgba(122,92,255,.05);box-shadow:none}.btn-apply-edit:hover{border-color:rgba(122,92,255,.3);color:#4A2BFF;background:rgba(122,92,255,.1);box-shadow:none}.btn-apply-edit:active{transform:translateY(0);background:rgba(122,92,255,.15)}.btn-ghost{background:transparent;color:var(--c-text-secondary);border:1.5px solid var(--c-border)}.btn-ghost:hover{background:rgba(124,58,237,.04);color:var(--c-primary)}.btn-danger{background:rgba(255,255,255,.9);color:var(--c-error);border:1.5px solid #fecaca}.btn-danger:hover{background:#fef2f2;border-color:var(--c-error);box-shadow:0 4px 16px rgba(239,68,68,.15)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;transform:none!important}.btn-sm{padding:7px 12px;font-size:12px}.btn-group{display:flex;flex-direction:column;gap:8px}.btn-group-tight{gap:8px}.btn-mt{margin-top:8px}.btn-auto{width:auto}.badge-mt{margin-top:8px}.hint-gap{margin-bottom:8px}.field-checkbox-wrap{padding-top:6px}.canvas-area{flex:1 1;flex-direction:column;overflow:hidden;min-width:0;border-radius:12px;box-shadow:0 4px 20px rgba(124,58,237,.05);border:1px solid rgba(124,58,237,.1)}.canvas-area,.canvas-toolbar{display:flex;background:#ffffff}.canvas-toolbar{align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid rgba(124,58,237,.1);flex-shrink:0;flex-wrap:wrap}.canvas-toolbar .separator{width:1px;height:20px;background:var(--c-border);margin:0 4px}.canvas-main{flex:1 1;overflow:hidden;position:relative}.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted);gap:16px;padding:60px 40px;text-align:center;background:linear-gradient(135deg,#f8f9fc,#eef2f6)}.canvas-empty-icon{color:#c4b5fd;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(124,58,237,.1))}.canvas-empty-welcome{font-size:24px;font-weight:800;color:#4c1d95;letter-spacing:.5px}.canvas-empty-text{font-size:15px;font-weight:500;color:#7c3aed;margin-top:-8px}.canvas-empty-hint{font-size:13px;color:#6b7280;max-width:400px;line-height:1.6}.canvas-empty-guide{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}.canvas-empty-guide-item{display:inline-flex;align-items:center;padding:6px 16px;border-radius:999px;background:#ffffff;border:1px solid rgba(124,58,237,.2);color:#5b21b6;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(124,58,237,.05)}.canvas-empty-cta{width:auto;min-width:180px;margin-top:16px;padding:14px 32px;font-size:15px}.notice-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:transparent;pointer-events:none}.notice-card{width:min(92vw,360px);border-radius:var(--radius-lg);border:1px solid rgba(124,58,237,.22);background:linear-gradient(180deg,#ffffff,#f7f3ff);box-shadow:var(--shadow-lg);padding:18px 18px 16px;pointer-events:auto}.notice-title{font-size:15px;font-weight:800;color:#5b21b6;margin-bottom:10px}.notice-message{font-size:14px;font-weight:600;line-height:1.6;color:#7c3aed;margin-bottom:14px}.notice-btn{width:100%}.user-center-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.25)}.user-center-card{width:min(92vw,480px);border-radius:16px;background:#FFFFFF;border:1px solid rgba(124,58,237,.2);box-shadow:0 20px 45px rgba(15,23,42,.18);overflow:hidden}.user-center-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #ede9fe;background:linear-gradient(90deg,#f5f3ff,#ffffff)}.user-center-title{font-size:16px;font-weight:700;color:#4c1d95}.user-center-close{border:none;background:transparent;color:#6d28d9;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:8px}.user-center-close:hover{background:#f3e8ff}.user-center-body{padding:16px}.user-center-profile{display:flex;align-items:center;gap:12px;margin-bottom:14px}.user-center-avatar,.user-center-avatar-placeholder{width:52px;height:52px;border-radius:50%}.user-center-avatar{object-fit:cover;border:1px solid #ddd6fe}.user-center-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#7A5CFF,#5A7BFF)}.user-center-name{font-size:16px;font-weight:700;color:#1f2937}.user-center-sub{font-size:12px;color:#6b7280;margin-top:2px}.user-center-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.user-center-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ede9fe;border-radius:10px;background:#faf5ff}.user-center-item .label{font-size:12px;color:#6b7280}.user-center-item .value{font-size:13px;color:#1f2937;font-weight:600;text-align:right;word-break:break-all}.status-bar{padding:8px 20px;font-size:11.5px;background:linear-gradient(90deg,var(--c-surface),rgba(243,240,255,.5));border-top:1px solid var(--c-border);display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:34px}.status-error{color:var(--c-error);font-weight:600}.status-success{color:var(--c-success);font-weight:500}.status-info{color:var(--c-text-muted)}.style-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.hint{font-size:11.5px;color:var(--c-text-muted);margin-top:8px;line-height:1.5}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.2px}.badge-success{background:var(--c-accent-light);color:var(--c-success)}.badge-blue{background:var(--c-primary-light);color:var(--c-primary)}.version-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(255,255,255,.85);border:1px solid var(--c-border-light);margin-bottom:6px;font-size:12px;transition:all var(--transition)}.version-item:hover{border-color:var(--c-primary);box-shadow:0 0 12px rgba(124,58,237,.1)}.version-item:last-child{margin-bottom:0}.share-link{font-size:12px;color:var(--c-success);word-break:break-all;padding:10px 12px;background:var(--c-accent-light);border-radius:var(--radius-sm);margin-top:10px;border:1px solid rgba(6,214,160,.2)}.template-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;flex:1 1;overflow-y:auto}.template-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1.5px solid rgba(167,139,250,.15);border-radius:var(--radius-md);background:rgba(255,255,255,.9);cursor:pointer;text-align:left;transition:all var(--transition);position:relative;overflow:hidden}.template-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#a78bfa,#ec4899,#06d6a0);opacity:0;transition:opacity var(--transition)}.template-card:hover{border-color:rgba(167,139,250,.4);transform:translateY(-3px);box-shadow:var(--shadow-md),0 0 20px rgba(124,58,237,.1)}.template-card:hover:before{opacity:1}.template-card:active{transform:translateY(0)}.template-card:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.template-card-name{font-size:12.5px;font-weight:700;color:var(--c-text)}.template-card-desc{font-size:10.5px;color:var(--c-text-muted);line-height:1.4}.template-card-badge{display:inline-block;margin-top:2px;padding:2px 8px;font-size:9.5px;font-weight:700;background:linear-gradient(135deg,#a78bfa,#ec4899);color:#fff;border-radius:99px;letter-spacing:.3px}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:rgba(124,58,237,.15);border-radius:10px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:rgba(124,58,237,.3)}.template-list::-webkit-scrollbar-thumb{background:rgba(124,58,237,.12);border-radius:10px}.section-import{gap:10px;padding:14px 14px 16px;background:linear-gradient(165deg,rgba(255,255,255,.95),rgba(247,243,255,.96) 65%,rgba(240,244,255,.92));border:1px solid rgba(167,139,250,.2)}.section-import .field{margin-bottom:10px}.section-import .field-label{font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:7px}.section-import .field-input[type=file]{min-height:40px;padding:7px 9px}.section-import .field-select{min-height:40px}.section-import .btn-import{margin-top:2px;background:linear-gradient(135deg,#bfa6f6,#a6a9eb);box-shadow:0 4px 14px rgba(124,58,237,.2)}.section-import .hint{margin-top:6px;font-size:12px;line-height:1.45;color:#8d91b4}.file-picker{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border:1.5px solid var(--c-border);border-radius:var(--radius-sm);background:rgba(255,255,255,.88);transition:border-color var(--transition),box-shadow var(--transition)}.file-picker.has-file{border-color:rgba(124,58,237,.4);background:linear-gradient(90deg,rgba(243,240,255,.9),rgba(255,255,255,.96))}.file-picker:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(124,58,237,.1);background:#fff}.file-picker-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border:1px solid var(--c-border);border-radius:8px;background:#fff;color:var(--c-text);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}.file-picker-btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-light)}.file-picker-name{min-width:0;flex:1 1;color:var(--c-text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-picker.has-file .file-picker-name{color:#4c1d95;font-weight:600}.file-picker-size{flex-shrink:0;padding:2px 8px;border-radius:999px;background:rgba(124,58,237,.12);color:#6d28d9;font-size:11px;font-weight:700}.type-picker{display:flex;flex-wrap:wrap;gap:8px}.type-picker-ai .type-pill{min-width:72px}.type-pill{width:auto;border:1px solid rgba(122,92,255,.2);background:rgba(122,92,255,.05);color:#7A5CFF;border-radius:999px;font-size:13px;font-weight:500;padding:8px 14px;line-height:1;cursor:pointer;transition:all var(--transition)}.type-pill:hover{border-color:#7A5CFF;background:rgba(122,92,255,.1)}.type-pill.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,#7A5CFF,#5A3BFF);box-shadow:0 4px 10px rgba(90,59,255,.25)}@media (max-width:900px){.app-body{flex-direction:column;overflow-y:auto}.sidebar{width:100%;min-width:100%;max-width:100%;flex:none;height:auto}.sidebar-content{overflow-y:visible}.canvas-area{min-height:500px;flex:none}.header-tabs{position:static;transform:none;overflow-x:auto;width:100%;mask-image:linear-gradient(90deg,#000 80%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent)}.header-tab{padding:0 12px;font-size:13px;white-space:nowrap}.header{flex-wrap:wrap;height:auto;padding:10px 16px;gap:10px}.header-brand{font-size:16px}}.share-page{min-height:100vh;padding:20px;background:#f5f7ff;color:#1e1b4b}.share-title{margin:0 0 10px;color:#5b21b6}.share-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:12px}.share-password-btn{margin-top:10px}.share-canvas-wrap{height:min(78vh,900px);min-height:520px;padding:0;overflow:hidden}