@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.editor{display:flex;flex-direction:column;width:100vw;height:100vh;background:#3a3a3a;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.editor-header{display:flex;flex-direction:column;padding:12px 20px;background:#2d2d2d;border-bottom:1px solid #444;z-index:20;gap:12px}.header-top-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;position:relative}.header-url-input-group{display:flex;gap:8px;align-items:center}.header-url-input{width:320px;height:32px;padding:0 12px;background:#1a1a1a;border:1px solid #555;border-radius:6px;color:#fff;font-size:13px;outline:none}.header-url-input:focus{border-color:#00d6d6}.header-url-input:disabled,.header-url-input.input-locked{background:#2a2a2a;border-color:#444;color:#888;cursor:not-allowed}.header-url-add-btn{width:32px;height:32px;background:#00d6d6;border:none;border-radius:6px;color:#1a1a1a;cursor:pointer;font-size:18px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.header-url-add-btn:hover:not(:disabled){background:#0ee;transform:scale(1.05)}.header-url-add-btn:active:not(:disabled){transform:scale(.95)}.header-url-add-btn:disabled{opacity:.5;cursor:not-allowed;background:#555;transform:none}.header-url-add-btn.loading{background:#00b8b8;cursor:wait}.header-url-add-btn .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.folder-info{display:flex;align-items:center;gap:8px;flex-shrink:0}.folder-name{position:absolute;left:50%;transform:translate(-50%);font-size:14px;font-weight:600;color:#00d6d6;white-space:nowrap;pointer-events:none}.save-btn,.download-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#4a4a4a;border:none;border-radius:6px;color:#fff;cursor:pointer}.save-btn:hover,.download-btn:hover{background:#00d6d6;color:#1a1a1a}.download-btn:disabled{opacity:.5;cursor:not-allowed}.loading-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:12px 24px;background:#00d6d6f2;color:#1a1a1a;border-radius:8px;z-index:10001}.pagination{display:flex;flex-direction:column;gap:8px;align-items:center}.pagination-scroll{display:flex;gap:4px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0}.pagination-info{font-size:12px;color:#999}.page-btn{min-width:36px;height:32px;padding:0 12px;border:none;border-radius:4px;background:#3a3a3a;color:#888;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.page-btn:hover{background:#4a4a4a;color:#fff}.page-btn.active{background:#fff;color:#1a1a1a;font-weight:600}.editor-content{display:flex;flex:1;min-height:0}.sidebar{display:flex;flex-direction:column;align-items:center;padding:20px 12px;background:#2d2d2d;z-index:10}.sidebar--left{width:56px;justify-content:flex-start;gap:16px;padding-top:40px}.sidebar--right{width:56px;align-items:center;padding-top:16px}.zoom-controls{display:flex;flex-direction:column;align-items:center;gap:8px}.zoom-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#4a4a4a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease}.zoom-btn:hover:not(:disabled){background:#5a5a5a}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.delete-btn{background:#d32f2f;margin-top:8px}.delete-btn:hover:not(:disabled){background:#f44336}.delete-btn:disabled{opacity:.3;background:#6a6a6a}.zoom-slider-container{position:relative;height:180px;width:36px;display:flex;align-items:center;justify-content:center}.zoom-slider{position:absolute;width:180px;height:6px;transform:rotate(-90deg);transform-origin:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;z-index:2}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#1a1a1a;border:3px solid #fff;cursor:pointer;box-shadow:0 2px 8px #0006}.zoom-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#1a1a1a;border:3px solid #fff;cursor:pointer}.zoom-track{position:absolute;width:6px;height:180px;background:linear-gradient(to top,#666,#888);border-radius:3px;overflow:hidden}.zoom-track-fill{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,#ff1493,#fff);border-radius:3px;transition:height .1s ease}.zoom-value{text-align:center;font-size:12px;color:#aaa;margin-top:8px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.zoom-value:hover{background:#4a4a4a;color:#fff}.reset-btn,.rotate-btn{margin-top:8px}.format-selector-wrapper{position:relative;margin-bottom:20px}.format-btn{position:relative}.format-dropdown{position:absolute;top:0;left:60px;background:#2d2d2d;border:1px solid #444;border-radius:8px;padding:8px;min-width:140px;box-shadow:0 4px 16px #0006;z-index:100}.format-option{width:100%;padding:10px 14px;background:transparent;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .2s ease}.format-option:hover{background:#3a3a3a}.format-option.active{background:#00d6d6;color:#1a1a1a}.canvas-container{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.canvas-container.drag-over{background:#00d6d60d}.stage-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;-webkit-user-select:none;user-select:none}.nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#4a4a4a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;z-index:5;box-shadow:0 4px 16px #0000004d}.nav-btn:hover:not(:disabled){background:#5a5a5a;transform:translateY(-50%) scale(1.05)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn--left{left:24px}.nav-btn--right{right:24px}.add-spread-btn{position:absolute;top:16px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#4a4a4a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;z-index:5;box-shadow:0 4px 12px #0000004d}.add-spread-btn:hover:not(:disabled){background:#5a5a5a;transform:scale(1.1)}.add-spread-btn:disabled{opacity:.3;cursor:not-allowed}.add-spread-btn--left{left:16px}.add-spread-btn--right{right:16px}.action-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#4a4a4a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#5a5a5a}.spread-label-container{display:flex;align-items:center;justify-content:center;gap:12px}.spread-label{background:#1a1a1a;border:1px solid #444;border-radius:6px;padding:8px 24px;font-size:13px;font-weight:500;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #0000004d}.spread-label--page-number{text-transform:none;min-width:40px;text-align:center;cursor:pointer;transition:all .2s ease}.spread-label--page-number:hover{background:#2a2a2a;border-color:#555}.spread-label--page-number.spread-label--active{background:#2563eb;border-color:#3b82f6;box-shadow:0 4px 12px #2563eb66}.spread-label--page-number.spread-label--active:hover{background:#3b82f6;border-color:#60a5fa}.right-panel{width:360px;background:#2a2a2a;border-left:1px solid #444;flex-shrink:0;display:flex;flex-direction:column;position:relative;transition:all .3s ease}.right-panel.collapsed{width:20px}.panel-edge{position:absolute;left:0;top:0;bottom:0;width:12px;background:transparent;cursor:ew-resize;z-index:100;transition:background .2s ease;border-right:2px solid transparent}.panel-edge:hover{background:#00d6d61a;border-right-color:#00d6d64d}.right-panel.collapsed .panel-edge{width:100%;cursor:ew-resize;background:#00d6d626}.right-panel.collapsed .panel-edge:hover{background:#00d6d64d}.panel-tabs{display:flex;gap:0;background:#1a1a1a;border-bottom:1px solid #444;padding:0 10px;flex-shrink:0}.panel-tab{padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:#aaa;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;white-space:nowrap}.panel-tab:hover{color:#fff;background:#2a2a2a}.panel-tab.active{color:#00d6d6;border-bottom-color:#00d6d6;background:#2a2a2a}.panel-content{flex:1;overflow:hidden}.tab-content{height:100%;overflow:hidden}.layouts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px;height:100%;overflow-x:hidden;overflow-y:auto;align-content:start}.layout-item{width:100%;cursor:pointer;transition:transform .2s ease}.layout-item:hover{transform:translateY(-2px)}.layout-preview{width:100%;aspect-ratio:1;background:#fff;border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:border-color .2s ease,box-shadow .2s ease}.layout-item:hover .layout-preview{border-color:#007bff;box-shadow:0 4px 12px #007bff33}.layout-svg{width:100%;height:100%;display:block}.layout-name{margin-top:6px;text-align:center;font-size:11px;font-weight:500;color:#333}.tab-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:14px}.photos-panel-content{display:grid;grid-template-columns:1fr;gap:12px;padding:12px 32px 12px 12px;height:100%;overflow-y:auto;overflow-x:hidden;align-content:start}.add-photo-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;aspect-ratio:16/9;background:#3a3a3a;border:2px dashed #555;border-radius:8px;color:#aaa;cursor:pointer;transition:all .2s ease}.add-photo-btn:hover{background:#444;border-color:#00d6d6;color:#00d6d6}.add-photo-btn span{font-size:11px;font-weight:500}.auto-fill-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}.auto-fill-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea80}.auto-fill-btn:active{transform:translateY(0);box-shadow:0 2px 6px #667eea4d}.auto-fill-btn svg{flex-shrink:0}.hidden-input{display:none}.photos-list{display:contents}.photo-item{position:relative;width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000004d;cursor:move;-webkit-user-select:none;user-select:none}.photo-item:active{cursor:grabbing}.photo-thumb{width:100%;max-width:100%;height:auto;object-fit:contain;display:block}.photo-actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:4px;padding:6px;background:linear-gradient(transparent,#000c);opacity:0;transition:opacity .2s ease}.photo-item:hover .photo-actions{opacity:1}.photo-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s ease}.photo-action-btn:hover{background:#ffffff4d}.photo-action-btn--delete:hover{background:#e53935}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.preview-image{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.preview-close{position:absolute;top:-40px;right:-40px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s ease}.preview-close:hover{background:#fff3}.preview-info{margin-top:16px;padding:8px 16px;background:#ffffff1a;border-radius:6px;color:#fff;font-size:13px}.export-progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}.export-progress-modal{background:#2d2d2d;border-radius:12px;padding:32px}.export-progress-content{display:flex;flex-direction:column;align-items:center;gap:16px}.export-spinner{width:60px;height:60px;animation:rotate 2s linear infinite}.export-spinner .path{stroke:#00d6d6;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.export-progress-text{font-size:18px;font-weight:600;color:#fff}.export-progress-bar{width:300px;height:8px;background:#1a1a1a;border-radius:4px;overflow:hidden}.export-progress-fill{height:100%;background:linear-gradient(90deg,#00d6d6,#00a8a8);border-radius:4px;transition:width .3s ease}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
