:root{--bg:#f5f3ec;--panel:#fff;--well:#faf8f3;--line:#e4e0d6;--text:#1a1a17;--dim:#6b685f;--faint:#9b978c;--accent:#b23a2e;--accent-hover:#8f2d23;--accent-muted:#d99b94;--accent-tint:#f5e4e1;--dark:#2a2621;--dark-hover:#3a352e;--good:#4a7c59;--good-tint:#eff3ee;--warn:#a8781f;--warn-tint:#f5eddc;--serif:"Fraunces",Georgia,"Iowan Old Style","Times New Roman",serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--shadow:0 1px 2px rgba(26,26,23,.06)}[data-theme=dark]{--bg:#17150f;--panel:#201d16;--well:#1b1913;--line:#353126;--text:#ece8dd;--dim:#a39e8f;--faint:#6f6a5c;--accent:#d05648;--accent-hover:#e06a5c;--accent-muted:#7a3a32;--accent-tint:#3a241f;--dark:#ece8dd;--dark-hover:#fffbf0;--good:#7dab8c;--good-tint:#24302a;--warn:#d1a04a;--warn-tint:#352c18;--shadow:0 1px 2px rgba(0,0,0,.35)}:root,[data-theme=dark]{--text-dim:var(--dim);--bg-hover:var(--well);--bg-active:var(--line);--border:var(--line);--bg-panel:var(--panel);--accent-soft:var(--accent-tint);--green:var(--good);--green-soft:var(--good-tint);--amber:var(--warn);--amber-soft:var(--warn-tint);--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);transition:background .15s,color .15s}h1,h2,h3{font-family:var(--serif)}button{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 14px;box-shadow:var(--shadow);transition:border-color .15s,background .15s,color .15s,transform .12s,box-shadow .15s}button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 8px rgba(26,26,23,.1)}button:active{transform:translateY(0);box-shadow:var(--shadow)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}button.primary{background:var(--dark);border-color:var(--dark);color:var(--bg);font-weight:600;letter-spacing:.02em}button.primary:hover{background:var(--dark-hover);border-color:var(--dark-hover);color:var(--bg)}button.danger{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.mini{padding:5px 11px;font-size:12px;border-radius:8px}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--faint)}input[type=range]{padding:0}input[type=checkbox],input[type=range]{accent-color:var(--accent)}header.topbar{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:50}header.topbar h1{font-size:19px;font-weight:700;letter-spacing:.01em;margin-right:6px;cursor:pointer}header.topbar h1 span{color:var(--accent)}.tabs{display:flex;gap:2px}.tabs button{background:none;color:var(--dim);padding:6px 10px;font-size:13px;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;box-shadow:none}.tabs button:hover{color:var(--accent);transform:none;box-shadow:none}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}main.content{max-width:1180px;margin:0 auto;padding:22px 20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:16px}.card h2{font-family:var(--sans);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:14px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grow{flex:1 1;min-width:220px}.muted{color:var(--dim);font-size:12.5px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.spacer{flex:1 1}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--line);color:var(--dim);background:var(--panel);white-space:nowrap}.chip.on{border-color:var(--good);color:var(--good);background:var(--good-tint)}.chip.err{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.chip.warn{border-color:var(--warn);color:var(--warn);background:var(--warn-tint)}.chip.click{cursor:pointer}.chip.click:hover{border-color:var(--accent);color:var(--accent)}.chip.green{border-color:var(--good);color:var(--good);background:var(--good-tint)}.chip.amber{border-color:var(--warn);color:var(--warn);background:var(--warn-tint)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.tiles{display:flex;gap:10px;flex-wrap:wrap}.tile{flex:1 1;min-width:150px;border:1px solid var(--line);border-radius:10px;padding:13px 14px;cursor:pointer;background:var(--panel);transition:border-color .15s,background .15s}.tile:hover{border-color:var(--accent-muted)}.tile.sel{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 1px var(--accent)}.tile b{display:block;margin-bottom:3px;font-family:var(--serif);font-weight:600;font-size:15px}.drop{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;color:var(--dim);cursor:pointer;background:var(--well)}.drop.over,.drop:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.progress{height:6px;border-radius:3px;background:var(--accent-tint);overflow:hidden}.progress>div{height:100%;background:var(--accent);width:0;transition:width .4s}.vid{position:relative;width:100%;aspect-ratio:9/16;background:#17150f;border-radius:8px;overflow:hidden}.vid img{object-fit:cover}.vid img,.vid video{width:100%;height:100%;display:block}.vid video{object-fit:contain;background:#17150f}.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:34px;color:#fffc;cursor:pointer;background:linear-gradient(transparent 55%,#17150fb0)}.vid .play:hover{color:#fff}.slotrow{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.slotrow.clip{background:var(--good-tint);border-color:var(--good)}.slotrow.ai{background:var(--warn-tint);border-color:var(--warn)}.timeline.gridmode{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px 40px;gap:24px 40px}.tlcell{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.tlcell.ai{border-color:var(--warn);background:var(--warn-tint)}.tlcell.filled{border-color:var(--good)}.tlcell.locked{pointer-events:none;opacity:.8}.tljoin{position:absolute;left:100%;margin-left:20px;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:3px}.tljoin .arrow{color:var(--faint);font-size:18px;line-height:1;pointer-events:none}.tlcell:last-child .tljoin,.tlcell:nth-child(3n) .tljoin{display:none}.transbtn{font-size:13px;line-height:1;padding:3px 5px;border-radius:7px;border:1px dashed var(--line);background:var(--well);color:var(--dim);cursor:pointer;box-shadow:none}.transbtn:hover{border-color:var(--accent);background:var(--accent-tint)}.transbtn.set{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.transbtn.snd{position:relative}.transbtn.snd:after{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;border-radius:50%;background:var(--good)}.tlvo{font-size:12.5px;line-height:1.4;min-height:34px}.tlmeta{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--dim)}.tlbtns{display:flex;gap:4px;flex-wrap:wrap}.tlbtns button{padding:3px 8px;font-size:11.5px;border-radius:7px}.hookrow{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.hookcard{min-width:150px;max-width:150px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;position:relative}.hookcard .rm{position:absolute;top:4px;right:4px;padding:1px 7px;font-size:12px;border-radius:6px;z-index:5}.addhook{min-width:150px;border:2px dashed var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--dim);cursor:pointer;min-height:160px;background:var(--well)}.addhook:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}@media (max-width:900px){.timeline.gridmode{grid-template-columns:repeat(2,1fr)}.tlcell:nth-child(3n) .tljoin{display:flex}.tlcell:last-child .tljoin,.tlcell:nth-child(2n) .tljoin{display:none}}.words{line-height:2.1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.words span.w{padding:2px 3px;border-radius:5px;cursor:pointer}.words span.w.inrange,.words span.w:hover{background:var(--accent-tint)}.words span.w.inrange{color:var(--accent)}.words span.w.covered{opacity:.38;text-decoration:line-through}.words span.w.anchor{background:var(--accent);color:#fff}.covbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--accent-tint)}.covbar i{display:block;height:100%}.capwrap{position:relative;width:118px;aspect-ratio:9/16;border-radius:8px;background:linear-gradient(160deg,#3a3630,#17150f);overflow:hidden;flex-shrink:0}.capwrap .cap{position:absolute;left:4%;right:4%;text-align:center;line-height:1.15;font-weight:900;word-wrap:break-word}.tagpick{width:420px;max-height:70vh;overflow:auto}.tagpick .hit{padding:5px 9px;border-radius:7px;cursor:pointer;display:flex;gap:8px;align-items:center}.tagpick .hit:hover{background:var(--accent-tint);color:var(--accent)}.tagpick .hit .path{color:var(--faint);font-size:11px}.tagpick .hit.applied{color:var(--good)}.chipselect{border:none;background:transparent;box-shadow:none;padding:0;font-size:12px}.tlcell.clickable{cursor:pointer}.tlcell.clickable:hover{border-color:var(--accent-muted);box-shadow:0 2px 8px rgba(26,26,23,.1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-track{background:transparent}.trimwrap{width:100%;margin-top:4px}.trimtrack{position:relative;height:30px;background:var(--well);border:1px solid var(--line);border-radius:8px;cursor:pointer}.trimwin{position:absolute;top:-1px;bottom:-1px;background:var(--accent-tint);border:2px solid var(--accent);border-radius:8px;cursor:-webkit-grab;cursor:grab;touch-action:none;min-width:18px}.trimwin:active{cursor:-webkit-grabbing;cursor:grabbing}.trimwin .th{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;background:var(--accent);opacity:.9}.trimwin .th.l{left:-1px;border-radius:6px 0 0 6px}.trimwin .th.r{right:-1px;border-radius:0 6px 6px 0}.trimlbl{display:flex;gap:8px;align-items:center;margin-top:5px;font-size:11.5px;color:var(--dim);flex-wrap:wrap}.trimlbl .tmode{font-weight:600;color:var(--faint);text-transform:uppercase;font-size:10px;letter-spacing:.06em}.trimlbl .tmode.on{color:var(--accent)}.trimlbl .tnote{color:var(--warn);font-weight:600}.trimwrap.fixedlen .th{display:none}.trimwrap.fixedlen .trimwin{cursor:-webkit-grab;cursor:grab}.acmodal{position:fixed;inset:0;background:rgba(26,26,23,.55);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.acmodal .box{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(820px,94vw);max-height:92vh;overflow:auto}.acmodal .box .mhead{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.acmodal .box .mbody{padding:16px 18px}.tmvid{display:flex;justify-content:center;background:#17150f;border-radius:12px;overflow:hidden}.tmvid video{height:min(52vh,560px);max-width:100%;display:block;background:#17150f}.tmbar{margin-top:16px}.tmbar .trimtrack{height:48px;border-radius:12px}.tmbar .trimwin{border-radius:12px;border-width:2.5px;min-width:26px}.tmbar .trimwin .th{width:15px}.tmbar .trimlbl{font-size:13.5px;margin-top:9px}.acclip{border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.acclip:hover{border-color:var(--accent-muted);box-shadow:0 2px 10px rgba(26,26,23,.1)}.acclip.kept{border-color:var(--good)}.acstyle{border:2px solid var(--line);border-radius:10px;padding:6px;cursor:pointer;background:var(--well);text-align:left}.acstyle:hover{border-color:var(--accent-muted)}.acstyle.on{border-color:var(--accent);background:var(--accent-tint)}.acstyle img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:6px;display:block;background:var(--line)}.acissue{border-left:3px solid var(--warn);padding:6px 10px;margin-bottom:6px;background:var(--warn-tint);border-radius:0 6px 6px 0;font-size:12px}.acissue.error{border-left-color:var(--accent);background:var(--accent-tint)}.ovwrap{margin-top:6px}.ovbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.ovmain{display:flex;gap:12px;align-items:stretch}.ovpreview{position:relative;width:128px;flex:0 0 128px;aspect-ratio:9/16;background:#17150f;border:1px solid var(--line);border-radius:10px;overflow:hidden}.ovpreview video{width:100%;height:100%;object-fit:cover;display:block}.ovpreview .ovempty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:11px;color:#fff7}.ovscroll{flex:1 1;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:10px;background:var(--well);padding:0 12px 10px}.ovinner{position:relative;min-height:150px}.ovruler{position:relative;height:26px;cursor:text}.ovtick{position:absolute;top:8px;font-size:10px;color:var(--faint);transform:translateX(-1px);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ovtick i{position:absolute;left:0;top:-8px;width:1px;height:8px;background:var(--line)}.ovlane{position:relative;margin-bottom:8px;border-radius:8px}.ovlane.base{background:var(--panel);border:1px solid var(--line)}.ovlane.over{background:repeating-linear-gradient(45deg,transparent,transparent 7px,var(--line) 7px,var(--line) 8px);border:1px dashed var(--line);cursor:copy}.ovseg{position:absolute;top:3px;bottom:3px;border-right:1px solid var(--line);padding:4px 6px;overflow:hidden;font-size:11px;color:var(--faint)}.ovseg.has{background:var(--good-tint);color:var(--dim)}.ovseg b{font-size:10.5px;display:block;color:var(--dim)}.ovsegtext{display:block;line-height:1.25;max-height:26px;overflow:hidden}.ovseam{position:absolute;top:-9px;transform:translateX(-50%);z-index:3;padding:1px 6px;font-size:10px;line-height:1.5;border-radius:6px;border:1px dashed var(--line);background:var(--panel);color:var(--faint);box-shadow:none}.ovseam:hover{border-color:var(--accent);color:var(--accent);transform:translateX(-50%) translateY(-1px)}.ovseam.set{border-style:solid;border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.ovseam.hidden{opacity:.32}.ovblk{position:absolute;top:3px;bottom:3px;display:flex;align-items:stretch;background:var(--accent-tint);border:2px solid var(--accent);border-radius:8px;overflow:hidden;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ovblk.dragging{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 3px 12px rgba(26,26,23,.22);z-index:5}.ovblk.empty{background:var(--warn-tint);border-color:var(--warn);border-style:dashed}.ovblkbody{flex:1 1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:2px 4px;font-size:11px;color:var(--accent);overflow:hidden;text-align:center;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.ovblk.empty .ovblkbody{color:var(--warn)}.ovlen{color:var(--faint)}.ovlen,.ovt{font-size:9.5px}.ovt{border:none;background:rgba(0,0,0,.05);color:var(--accent);padding:0 4px;border-radius:0;box-shadow:none;white-space:nowrap;max-width:42%;overflow:hidden;letter-spacing:-.01em}.ovt:hover{transform:none;box-shadow:none}.ovt.set,.ovt:hover{background:var(--accent);color:var(--panel)}.ovt.set{font-weight:600}.ovh{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:4}.ovh.l{left:0}.ovh.r{right:0}.ovx{position:absolute;top:-1px;right:-1px;padding:0 4px;font-size:10px;line-height:14px;border:none;border-radius:0 6px 0 6px;background:var(--accent);color:var(--panel);box-shadow:none;opacity:0;z-index:6}.ovblk:hover .ovx{opacity:1}.ovx:hover{background:var(--accent-hover);color:#fff;transform:none}.ovhint{inset:0;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--faint)}.ovhead,.ovhint{position:absolute;pointer-events:none}.ovhead{top:20px;bottom:0;width:2px;z-index:8}.ovhead,.ovhead:before{background:var(--accent)}.ovhead:before{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%}.ovtrans{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.trbig{flex:1 1;min-width:220px;text-align:left;border:1px dashed var(--line);border-radius:10px;padding:9px 12px;background:var(--well)}.trbig.set{border-style:solid;border-color:var(--accent);background:var(--accent-tint)}.trbig .lbl{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}.trbig b{font-family:var(--serif);font-size:15px;margin-right:8px}.trbig .muted{font-size:11.5px}.trgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:8px;gap:8px}.sfxgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));grid-gap:7px;gap:7px}.sfxtile{display:flex;align-items:center;gap:7px;padding:7px 9px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer;box-shadow:none;text-align:left}.sfxtile:hover{border-color:var(--accent-muted);background:var(--well)}.sfxtile.on{border-color:var(--accent);background:var(--accent-tint);font-weight:600}.sfxtile .ic{font-size:14px;line-height:1}.sfxtile .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfxtile.playing{border-color:var(--good);box-shadow:0 0 0 2px var(--good-tint,transparent)}.trtile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 4px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.trtile.on{border-color:var(--accent);background:var(--accent-tint)}.trname{font-size:11px}.trdur{font-size:9.5px;color:var(--faint)}.trprev{position:relative;display:block;width:46px;height:64px;border-radius:5px;overflow:hidden;background:var(--line)}.trprev i{position:absolute;inset:0;display:block;background:var(--accent)}.trtile:hover .trprev i{animation:trplay 1.05s ease-in-out infinite}.trprev.f-cut i{opacity:1}.trprev.f-fade i{opacity:.5}.trprev.f-cut:hover i{animation:trcut 1.05s steps(1) infinite}.trprev.f-left i{transform:translateX(45%)}.trprev.f-right i{transform:translateX(-45%)}.trprev.f-up i{transform:translateY(45%)}.trprev.f-down i{transform:translateY(-45%)}.trprev.f-zoom i{transform:scale(.5)}.trprev.f-blur i{opacity:.55;filter:blur(3px)}.trprev.f-black i,.trprev.f-white i{opacity:1}.trprev.f-black:after,.trprev.f-white:after{content:"";position:absolute;inset:0;opacity:.55}.trprev.f-white:after{background:#fff}.trprev.f-black:after{background:#000}.trtile:hover .trprev.f-black:after,.trtile:hover .trprev.f-white:after{animation:trflash 1.05s ease-in-out infinite}.trprev.f-wipeleft i{-webkit-clip-path:inset(0 0 0 45%);clip-path:inset(0 0 0 45%)}.trprev.f-wiperight i{-webkit-clip-path:inset(0 45% 0 0);clip-path:inset(0 45% 0 0)}.trprev.f-wipeup i{-webkit-clip-path:inset(45% 0 0 0);clip-path:inset(45% 0 0 0)}.trprev.f-wipedown i{-webkit-clip-path:inset(0 0 45% 0);clip-path:inset(0 0 45% 0)}.trprev.f-circle i{-webkit-clip-path:circle(34% at 50% 50%);clip-path:circle(34% at 50% 50%)}.trprev.f-shape i{-webkit-clip-path:inset(26% 0 26% 0);clip-path:inset(26% 0 26% 0)}.trtile:hover .trprev.f-left i{animation:trslidex 1.05s ease-in-out infinite}.trtile:hover .trprev.f-right i{animation:trslidex-r 1.05s ease-in-out infinite}.trtile:hover .trprev.f-up i{animation:trslidey 1.05s ease-in-out infinite}.trtile:hover .trprev.f-down i{animation:trslidey-d 1.05s ease-in-out infinite}.trtile:hover .trprev.f-zoom i{animation:trzoom 1.05s ease-in-out infinite}.trtile:hover .trprev.f-blur i{animation:trblur 1.05s ease-in-out infinite}.trtile:hover .trprev.f-wipeleft i{animation:trwl 1.05s ease-in-out infinite}.trtile:hover .trprev.f-wiperight i{animation:trwr 1.05s ease-in-out infinite}.trtile:hover .trprev.f-wipeup i{animation:trwu 1.05s ease-in-out infinite}.trtile:hover .trprev.f-wipedown i{animation:trwd 1.05s ease-in-out infinite}.trtile:hover .trprev.f-circle i{animation:trcirc 1.05s ease-in-out infinite}.trtile:hover .trprev.f-shape i{animation:trshape 1.05s ease-in-out infinite}@keyframes trplay{0%,12%{opacity:0}55%,to{opacity:1}}@keyframes trcut{0%,45%{opacity:0}46%,to{opacity:1}}@keyframes trflash{0%,15%{opacity:0}45%{opacity:1}85%,to{opacity:0}}@keyframes trslidex{0%,12%{transform:translateX(100%)}60%,to{transform:translateX(0)}}@keyframes trslidex-r{0%,12%{transform:translateX(-100%)}60%,to{transform:translateX(0)}}@keyframes trslidey{0%,12%{transform:translateY(100%)}60%,to{transform:translateY(0)}}@keyframes trslidey-d{0%,12%{transform:translateY(-100%)}60%,to{transform:translateY(0)}}@keyframes trzoom{0%,12%{transform:scale(0)}60%,to{transform:scale(1)}}@keyframes trblur{0%,12%{opacity:0;filter:blur(7px)}60%,to{opacity:1;filter:blur(0)}}@keyframes trwl{0%,12%{-webkit-clip-path:inset(0 0 0 100%);clip-path:inset(0 0 0 100%)}60%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes trwr{0%,12%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}60%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes trwu{0%,12%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0)}60%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes trwd{0%,12%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}60%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes trcirc{0%,12%{-webkit-clip-path:circle(0 at 50% 50%);clip-path:circle(0 at 50% 50%)}60%,to{-webkit-clip-path:circle(75% at 50% 50%);clip-path:circle(75% at 50% 50%)}}@keyframes trshape{0%,12%{-webkit-clip-path:inset(50% 0 50% 0);clip-path:inset(50% 0 50% 0)}60%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@font-face{font-family:Lato Black;src:url(/fonts/Lato-Black.ttf) format("truetype");font-weight:900;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/Lato-Bold.ttf) format("truetype");font-weight:700;font-display:swap}.caplayer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.caplayer.grab{pointer-events:auto;cursor:-webkit-grab;cursor:grab;touch-action:none}.caplayer.grab:active{cursor:-webkit-grabbing;cursor:grabbing}.capblock{position:absolute;transform:translate(-50%,-50%);text-align:center;white-space:normal;text-wrap:balance;font-weight:900;letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.45)}.capdraghint{position:absolute;top:6px!important;left:6px;right:auto;font-size:10px;color:#fff;background:#0007;border-radius:5px;padding:2px 6px;opacity:.85;pointer-events:none}.capdraghint b{color:var(--accent)}.capguide{position:absolute;pointer-events:none;background:#fff;opacity:.13;transition:opacity .12s ease,background .12s ease,box-shadow .12s ease}.capguide.v{left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px)}.capguide.h{top:50%;left:0;right:0;height:1px;transform:translateY(-.5px)}.capguide.live{opacity:.3}.capguide.on{opacity:.95;background:var(--accent);box-shadow:0 0 6px var(--accent)}.capstage{position:relative;width:100%;aspect-ratio:9/16;background:#17150f;border-radius:10px;overflow:hidden}.capstage>img,.capstage>video{width:100%;height:100%;object-fit:cover;display:block}.captile{position:relative;width:116px;aspect-ratio:9/16;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#3a3630,#17150f)}.homehead{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);font-weight:700;margin:2px 0 18px;padding-bottom:10px;border-bottom:3px double var(--accent-muted)}.homehead span{color:var(--accent)}.startbtn{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:20px 22px;margin-bottom:16px;border:2px dashed var(--accent-muted);border-radius:14px;background:var(--panel)}.startbtn:hover{border-color:var(--accent);border-style:solid;background:var(--accent-tint);transform:none}.startbtn .plus{font-size:30px;line-height:1;color:var(--accent);font-weight:300;width:46px;height:46px;border-radius:50%;border:2px solid var(--accent-muted);display:flex;align-items:center;justify-content:center;flex:0 0 46px}.startbtn:hover .plus{border-color:var(--accent)}.startbtn b{display:block;font-family:var(--serif);font-size:19px}.startbtn i{display:block;font-style:normal;font-size:12.5px;color:var(--dim);margin-top:2px}.projscroll{max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.projrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:none}.projrow:hover{border-color:var(--accent-muted);transform:none;box-shadow:0 2px 8px rgba(26,26,23,.08);color:inherit}.projrow .pic{font-size:19px;width:26px;flex:0 0 26px;text-align:center}.projrow .pmain{flex:1 1;min-width:0}.projrow .pmain b{font-size:14px}.projrow .pmain b,.projrow .pmain i{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projrow .pmain i{font-style:normal;font-size:11.5px;color:var(--dim)}.projrow .pdate{font-size:11px;white-space:nowrap}.wizwrap{max-width:900px;margin:0 auto}.wizhead{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:24px}.wizdots{display:flex;gap:5px}.wizdot{width:26px;height:5px;border-radius:3px;background:var(--line)}.wizdot.done{background:var(--accent-muted)}.wizdot.on{background:var(--accent)}.wizbody{animation:wizin .18s ease-out}.wizbody.narrow{max-width:520px}@keyframes wizin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.wizq{font-family:var(--serif);font-size:clamp(22px,3vw,30px);font-weight:700;margin-bottom:8px;text-transform:none;letter-spacing:0;color:var(--text)}.wizgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.wizgrid.tight{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.wizcard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-height:108px}.wizcard:hover{transform:translateY(-2px)}.wizcard.on,.wizcard:hover{border-color:var(--accent);background:var(--accent-tint)}.wizcard.on{box-shadow:0 0 0 1px var(--accent)}.wizcard .ic{font-size:24px;line-height:1;margin-bottom:2px}.wizcard b{font-family:var(--serif);font-size:16.5px}.wizcard .muted{font-size:12.5px}.wizcard .det{font-size:11px;color:var(--faint);margin-top:auto;padding-top:6px}.wizinput{width:100%;font-size:20px;padding:12px 14px;font-family:var(--serif)}.txwords{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 5px;background:var(--well);border:1px solid var(--line);border-radius:10px;padding:12px 14px;max-height:44vh;overflow-y:auto;overflow-x:hidden}.txw{position:relative;padding:3px 5px;border-radius:6px;cursor:text;border:1px solid transparent}.txw:hover{background:var(--panel);border-color:var(--line)}.txw.hit{background:var(--warn-tint);border-color:var(--warn);font-weight:600}.txw.playing{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.txtools{position:absolute;left:50%;transform:translateX(-50%);bottom:100%;display:none;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:2px;z-index:5;white-space:nowrap;box-shadow:var(--shadow)}.txw:hover .txtools{display:flex}.txtools button{padding:1px 5px;font-size:11px;border:none;box-shadow:none;border-radius:5px;line-height:1.5}.txtools button:hover{background:var(--accent-tint);transform:none;box-shadow:none}.txedit{padding:2px 5px;font:inherit;min-width:4ch;border-color:var(--accent)}.ovtext{position:absolute;transform:translate(-50%,-50%);white-space:pre-wrap;text-align:center;font-weight:900;cursor:-webkit-grab;cursor:grab;touch-action:none;line-height:1.1;outline:1px dashed transparent}.ovtext:hover{outline-color:#ffffff88}.ovtext.sel{outline:1px dashed var(--accent);outline-offset:3px}.ovtext.ghost{opacity:.28}.ovtext:active{cursor:-webkit-grabbing;cursor:grabbing}.ovrow{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;border:1px solid var(--line);margin-bottom:6px;background:var(--panel);cursor:pointer}.ovrow.sel{border-color:var(--accent);background:var(--accent-tint)}