@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap";@import"https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1.1.0/style.css";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0e0e12;--bg-surface: #16161c;--bg-elevated: #1e1e26;--bg-hover: #26262f;--border: rgba(255, 255, 255, .07);--border-active: rgba(255, 255, 255, .18);--text-primary: #f0f0f5;--text-secondary: #9090a8;--text-muted: #55556a;--accent: #7c6fcd;--accent-glow: rgba(124, 111, 205, .35);--sidebar-w: 220px;--header-h: 52px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--transition: all .18s cubic-bezier(.25, .46, .45, .94)}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-base);color:var(--text-primary);font-family:Inter,Noto Sans SC,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.app-root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.app-header{height:var(--header-h);min-height:var(--header-h);background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:10}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{font-size:22px;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.header-title{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.header-subtitle{font-size:11px;color:var(--text-muted);background:var(--bg-elevated);padding:2px 7px;border-radius:20px;border:1px solid var(--border)}.header-actions{display:flex;align-items:center;gap:8px}.header-btn{display:flex;align-items:center;gap:5px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;transition:var(--transition)}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.sidebar-left,.sidebar-right{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-surface);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.sidebar-left{border-right:1px solid var(--border)}.sidebar-right{border-left:1px solid var(--border)}.sidebar-section{padding:16px 14px;border-bottom:1px solid var(--border)}.sidebar-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.sidebar-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;letter-spacing:.03em}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.template-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;padding:4px;transition:var(--transition)}.template-item:hover .template-thumb{transform:scale(1.03);box-shadow:0 8px 24px #0006}.template-item.active{border-color:var(--accent)}.template-item.active .template-thumb{box-shadow:0 0 0 2px var(--accent-glow),0 8px 24px #0006}.template-thumb{width:100%;aspect-ratio:3/4;border-radius:8px;overflow:hidden;transition:var(--transition);position:relative}.template-thumb-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:10px 8px;gap:5px}.thumb-line{background:#ffffff59;border-radius:2px}.thumb-title{height:7px;width:75%}.thumb-body{height:4px;width:100%}.template-name{font-size:11px;color:var(--text-secondary);font-weight:500}.bg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.bg-swatch{width:100%;aspect-ratio:1;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:var(--transition)}.bg-swatch:hover{transform:scale(1.1);box-shadow:0 4px 16px #00000080}.bg-swatch.active{border-color:#fff;box-shadow:0 0 0 1px #fff,0 4px 16px #0006}.prop-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.prop-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;min-width:55px}.slider-control{display:flex;align-items:center;gap:8px;flex:1}.prop-value{font-size:11px;color:var(--text-muted);min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.slider{-webkit-appearance:none;appearance:none;flex:1;height:3px;border-radius:2px;background:var(--bg-elevated);outline:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 0 3px var(--accent-glow);transition:var(--transition)}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.toggle{width:38px;height:21px;border-radius:12px;border:none;cursor:pointer;position:relative;transition:var(--transition);flex-shrink:0}.toggle.on{background:var(--accent)}.toggle.off{background:var(--bg-elevated);border:1px solid var(--border)}.toggle-thumb{position:absolute;top:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:var(--transition);box-shadow:0 1px 4px #0000004d}.toggle.on .toggle-thumb{right:2px;left:auto;transform:none}.toggle.off .toggle-thumb{left:2px}.prop-select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);padding:5px 8px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;outline:none;transition:var(--transition);flex:1}.prop-select:hover,.prop-select:focus{border-color:var(--border-active)}.canvas-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base);position:relative}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-info{font-size:12px;color:var(--text-muted)}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);border:1px solid var(--border)}.toolbar-btn.ghost{background:var(--bg-elevated);color:var(--text-secondary)}.toolbar-btn.ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}.toolbar-btn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 0 20px var(--accent-glow)}.toolbar-btn.primary:hover{background:#8b7dd8;box-shadow:0 0 30px var(--accent-glow);transform:translateY(-1px)}.canvas-bg{flex:1;overflow:auto;padding:40px 20px 20px;display:flex;justify-content:center;background-image:radial-gradient(circle at center,rgba(124,111,205,.04) 0%,transparent 70%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 100%,28px 28px,28px 28px;scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.canvas-scale-wrapper{transition:transform .15s ease}.card-container{position:relative;filter:drop-shadow(0 24px 60px rgba(0,0,0,.7)) drop-shadow(0 8px 20px rgba(0,0,0,.4))}.card-preview-root [contenteditable]:focus{outline:1px dashed rgba(124,111,205,.5);outline-offset:2px;border-radius:4px}.canvas-zoom{display:flex;align-items:center;gap:6px;position:absolute;bottom:68px;right:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:4px 10px}.zoom-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.zoom-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.zoom-label{font-size:12px;color:var(--text-muted);min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.zoom-reset{font-size:11px;width:auto;padding:0 6px;border-radius:10px;color:var(--text-muted)}.page-tabs{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--bg-surface);border-top:1px solid var(--border)}.page-tab-wrapper{position:relative}.page-tab{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--text-secondary)}.page-tab:hover{background:var(--bg-hover);border-color:var(--border-active)}.page-tab.active{border-color:var(--accent);background:#7c6fcd26;color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow)}.page-num{font-size:13px;font-weight:600}.page-del{position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:#e05252;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.page-tab-wrapper:hover .page-del{opacity:1}.add-page-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:none;border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.add-page-btn:hover{border-color:var(--accent);color:var(--accent);background:#7c6fcd14}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-elevated)}
