:root{--bg:#16171b;--panel:#1f2026;--panel-2:#2a2b33;--line:#34353f;--text:#e9e9ee;--muted:#9a9bab;--accent:#5b8cff;--accent-2:#7aa2ff;--danger:#ff6b6b;--ok:#3ecf8e;--guide:#ff3d9a;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{opacity:.35;cursor:default}input,select{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;min-width:0;padding:5px 8px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.muted{color:var(--muted)}.app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template:"top top top"52px"lib stage insp"minmax(0,1fr)/200px minmax(0,1fr) 250px;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);grid-area:top;align-items:center;gap:8px;min-width:0;padding:0 10px;display:flex}.library{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;grid-area:lib;gap:10px;min-height:0;padding:10px;display:flex}.stage-area{background:radial-gradient(circle at 1px 1px, #ffffff10 1px, transparent 0) 0 0 / 18px 18px, var(--bg);grid-area:stage;min-width:0;min-height:0;position:relative}.inspector{background:var(--panel);border-left:1px solid var(--line);grid-area:insp;padding:12px;overflow-y:auto}.brand{border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 8px;font-weight:600;display:flex}.brand:hover{background:var(--panel-2)}.brand-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.save-dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.save-dot.saving{background:#f5c542}.save-dot.error{background:var(--danger)}.view-tabs{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.tab{white-space:nowrap;color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:flex}.tab:hover{background:var(--panel-2)}.tab.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.tab-ratio{border:1.5px solid;border-radius:2px;flex:none;max-width:24px;height:14px;display:inline-block}.topbar-actions{flex:none;align-items:center;gap:2px;display:flex}.sep{background:var(--line);width:1px;height:22px;margin:0 4px}.icon-btn{width:36px;height:36px;color:var(--text);border-radius:8px;flex:none;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--panel-2)}.icon-btn.active{color:var(--accent-2)}.icon-btn.danger{color:var(--danger)}.icon-btn.primary{background:var(--accent);color:#fff}.primary-btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.primary-btn:hover:not(:disabled){background:var(--accent-2)}.share-btn{margin-left:6px}.text-btn{color:var(--accent-2);border-radius:6px;align-items:center;gap:4px;padding:5px 8px;display:inline-flex}.text-btn:hover:not(:disabled){background:var(--panel-2)}.text-btn.danger,.danger{color:var(--danger)}.menu-anchor{flex:none;min-width:0;position:relative}.popover-scrim{z-index:40;position:fixed;inset:0}.popover{z-index:41;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:220px;max-height:70dvh;margin-top:6px;padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #0008}.popover>button{text-align:left;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.popover>button:hover{background:var(--panel-2)}.popover>button.current{color:var(--accent-2)}.project-menu .field{padding:6px 6px 10px}.menu-section{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line);padding:8px 10px 4px;font-size:11px}.import-btn{background:var(--accent);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;height:40px;font-weight:600;display:flex}.thumbs{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:6px;min-height:0;display:grid;overflow-y:auto}.thumb{aspect-ratio:1;position:relative}.thumb-btn{background:#000;border-radius:6px;padding:0;position:absolute;inset:0;overflow:hidden}.thumb-btn img,.thumb-btn video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.thumb .badge{background:#000a;border-radius:4px;padding:1px 4px;font-size:10px;position:absolute;bottom:4px;right:4px}.thumb .progress{background:#0008;border-radius:2px;height:4px;position:absolute;bottom:4px;left:4px;right:4px;overflow:hidden}.thumb .progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.thumb-del{opacity:0;background:#000b;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:3px;right:3px}.thumb:hover .thumb-del,.thumb-del:focus-visible{opacity:1}@media (hover:none){.thumb-del{opacity:.85}}.stage-wrap{touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.stage-wrap.drag-over{outline:3px dashed var(--accent);outline-offset:-8px}.stage{touch-action:none;flex:none;position:relative}.stage-inner{transform-origin:0 0;position:absolute;top:0;left:0}.clip{position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #ffffff1f,0 10px 40px #0007}.view-content{position:relative}.item,.ghost{transform-origin:50%;position:absolute;overflow:hidden}.item{cursor:pointer}.media-loading{pointer-events:none;background:#dee1e899;animation:1.1s ease-in-out infinite alternate media-loading;position:absolute;inset:0}@keyframes media-loading{0%{opacity:.35}to{opacity:.9}}@media (prefers-reduced-motion:reduce){.media-loading{opacity:.6;animation:none}}.media{pointer-events:none;object-fit:fill;max-width:none;display:block;position:absolute}.ghost{pointer-events:none}.ghost-overflow{opacity:.3}.ghost-crop{opacity:.4}.guide{background:var(--guide);pointer-events:none;position:absolute}.guide-v{width:calc(1px * var(--k));top:0;bottom:0}.guide-h{height:calc(1px * var(--k));left:0;right:0}.sel{transform-origin:50%;outline:calc(1.5px * var(--k)) solid var(--accent);cursor:move;position:absolute}.h{--s:calc(12px * var(--k));width:var(--s);height:var(--s);border:calc(1.5px * var(--k)) solid var(--accent);border-radius:calc(3px * var(--k));background:#fff;position:absolute;transform:translate(-50%,-50%)}.h:before{content:"";inset:calc(-10px * var(--k));position:absolute}@media (pointer:coarse){.h{--s:calc(18px * var(--k))}.h:before{inset:calc(-14px * var(--k))}}.h-nw{cursor:nwse-resize;top:0;left:0}.h-n{cursor:ns-resize;top:0;left:50%}.h-ne{cursor:nesw-resize;top:0;left:100%}.h-e{cursor:ew-resize;top:50%;left:100%}.h-se{cursor:nwse-resize;top:100%;left:100%}.h-s{cursor:ns-resize;top:100%;left:50%}.h-sw{cursor:nesw-resize;top:100%;left:0}.h-w{cursor:ew-resize;top:50%;left:0}.h-rot{left:50%;top:calc(-30px * var(--k));cursor:grab;border-radius:50%}.rot-stem{left:50%;top:calc(-30px * var(--k));height:calc(30px * var(--k));width:calc(1.5px * var(--k));background:var(--accent);pointer-events:none;position:absolute;transform:translate(-50%)}.sel.crop{box-shadow:0 0 0 calc(1px * var(--k)) #0008;outline-color:#fff}.sel.crop .h{background:#fff;border-color:#000;border-radius:0}.sel.crop .h-n,.sel.crop .h-s{width:calc(26px * var(--k));height:calc(6px * var(--k))}.sel.crop .h-e,.sel.crop .h-w{width:calc(6px * var(--k));height:calc(26px * var(--k))}.thirds{pointer-events:none;background:linear-gradient(to right, transparent calc(33.33% - .5px * var(--k)), #fff8 0, #fff8 calc(33.33% + .5px * var(--k)), transparent 0, transparent calc(66.66% - .5px * var(--k)), #fff8 0, #fff8 calc(66.66% + .5px * var(--k)), transparent 0), linear-gradient(to bottom, transparent calc(33.33% - .5px * var(--k)), #fff8 0, #fff8 calc(33.33% + .5px * var(--k)), transparent 0, transparent calc(66.66% - .5px * var(--k)), #fff8 0, #fff8 calc(66.66% + .5px * var(--k)), transparent 0);position:absolute;inset:0}.empty-hint{color:#333;background:#fff5;border:2px dashed #0003;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:12%}.empty-hint span{opacity:.7;font-size:13px}.toolbar-dock{z-index:5;max-width:calc(100% - 16px);position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.toolbar{background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);scrollbar-width:none;border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex;overflow-x:auto;box-shadow:0 8px 30px #0006}.toolbar-label{color:var(--muted);padding:0 8px;font-weight:600}.toolbar-select{max-width:170px;height:36px}.layout-picker{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:max-content;max-width:calc(100vw - 32px);padding:8px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0008}.layout-grid{gap:4px;display:flex}.layout-grid>button{border-radius:8px;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;width:84px;height:84px;padding:8px 6px;font-size:12px;display:flex}.layout-grid>button:hover{background:var(--panel-2)}.layout-preview{margin:auto 0;position:relative}.layout-grid>button>.layout-preview{flex:none}.layout-preview>span{box-sizing:border-box;border:1.5px solid var(--bg);background:var(--muted);border-radius:3px;position:absolute}.layout-fill{color:var(--muted);align-items:center;gap:6px;padding:8px 6px 2px;font-size:12px;display:flex}.upload-status{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:4px 10px;font-size:12px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.playback-bar{margin-bottom:6px;padding-right:10px}.speed{font-variant-numeric:tabular-nums;flex:none;min-width:76px;height:30px;margin-left:6px}.volume{border-left:1px solid var(--line);align-items:center;gap:2px;margin-left:6px;padding-left:6px;display:flex}.volume input{width:80px;accent-color:var(--accent)}.volume .trim-time{text-align:right;width:34px}.scrubber{width:min(320px,45vw);min-width:80px;accent-color:var(--accent);margin:0 6px}.fullscreen-view{z-index:60;background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.fullscreen-frame{position:relative;overflow:hidden}.fullscreen-controls{left:50%;bottom:max(16px, env(safe-area-inset-bottom));max-width:calc(100% - 32px);transition:opacity .3s;position:absolute;transform:translate(-50%)}.fullscreen-view.idle{cursor:none}.fullscreen-view.idle .fullscreen-controls{opacity:0;pointer-events:none}.trim-bar{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.toolbar .trim-bar{width:min(360px,60vw);padding:0 6px}.trim-time{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:11px}.trim-track{background:var(--panel-2);min-width:80px;height:28px;box-shadow:inset 0 0 0 1px var(--line);touch-action:none;border-radius:6px;flex:1;position:relative}.trim-range{background:color-mix(in srgb, var(--accent) 30%, transparent);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);position:absolute;top:0;bottom:0}.trim-handle{background:var(--accent);cursor:ew-resize;touch-action:none;border-radius:4px;width:14px;margin-left:-7px;position:absolute;top:-2px;bottom:-2px}.trim-handle:before{content:"";position:absolute;inset:-8px -10px}.trim-handle:after{content:"";background:#fff;border-radius:1px;width:2px;position:absolute;top:30%;bottom:30%;left:6px}.trim-handle:focus-visible{outline:2px solid var(--text)}.inspector section{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;margin-bottom:14px;padding-bottom:14px;display:flex}.inspector h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.inspector h4{color:var(--muted);margin:4px 0 0;font-size:11px;font-weight:500}.inspector .row{gap:6px;display:flex}.inspector .row .field{flex:1;min-width:0}.field{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.field input{color:var(--text);width:100%;font-size:13px}.field input[type=color]{height:32px;padding:2px}.inspector .meta{color:var(--muted);margin:0;font-size:12px}.inspector .text-btn{align-self:flex-start}.modal-backdrop{z-index:50;background:#000a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:14px;width:min(560px,100%);max-height:calc(100dvh - 32px);padding:16px 18px;overflow-y:auto}.modal header{justify-content:space-between;align-items:center;gap:8px;display:flex}.modal h2{margin:0;font-size:17px}.modal p{margin:8px 0;font-size:13px}.create-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.create-row select{flex:1;min-width:180px}.export-status{flex-direction:column;gap:8px;font-size:13px;display:flex}.export-progress-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.export-status .small{font-size:12px}.progress-track{background:var(--panel-2);border-radius:3px;height:6px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .3s;display:block}.progress-track .indeterminate{animation:1.2s ease-in-out infinite alternate indeterminate}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(330%)}}.error{color:var(--danger)}.share-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.share{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.share.fresh{border-color:var(--accent)}.share.expired,.share.revoked{opacity:.6}.share-main{align-items:center;gap:8px;min-width:0;display:flex}.share-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.share-meta{font-size:12px}.share-actions{flex-wrap:wrap;gap:4px;margin-left:-8px;display:flex}.pill{text-transform:capitalize;border-radius:20px;flex:none;padding:1px 8px;font-size:11px}.pill.active{color:var(--ok);background:#3ecf8e22}.pill.expired,.pill.revoked{color:var(--danger);background:#ff6b6b22}.toast{border:1px solid var(--danger);color:#ffd9d9;z-index:60;background:#3a1d22;border-radius:10px;max-width:calc(100% - 32px);padding:10px 14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.viewer{background:#000;flex-direction:column;height:100dvh;display:flex}.viewer-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.viewer-bar{padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:#111;border-top:1px solid #222;align-items:center;gap:4px;display:flex}.viewer-bar .view-tabs{flex:0 auto}.viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;padding:0 6px;overflow:hidden}.viewer-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100dvh;padding:16px;display:flex}@media (width<=1100px){.app{grid-template-columns:170px minmax(0,1fr);grid-template-areas:"top top""lib stage"}.inspector{display:none}}@media (orientation:landscape) and (height<=540px){.app{grid-template:"top top"44px"lib stage"minmax(0,1fr)/84px minmax(0,1fr)}.inspector{display:none}.library{gap:6px;padding:6px}.import-btn span,.brand-name{display:none}.thumbs{grid-template-columns:1fr!important}.toolbar-dock{right:8px;bottom:50%!important;left:auto!important;transform:translateY(50%)!important}.toolbar{flex-direction:column;max-height:calc(100dvh - 70px);overflow-y:auto}.toolbar-label{display:none}.layout-picker{bottom:50%;left:auto;right:calc(100% + 8px);transform:translateY(50%)}.toolbar.trim-toolbar,.toolbar.playback-bar,.toolbar.fullscreen-controls{flex-direction:row}.scrubber{width:min(200px,30vw)}.toolbar .trim-bar{width:min(300px,50vw)}}@media (orientation:portrait) and (width<=900px){.app{grid-template:"top"48px"stage"minmax(0,1fr)"lib"/minmax(0,1fr)}.inspector{display:none}.library{border-right:0;border-top:1px solid var(--line);flex-direction:row;height:92px;padding:8px}.import-btn{flex-direction:column;flex:none;width:72px;height:100%!important}.thumbs{gap:8px;overflow:auto hidden;display:flex!important}.thumb{flex:none;width:76px}.brand-name{max-width:90px}.share-btn span,.hide-xs{display:none}}.export-name{margin-top:14px}.export-name-row{white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex}
