/* PNW-FILE-GUIDE: v117 performance + Studio Preview + CapCut Timeline */

/* ================= GPU / CONTAINMENT ================= */
.cfDcViewport,.cfDcFrame,.cfDcFrameBody,.tlDrawer,.tlScroll,.tlTrack{contain:layout paint style}
.cfDcWorld{transform-origin:0 0;will-change:transform;backface-visibility:hidden}
.cfDualCanvas.is-panning .cfDcWorld,.cfDualCanvas.is-dragging .cfDcFrame,.cfDualCanvas.is-resizing .cfDcFrame{will-change:transform,width,height}
.cfDcFrameBody{content-visibility:auto;contain-intrinsic-size:640px 360px}
.cfDcFrame.is-offscreen .cfDcFrameBody{visibility:hidden;pointer-events:none}
.cfPreviewSuspended #displayScreen canvas,.cfPreviewSuspended #displayScreen video{animation-play-state:paused!important}
.cfPerfBadge{margin-left:6px;padding:4px 7px;border:1px solid #34515a;border-radius:999px;background:#182a2f;color:#78e0c3;font:700 8px/1 ui-monospace,monospace;white-space:nowrap;font-variant-numeric:tabular-nums}.cfPerfBadge.warn{color:#ffd36a;border-color:#67572b}.cfPerfBadge.bad{color:#ff8d8d;border-color:#6a3434}

/* Studio sekarang benar-benar hidup di Preview Edit. */
#projPreview{isolation:isolate}
#projPreview .projPreviewMotion{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:none;pointer-events:none;border-radius:inherit}
#projPreview .projPreviewMotion.on{display:block}
#projPreview .projPvVideo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
#projPreviewText{position:relative;z-index:3}

/* ================= CAPCUT-STYLE TIMELINE ================= */
.tlDrawer.tlV117{height:min(60vh,570px);background:#181818;border-top:1px solid #353535;box-shadow:0 -12px 42px rgba(0,0,0,.58);font-family:"TikTok Sans",Inter,system-ui,sans-serif}
.tlV117 .tlBar{position:relative;flex:0 0 42px;display:flex;flex-wrap:nowrap;gap:2px;padding:4px 7px;background:#242424;border-bottom:1px solid #363636;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tlV117 .tlBar::-webkit-scrollbar{display:none}
.tlV117 .tlBar .tlGroup{display:flex;flex:0 0 auto;gap:2px;height:32px;padding:0 6px;margin:0;border-right:1px solid #3a3a3a}.tlV117 .tlBar .tlProTools{order:-5;padding-left:0}.tlV117 .tlBar .tlGroup:nth-child(2){order:2;margin-left:auto}.tlV117 .tlBar .tlGroup:nth-child(3){order:-4}.tlV117 .tlBar .tlGroup:nth-child(4){order:-3}.tlV117 .tlBar .tlGroup:nth-child(5){order:3}.tlV117 .tlBar .tlGroup:nth-child(6){order:4}.tlV117 .tlBar .tlGroup:nth-child(7){order:5;border-right:0}
.tlV117 .tlBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:28px;width:28px;height:28px;min-height:28px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#ddd;font:600 11px/1 "TikTok Sans",sans-serif}.tlV117 .tlBtn:hover{background:#383838;border-color:#474747}.tlV117 .tlBtn.on{background:#17464c;border-color:#1ca9b5;color:#8ef5ff}.tlV117 .tlBtn.primary{background:#0f8896;border-color:#18a8b7;color:#fff}.tlV117 .tlBtn.danger{color:#ff9a9a}.tlV117 .tlBtn:disabled{opacity:.28}.tlV117 .tlBtn[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:50%;top:34px;transform:translateX(-50%);z-index:120;pointer-events:none;background:#090909;color:#eee;border:1px solid #454545;border-radius:5px;padding:5px 7px;font:500 9px/1 sans-serif;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,.5)}
.tlV117 .tlTime{min-width:126px;color:#f2f2f2;font:700 10px/1 ui-monospace,SFMono-Regular,monospace;text-align:center;font-variant-numeric:tabular-nums}.tlV117 .tlLive{border-radius:4px;padding:4px 6px;background:#c83f3f;font-size:8px}.tlV117 .tlSelInfo{max-width:150px;color:#9a9a9a;font-size:9px}.tlV117 .tlBar select{height:28px;max-width:132px;border:1px solid #424242;border-radius:5px;background:#191919;color:#ddd;padding:3px 6px;font-size:9px}.tlV117 .tlZoom input{width:76px}.tlVPerf{order:10;align-self:center;margin-left:4px;padding:4px 6px;border-radius:4px;background:#18342d;color:#70e0b2;font:700 8px/1 ui-monospace,monospace;white-space:nowrap}.tlVPerf.warn{background:#43361a;color:#ffd36a}
.tlV117 .tlBody{background:#1d1d1d}.tlV117 .tlHead{width:164px;flex-basis:164px;padding-top:30px;background:#202020;border-right:1px solid #393939}.tlV117 .tlTrackHead{position:relative;height:70px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:1fr 1fr;column-gap:7px;padding:10px 7px;border-bottom:1px solid #353535;background:#222;box-sizing:border-box}.tlV117 .tlTrackHead.tall{height:84px}.tlV117 .tlTrackHead:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--track-color,#777)}.tlV117 .tlTrackHead b{grid-column:2;color:#ddd;font:700 9px/1 sans-serif;letter-spacing:.05em}.tlV117 .tlTrackHead>span:not(.tlVTrackIcon):not(.tlTrackOps){grid-column:2;color:#777;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tlVTrackIcon{grid-column:1;grid-row:1/3;align-self:center;display:grid;width:23px;height:23px;place-items:center;border:1px solid color-mix(in srgb,var(--track-color) 55%,#444);border-radius:5px;color:var(--track-color);font:800 9px/1 sans-serif}.tlV117 .tlTrackOps{position:absolute;right:5px;bottom:4px;display:flex!important;gap:2px}.tlV117 .tlTOp{width:20px;height:18px;padding:0;border:0;border-radius:3px;background:transparent;color:#777;font-size:9px;cursor:pointer}.tlV117 .tlTOp:hover,.tlV117 .tlTOp.on{background:#3a3a3a;color:#fff}.tlV117 .tlTrackHead.collapsed{height:30px!important;display:flex;align-items:center;padding-block:3px}.tlV117 .tlTrackHead.collapsed>span:not(.tlVTrackIcon):not(.tlTrackOps){display:none}.tlV117 .tlTrackHead.collapsed .tlVTrackIcon{width:19px;height:19px}.tlV117 .tlTrackHead.collapsed .tlTrackOps{top:5px;bottom:auto}
.tlV117 .tlScroll{background:#1b1b1b;overflow:auto}.tlV117 .tlCanvas{background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 100%}.tlV117 .tlRuler{height:30px;background:#202020;border-bottom:1px solid #3a3a3a;z-index:10}.tlV117 .tlTick{padding:8px 0 0 5px;border-left-color:#333;color:#737373;font:500 8px/1 ui-monospace,monospace}.tlV117 .tlTick.major{border-left-color:#555;color:#aaa}.tlV117 .tlMarker{top:11px;color:#26c6da}
.tlV117 .tlTrack{height:70px;border-bottom:1px solid #333;background:rgba(255,255,255,.008)}.tlV117 .tlTrack.tall{height:84px}.tlV117 .tlTrack.collapsed{height:30px!important}.tlV117 .tlTrack.collapsed .tlClip{top:3px;bottom:3px}.tlV117 .tlTrack.dropHint{background:rgba(38,198,218,.06)}
.tlV117 .tlClip{top:5px;bottom:5px;padding:5px 7px 4px;border:1px solid rgba(255,255,255,.22);border-radius:4px;background:#116d79;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.4);font:650 9px/1.15 "TikTok Sans",sans-serif;isolation:isolate;contain:layout paint;will-change:left,width}.tlV117 .tlClip:hover{filter:brightness(1.08)}.tlV117 .tlClip.sel{outline:2px solid #ecffff;outline-offset:1px;box-shadow:0 0 0 1px #20c6d4,0 2px 8px rgba(0,0,0,.55)}.tlV117 .tlClip.tr-bg{background:#48505e}.tlV117 .tlClip.tr-media{background:#08666a}.tlV117 .tlClip.tr-lyrics{background:#0f7884}.tlV117 .tlClip.tr-lyrics.cd{background:#8b5815}.tlV117 .tlClip.tr-overlay{background:#6841a3}.tlV117 .tlClip small{position:absolute;left:7px;bottom:4px;z-index:3;color:#e7ffff;font:500 7px/1 ui-monospace,monospace;text-shadow:0 1px 2px #000}.tlV117 .tlClip .tlTrans{z-index:4;right:4px;left:auto;bottom:3px;padding:2px 4px;border-radius:3px;background:rgba(0,0,0,.4);font-size:7px}.tlV117 .tlClip .tlEdge{width:7px;background:rgba(255,255,255,.08);opacity:0}.tlV117 .tlClip:hover .tlEdge,.tlV117 .tlClip.sel .tlEdge{opacity:1}.tlV117 .tlClip .tlEdge.l{border-right:1px solid rgba(255,255,255,.55)}.tlV117 .tlClip .tlEdge.r{border-left:1px solid rgba(255,255,255,.55)}
.tlVVisual{position:absolute;z-index:-1;inset:0;display:flex;align-items:flex-end;gap:1px;overflow:hidden;opacity:.64;padding:2px;box-sizing:border-box}.tlVVisual i{display:block;flex:1;height:var(--h);min-width:1px;border-radius:1px 1px 0 0;background:rgba(150,245,247,.7)}.tlVVisual.kind-media,.tlVVisual.kind-bg{align-items:stretch;gap:2px;opacity:.75}.tlVVisual.kind-media i,.tlVVisual.kind-bg i{height:auto;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(0,0,0,.08)),radial-gradient(circle at 55% 35%,#3a8689,#102e32 72%);border-left:1px solid rgba(255,255,255,.15)}.tlVVisual.kind-overlay i{background:rgba(212,185,255,.6)}
.tlV117 .tlPlayhead{left:0;width:1px;background:#f2f2f2;z-index:12;will-change:transform;pointer-events:none}.tlV117 .tlPlayhead:before{top:-1px;left:-5px;border:0;width:11px;height:11px;border-radius:2px;background:#f2f2f2;clip-path:polygon(0 0,100% 0,72% 100%,28% 100%)}
.tlVContext{position:absolute;z-index:150;width:220px;padding:5px;border:1px solid #444;border-radius:7px;background:#262626;box-shadow:0 12px 38px rgba(0,0,0,.65)}.tlVContext[hidden]{display:none!important}.tlVContext button{display:grid;grid-template-columns:20px 1fr auto;align-items:center;width:100%;height:29px;border:0;border-radius:4px;background:transparent;color:#ddd;padding:0 7px;text-align:left;font:500 10px/1 sans-serif;cursor:pointer}.tlVContext button:hover{background:#3b3b3b}.tlVContext button.danger{color:#ff9d9d}.tlVContext button span{padding-left:3px}.tlVContext kbd{color:#777;font:500 8px/1 ui-monospace,monospace}.tlVContext>i{display:block;height:1px;margin:4px;background:#404040}
.tlV117 .tlEditWrap{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.tlV117 .tlEdit{background:#242424;border-color:#464646;border-radius:9px;box-shadow:0 18px 60px rgba(0,0,0,.6)}.tlV117 .tlEdit input,.tlV117 .tlEdit select,.tlV117 .tlEdit textarea{background:#171717;border-color:#444;border-radius:5px}.tlV117 .tlPickItem{border-color:#424242;border-radius:5px}.tlV117 .tlPickItem:hover{background:#353535}
@media(max-width:900px){.tlDrawer.tlV117{height:70vh}.tlV117 .tlHead{width:108px;flex-basis:108px}.tlV117 .tlBar .tlGroup:nth-child(2){margin-left:0}.tlVPerf{display:none}}
