:root{--page-bg: #ffffff;--card-bg: #f6f7f8;--text-primary: #111111;--text-secondary: rgba(0, 0, 0, .7);--text-tertiary: rgba(0, 0, 0, .5);--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .12);--btn-bg: rgba(0, 0, 0, .06);--btn-bg-hover: rgba(0, 0, 0, .1);--card-radius: 32px;--ease-enter: cubic-bezier(.22, 1, .36, 1);--ease-thumb: cubic-bezier(.34, 1.1, .64, 1);--font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--page-bg);color:var(--text-primary);font-family:var(--font-sans);font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.app{display:grid;grid-template-columns:minmax(0,4fr) minmax(300px,1fr);height:100dvh}.stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;margin:16px 0 16px 16px;padding:32px;border-radius:var(--card-radius);background:var(--card-bg)}.stage-fit{flex:1;min-height:0;display:grid;place-items:center}.canvas-wrap{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--border);background:#fff repeating-conic-gradient(rgba(0,0,0,.06) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px}#preview{display:block;width:100%;height:100%}.dropzone{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px;border:0;border-radius:24px;background:transparent;color:#ffffffeb;text-align:center;transition:background-color .2s ease}.dropzone:hover{background:#ffffff0d}.dropzone:focus-visible{outline-color:#fff;outline-offset:-6px}.dropzone svg{width:26px;height:26px;margin-bottom:8px;opacity:.9}.dropzone-title{font-size:15px;letter-spacing:-.02em}.dropzone-sub{font-size:12px;color:#ffffff80}.drop-hint{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;border:1.5px dashed var(--border-strong);background:#f6f7f8db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:18px;letter-spacing:-.025em;opacity:0;pointer-events:none;transition:opacity .15s ease}.stage.is-dragging .drop-hint{opacity:1}.canvas-wrap.is-folding .dropzone{visibility:hidden}.export-toast{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 24px);height:40px;padding:0 4px 0 18px;border-radius:999px;background:#111111db;-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);box-shadow:0 0 0 1px #ffffff1f,0 8px 24px #0000002e;color:#fff;white-space:nowrap;overflow:hidden}.export-toast-bar{position:absolute;inset:0;background:#ffffff29;transform-origin:left;transform:scaleX(0);transition:transform .2s linear}.export-toast-label{position:relative;min-width:96px;font-weight:500;font-variant-numeric:tabular-nums}.export-toast-cancel{position:relative;height:32px;padding:0 14px;border:0;border-radius:999px;background:#ffffff24;color:#fff;font-size:12.5px;font-weight:500;transition:background-color .15s ease}.export-toast-cancel:hover{background:#ffffff3d}.export-toast-cancel:focus-visible{outline-color:#fff;outline-offset:-2px}.transport-wrap{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s var(--ease-enter),opacity .3s ease}.transport-wrap.is-open{grid-template-rows:1fr;opacity:1}.transport-clip{min-height:0;overflow:hidden;margin:0 -20px -20px;padding:0 20px}.transport{--clip: #6e56cf;--clip-soft: rgba(110, 86, 207, .14);display:flex;flex-direction:column;gap:6px;margin:16px 0 20px;transform:translateY(16px);transition:transform .5s var(--ease-enter);padding:10px 16px 14px 10px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--border),0 4px 16px #0000000a}.transport-wrap.is-open .transport{transform:none}.tl-bar{display:flex;align-items:center;gap:10px}.tl{--grip: 14px;--film: calc(100% - var(--grip) * 2);display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;-webkit-user-select:none;user-select:none;touch-action:none}.tl>:nth-child(1){grid-area:1 / 1}.tl>:nth-child(2){grid-area:1 / 2}.tl>:nth-child(3){grid-area:2 / 1}.tl>:nth-child(4){grid-area:2 / 2}.tl>:nth-child(5){grid-area:3 / 1}.tl>:nth-child(6){grid-area:3 / 2}.tl-head{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-tertiary)}.tl-head svg{width:16px;height:16px}.tl-eye{color:var(--text-primary);transition:background-color .15s ease}.tl-eye:hover{background:var(--btn-bg)}.tl-eye[aria-pressed=false]{color:var(--text-tertiary)}.tl-eye .icon-eye-off,.tl-eye[aria-pressed=false] .icon-eye{display:none}.tl-eye[aria-pressed=false] .icon-eye-off{display:block}.tl-ruler{position:relative;height:24px;cursor:pointer}.tl-tick{position:absolute;bottom:2px;left:calc(var(--grip) + var(--t) * var(--film));width:1px;height:5px;background:var(--border-strong)}.tl-tick-major{height:16px;background:#00000038}.tl-tick span{position:absolute;top:-1px;left:5px;font-size:10px;font-style:normal;line-height:1;color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.tl-lane{position:relative;height:28px;margin-bottom:4px;border-radius:8px;background:var(--card-bg)}.tl-fold{position:absolute;top:2px;bottom:2px;left:calc(var(--grip) + var(--fold-start, 0) * var(--film));width:calc((var(--fold-end, 0) - var(--fold-start, 0)) * var(--film));display:flex;align-items:center;border-radius:6px;background:var(--clip);color:#fff;font-size:11.5px;font-weight:600;cursor:grab;overflow:hidden;transition:opacity .15s ease,filter .15s ease}.tl-fold:hover{filter:brightness(1.08)}.tl-fold.is-dragging{cursor:grabbing}.tl-fold-label{padding:0 14px;white-space:nowrap;pointer-events:none}.tl-fold-grip{position:absolute;top:0;bottom:0;width:10px;cursor:ew-resize}.tl-fold-grip:after{content:"";position:absolute;top:6px;bottom:6px;left:4px;width:2px;border-radius:1px;background:#ffffffa6}.tl-fold-grip[data-edge=start]{left:0}.tl-fold-grip[data-edge=end]{right:0}.tl.is-fold-off .tl-fold{opacity:.3;filter:grayscale(1);pointer-events:none}.tl.is-fold-off .tl-fold-band,.tl:not(.has-fold) .tl-fold-band{display:none}.tl-strip{position:relative;height:52px;cursor:pointer}.tl-film{position:absolute;top:0;left:var(--grip);width:var(--film);height:100%;border-radius:4px;background:var(--card-bg)}.tl-fold-band{position:absolute;top:2px;bottom:2px;left:calc(var(--grip) + var(--fold-start, 0) * var(--film));width:calc((var(--fold-end, 0) - var(--fold-start, 0)) * var(--film));background:#6e56cf47;box-shadow:inset 1.5px 0 var(--clip),inset -1.5px 0 var(--clip);pointer-events:none}.tl-shade{position:absolute;top:0;bottom:0;background:#ffffffb8;pointer-events:none}.tl-shade-start{left:var(--grip);width:calc(var(--trim-start, 0) * var(--film))}.tl-shade-end{right:var(--grip);width:calc((1 - var(--trim-end, 1)) * var(--film))}.tl-trim{position:absolute;top:0;bottom:0;left:calc(var(--trim-start, 0) * var(--film));right:calc((1 - var(--trim-end, 1)) * var(--film));border:2px solid var(--text-primary);border-width:2px var(--grip);border-radius:12px;pointer-events:none}.tl-handle{position:absolute;top:0;bottom:0;width:var(--grip);cursor:ew-resize}.tl-handle:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:16px;border-radius:1px;background:#ffffffd9;transform:translate(-50%,-50%)}.tl-handle:before{content:"";position:absolute;inset:-4px -8px}.tl-handle-start{left:calc(var(--trim-start, 0) * var(--film))}.tl-handle-end{right:calc((1 - var(--trim-end, 1)) * var(--film))}.tl-handle:focus-visible{outline-offset:1px;border-radius:6px}.tl>.tl-playhead-track{grid-column:2;grid-row:1 / -1;align-self:stretch;position:relative;pointer-events:none}.tl-playhead{position:absolute;top:10px;bottom:-4px;left:calc(var(--grip) + var(--playhead, 0) * var(--film));width:2px;margin-left:-1px;border-radius:1px;background:var(--text-primary);box-shadow:0 0 0 1px #ffffffd9}.tl-playhead:before{content:"";position:absolute;top:-1px;left:-4px;width:10px;height:11px;border-radius:3px 3px 5px 5px;background:var(--text-primary);box-shadow:0 0 0 1px #ffffffd9}.is-overridden .seg,.is-overridden .range{opacity:.4;pointer-events:none}.icon-btn{flex:none;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--btn-bg);transition:background-color .15s ease,transform .15s ease}.icon-btn:hover{background:var(--btn-bg-hover)}.icon-btn:active{transform:scale(.94)}.icon-btn svg{width:16px;height:16px}.icon-btn .icon-play,.icon-btn.is-paused .icon-pause{display:none}.icon-btn.is-paused .icon-play{display:block}.time{flex:none;font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.panel{display:flex;flex-direction:column;min-height:0}.panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:32px 24px 24px;display:flex;flex-direction:column;gap:22px}.panel-title{margin:0 0 6px;font-size:22px;font-weight:400;line-height:1.15;letter-spacing:-.03em}.group{display:flex;flex-direction:column;gap:8px}.label{margin:0;font-size:12px;font-weight:500;color:var(--text-secondary)}.label-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.value{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.hint{margin:0;font-size:11.5px;line-height:1.45;color:var(--text-tertiary);text-wrap:pretty}.btn{height:36px;padding:0 16px;border:0;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-soft{background:var(--btn-bg)}.btn-soft:hover:not(:disabled){background:var(--btn-bg-hover)}.btn-primary{background:var(--text-primary);color:#fff}.btn-primary:hover:not(:disabled){background:#2a2a2a}.file .btn{width:100%}.file-loaded{display:flex;flex-direction:column;gap:10px}.file-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-info{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.file-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.select{position:relative}.select select{width:100%;height:36px;padding:0 36px 0 14px;border:0;border-radius:999px;background:var(--btn-bg);appearance:none;cursor:pointer;transition:background-color .15s ease}.select select:hover{background:var(--btn-bg-hover)}.select svg{position:absolute;top:50%;right:12px;width:16px;height:16px;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.seg{position:relative;display:grid;grid-template-columns:repeat(var(--n, 2),minmax(0,1fr));padding:3px;border-radius:999px;background:var(--btn-bg)}.seg:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n, 2));border-radius:999px;background:#fff;box-shadow:0 0 0 .5px #0000000f,0 1px 2px #00000014,0 3px 10px #0000000f;transform:translate(calc(var(--i, 0) * 100%));transition:transform .3s var(--ease-thumb)}.seg button{position:relative;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-tertiary);font-size:12.5px;font-weight:500;transition:color .2s ease}.seg button:hover{color:var(--text-secondary)}.seg button[aria-pressed=true]{color:var(--text-primary)}.seg-compact button{font-size:12px;font-variant-numeric:tabular-nums}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{position:relative;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--swatch, #fff);box-shadow:inset 0 0 0 1px #0000001f;transition:transform .15s ease}.swatch:hover{transform:scale(1.08)}.swatch[aria-pressed=true]:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--text-primary)}.swatch-transparent{background:#fff repeating-conic-gradient(rgba(0,0,0,.14) 0% 25%,transparent 0% 50%) 0 0 / 10px 10px}.swatch-custom{background:conic-gradient(from 90deg,#ff5f6d,#ffc371,#7bed9f,#70a1ff,#b983ff,#ff5f6d);overflow:visible}.swatch-custom.has-color{background:var(--swatch)}.swatch-custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.range{width:100%;height:20px;margin:0;background:transparent;appearance:none;cursor:pointer}.range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--text-primary) var(--fill, 0%),rgba(0,0,0,.1) var(--fill, 0%))}.range::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px #0000001f,0 1px 3px #0003}.range::-moz-range-track{height:4px;border-radius:2px;background:#0000001a}.range::-moz-range-progress{height:4px;border-radius:2px;background:var(--text-primary)}.range::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 .5px #0000001f,0 1px 3px #0003}.panel-footer{display:flex;flex-direction:column;gap:10px;padding:18px 24px 24px;border-top:1px solid var(--border)}.export-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:4px}.export-actions .btn{height:42px}.status{margin:0;min-height:17px;font-size:12px;color:var(--text-tertiary);text-wrap:pretty}.status.is-error{color:#c0262d}@media(max-width:860px){.app{grid-template-columns:1fr;height:auto}.stage{height:72dvh;margin:12px;padding:20px;border-radius:24px}.panel-scroll{overflow:visible;padding:12px 20px 20px}.panel-footer{position:sticky;bottom:0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.select select{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
