:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark;color:#e6e6e6;background-color:#1a1a1a;--surface: #242424;--border: #3a3a3a;--accent: #4f8cff;--danger: #e5484d;--muted: #9a9a9a}body{margin:0}a{color:var(--accent);text-decoration:none}input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;background:#1a1a1a;color:inherit;font:inherit}.button{padding:.6rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font:inherit;cursor:pointer}.button:disabled{opacity:.6;cursor:default}.button.secondary{background:transparent;border:1px solid var(--border);color:inherit}.button.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px}.muted{color:var(--muted)}.error{color:var(--danger)}.centered{text-align:center;margin-top:30vh}.auth-page{display:flex;justify-content:center;padding-top:15vh}.auth-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem}.auth-form h1{margin:0}.auth-form label{display:flex;flex-direction:column;gap:.4rem}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;border-bottom:1px solid var(--border)}.logo{font-weight:600;color:inherit}.header-user{display:flex;align-items:center;gap:1rem}.content{max-width:960px;margin:0 auto;padding:2rem}.create-project{display:flex;gap:.75rem;margin-bottom:1.5rem}.create-project input{flex:1}.project-list{display:flex;flex-direction:column;gap:.75rem;padding:0;list-style:none}.project-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}.project-name{flex:1;font-weight:500}.project-actions{display:flex;gap:.5rem}.button.small{padding:.35rem .7rem;font-size:.875rem}.nav{display:flex;align-items:center;gap:1.25rem}.nav-link{color:var(--muted)}.nav-link.active{color:inherit}.page-header{display:flex;align-items:center;justify-content:space-between}.drop-zone{padding:1.25rem;border:1px dashed var(--border);border-radius:10px;text-align:center}.drop-zone.active{border-color:var(--accent);color:inherit}.upload-list{display:flex;flex-direction:column;gap:.5rem;padding:0;list-style:none}.upload-item{display:grid;grid-template-columns:1fr 200px auto;align-items:center;gap:1rem;padding:.75rem 1rem}.upload-item progress{width:100%}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:0;list-style:none}.asset-card{display:flex;flex-direction:column;overflow:hidden}.asset-card>.button{margin:0 .75rem .75rem;align-self:flex-start}.asset-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;padding:0;border:none;background:#111;cursor:pointer}.asset-thumb:disabled{cursor:default}.asset-thumb img{width:100%;height:100%;object-fit:contain}.asset-info{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;font-size:.875rem}.asset-name{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3}.modal{display:flex;flex-direction:column;gap:.75rem;max-width:min(960px,90vw);padding:1rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-media{max-width:100%;max-height:75vh}select{padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:#1a1a1a;color:inherit;font:inherit}.editor{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-topbar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-bottom:1px solid var(--border)}.editor-title{width:280px;padding:.35rem .5rem;border-color:transparent;background:transparent;font-weight:600}.editor-title:hover,.editor-title:focus{border-color:var(--border)}.editor-tools{display:flex;gap:.5rem;margin-left:auto}.editor-notice{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;background:#3a2a10}.editor-main{display:grid;flex:1;grid-template-columns:260px minmax(0,1fr) 300px;min-height:0}.media-bin,.editor-sidebar{overflow-y:auto;background:var(--surface)}.media-bin{border-right:1px solid var(--border)}.editor-sidebar{border-left:1px solid var(--border)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;font-weight:600}.bin-empty{padding:0 .75rem;font-size:.875rem}.bin-upload{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem .75rem;font-size:.875rem}.bin-list{margin:0;padding:0;list-style:none}.bin-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;cursor:grab}.bin-item:hover{background:#2e2e2e}.bin-item.disabled{opacity:.6;cursor:default}.bin-thumb{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:64px;height:36px;overflow:hidden;border-radius:4px;background:#111}.bin-thumb img{width:100%;height:100%;object-fit:cover}.bin-info{display:flex;flex:1;flex-direction:column;min-width:0;font-size:.8rem}.preview-area{display:flex;align-items:center;justify-content:center;min-height:0;padding:1rem;overflow:hidden;background:#111}.preview-frame{position:relative;overflow:hidden;background:#000}.preview-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.preview-missing{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}.inspector-section{padding-bottom:.75rem;border-bottom:1px solid var(--border)}.inspector-section>:not(.panel-header){margin:0 .75rem .6rem}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.field input[type=number]{padding:.35rem .5rem}.field-row{display:flex;gap:.5rem}.field-row>*{flex:1;min-width:0}.inspector-facts{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;font-size:.85rem}.inspector-facts dt{color:var(--muted)}.inspector-facts dd{margin:0}.export-hint{font-size:.8rem}.render-list{display:flex;flex-direction:column;gap:.5rem;padding:0;list-style:none}.render-item{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem}.render-item .error{margin:0}.render-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.progress{height:6px;overflow:hidden;border-radius:3px;background:#111}.progress-bar{height:100%;background:var(--accent);transition:width .3s}.editor-transport{display:flex;align-items:center;gap:.75rem;padding:.4rem 1rem;border-top:1px solid var(--border);background:var(--surface)}.timecode{min-width:150px;font-variant-numeric:tabular-nums}.zoom{display:flex;align-items:center;gap:.5rem;margin-left:auto}.zoom input{padding:0}.timeline{display:flex;flex-shrink:0;height:200px;border-top:1px solid var(--border);-webkit-user-select:none;user-select:none}.timeline-headers{flex-shrink:0;width:110px;border-right:1px solid var(--border);background:var(--surface)}.timeline-ruler-spacer,.timeline-ruler{height:24px}.track-header{display:flex;flex-direction:column;justify-content:center;gap:.25rem;height:64px;padding:0 .5rem;border-top:1px solid var(--border);font-size:.8rem}.timeline-scroll{flex:1;overflow:auto hidden}.timeline-content{position:relative;min-height:100%}.timeline-ruler{position:relative;cursor:pointer;background:var(--surface)}.ruler-tick{position:absolute;top:0;height:100%;padding-left:3px;border-left:1px solid var(--border);color:var(--muted);font-size:.7rem;line-height:24px}.track-lane{position:relative;height:64px;border-top:1px solid var(--border)}.clip{position:absolute;top:4px;bottom:4px;overflow:hidden;box-sizing:border-box;border:1px solid #5b7fc7;border-radius:4px;background-color:#2b4575;background-repeat:repeat-x;background-size:auto 100%;cursor:grab;touch-action:none}.clip.audio{border-color:#4f9c6b;background-color:#24533a}.clip.missing{border-color:var(--danger);background-color:#4a1f21}.clip.selected{border:2px solid #fff}.clip-label{position:absolute;bottom:2px;left:6px;max-width:calc(100% - 12px);overflow:hidden;font-size:.75rem;text-overflow:ellipsis;text-shadow:0 1px 2px #000;white-space:nowrap;pointer-events:none}.clip-fade{position:absolute;top:0;bottom:0;pointer-events:none}.clip-fade.in{left:0;background:linear-gradient(to right,rgb(0 0 0 / 70%),transparent)}.clip-fade.out{right:0;background:linear-gradient(to left,rgb(0 0 0 / 70%),transparent)}.clip-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.clip-handle.start{left:0}.clip-handle.end{right:0}.clip-handle:hover{background:#ffffff4d}.playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff5a5a;pointer-events:none}
