@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,700;12..96,800&family=IBM+Plex+Mono:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}svg{display:block}:root{--bg: #ececee;--surface: #ffffff;--panel: #f7f7f8;--field: #eeeef0;--field-d: #e4e4e7;--line: #e3e3e6;--line-d: #d4d4d9;--ink: #141519;--label: #6f7177;--muted: #9a9ca3;--accent: #ff5a1f;--accent-soft: #ffece4;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-ctl: 8px;--r-card: 10px;--r-pop: 14px;--shadow-pop: 0 2px 6px rgba(18, 18, 22, .06), 0 16px 40px rgba(18, 18, 22, .16)}body{font-family:var(--mono);font-size:12px;color:var(--ink);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:var(--mono);color:inherit}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.topbar{flex:none;height:54px;display:flex;align-items:center;gap:12px;padding:0 14px 0 16px;background:var(--surface);border-bottom:1px solid var(--line);z-index:30}.brand{display:flex;align-items:center;gap:9px;-webkit-user-select:none;user-select:none;flex:none}.brand-logo{width:26px;height:26px;flex:none}.brand-name{font-family:"Bricolage Grotesque",var(--mono);font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1}.topbar-center{flex:1;display:flex;justify-content:center;position:relative}.topbar-right{flex:none;display:flex;align-items:center;gap:8px}.btn-ghost{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:10px;letter-spacing:.1em;color:var(--label);background:none;border:none;border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.btn-ghost:hover{background:var(--field);color:var(--ink)}.btn-ink{display:flex;align-items:center;gap:7px;padding:9px 16px;font-size:11px;font-weight:600;letter-spacing:.1em;color:#fff;background:var(--ink);border:none;border-radius:9px;cursor:pointer;transition:.15s}.btn-ink:hover:not(:disabled){background:#000}.btn-ink:disabled{opacity:.4;cursor:default}.chev{opacity:.55}.workspace{flex:1;min-height:0;display:flex}.stagecol{flex:1;min-width:0;display:flex;flex-direction:column}.stage-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(120% 120% at 50% 8%,#f2f2f4,#e8e8eb 60%,#dfdfe3)}.stage{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.stage:active{cursor:grabbing}.stage-fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:none;pointer-events:none}.vp-frame{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;outline:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 100vmax #14151947,0 0 0 1px #0000001f;border-radius:2px}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:.14em;color:var(--label);background:#ffffffd9;padding:8px 16px;border-radius:999px;pointer-events:none}.deck{position:relative;flex:none;background:var(--surface);border-top:1px solid var(--line);padding:10px 14px 12px;display:flex;flex-direction:column;gap:10px;z-index:20}.deck-row{display:flex;align-items:center;gap:10px}.deck-top{justify-content:space-between;flex-wrap:wrap;row-gap:8px}.deck-group{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;row-gap:8px}.dk-btn{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:10px;font-weight:500;letter-spacing:.08em;background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;transition:.14s;white-space:nowrap}.dk-btn:hover{background:var(--field-d)}.dk-btn.open{background:var(--ink);color:#fff}.dk-btn.open .chev{transform:rotate(180deg)}.dk-ico{font-size:11px}.ease-glyph{width:14px;height:14px;flex:none}.dk-step{display:flex;align-items:center;gap:2px;background:var(--field);border-radius:var(--r-ctl);padding:3px 4px}.dk-step-l{font-size:9px;letter-spacing:.1em;color:var(--label);padding:0 6px}.dk-step button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:13px;background:none;border:none;border-radius:6px;color:var(--label);cursor:pointer}.dk-step button:hover:not(:disabled){background:#fff;color:var(--ink)}.dk-step button:disabled{opacity:.35;cursor:default}.dk-step b{min-width:20px;text-align:center;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.dk-step .dk-dur{min-width:42px}.dk-key{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--label);background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.dk-key:hover{background:var(--field-d);color:var(--ink)}.dk-diamond{width:8px;height:8px;background:var(--line-d);transform:rotate(45deg);border-radius:2px;transition:.14s}.dk-key.set{color:var(--ink);background:var(--accent-soft);border-color:#ff5a1f59}.dk-key.set .dk-diamond{background:var(--accent)}.dk-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--label);background:var(--field);border:none;border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.dk-icon:hover:not(:disabled){background:var(--field-d);color:var(--ink)}.dk-icon:disabled{opacity:.35;cursor:default}.dk-video{padding:8px 14px;font-size:10px;font-weight:600;letter-spacing:.1em;color:#fff;background:var(--accent);border:none;border-radius:var(--r-ctl);cursor:pointer;transition:.15s}.dk-video:hover:not(:disabled){background:#ea4a12}.dk-video:disabled{background:var(--field-d);color:var(--muted);cursor:default}.dk-play{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;background:var(--ink);border:none;border-radius:50%;cursor:pointer;transition:.15s}.dk-play:hover:not(:disabled){background:#000}.dk-play:disabled{background:var(--field-d);color:var(--muted);cursor:default}.dk-time{flex:none;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--field);padding:7px 10px;border-radius:var(--r-ctl);white-space:nowrap}.dk-time em{font-style:normal;color:var(--muted)}.tl-wrap{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tl-ruler{position:relative;height:16px;margin:0 1px}.tl-tick{position:absolute;bottom:0;width:1px;height:4px;background:var(--line-d);transform:translate(-50%)}.tl-tick.major{height:8px;background:var(--muted)}.tl-sec{position:absolute;top:0;transform:translate(-50%);font-size:8px;font-weight:500;letter-spacing:.04em;color:var(--muted);-webkit-user-select:none;user-select:none}.tl-sec:first-of-type{transform:none}.tl-lane{position:relative;height:34px;display:flex;gap:4px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--field);border-radius:9px;padding:2px}.tl-clip{position:relative;height:100%;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 4px;overflow:hidden;border-radius:7px;background:linear-gradient(180deg,#fff,#f4f5f7);border:1.5px solid var(--line);box-shadow:0 1px 2px #0000000a;transition:.14s}.tl-clip.act.keyed{background:linear-gradient(180deg,#ff7a45,var(--accent));border-color:#e2480f;box-shadow:0 2px 6px #ff5a1f59}.tl-clip.act.keyed .tl-clip-name,.tl-clip.act.keyed .tl-clip-dur{color:#fff}.tl-clip.act.keyed .dk-diamond{background:#fff}.tl-clip.act.keyed .tl-clip-grip{background:#ffffff8c}.tl-clip.act.empty{border-color:var(--accent);border-style:dashed;background:var(--accent-soft)}.tl-clip.empty .tl-clip-dur{color:var(--muted)}.tl-clip:not(.act):hover{border-color:var(--line-d);box-shadow:0 2px 5px #00000014}.tl-clip-grip{flex:none;width:3px;height:14px;border-radius:2px;background:var(--line-d)}.tl-clip-name{flex:1;min-width:0;display:flex;align-items:center;gap:6px;justify-content:center;font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-clip-dur{flex:none;font-size:8.5px;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.tl-playhead{position:absolute;top:16px;bottom:0;width:0;z-index:6;pointer-events:none}.tl-playhead:before{content:"";position:absolute;top:0;bottom:0;left:0;width:1.5px;background:var(--accent);transform:translate(-50%);box-shadow:0 0 0 .5px #fff9}.tl-playhead-badge{position:absolute;top:-14px;left:0;transform:translate(-50%);background:var(--accent);color:#fff;font-size:8.5px;font-weight:600;letter-spacing:.02em;padding:2px 6px;border-radius:5px;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #00000040}.tl-playhead-badge:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);border:3px solid transparent;border-top-color:var(--accent);border-bottom-width:0}.tl-vgrab{display:flex;align-items:center;justify-content:center;height:10px;margin-top:2px;color:var(--line-d);cursor:ns-resize;touch-action:none}.tl-vgrab:hover{color:var(--label)}.tl-vlane{position:relative;border-radius:7px;background:var(--field);overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.tl-vlane:active{cursor:grabbing}.tl-vclip{position:absolute;top:2px;bottom:2px;display:flex;align-items:center;gap:5px;padding:0 8px;border-radius:5px;border:1px solid var(--line-d);overflow:hidden;background:repeating-linear-gradient(90deg,#e2e4e9 0,#e2e4e9 2px,#eef0f3 2px,#eef0f3 12px);pointer-events:none;white-space:nowrap;color:var(--label)}.tl-vclip span{font-size:8px;font-weight:600;letter-spacing:.08em;color:var(--label)}.dk-add{flex:none;padding:8px 12px;font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--label);background:none;border:1.5px dashed var(--line-d);border-radius:var(--r-ctl);cursor:pointer;transition:.14s;white-space:nowrap}.dk-add:hover{color:var(--ink);border-color:var(--ink)}.dk-icon.accent{background:var(--accent-soft);color:var(--accent)}.seg-mini button{min-width:0;padding:6px 9px;font-size:8.5px;letter-spacing:.08em}.pop-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.pop{position:absolute;bottom:calc(100% + 10px);left:14px;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pop);box-shadow:var(--shadow-pop);padding:14px;animation:pop-in .16s cubic-bezier(.2,.9,.3,1.2)}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pop-h{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-bottom:10px}.pop-presets{width:420px;max-width:calc(100vw - 340px)}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:320px;overflow-y:auto}.preset-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px;text-align:left;background:var(--field);border:1px solid transparent;border-radius:var(--r-card);cursor:pointer;transition:.14s}.preset-card:hover{background:var(--field-d)}.preset-card.on{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.preset-name{font-size:11px;font-weight:600;letter-spacing:.04em}.preset-desc{font-size:9px;color:var(--muted);letter-spacing:.02em;line-height:1.45}.preset-tag{position:absolute;top:9px;right:9px;font-size:7.5px;font-weight:600;letter-spacing:.12em;color:var(--accent);background:var(--accent-soft);padding:3px 6px;border-radius:5px}.pop-ease{width:240px;left:120px}.ease-preview{background:var(--field);border-radius:var(--r-card);padding:8px;margin-bottom:10px}.ease-curve{display:block;width:100%;height:auto}.ease-grid line{stroke:var(--line-d);stroke-width:1;stroke-dasharray:2 4}.ease-line{stroke:var(--ink);stroke-width:2;stroke-linecap:round}.ease-dot{fill:var(--accent);stroke:#fff;stroke-width:2}.pop-ease .seg-full{margin-bottom:12px}.ease-grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ease-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 6px;background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;transition:.13s}.ease-card svg{width:34px;height:26px}.ease-card path{stroke:var(--label);stroke-width:2;stroke-linecap:round}.ease-card span{font-size:8px;letter-spacing:.04em;color:var(--muted)}.ease-card:hover{background:var(--field-d)}.ease-card:hover path{stroke:var(--ink)}.ease-card.on{background:#fff;border-color:var(--accent)}.ease-card.on path{stroke:var(--accent)}.ease-card.on span{color:var(--ink)}.panel{width:302px;flex:none;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line)}.panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:6px 14px 20px}.panel-scroll::-webkit-scrollbar{width:10px}.panel-scroll::-webkit-scrollbar-thumb{background:var(--line-d);border-radius:8px;border:3px solid var(--panel)}.sec{border-bottom:1px solid var(--line)}.sec:last-child{border-bottom:none}.sec-h{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 2px;background:none;border:none;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--label)}.sec-h:hover{color:var(--ink)}.sec-side{display:flex;align-items:center;gap:6px}.sec-chev{font-size:10px;color:var(--muted);transition:transform .18s}.sec.open .sec-chev{transform:rotate(180deg)}.sec-action{border:none;background:none;color:var(--muted);font-size:13px;cursor:pointer;padding:0 2px}.sec-action:hover{color:var(--ink)}.sec-body{display:flex;flex-direction:column;gap:9px;padding:0 0 15px}.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:148px;border:1.5px dashed var(--line-d);border-radius:var(--r-card);background:var(--surface);cursor:pointer;transition:.15s;text-align:center;padding:18px}.drop:hover{border-color:var(--ink)}.drop-ico{font-size:26px;line-height:1;color:var(--muted)}.drop-t{font-size:11px;font-weight:600;letter-spacing:.1em}.drop-s{font-size:9px;letter-spacing:.08em;color:var(--muted)}.drop-clear{position:absolute;top:8px;right:8px;font-size:8px;font-weight:600;letter-spacing:.1em;border:1px solid var(--line);background:#fff;color:var(--label);padding:4px 8px;border-radius:6px;cursor:pointer}.drop-clear:hover{color:var(--ink);border-color:var(--line-d)}.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:0;cursor:pointer;overflow:hidden;transition:.14s;text-align:left}.mcard:hover{border-color:var(--line-d);transform:translateY(-1px)}.mcard.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.mcard .glyph{height:72px;margin:9px 9px 6px;border-radius:7px;position:relative;background:radial-gradient(120% 90% at 50% 0%,#3a3d44,#202228 70%)}.glyph.flat{border-radius:5px}.glyph.phone{width:42px;margin-left:auto;margin-right:auto;border-radius:10px;background:radial-gradient(120% 90% at 50% 0%,#3a3d44,#1c1e23 70%)}.glyph.phone:after{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:14px;height:4px;border-radius:3px;background:#000}.mcard-l{font-size:9.5px;font-weight:500;letter-spacing:.06em;padding:0 10px 9px;text-transform:uppercase}.mthumb{height:82px;margin:8px 8px 5px;border-radius:7px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 100% at 50% 10%,#f6f7f9,#e7e9ee)}.mthumb img{width:100%;height:100%;object-fit:contain}.tabs{display:flex;gap:4px;background:var(--field);padding:3px;border-radius:var(--r-ctl)}.tab{flex:1;padding:7px;font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--label);background:none;border:none;border-radius:6px;cursor:pointer;transition:.14s}.tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001a}.seg{display:flex;gap:3px;background:var(--field);padding:3px;border-radius:var(--r-ctl)}.seg button{min-width:38px;padding:6px 9px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;color:var(--label);background:none;border:none;border-radius:6px;cursor:pointer;transition:.14s}.seg button:hover:not(:disabled){color:var(--ink)}.seg button:disabled{opacity:.4;cursor:default}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001a}.seg-full{display:flex;width:100%}.seg-full button{flex:1;min-width:0}.seg-lg button{padding:9px;font-size:11px}.params{display:flex;flex-direction:column;gap:6px}.cam-note{font-size:9px;letter-spacing:.04em;line-height:1.5;color:var(--muted);background:var(--accent-soft);border:1px solid rgba(255,90,31,.28);border-radius:var(--r-ctl);padding:7px 10px;margin-bottom:2px}.cam-note b{color:var(--accent);font-weight:600;letter-spacing:.08em}.prow{display:flex;align-items:center;gap:6px}.plabel{position:relative;flex:1;height:32px;display:flex;align-items:center;gap:7px;padding:0 11px;border-radius:var(--r-ctl);background:var(--field);cursor:ew-resize;overflow:hidden;-webkit-user-select:none;user-select:none}.plabel:hover{background:var(--field-d)}.pfill{position:absolute;left:0;top:0;bottom:0;background:#1415190d;pointer-events:none}.pname{position:relative;font-size:10px;font-weight:500;letter-spacing:.08em}.phint{position:relative;font-size:8px;letter-spacing:.06em;color:var(--muted);background:#0000000d;padding:2px 5px;border-radius:4px}.pval{width:50px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);font-variant-numeric:tabular-nums}.pdot{width:32px;height:32px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-ctl);cursor:pointer;position:relative;transition:.14s}.pdot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:8px;height:8px;background:var(--line-d);transform:rotate(45deg);border-radius:2px;transition:.14s}.pdot.on{border-color:var(--accent);background:var(--accent-soft)}.pdot.on:after{background:var(--accent)}.pdot:hover{border-color:var(--accent)}.views{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.view{padding:9px 4px;font-size:10px;letter-spacing:.05em;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.view:hover{border-color:var(--ink)}.view:active{background:var(--field)}.srow{display:flex;align-items:center;justify-content:space-between;gap:8px}.srow-l{font-size:10px;letter-spacing:.1em;color:var(--label)}.scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.scene-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden;cursor:pointer;background:var(--field);padding:0;transition:.14s}.scene-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.scene-card span{position:relative;z-index:1;width:100%;text-align:center;font-family:var(--mono);font-size:8px;letter-spacing:.06em;color:#fff;padding:4px 0;background:linear-gradient(transparent,#0000008c)}.scene-card:hover{border-color:var(--ink)}.scene-card.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.scene-up{background:var(--surface);border-style:dashed;border-color:var(--line-d)}.scene-up span{color:var(--muted);background:none}.scene-up-ico{position:relative;z-index:1;font-size:20px;color:var(--muted);margin-top:auto}.scene-up:hover .scene-up-ico{color:var(--ink)}.chips{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.chip{aspect-ratio:1;border:1px solid var(--line);border-radius:7px;cursor:pointer;padding:0;transition:.12s}.chip:hover{transform:scale(1.1);border-color:var(--ink)}.swrow{display:flex;gap:6px}.swatch{width:44px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;cursor:pointer;transition:.12s}.swatch:hover{border-color:var(--ink)}.swatch.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.cw{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.cw-wheel{position:relative;touch-action:none;cursor:crosshair}.cw-canvas{display:block;border-radius:50%;box-shadow:inset 0 0 0 1px #00000014}.cw-knob{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006,0 1px 3px #0000004d;transform:translate(-50%,-50%);pointer-events:none}.cw-val{position:relative;width:100%;height:14px;border-radius:8px;border:1px solid var(--line);cursor:pointer;touch-action:none}.cw-val-knob{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 3px #0000004d;transform:translate(-50%,-50%);pointer-events:none}.cw-hex{display:flex;align-items:center;gap:6px;width:100%}.cw-hash{font-size:11px;color:var(--muted)}.cw-hex input{flex:1;width:100%;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--panel);outline:none}.cw-hex input:focus{border-color:var(--ink)}.export-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;background:#14151929}.export-pop{position:fixed;top:60px;right:12px;z-index:60;width:370px;max-height:calc(100vh - 76px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-pop);padding:16px;display:flex;flex-direction:column;gap:13px;animation:export-in .18s cubic-bezier(.2,.9,.3,1.1)}@keyframes export-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ex-prev{position:relative;width:100%;height:170px;border-radius:var(--r-card);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#e8e8eb,#e8e8eb 25%,#f6f6f8 0%,#f6f6f8 50%) 50% / 20px 20px}.ex-prev img{max-width:100%;max-height:100%;object-fit:contain}.ex-dim{font-size:9px;letter-spacing:.12em;color:var(--muted)}.ex-badge{position:absolute;bottom:7px;right:7px;font-size:9px;letter-spacing:.04em;color:#fff;background:#141519b8;padding:4px 8px;border-radius:6px}.ex-row{display:flex;flex-direction:column;gap:7px}.ex-l{font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--label)}.opts{display:flex;flex-wrap:wrap;gap:5px}.opt{padding:8px 12px;font-size:10px;font-weight:500;letter-spacing:.05em;color:var(--label);background:var(--field);border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;transition:.13s}.opt:hover{color:var(--ink);background:var(--field-d)}.opt.on{background:#fff;color:var(--ink);border-color:var(--ink)}.ex-sum{display:flex;align-items:baseline;gap:8px;border-top:1px solid var(--line);margin-top:2px;padding-top:12px}.ex-sum b{font-size:15px;font-weight:600;letter-spacing:.02em}.ex-sum span{font-size:9.5px;color:var(--muted);letter-spacing:.03em}.ex-cta{width:100%;padding:13px;font-size:11px;font-weight:600;letter-spacing:.12em;color:#fff;background:var(--ink);border:none;border-radius:var(--r-card);cursor:pointer;transition:.15s}.ex-cta:hover:not(:disabled){background:#000}.ex-cta:disabled{background:var(--field-d);color:var(--muted);cursor:default}.ex-note{font-style:normal;font-weight:400;color:var(--muted);letter-spacing:.06em}.ex-fixed{font-size:10.5px;color:var(--label);background:var(--field);border-radius:var(--r-ctl);padding:9px 12px;letter-spacing:.04em}.vp-btn{display:flex;align-items:center;gap:8px;padding:8px 13px;font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--label);background:var(--field);border:1px solid transparent;border-radius:9px;cursor:pointer;transition:.14s}.vp-btn:hover,.vp-btn.open{color:var(--ink);background:var(--field-d)}.vp-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:41;width:290px;max-height:66vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pop);box-shadow:var(--shadow-pop);padding:8px;animation:export-in .16s cubic-bezier(.2,.9,.3,1.1)}.vp-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;font-size:10.5px;font-weight:500;letter-spacing:.08em;color:var(--ink);background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:.12s}.vp-item:hover,.vp-item.on{background:var(--field)}.vp-item em{display:block;font-style:normal;font-size:9px;color:var(--muted);letter-spacing:.05em;margin-top:3px}.vp-check{font-size:11px}.vp-div{height:1px;background:var(--line);margin:7px 4px}.vp-group{font-size:8.5px;font-weight:600;letter-spacing:.14em;color:var(--muted);padding:6px 10px 4px}.dk-auto{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:10px;font-weight:600;letter-spacing:.08em;color:#fff;background:var(--accent);border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;transition:.14s;white-space:nowrap}.dk-auto:hover{background:#ea4a12}.dk-auto.open{background:var(--ink)}.am-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;cursor:crosshair;touch-action:none}.am-hint{position:absolute;top:54px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.1em;color:var(--label);white-space:nowrap;background:#ffffffd9;border:1px solid var(--line);padding:6px 12px;border-radius:999px;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.am-area{position:absolute;border:1.5px solid var(--accent);border-radius:4px;background:#ff5a1f12;box-shadow:0 0 0 1px #fff9}.am-drawing{border-style:dashed;pointer-events:none}.am-num{position:absolute;top:-9px;left:-9px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff;background:var(--accent);border-radius:5px;box-shadow:0 1px 3px #00000040}.am-del{position:absolute;top:-9px;right:-9px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--label);background:#fff;border:1px solid var(--line);border-radius:5px;cursor:pointer;transition:.12s}.am-del:hover{color:#fff;background:var(--ink);border-color:var(--ink)}.pop-auto{width:250px;left:auto;right:14px;display:flex;flex-direction:column;gap:12px}.am-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.am-title{font-size:10px;font-weight:600;letter-spacing:.08em}.am-title em{font-style:normal;font-weight:400;color:var(--muted);letter-spacing:.04em}.am-reset{font-size:9px;letter-spacing:.08em;color:var(--label);background:none;border:none;cursor:pointer;padding:3px 5px;border-radius:6px}.am-reset:hover:not(:disabled){color:var(--ink);background:var(--field)}.am-reset:disabled{opacity:.4;cursor:default}.am-compose{width:100%;padding:12px;font-size:11px;font-weight:600;letter-spacing:.12em;color:#fff;background:var(--accent);border:none;border-radius:var(--r-card);cursor:pointer;transition:.15s}.am-compose:hover:not(:disabled){background:#ea4a12}.am-compose:disabled{background:var(--field-d);color:var(--muted);cursor:default}.switch{position:relative;width:40px;height:22px;flex:none;background:var(--field-d);border:none;border-radius:999px;cursor:pointer;transition:background .16s}.switch .switch-dot{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink);box-shadow:0 1px 3px #00000040;transition:left .16s}.switch.on{background:var(--accent)}.switch.on .switch-dot{left:21px;background:#fff}.row-pad{padding:2px 0}.fpad-l{margin-top:2px}.fpad{position:relative;width:100%;aspect-ratio:2 / 1;border-radius:var(--r-ctl);background:var(--field);border:1px solid var(--line);cursor:crosshair;touch-action:none}.fpad-v{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-d);pointer-events:none}.fpad-h{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line-d);pointer-events:none}.fpad-knob{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 4px #0000004d;transform:translate(-50%,-50%);pointer-events:none}.confirm-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#14151966;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm{width:min(380px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-pop);padding:22px;display:flex;flex-direction:column;gap:10px;animation:export-in .16s cubic-bezier(.2,.9,.3,1.1)}.confirm-title{font-size:14px;font-weight:600;letter-spacing:.02em}.confirm-msg{font-size:11px;line-height:1.6;color:var(--label);letter-spacing:.01em}.confirm-actions{display:flex;gap:8px;margin-top:8px}.confirm-cancel,.confirm-ok{flex:1;padding:11px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;border:none;border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.confirm-cancel{color:var(--label);background:var(--field)}.confirm-cancel:hover{background:var(--field-d);color:var(--ink)}.confirm-ok{color:#fff;background:var(--ink)}.confirm-ok:hover{background:#000}.confirm-ok.danger{background:var(--accent)}.confirm-ok.danger:hover{background:#ea4a12}.deck-top .dk-time{margin-left:2px}.snap-line{position:absolute;pointer-events:none;z-index:8;background:var(--line-d);opacity:.5;transition:background .1s,opacity .1s,box-shadow .1s}.snap-v{left:50%;top:0;bottom:0;width:1px;transform:translate(-50%)}.snap-h{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}.snap-line.on{background:var(--accent);opacity:1;box-shadow:0 0 6px #ff5a1f73}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--label);background:none;border:none;border-radius:var(--r-ctl);cursor:pointer;transition:.14s}.icon-btn:hover{background:var(--field);color:var(--ink)}
