:root{--bg-dark: #0f172a;--bg-panel: rgba(30, 41, 59, .85);--bg-solid: #1e293b;--bg-hover: #334155;--bg-input: #0f172a;--border-color: rgba(255, 255, 255, .1);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--primary-color: #3b82f6;--primary-hover: #2563eb;--danger-color: #ef4444;--success-color: #22c55e;--highlight-color: rgba(59, 130, 246, .4);--handle-color: #60a5fa;--handle-bg: #2563eb;--canvas-bg: #000}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background-color:var(--bg-dark);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}input,select,textarea{background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.btn{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:4px 12px;cursor:pointer;font-size:13px;transition:all .15s}.btn:hover{background:var(--bg-hover);transform:scale(.98)}.btn-primary{background:var(--primary-color);border-color:#f0f6fc1a;color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{border-color:var(--primary-color)}.btn-danger{background:#da3633;color:#fff;border:none}.btn-danger:hover{background:#f85149}.btn-sm{padding:2px 8px;font-size:12px}.btn-xs{padding:1px 6px;font-size:10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:3px;cursor:pointer}.btn-xs:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.header{height:48px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;background-color:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0;z-index:10}.logo{display:flex;align-items:center;font-weight:700;text-decoration:none;color:inherit}.logo:hover{opacity:.9}.logo-img{height:28px;margin-right:12px}.logo-text{font-size:16px;margin-right:8px;flex-shrink:0}.logo-ver{font-size:11px;color:var(--text-secondary);background:#8b949e26;padding:2px 10px;border-radius:12px;font-weight:500}.header-sep{width:1px;height:24px;background:var(--border-color);margin:0 16px}.omni-bar-container{display:flex;align-items:center;flex:1;margin:0 16px;justify-content:center}.omni-bar{display:flex;align-items:center;background:#0d111799;border:1px solid var(--border-color);border-radius:6px;width:100%;max-width:480px;padding:0 8px;transition:border-color .2s,box-shadow .2s}.omni-bar:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.omni-icon{color:var(--text-secondary);margin-right:6px;flex-shrink:0}.omni-bar input{flex:1;height:32px;border:none;background:transparent;padding:0 4px;font-size:13px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.omni-bar input:focus{outline:none;border-color:transparent}.omni-bar input:-webkit-autofill,.omni-bar input:-webkit-autofill:hover,.omni-bar input:-webkit-autofill:focus,.omni-bar input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary);transition:background-color 5000s ease-in-out 0s}.omni-submit{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background .2s;flex-shrink:0;margin-left:4px}.omni-submit:hover{color:var(--primary-color);background:#3b82f61a}.toolbar{display:flex;align-items:center;gap:4px;margin-left:auto}.tool-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s;padding:0}.tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-btn.active{color:var(--primary-color)}.btn-icon{width:16px;height:16px;display:block;pointer-events:none}.tool-sep{font-size:12px;color:var(--border-color);margin:0 8px;-webkit-user-select:none;user-select:none}.lang-switch{font-weight:600;font-size:.9rem}.lang-switch .lang-link{color:var(--text-muted, #64748b);text-decoration:none;transition:color .3s ease}.lang-switch .lang-link:hover{color:var(--text-primary, #1e293b)}.main{display:grid;grid-template-columns:1fr 500px 280px;flex:1;min-height:0;overflow:hidden;transition:grid-template-columns .25s ease}.main.json-collapsed{grid-template-columns:1fr 500px 0px}.main.json-collapsed .json-panel{overflow:hidden;border:none}.video-panel{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border-color)}.editor-panel{position:relative;display:flex;width:500px;background:var(--bg-solid);z-index:5;border-right:1px solid var(--border-color)}.json-toggle-btn{position:absolute;top:50%;right:0;transform:translateY(-50%);width:16px;height:48px;background:var(--bg-solid);border:1px solid var(--border-color);border-right:none;border-radius:4px 0 0 4px;color:var(--text-muted);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50;transition:all .15s}.json-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.json-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-solid)}.json-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:8px}.json-panel-header span{font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.json-panel-actions{display:flex;gap:4px;flex-wrap:wrap}.json-textarea-wrap{position:relative;flex:1;display:flex;overflow:hidden}.json-panel textarea{flex:1;background:var(--bg-dark);border:none;color:#93c5fd;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:11px;line-height:1.5;padding:10px;resize:none;outline:none;-moz-tab-size:2;tab-size:2;width:100%}.json-panel textarea::-webkit-scrollbar{width:6px}.json-panel textarea::-webkit-scrollbar-track{background:transparent}.json-panel textarea::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.video-container{flex:1;position:relative;background:#0a0a0a;display:flex;align-items:center;justify-content:center;overflow:hidden;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 1px,transparent 1px,transparent 8px)}.video-aspect-box{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;overflow:hidden}#videoMount{width:100%;height:100%}#videoMount video{width:100%;height:100%;object-fit:contain}.video-aspect-box video{width:100%;height:100%;object-fit:contain}.canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.wm-element{position:absolute;cursor:move;pointer-events:auto;-webkit-user-select:none;user-select:none;border:2px solid transparent;transition:border-color .15s}.wm-element:hover{border-color:#60a5fa66}.wm-element.selected{border-color:var(--handle-color)}.wm-element.text-type{min-height:24px;border:none;cursor:default}.wm-element.text-type:hover{outline:2px solid rgba(96,165,250,.3);outline-offset:4px}.wm-element.text-type.selected{outline:2px solid rgba(96,165,250,.6);outline-offset:4px;border:none}.wm-element.text-type .wm-handles{display:none!important}.wm-element.hidden-layer{opacity:.3}.wm-element img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.wm-element .wm-text{display:inline;width:auto;line-height:1.3;pointer-events:none;white-space:nowrap;padding:4px 8px}.wm-element .wm-var-indicator{display:inline;font-size:.85em;opacity:.6;vertical-align:middle;margin-left:2px}.wm-element.tile-mode{left:0;top:0;width:100%;height:100%;cursor:default;border:none;pointer-events:none}.wm-element.tile-mode:hover,.wm-element.tile-mode.selected{outline:none;border:none}.tile-container{position:absolute;pointer-events:none}.tile-text{position:absolute;white-space:nowrap;pointer-events:none}.wm-handles{display:none}.wm-element.selected .wm-handles{display:block}.wm-handle{position:absolute;width:10px;height:10px;background:var(--handle-bg);border:1.5px solid #fff;border-radius:2px;z-index:10}.wm-handle[data-dir=nw]{top:-5px;left:-5px;cursor:nw-resize}.wm-handle[data-dir=n]{top:-5px;left:50%;margin-left:-5px;cursor:n-resize}.wm-handle[data-dir=ne]{top:-5px;right:-5px;cursor:ne-resize}.wm-handle[data-dir=e]{top:50%;margin-top:-5px;right:-5px;cursor:e-resize}.wm-handle[data-dir=se]{bottom:-5px;right:-5px;cursor:se-resize}.wm-handle[data-dir=s]{bottom:-5px;left:50%;margin-left:-5px;cursor:s-resize}.wm-handle[data-dir=sw]{bottom:-5px;left:-5px;cursor:sw-resize}.wm-handle[data-dir=w]{top:50%;margin-top:-5px;left:-5px;cursor:w-resize}.empty-state-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d1117f2;display:flex;align-items:center;justify-content:center;z-index:10}.empty-state-overlay.drag-active{background:#0d1117cc}.empty-state-overlay.drag-active .drop-zone{border-color:var(--primary-color);background:#58a6ff0f}.drop-zone{border:2px dashed var(--border-color);border-radius:16px;padding:48px 40px;text-align:center;transition:border-color .25s,background .25s;max-width:460px;width:80%;cursor:pointer}.drop-zone:hover{border-color:var(--text-secondary)}.drop-zone-icon{font-size:56px;margin-bottom:20px}.drop-zone-title{font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.drop-zone-sub{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.list-panel{width:220px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.list-panel-header{padding:6px 8px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--bg-panel);gap:6px}.icon-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.primary{color:var(--primary-color);border-color:#3b82f64d}.icon-btn.primary:hover{background:#3b82f626;color:var(--primary-hover)}.list-header-left{display:flex;gap:6px}.text-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);height:26px;border-radius:4px;cursor:pointer;display:flex;align-items:center;padding:0 10px;font-size:12px;transition:all .15s;white-space:nowrap}.text-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.text-btn.primary{color:var(--primary-color);border-color:#3b82f666}.text-btn.primary:hover{background:#3b82f626;color:var(--primary-hover);border-color:var(--primary-color)}.list-header-right{display:flex;gap:3px}.list-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0}.list-panel-body::-webkit-scrollbar{width:6px}.list-panel-body::-webkit-scrollbar-track{background:transparent}.list-panel-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.wm-card{display:flex;align-items:center;padding:8px 10px;cursor:pointer;gap:8px;border-bottom:1px solid var(--border-color);transition:background .15s}.wm-card:hover{background:#ffffff08}.wm-card.selected{background:#3b82f61f;border-left:2px solid var(--primary-color)}.wm-card.off{opacity:.4}.wm-card-icon{width:28px;height:28px;border-radius:4px;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:1px solid var(--border-color);overflow:hidden}.wm-card-icon img{width:100%;height:100%;object-fit:cover}.wm-card-info{flex:1;min-width:0}.wm-card-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-card-meta{font-size:10px;color:var(--text-secondary);margin-top:2px}.wm-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.wm-card:hover .wm-card-actions,.wm-card.selected .wm-card-actions{opacity:1}.card-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:13px;border-radius:3px;line-height:1}.card-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.card-btn.btn-del:hover{color:var(--danger-color)}.detail-panel{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto;overflow-x:hidden}.detail-panel::-webkit-scrollbar{width:6px}.detail-panel::-webkit-scrollbar-track{background:transparent}.detail-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.detail-empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:13px}.detail-view{padding:12px;animation:fadeSlideIn .15s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.prop-group{margin-bottom:8px}.prop-group:last-child{margin-bottom:0}.prop-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:3px}.prop-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.prop-row input[type=text],.prop-row input[type=number]{flex:1;min-width:0;padding:4px 8px;font-size:12px}.prop-row textarea{width:100%;min-height:48px;resize:vertical;font-size:12px;padding:4px 8px}.prop-row select{padding:4px 8px;font-size:12px}.prop-row input[type=range]{flex:1;-webkit-appearance:none;background:transparent;border:none;padding:0;cursor:pointer}.prop-row input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--border-color);border-radius:2px}.prop-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--primary-color);border-radius:50%;cursor:pointer;margin-top:-5px}.prop-val{font-size:11px;color:var(--text-secondary);min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.dim-hint{font-size:10px;color:var(--text-muted);white-space:nowrap}.toggle-group{display:flex;gap:0;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;background:var(--bg-dark)}.toggle-btn{flex:1;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);padding:3px 4px;font-size:10px;cursor:pointer;text-align:center;transition:background .15s,color .15s}.toggle-btn:last-child{border-right:none}.toggle-btn:hover{background:#ffffff0a;color:var(--text-primary)}.toggle-btn.active{background:#3b82f633;color:var(--primary-color)}.aspect-lock-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);width:24px;height:24px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;padding:0;transition:all .2s}.aspect-lock-btn:hover{background:var(--bg-hover)}.aspect-lock-btn.locked{color:var(--primary-color)}.image-upload-area{display:flex;align-items:center;gap:8px}.image-upload-area .btn{font-size:12px}.image-upload-thumb{width:36px;height:36px;border-radius:4px;object-fit:cover;border:1px solid var(--border-color)}input[type=color]{width:32px;height:24px;padding:1px;border-radius:3px;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-dark)}input[type=color]::-webkit-color-swatch-wrapper{padding:1px}input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--canvas-bg);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column}.preview-overlay.active{display:flex}.preview-overlay .preview-player{width:100%;height:100%;position:relative}.preview-overlay .preview-watermarks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.preview-exit-hint{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#000000b3;color:var(--text-secondary);padding:6px 16px;border-radius:20px;font-size:12px;z-index:20;pointer-events:none}.toast-container{position:fixed;top:60px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--bg-solid);color:var(--text-primary);padding:10px 16px;border-radius:8px;font-size:13px;box-shadow:0 8px 24px #0006;border:1px solid var(--border-color);pointer-events:auto;animation:toastIn .3s ease;max-width:360px}.toast.success{border-left:3px solid var(--success-color)}.toast.error{border-left:3px solid var(--danger-color)}.toast.info{border-left:3px solid var(--primary-color)}.toast.leaving{animation:toastOut .3s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.draft-toast{position:fixed;right:16px;top:64px;background:var(--bg-solid);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);padding:12px 16px;border-radius:4px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00000080;z-index:1000;font-size:13px}.statusbar{height:24px;border-top:1px solid var(--border-color);display:flex;align-items:center;padding:0 12px;font-size:11px;color:var(--text-muted);gap:16px;flex-shrink:0;background:var(--bg-panel)}.statusbar .status-item{display:flex;align-items:center;gap:4px}.statusbar .status-sep{width:1px;height:12px;background:var(--border-color)}.wm-card.dragging{opacity:.5}.wm-card.drag-over-top{border-top:2px solid var(--primary-color)}.wm-card.drag-over-bottom{border-bottom:2px solid var(--primary-color)}.no-layers{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.template-hints{display:flex;align-items:center;gap:6px;margin-top:4px}.template-hints .btn-sm{font-size:10px;padding:1px 6px;color:var(--primary-color);border-color:#3b82f64d}.template-hints .btn-sm:hover{background:#3b82f626}.template-hint-text{font-size:10px;color:var(--text-muted)}@media(max-width:1100px){.editor-panel{min-width:400px}.list-panel{width:180px}}@media(max-width:860px){.main{grid-template-columns:1fr;grid-template-rows:1fr auto}.video-panel{min-height:300px}.editor-panel{max-height:45vh}}
