body.preview-mode #topbar,body.preview-mode #main,body.preview-mode #floating-panel{display:none!important}#preview-overlay{display:none;position:fixed;inset:0;z-index:2000;overflow-y:auto;overflow-x:hidden}body.preview-mode #preview-overlay{display:block}#preview-topbar{display:none;position:fixed;top:0;left:0;right:0;height:48px;z-index:2100;align-items:center;padding:0 20px;background:rgba(14,14,14,0.90);border-bottom:1px solid rgba(255,255,255,0.07);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 2px 16px rgba(0,0,0,0.5);opacity:0;pointer-events:none;transform:translateY(-100%);transition:opacity 0.2s ease,transform 0.2s ease}body.preview-mode #preview-topbar{display:flex}body.preview-mode #preview-topbar.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.preview-tb-left,.preview-tb-right{flex:1;display:flex;align-items:center}.preview-tb-center{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.preview-tb-right{justify-content:flex-end}#preview-close-btn{display:flex;align-items:center;gap:7px;padding:0 14px;height:32px;background:rgba(40,40,40,0.7);border:1px solid rgba(255,255,255,0.12);border-radius:8px;color:#ccc;font-size:var(--ui-fs-12);font-weight:var(--ui-fw-medium);cursor:pointer;transition:all 0.15s}#preview-close-btn:hover{background:rgba(60,60,60,0.95);color:#fff}#preview-navigator{display:none;position:fixed;bottom:24px;right:24px;z-index:2100;flex-direction:column;gap:3px;background:rgba(18,18,18,0.82);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--ui-shadow-lg);max-height:calc(100vh - 120px);overflow-y:auto}#preview-navigator::-webkit-scrollbar{width:3px}#preview-navigator::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border-radius:2px}body.preview-mode #preview-navigator{display:flex}.preview-nav-btn{padding:5px 12px;background:transparent;border:none;border-radius:6px;color:var(--ui-text-muted);font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);cursor:pointer;text-align:left;transition:all 0.15s;white-space:nowrap;letter-spacing:0.03em}.preview-nav-btn:hover{background:rgba(255,255,255,0.08);color:#ddd}.preview-nav-btn.active{background:rgba(45,111,232,0.22);color:var(--ui-accent)}.preview-page-block{width:100%}.preview-page-inner{width:860px;margin:0 auto;display:flex;flex-direction:column}#preview-overlay .section-block{cursor:default;outline:none!important;overflow:hidden}#preview-overlay .section-block[data-overflow-visible=true]{overflow:visible}#preview-overlay .section-block:hover{outline:none!important}#preview-overlay .section-hitzone{display:none!important}#preview-overlay .section-toolbar{display:none!important}#preview-overlay .group-block{border:none!important;padding:0!important;margin:0!important}#preview-overlay .group-block-label{display:none!important}#preview-overlay .text-block{cursor:default;outline:none!important}#preview-overlay .text-block:hover{outline:none!important}#preview-overlay .col-placeholder{display:none!important}#preview-overlay [contenteditable]{pointer-events:none;user-select:none;-webkit-user-select:none;cursor:default}.fp-preview-btn{color:#9dd0ff!important}.prop-section--anim{padding:12px 14px;border-top:1px solid var(--ui-bg-hover)}.prop-anim-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 10px;background:#1e2a3e;border:1px solid #2d4a72;border-radius:var(--ui-radius-sm);color:#6aabf7;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);cursor:pointer;transition:all 0.15s}.prop-anim-btn:hover{background:#243450;border-color:#4d7fc0;color:#9bcbff}.prop-anim-btn svg{flex-shrink:0}.anim-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:9000;display:flex;align-items:center;justify-content:center}.anim-modal{background:var(--ui-bg-elevated);border:1px solid #383838;border-radius:12px;width:720px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,0.6);overflow:hidden}.anim-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.anim-modal-title{display:flex;align-items:center;gap:7px;font-size:var(--ui-fs-13);font-weight:var(--ui-fw-semibold);color:var(--ui-text)}.anim-modal-close{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--ui-radius-sm);color:var(--ui-text-dim);cursor:pointer;transition:all 0.12s}.anim-modal-close:hover{background:var(--ui-border);color:#ccc}.anim-modal-body{display:flex;flex:1;overflow:hidden;gap:0}.anim-list{width:200px;flex-shrink:0;border-right:1px solid var(--ui-border);overflow-y:auto;padding:10px 8px;display:flex;flex-direction:column;gap:4px}.anim-item{padding:10px 12px;border-radius:7px;cursor:pointer;transition:background 0.12s;border:1px solid transparent}.anim-item:hover{background:var(--ui-bg-hover)}.anim-item.active{background:#1e2a3e;border-color:#2d4a72}.anim-item-name{font-size:var(--ui-fs-12);font-weight:var(--ui-fw-semibold);color:#ddd;margin-bottom:3px}.anim-item.active .anim-item-name{color:#6aabf7}.anim-item-desc{font-size:var(--ui-fs-10);color:var(--ui-text-muted);line-height:1.4}.anim-preview-wrap{flex:1;display:flex;flex-direction:column;padding:16px;gap:12px;overflow-y:auto}.anim-preview-label{font-size:var(--ui-fs-10);font-weight:var(--ui-fw-semibold);color:var(--ui-text-dim);text-transform:uppercase;letter-spacing:0.08em}.anim-canvas-box{background:var(--ui-bg-app);border:1px solid var(--ui-border);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;height:280px}#anim-preview-canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.anim-options{display:flex;flex-direction:column;gap:10px}.anim-opt-row{display:flex;align-items:center;gap:10px}.anim-opt-label{font-size:var(--ui-fs-base);color:var(--ui-text-muted);width:32px;flex-shrink:0}.anim-opt-slider{flex:1;height:3px;accent-color:#4d7fc0;cursor:pointer}.anim-opt-val{font-size:var(--ui-fs-base);color:var(--ui-text-sub);width:28px;text-align:right;flex-shrink:0}.anim-modal-footer{padding-top:4px}.anim-export-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:var(--ui-accent-primary);border:none;border-radius:8px;color:#fff;font-size:var(--ui-fs-13);font-weight:var(--ui-fw-semibold);cursor:pointer;transition:background 0.15s}.anim-export-btn:hover{background:#3878f0}.anim-export-btn:disabled{background:var(--ui-border);color:var(--ui-text-dim);cursor:not-allowed}.anim-conflict-warn{display:none;align-items:flex-start;gap:6px;background:#2a1f00;border:1px solid #6b4d00;color:#f0b800;font-size:var(--ui-fs-base);line-height:1.4;padding:7px 10px;border-radius:var(--ui-radius-md);margin-bottom:8px}#preview-zoom-ctrl{display:flex;align-items:center;gap:6px;background:rgba(40,40,40,0.7);border:1px solid rgba(255,255,255,0.10);border-radius:8px;padding:0 10px;height:32px}#preview-zoom-ctrl button{background:none;border:none;color:var(--ui-text-sub);font-size:var(--ui-fs-16);cursor:pointer;line-height:1;padding:0 4px;transition:color 0.1s}#preview-zoom-ctrl button:hover{color:#fff}#preview-zoom-display{font-size:var(--ui-fs-base);color:#ccc;min-width:36px;text-align:center;user-select:none}.insp-section{padding:12px 12px 8px;border-bottom:1px solid #272727}.insp-section-title{display:flex;align-items:center;gap:6px;font-size:var(--ui-fs-9);font-weight:var(--ui-fw-bold);letter-spacing:0.08em;text-transform:uppercase;color:var(--ui-text-dim);margin-bottom:10px}.insp-badge{background:var(--ui-bg-input);border:1px solid var(--ui-border-mid);border-radius:10px;padding:1px 6px;font-size:var(--ui-fs-9);color:var(--ui-text-muted);font-weight:var(--ui-fw-semibold);text-transform:none;letter-spacing:0}.insp-stat-row{display:flex;align-items:center;justify-content:space-between;padding:3px 0}.insp-stat-label{font-size:var(--ui-fs-base);color:var(--ui-text-dim)}.insp-stat-value{font-size:var(--ui-fs-base);color:#ccc;font-weight:var(--ui-fw-semibold);font-variant-numeric:tabular-nums}.insp-color-grid{display:flex;flex-direction:column;gap:5px}.insp-color-item{display:flex;align-items:center;gap:8px}.insp-color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,0.08);flex-shrink:0}.insp-color-hex{font-size:var(--ui-fs-base);color:var(--ui-text-sub);font-family:monospace}.insp-empty{font-size:var(--ui-fs-base);color:var(--ui-border-strong);font-style:italic}#preview-sbs-btn{display:flex;align-items:center;padding:0 12px;height:30px;background:rgba(40,40,40,0.7);border:1px solid rgba(255,255,255,0.12);border-radius:7px;color:var(--ui-text-muted);font-size:var(--ui-fs-base);font-weight:var(--ui-fw-medium);cursor:pointer;transition:all 0.15s;letter-spacing:0.02em}#preview-sbs-btn:hover{background:rgba(60,60,60,0.9);color:#ddd}#preview-sbs-btn.active{background:rgba(45,111,232,0.25);border-color:rgba(45,111,232,0.5);color:var(--ui-accent)}#preview-sbs-container{display:none;position:fixed;inset:0;z-index:2000;flex-direction:row}.sbs-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,0.07)}.sbs-panel:last-child{border-right:none}.sbs-panel-header{flex-shrink:0;height:40px;display:flex;align-items:center;padding:0 14px;background:rgba(18,18,18,0.95);border-bottom:1px solid rgba(255,255,255,0.07);z-index:10}.sbs-page-select{background:rgba(40,40,40,0.9);border:1px solid rgba(255,255,255,0.12);border-radius:6px;color:#ccc;font-size:var(--ui-fs-12);font-weight:var(--ui-fw-medium);padding:4px 10px;cursor:pointer;outline:none;min-width:120px}.sbs-page-select:focus{border-color:rgba(45,111,232,0.6)}.sbs-panel-body{flex:1;overflow-y:auto;overflow-x:hidden}.sbs-panel-body::-webkit-scrollbar{width:4px}.sbs-panel-body::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:2px}.sbs-scale-wrap{transform-origin:top left;width:860px}.tb-btn-ai{color:#c084fc;border-color:transparent;letter-spacing:0.02em}.tb-btn-ai:hover{background:rgba(192,132,252,0.12);color:#d8b4fe;border-color:rgba(192,132,252,0.4)}#ai-prompt-panel{width:480px;max-height:calc(100vh - 120px);overflow-y:auto;background:var(--ui-bg-base);border:1px solid #383838;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 36px rgba(0,0,0,0.55)}.ai-panel-header{display:flex;align-items:center;justify-content:space-between}.ai-panel-title{font-size:var(--ui-fs-13);font-weight:var(--ui-fw-semibold);color:var(--ui-text)}.ai-close-btn{background:none;border:none;color:var(--ui-text-dim);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.ai-close-btn:hover{background:var(--ui-bg-hover);color:#ccc}.ai-textarea{width:100%;background:var(--ui-bg-input);border:1px solid var(--ui-border-mid);border-radius:8px;color:var(--ui-text);font-size:var(--ui-fs-12);line-height:1.6;padding:10px 12px;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box}.ai-textarea:focus{border-color:#9333ea;box-shadow:0 0 0 2px rgba(147,51,234,0.2)}.ai-textarea::placeholder{color:var(--ui-text-dim)}.ai-quick-prompts{display:flex;gap:8px;flex-wrap:wrap}.ai-quick-btn{background:#272727;border:1px solid var(--ui-border-mid);border-radius:16px;color:var(--ui-text-sub);font-size:var(--ui-fs-base);padding:4px 12px;cursor:pointer;transition:background 0.12s,color 0.12s,border-color 0.12s}.ai-quick-btn:hover{background:rgba(192,132,252,0.1);border-color:rgba(192,132,252,0.4);color:#d8b4fe}.ai-panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ai-cancel-btn{background:var(--ui-bg-input);border:1px solid var(--ui-border-mid);border-radius:6px;color:var(--ui-text-muted);font-size:var(--ui-fs-base);padding:6px 14px;cursor:pointer}.ai-cancel-btn:hover{background:var(--ui-border);color:#bbb}.ai-submit-btn{background:#7c3aed;border:none;border-radius:6px;color:#fff;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);padding:6px 16px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background 0.12s}.ai-submit-btn:hover{background:#6d28d9}.ai-submit-btn:disabled{background:#4b2a7a;opacity:0.6;cursor:not-allowed}.ai-spinner{width:11px;height:11px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;display:inline-block;animation:ai-spin 0.7s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}#ref-modal-btn.active{background:rgba(106,176,255,0.15);border-color:rgba(106,176,255,0.4);color:var(--ui-accent)}#tpl-browser{position:fixed;bottom:auto;width:420px;min-height:300px;max-height:calc(100vh - 60px);background:var(--ui-bg-app);border:1px solid var(--ui-bg-hover);border-radius:0 0 8px 0;box-shadow:6px 0 32px rgba(0,0,0,0.6);display:flex;flex-direction:column;z-index:500;opacity:0;pointer-events:none;transition:opacity 0.2s ease}#tpl-browser.open{opacity:1;pointer-events:auto}#tpl-browser[style*=height]{max-height:none}.tpl-browser-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--ui-bg-input);flex-shrink:0;cursor:grab}.tpl-browser-title{font-size:var(--ui-fs-base);font-weight:var(--ui-fw-bold);color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:0.06em}.tpl-browser-search-wrap{display:flex;align-items:center;gap:6px;background:var(--ui-bg-card);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);padding:6px 10px;flex-shrink:0}.tpl-browser-search-mode{flex-shrink:0;width:52px;height:22px;background:var(--ui-bg-base);border:1px solid var(--ui-border);border-radius:3px;color:#aaa;font-size:var(--ui-fs-10);padding:0 3px;cursor:pointer;outline:none}.tpl-browser-search-mode:focus{border-color:var(--ui-accent-primary)}.tpl-browser-search{flex:1;background:none;border:none;outline:none;color:#ddd;font-size:var(--ui-fs-base)}.tpl-browser-search::placeholder{color:var(--ui-text-dim)}.tpl-browser-close{background:none;border:none;color:var(--ui-text-dim);cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center}.tpl-browser-close:hover{background:var(--ui-bg-input);color:#ccc}.tpl-browser-body{display:flex;flex:1 1 0;min-height:80px;overflow:hidden}.tpl-browser-tree{width:180px;flex-shrink:0;border-right:1px solid var(--ui-bg-card);overflow-y:auto;padding:6px 0}.tpl-browser-tree::-webkit-scrollbar{width:3px}.tpl-browser-tree::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:2px}.tb-tree-all,.tb-tree-folder-header,.tb-tree-cat{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:var(--ui-fs-base);color:var(--ui-text-muted);transition:background 0.1s,color 0.1s;user-select:none}.tb-tree-all:hover,.tb-tree-folder-header:hover,.tb-tree-cat:hover{background:#222;color:#ccc}.tb-tree-all.active,.tb-tree-folder-header.active,.tb-tree-cat.active{background:rgba(45,111,232,0.18);color:var(--ui-accent)}.tb-tree-label{flex:1}.tb-tree-count{font-size:var(--ui-fs-10);color:var(--ui-text-dim);background:var(--ui-bg-input);padding:1px 5px;border-radius:8px;min-width:18px;text-align:center}.tb-tree-all.active .tb-tree-count,.tb-tree-folder-header.active .tb-tree-count,.tb-tree-cat.active .tb-tree-count{background:rgba(45,111,232,0.25);color:var(--ui-accent)}.tb-tree-chevron{flex-shrink:0;transition:transform 0.15s;color:var(--ui-text-dim)}.tb-tree-folder.expanded>.tb-tree-folder-header .tb-tree-chevron{transform:rotate(90deg)}.tb-tree-cats{display:none}.tb-tree-folder.expanded .tb-tree-cats{display:block}.tb-tree-cat{padding-left:22px}.tb-tree-dot{width:4px;height:4px;border-radius:50%;background:var(--ui-border-strong);flex-shrink:0}.tb-tree-cat.active .tb-tree-dot{background:var(--ui-accent)}.tpl-browser-preview-area{flex:0 0 270px;border-bottom:1px solid var(--ui-bg-card);display:flex;flex-direction:column;align-items:center;background:#161616;overflow:hidden;position:relative}.tpl-preview-resize-handle{position:absolute;bottom:0;left:0;right:0;height:6px;cursor:ns-resize;z-index:10}.tpl-preview-resize-handle::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:2px;border-radius:1px;background:#333;transition:background 0.15s}.tpl-preview-resize-handle:hover::after{background:#555}.tpl-browser-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ui-border-strong);font-size:var(--ui-fs-base);text-align:center;line-height:1.6;width:100%}.tpl-browser-preview-canvas{flex:1;overflow:hidden;position:relative;padding:12px;box-sizing:border-box;width:100%;background:#f0f0f0}.tpl-browser-preview-footer{flex-shrink:0;display:flex;align-items:center;gap:5px;padding:6px 12px;border-top:1px solid #222;background:var(--ui-bg-app);overflow:hidden}.tpl-browser-preview-name{font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.tpl-browser-preview-sep{font-size:var(--ui-fs-10);color:#444;flex-shrink:0}.tpl-browser-preview-cat{font-size:var(--ui-fs-10);color:var(--ui-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:2;min-width:0}.tpl-browser-insert-btn{background:var(--ui-accent-primary);border:none;border-radius:4px;color:#fff;font-size:var(--ui-fs-10);font-weight:var(--ui-fw-semibold);padding:4px 9px;cursor:pointer;transition:background 0.12s;white-space:nowrap;flex-shrink:0;margin-left:auto}.tpl-browser-insert-btn:hover{background:var(--ui-accent-primary-hover)}.tpl-browser-cards{flex:1;overflow-y:auto;padding:6px}.tpl-browser-cards::-webkit-scrollbar{width:3px}.tpl-browser-cards::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:2px}.tpl-card-drag-ghost{position:fixed;z-index:9999;background:var(--ui-accent-primary);color:#fff;font-size:10px;font-weight:600;padding:5px 10px;border-radius:4px;pointer-events:none;white-space:nowrap;box-shadow:var(--ui-shadow-md);user-select:none}.tpl-card-drag-ghost{position:fixed;z-index:9999;background:var(--ui-accent-primary);color:#fff;font-size:10px;font-weight:600;padding:5px 10px;border-radius:4px;pointer-events:none;white-space:nowrap;box-shadow:var(--ui-shadow-md);user-select:none}.comp-shelf-panel{position:fixed;top:48px;right:-320px;width:300px;height:calc(100vh - 56px);background:var(--ui-bg-base);border:1px solid var(--ui-border);border-right:none;border-radius:8px 0 0 8px;display:flex;flex-direction:column;z-index:1200;box-shadow:-4px 0 24px rgba(0,0,0,0.4);transition:right 0.22s cubic-bezier(0.4,0,0.2,1);overflow:hidden}.comp-shelf-panel.open{right:0}.comp-shelf-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.comp-shelf-title{display:flex;align-items:center;gap:6px;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);color:var(--ui-text);letter-spacing:0.02em}.comp-shelf-close{background:none;border:none;color:var(--ui-text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background 0.12s,color 0.12s}.comp-shelf-close:hover{background:var(--ui-bg-hover);color:var(--ui-text)}.comp-shelf-save-area{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.comp-shelf-name-input{flex:1;background:var(--ui-bg-input);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:var(--ui-fs-base);padding:5px 8px;outline:none;transition:border-color 0.12s}.comp-shelf-name-input:focus{border-color:var(--ui-accent-primary)}.comp-shelf-name-input::placeholder{color:var(--ui-text-dim)}.comp-shelf-save-btn{background:var(--ui-accent-primary);border:none;border-radius:var(--ui-radius-sm);color:#fff;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);padding:5px 10px;cursor:pointer;white-space:nowrap;transition:opacity 0.12s;flex-shrink:0}.comp-shelf-save-btn:hover{opacity:0.85}.comp-shelf-list{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.comp-shelf-list::-webkit-scrollbar{width:4px}.comp-shelf-list::-webkit-scrollbar-track{background:transparent}.comp-shelf-list::-webkit-scrollbar-thumb{background:var(--ui-border-mid);border-radius:2px}.comp-shelf-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--ui-text-dim);font-size:var(--ui-fs-base);text-align:center;line-height:1.6}.comp-shelf-card{display:flex;align-items:center;justify-content:space-between;background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:6px;padding:8px 10px;gap:8px;transition:border-color 0.12s}.comp-shelf-card:hover{border-color:var(--ui-border-strong)}.comp-shelf-card-info{flex:1;min-width:0}.comp-shelf-card-name{font-size:var(--ui-fs-12);font-weight:var(--ui-fw-medium);color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comp-shelf-card-date{font-size:var(--ui-fs-10);color:var(--ui-text-muted);margin-top:2px}.comp-shelf-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.comp-shelf-insert-btn{background:var(--ui-bg-input);border:1px solid var(--ui-border-mid);border-radius:4px;color:var(--ui-text-sub);font-size:var(--ui-fs-10);font-weight:var(--ui-fw-semibold);padding:3px 8px;cursor:pointer;transition:background 0.12s,color 0.12s,border-color 0.12s}.comp-shelf-insert-btn:hover{background:var(--ui-accent-primary);border-color:var(--ui-accent-primary);color:#fff}.comp-shelf-delete-btn{background:none;border:1px solid transparent;border-radius:4px;color:var(--ui-text-dim);cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;transition:background 0.12s,color 0.12s,border-color 0.12s}.comp-shelf-delete-btn:hover{background:rgba(224,108,108,0.12);border-color:var(--ui-danger);color:var(--ui-danger)}.tb-cards-empty{padding:20px;text-align:center;font-size:var(--ui-fs-base);color:var(--ui-text-dim)}.tb-card{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 8px;border-radius:var(--ui-radius-md);cursor:pointer;transition:background 0.1s;user-select:none}.tb-card-tags{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:4px;padding-left:36px}.tb-card:hover{background:#222}.tb-card.selected{background:rgba(45,111,232,0.15)}.tb-card-thumb{width:28px;height:28px;border-radius:4px;background:var(--ui-bg-card);border:1px solid var(--ui-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tb-card.selected .tb-card-thumb{border-color:rgba(45,111,232,0.5);background:rgba(45,111,232,0.1)}.tb-card-info{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:4px;overflow:hidden}.tb-card-name{font-size:var(--ui-fs-base);color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.tb-card.selected .tb-card-name{color:var(--ui-accent)}.tb-card-meta{font-size:var(--ui-fs-10);color:var(--ui-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:2;min-width:0}.tb-card-btns{display:flex;gap:2px;opacity:0;transition:opacity 0.1s}.tb-card:hover .tb-card-btns{opacity:1}.tb-card-edit-btn,.tb-card-del-btn{background:none;border:none;color:var(--ui-text-dim);cursor:pointer;padding:3px 5px;border-radius:3px;display:flex;align-items:center}.tb-card-edit-btn:hover{background:var(--ui-bg-input);color:var(--ui-text-sub)}.tb-card-del-btn:hover{background:var(--ui-danger-bg);color:var(--ui-danger)}.tb-card-star-btn{background:none;border:none;color:#444;cursor:pointer;padding:3px 4px;border-radius:3px;font-size:var(--ui-fs-base);line-height:1;display:flex;align-items:center;transition:color 0.12s}.tb-card-star-btn:hover{color:#aaa}.tb-card-star-btn.starred{color:#f5a623}.tb-card-star-btn.starred:hover{color:#e0921a}.tb-tree-starred{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:var(--ui-fs-base);color:var(--ui-text-sub);transition:background 0.1s,color 0.1s;margin-bottom:2px}.tb-tree-starred:hover{background:var(--ui-bg-card);color:var(--ui-text)}.tb-tree-starred.active{background:rgba(245,166,35,0.12);color:#f5a623}.tb-tree-starred.active .tb-tree-count{background:rgba(245,166,35,0.2);color:#f5a623}.tb-tree-star-icon{font-size:var(--ui-fs-10);color:#f5a623;flex-shrink:0}.tpl-browser-tag-chips{display:flex;flex-wrap:wrap;gap:4px;padding:5px 8px 4px;border-bottom:1px solid var(--ui-bg-card);flex-shrink:0}.tb-tag-chip{background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-text-dim);font-size:var(--ui-fs-10);padding:2px 8px;cursor:pointer;transition:background 0.1s,color 0.1s,border-color 0.1s;white-space:nowrap}.tb-tag-chip:hover{background:var(--ui-bg-input);color:var(--ui-text-sub);border-color:#444}.tb-tag-chip.active{background:rgba(45,111,232,0.15);border-color:rgba(45,111,232,0.4);color:var(--ui-accent)}.section-hitzone{position:absolute;bottom:100%;left:0;right:0;height:calc(26px * var(--inv-zoom, 1));z-index:8;display:flex;align-items:flex-end;padding:0;background:transparent;cursor:pointer;pointer-events:auto;opacity:0;transition:opacity 0.15s}.section-block:hover .section-hitzone,.section-block.selected .section-hitzone{opacity:1}.section-block.selected .section-hitzone{pointer-events:none;cursor:default}.section-tags{display:inline-flex;align-items:flex-end;gap:3px;margin-left:5px;max-width:calc((100% - 130px) / var(--ui-scale, 1));overflow:hidden;pointer-events:none;transform:scale(var(--ui-scale, 1));transform-origin:left bottom}.section-tag-chip{flex:0 0 auto;max-width:120px;padding:1px 7px;background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:9px;color:var(--ui-text-dim);font-size:var(--ui-fs-10);font-weight:var(--ui-fw-medium);line-height:1.5;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comp-shelf-panel{position:fixed;top:48px;right:-320px;width:300px;height:calc(100vh - 56px);background:var(--ui-bg-base);border:1px solid var(--ui-border);border-right:none;border-radius:8px 0 0 8px;display:flex;flex-direction:column;z-index:1200;box-shadow:-4px 0 24px rgba(0,0,0,0.4);transition:right 0.22s cubic-bezier(0.4,0,0.2,1);overflow:hidden}.comp-shelf-panel.open{right:0}.comp-shelf-panel.open{right:0}.comp-shelf-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.comp-shelf-title{display:flex;align-items:center;gap:6px;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);color:var(--ui-text);letter-spacing:0.02em}.comp-shelf-close{background:none;border:none;color:var(--ui-text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background 0.12s,color 0.12s}.comp-shelf-close:hover{background:var(--ui-bg-hover);color:var(--ui-text)}.comp-shelf-save-area{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--ui-border);flex-shrink:0}.comp-shelf-name-input{flex:1;background:var(--ui-bg-input);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:var(--ui-fs-base);padding:5px 8px;outline:none;transition:border-color 0.12s}.comp-shelf-name-input:focus{border-color:var(--ui-accent-primary)}.comp-shelf-name-input::placeholder{color:var(--ui-text-dim)}.comp-shelf-name-input:focus{border-color:var(--ui-accent-primary)}.comp-shelf-name-input::placeholder{color:var(--ui-text-dim)}.comp-shelf-save-btn{background:var(--ui-accent-primary);border:none;border-radius:var(--ui-radius-sm);color:#fff;font-size:var(--ui-fs-base);font-weight:var(--ui-fw-semibold);padding:5px 10px;cursor:pointer;white-space:nowrap;transition:opacity 0.12s;flex-shrink:0}.comp-shelf-save-btn:hover{opacity:0.85}.comp-shelf-save-btn:hover{opacity:0.85}.comp-shelf-list{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.comp-shelf-list::-webkit-scrollbar{width:4px}.comp-shelf-list::-webkit-scrollbar-track{background:transparent}.comp-shelf-list::-webkit-scrollbar-thumb{background:var(--ui-border-mid);border-radius:2px}.comp-shelf-list::-webkit-scrollbar{width:4px}.comp-shelf-list::-webkit-scrollbar-track{background:transparent}.comp-shelf-list::-webkit-scrollbar-thumb{background:var(--ui-border-mid);border-radius:2px}.comp-shelf-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--ui-text-dim);font-size:var(--ui-fs-base);text-align:center;line-height:1.6}.comp-shelf-card{display:flex;align-items:center;justify-content:space-between;background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:6px;padding:8px 10px;gap:8px;transition:border-color 0.12s}.comp-shelf-card:hover{border-color:var(--ui-border-strong)}.comp-shelf-card-info{flex:1;min-width:0}.comp-shelf-card:hover{border-color:var(--ui-border-strong)}.comp-shelf-card-info{flex:1;min-width:0}.comp-shelf-card-name{font-size:var(--ui-fs-12);font-weight:var(--ui-fw-medium);color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comp-shelf-card-date{font-size:var(--ui-fs-10);color:var(--ui-text-muted);margin-top:2px}.comp-shelf-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.comp-shelf-insert-btn{background:var(--ui-bg-input);border:1px solid var(--ui-border-mid);border-radius:4px;color:var(--ui-text-sub);font-size:var(--ui-fs-10);font-weight:var(--ui-fw-semibold);padding:3px 8px;cursor:pointer;transition:background 0.12s,color 0.12s,border-color 0.12s}.comp-shelf-insert-btn:hover{background:var(--ui-accent-primary);border-color:var(--ui-accent-primary);color:#fff}.comp-shelf-delete-btn{background:none;border:1px solid transparent;border-radius:4px;color:var(--ui-text-dim);cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;transition:background 0.12s,color 0.12s,border-color 0.12s}.comp-shelf-delete-btn:hover{background:rgba(224,108,108,0.12);border-color:var(--ui-danger);color:var(--ui-danger)}.icon-text-block{display:flex;align-items:center;gap:16px;padding:12px 0;cursor:pointer;outline:2px solid transparent;position:relative}.icon-text-block:hover::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none}.icon-text-block.selected{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.itb-icon{width:40px;height:40px;aspect-ratio:1 / 1;flex-shrink:0;border-radius:6px;border:1.5px dashed var(--ui-border, #555);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;color:var(--ui-text-dim, #888);transition:border-color 0.15s,color 0.15s}.itb-icon:hover{border-color:var(--ui-text-sub, #aaa);color:var(--ui-text-sub, #aaa)}.itb-icon.has-image{border:none}.itb-icon img{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}.itb-text{flex:1;min-width:0;font-size:32px;line-height:1.6;color:#111;font-family:var(--preset-body-family, "Pretendard", sans-serif);word-break:break-word;overflow-wrap:break-word}.itb-text:empty::before{content:"\bcf8\bb38  \b0b4\c6a9\c744  \c785\b825\d558\c138\c694.";color:#ccc;pointer-events:none}.itb-text[contenteditable=true]{outline:none}.bcm-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:var(--ui-fs-12);color:#ccc;cursor:pointer;user-select:none}.bcm-item:hover{background:#2a2a2a;color:#fff}.asset-loading-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:inherit;pointer-events:none}.asset-loading-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:asset-spin 0.7s linear infinite}@keyframes asset-spin{to{transform:rotate(360deg)}}.proj-loading-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.28);opacity:1;transition:opacity 0.22s ease;pointer-events:none}.proj-loading-overlay.hiding{opacity:0}.proj-loading-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 24px;background:var(--ui-bg-base);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg, 10px);box-shadow:var(--ui-shadow-md)}.proj-loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--ui-border-strong);border-top-color:var(--ui-accent-primary);animation:asset-spin 0.7s linear infinite}.proj-loading-text{color:var(--ui-text);font-size:var(--ui-fs-13);font-weight:var(--ui-fw-medium)}.spl-edges{position:absolute;top:0;left:0;z-index:90;pointer-events:none}.spl-edges line{stroke:var(--ui-accent, #4f6bed);stroke-width:2;stroke-dasharray:5 5;opacity:.55}.spl-sidecar{position:absolute;top:0;left:0;z-index:7;pointer-events:none}.spl-note-group{position:absolute;width:220px;display:flex;flex-direction:column;gap:9px;pointer-events:auto;transition:top .3s cubic-bezier(.4,0,.2,1)}.spl-refimg{background:var(--ui-bg-card, #fff);border:1px solid var(--ui-border, #c9d0da);border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(20,25,40,.16)}.spl-thumb{max-height:130px;overflow:hidden;background:var(--ui-bg-input, #eef1f5)}.spl-thumb img{width:100%;display:block;object-fit:cover}.spl-refimg.collapsed .spl-thumb{display:none}.spl-cap{display:flex;gap:4px;padding:5px 7px;justify-content:flex-end;align-items:center}.spl-ic{width:22px;height:22px;border:none;background:var(--ui-bg-input, #eef1f5);border-radius:6px;cursor:pointer;color:var(--ui-text-sub, #55606f);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.spl-ic:hover{background:var(--ui-border, #dfe4ea)}body.spl-linking .section-block{outline:2px dashed var(--ui-accent, #4f6bed);outline-offset:2px;cursor:pointer}.spl-banner{position:fixed;top:60px;left:50%;transform:translateX(-50%);z-index:9999;background:var(--ui-bg-card, #fff);border:1px solid var(--ui-accent, #4f6bed);color:var(--ui-accent, #4f6bed);border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;box-shadow:0 6px 20px rgba(20,25,40,.18);display:none}.scratch-item.scratch-missing>img{display:none}.scratch-item.scratch-missing{min-height:80px;background:repeating-linear-gradient(45deg,#f0f2f6,#f0f2f6 8px,#e6e9ef 8px,#e6e9ef 16px);border:1px dashed var(--ui-border, #c9d0da)}.scratch-item.scratch-missing::after{content:"\26a0  \cc38\ace0\c774\bbf8\c9c0  \b204\b77d";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ui-text-dim, #6b7280);font-weight:600;pointer-events:none;text-align:center;padding:6px}.spl-refimg.spl-missing .spl-thumb{min-height:60px;background:repeating-linear-gradient(45deg,#f0f2f6,#f0f2f6 8px,#e6e9ef 8px,#e6e9ef 16px);position:relative}.spl-refimg.spl-missing .spl-thumb::after{content:"\26a0  \b204\b77d";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--ui-text-dim, #6b7280);font-weight:600}.scratch-item>.spl-btns{position:absolute;top:4px;right:calc(4px + 44px * var(--inv-zoom, 1));transform:scale(var(--inv-zoom, 1));transform-origin:top right;display:flex;gap:4px;z-index:10;opacity:0;transition:opacity .15s}.scratch-item:hover>.spl-btns{opacity:1}.spl-btn{width:18px;height:18px;padding:0;line-height:1;background:rgba(28,28,28,0.88);color:#fff;border:1.5px solid rgba(255,255,255,0.18);border-radius:50%;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.spl-btn-link:hover,.spl-btn-fold:hover{background:var(--ui-accent, #4f6bed);border-color:var(--ui-accent, #4f6bed)}.spl-btn-cut:hover{background:var(--ui-danger-hover, #d9463e);border-color:var(--ui-danger-hover, #d9463e)}.scratch-item.spl-collapsed>img{display:none}.scratch-item.spl-collapsed{min-height:26px}.scratch-item.spl-collapsed::before{content:"\1f517  \c5f0\acb0\b428  \b7  \c811\d798";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#e7ebf3;background:rgba(40,44,58,.92);border:1px dashed var(--ui-accent, #4f6bed);border-radius:6px;pointer-events:none;padding:4px;text-align:center}.spl-edges .spl-edge-dot{fill:var(--ui-accent, #4f6bed)}
