@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;--color-main-background: #1A1D24;--color-sub-background: #2C313A;--color-accent: #8A63D2;--color-accent-hover: #9978e2;--color-text-primary: #F0F2F5;--color-text-secondary: #a0a7b0;--color-border: #40454f;--color-success: #4CAF50;--color-error: #F44336;--color-warning: #FFC107;--color-canvas-background: #16181d;--color-playhead: var(--color-accent);--color-checkerboard-light: #3a3f47;--color-checkerboard-dark: #2C313A;color:var(--color-text-primary);background-color:var(--color-main-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{min-width:320px;background-color:var(--color-main-background);color:var(--color-text-primary);font-size:16px}h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-weight:600}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:500}p,span,div{font-size:1rem}small{font-size:.875rem}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-sub-background);color:var(--color-text-primary);cursor:pointer;transition:all .25s}button:hover{border-color:var(--color-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app{height:100vh;display:flex;flex-direction:column;background-color:var(--color-main-background);overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--color-sub-background);border-bottom:1px solid var(--color-border);flex-shrink:0;height:60px}.header-section{display:flex;align-items:center;gap:1rem}.app-title{font-size:1.25rem;font-weight:600}.header-actions button,.primary-action{background-color:var(--color-accent);color:var(--color-text-primary);border:none}.header-actions button:hover,.primary-action:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.header-toggle-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:1.5rem;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.header-toggle-btn:hover{color:var(--color-text-primary);background-color:var(--color-main-background)}.app-body{display:flex;flex:1;overflow:hidden}.left-panel,.right-panel{width:300px;background-color:var(--color-sub-background);overflow-y:auto;transition:width .3s ease,padding .3s ease;flex-shrink:0;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.left-panel{border-right:1px solid var(--color-border)}.right-panel{border-left:1px solid var(--color-border)}.left-panel.closed,.right-panel.closed{width:0;padding:0;overflow:hidden}.panel-toggle{color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;transition:color .2s}.panel-toggle:hover{color:var(--color-text-primary)}.center-panel{flex:1;display:flex;flex-direction:column;background-color:var(--color-main-background);min-width:0}.image-library h2{margin-bottom:1rem}.upload-area{border:2px dashed var(--color-border);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;margin-bottom:1rem;transition:border-color .3s,background-color .3s}.upload-area:hover{border-color:var(--color-accent);background-color:var(--color-main-background)}.upload-area svg{font-size:2.5rem;color:var(--color-text-secondary);margin-bottom:.5rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.image-item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.image-item:hover{border-color:var(--color-accent)}.image-item img{width:100%;height:100%;object-fit:cover}.image-canvas-container{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;overflow:hidden;position:relative;min-height:0}.image-canvas{position:relative;border-radius:8px;overflow:hidden;background-color:var(--color-checkerboard-dark);background-image:linear-gradient(45deg,var(--color-checkerboard-light) 25%,transparent 25%),linear-gradient(-45deg,var(--color-checkerboard-light) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-checkerboard-light) 75%),linear-gradient(-45deg,transparent 75%,var(--color-checkerboard-light) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0px;box-shadow:0 0 0 1px var(--color-border);max-width:100%;max-height:100%}.slide-item .selected{border:2px solid var(--color-accent);box-shadow:0 0 12px var(--color-accent)}.control-panel h2{margin-bottom:1rem}.property-group{margin-bottom:1.5rem}.property-group h3{margin-bottom:1rem;border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.property-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.input-group{display:flex;gap:.5rem;align-items:center}.property-group input,.property-group select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;background-color:var(--color-main-background);color:var(--color-text-primary);transition:border-color .2s,box-shadow .2s}.property-group input:focus,.property-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}.timeline-container{height:250px;flex-shrink:0;overflow:auto;background-color:var(--color-sub-background);border-top:1px solid var(--color-border);position:relative;width:100%}.time-ruler{position:sticky;top:0;height:24px;background-color:color-mix(in srgb,var(--color-sub-background) 50%,black);border-bottom:1px solid var(--color-border);z-index:20}.timeline{background-color:var(--color-main-background);position:relative;min-width:100%}.playhead{background-color:var(--color-playhead)}.timeline-slide{background-color:var(--color-accent);border-radius:4px;border:1px solid var(--color-accent-hover);color:var(--color-text-primary)}.timeline-slide.selected{border-color:var(--color-accent-hover);box-shadow:0 0 0 2px var(--color-accent);z-index:50!important}.slide-info input{background-color:#0000004d;color:var(--color-text-primary)}.preview-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000}.preview-modal{background-color:var(--color-sub-background);border:1px solid var(--color-border);width:80vw;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0003}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}.close-btn{color:var(--color-text-secondary)}.preview-canvas{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:hidden}.preview-canvas-inner{position:relative;width:100%;max-width:100%;max-height:100%}.preview-controls{display:flex;align-items:center;gap:1rem;padding:1rem;border-top:1px solid var(--color-border)}.preview-controls button{background-color:var(--color-main-background)}.preview-controls button:hover{border-color:var(--color-accent);background-color:var(--color-sub-background)}.toolbar{justify-content:center}.mobile-warning-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-main-background);display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem;text-align:center}.mobile-warning-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;color:var(--color-text-primary)}.mobile-warning-content svg{color:var(--color-warning)}.mobile-warning-content h2{font-size:1.5rem}.mobile-warning-content p{font-size:1rem;color:var(--color-text-secondary);max-width:400px;line-height:1.6}.toolbar button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;transition:background-color .2s}.image-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.image-item:hover .image-overlay{opacity:1}.add-to-timeline-btn{background-color:var(--color-accent);border:none;border-radius:50%;width:30px;height:30px;color:var(--color-text-primary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0}.slide-item{position:absolute;cursor:move;border:2px solid transparent;border-radius:4px;-webkit-user-select:none;user-select:none;min-width:20px;min-height:20px}.slide-item-transformer{transform-origin:0 0}.slide-controls{position:absolute;inset:-10px;border:1px dashed var(--color-accent);pointer-events:none}.rotate-handle{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background-color:var(--color-accent);border:2px solid var(--color-sub-background);cursor:alias;pointer-events:all}.slide-item img{border-radius:4px;pointer-events:none}.time-marker{position:absolute;height:100%;border-left:1px solid var(--color-border);padding-left:4px;color:var(--color-text-secondary);font-size:.7rem}.grid-line{position:absolute;background-color:var(--color-border);pointer-events:none;z-index:1}.grid-line.vertical{width:1px;height:100%}.grid-line.horizontal{width:100%;height:1px}.playhead{z-index:1000;pointer-events:none;position:absolute;top:0;bottom:0;width:2px}.timeline-slide{display:flex;align-items:center;padding:.25rem;box-shadow:0 2px 4px #0003;z-index:10}.slide-thumbnail{width:40px;height:100%;margin-right:.5rem;border-radius:2px;overflow:hidden;flex-shrink:0;background-color:var(--color-main-background)}.slide-thumbnail img{width:100%;height:100%;object-fit:cover}.slide-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;padding-right:4px}.slide-name{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-slide-btn{background:transparent;border:none;color:inherit;padding:.25rem;cursor:pointer;margin-left:.5rem;font-size:.8rem;opacity:.7;transition:opacity .2s}.remove-slide-btn:hover{opacity:1}@media (max-width: 768px){.app-body{flex-direction:column}.left-panel,.right-panel{width:100%;height:auto;max-height:30vh}.center-panel{flex:1}.timeline-container{height:200px}}.preview-header{display:flex;justify-content:space-between;align-items:center}.header-controls{display:flex;gap:8px;align-items:center}.record-btn{background:#dc2626;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:14px;transition:background-color .2s}.record-btn:hover:not(:disabled){background:#b91c1c}.record-btn:disabled{background:#6b7280;cursor:not-allowed}.record-btn.recording{background:#dc2626;animation:pulse 2s infinite}.recording-indicator{color:#fef2f2;font-size:12px;animation:blink 1s infinite}.download-btn{background:#059669;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s}.download-btn:hover{background:#047857}.recording-text{color:#dc2626;font-weight:700;margin-left:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.preview-controls button:disabled,.preview-controls input:disabled{opacity:.5;cursor:not-allowed}
