:root{--bg:#000;--bg2:#0a0a0a;--panel:#ffffff08;--panel2:#ffffff0f;--stroke:#ffffff1a;--stroke2:#ffffff26;--text:#fafafa;--muted:#a1a1aa;--dim:#71717a;--acc:#fff;--acc2:#e4e4e7;--ga:#fafafa;--gold:#fafafa;--gold2:#a1a1aa;--ok:#fafafa;--grad:linear-gradient(135deg,#fff,#a1a1aa);--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;--head:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--r:8px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{color:#fff;background:#fff3}kbd{font-family:var(--mono);background:var(--panel);border:1px solid var(--stroke);color:var(--text);border-radius:4px;padding:2px 6px;font-size:11px}code{font-family:var(--mono);background:var(--panel);color:var(--text);border-radius:4px;padding:2px 6px;font-size:.85em}h1,b{font-family:var(--head)}.d-only{display:none}.m-only{display:inline}.app{isolation:isolate;flex-direction:column;height:100%;display:flex;position:relative}.bg{z-index:-1;background:#000;position:fixed;inset:0;overflow:hidden}.bg:after,.blob,.blob.a,.blob.b{display:none}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-5%,4%)scale(1.1)}}.grain{display:none}.intro{z-index:200;cursor:pointer;background:#030308;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro:before{content:"";background:radial-gradient(60% 45% at 50% 44%,#d78a1a29,#d78a1a0d 45%,#0000 72%);position:absolute;inset:0}.intro:after{content:"";pointer-events:none;background-image:linear-gradient(#d78a1a0b 1px,#0000 1px),linear-gradient(90deg,#d78a1a0b 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask:radial-gradient(75% 65% at 50% 45%,#000,#0000 75%);mask:radial-gradient(75% 65% at 50% 45%,#000,#0000 75%)}.intro-net{opacity:.7;width:100%;height:100%;position:absolute;inset:0}.intro-scan{pointer-events:none;background:linear-gradient(#0000,#d78a1a0f 40%,#d78a1a1f 50%,#d78a1a0f 60%,#0000);height:160px;animation:3s ease-in-out infinite scan;position:absolute;top:-160px;left:0;right:0}@keyframes scan{0%{top:-160px}to{top:100%}}.intro-core{text-align:center;flex-direction:column;align-items:center;padding:56px 46px;display:flex;position:relative}.hud{opacity:0;border-style:solid;border-color:#d78a1a59;width:28px;height:28px;animation:.6s forwards hud;position:absolute}.hud.tl{border-width:2px 0 0 2px;animation-delay:.3s;top:0;left:0}.hud.tr{border-width:2px 2px 0 0;animation-delay:.45s;top:0;right:0}.hud.bl{border-width:0 0 2px 2px;animation-delay:.6s;bottom:0;left:0}.hud.br{border-width:0 2px 2px 0;animation-delay:.75s;bottom:0;right:0}@keyframes hud{to{opacity:1}}.intro-logo{place-items:center;width:150px;height:150px;margin-bottom:30px;display:grid;position:relative}.intro-logo img{z-index:3;filter:drop-shadow(0 0 26px #d78a1a8c)drop-shadow(0 0 62px #d78a1a42);width:126px;animation:3.6s ease-in-out infinite logop}@keyframes logop{0%,to{filter:drop-shadow(0 0 26px #d78a1a8c)drop-shadow(0 0 62px #d78a1a42)}50%{filter:drop-shadow(0 0 34px #d78a1ad1)drop-shadow(0 0 82px #d78a1a66)}}.intro-orb{z-index:1;background:radial-gradient(circle,#d78a1a57,#d78a1a0f 55%,#0000 72%);border-radius:50%;animation:3.6s ease-in-out infinite orbp;position:absolute;inset:6px}@keyframes orbp{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.13)}}.intro-ring{z-index:2;border:1.5px solid #d78a1ae0;border-color:#d78a1ae0 #d78a1a52 #0000 #0000;border-radius:50%;animation:6s linear infinite isp;position:absolute;inset:-8px;box-shadow:0 0 24px #d78a1a38,inset 0 0 22px #d78a1a12}.intro-ring.r2{box-shadow:none;border:1px solid #0000;border-color:#0000 #0000 #d78a1a8c #d78a1a2e;animation:9.5s linear infinite reverse isp;inset:-22px}.hex{z-index:2;border:1px dashed #d78a1a2e;border-radius:50%;animation:12s ease-in-out infinite hexp;position:absolute;inset:-38px}@keyframes hexp{0%,to{opacity:.4;transform:rotate(0)scale(1)}50%{opacity:.7;transform:rotate(40deg)scale(1.07)}}@keyframes isp{to{transform:rotate(360deg)}}.intro-slogan{font-family:var(--mono);color:#e9c583c7;letter-spacing:.17em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:clamp(11px,3vw,14px);font-weight:500;display:flex}.intro-slogan i{font-style:normal;font-family:var(--mono);color:#e8a33a;letter-spacing:-.02em;background:#d78a1a17;border:1px solid #d78a1a6b;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.intro-line{transform-origin:50%;background:linear-gradient(90deg,#0000,#d78a1af2,#0000);border-radius:2px;width:clamp(120px,28vw,210px);height:2px;margin-top:26px;box-shadow:0 0 18px #d78a1a8c}.intro-skip{text-align:center;color:#d2b4824d;letter-spacing:.08em;text-transform:uppercase;font-size:11px;position:absolute;bottom:26px;left:0;right:0}.topbar{border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#000000b3;flex:none;align-items:center;gap:12px;padding:13px 16px;display:flex}.burger{border:1px solid var(--stroke);background:var(--panel);cursor:pointer;border-radius:10px;flex-direction:column;flex:none;justify-content:center;gap:4px;width:38px;height:38px;transition:all .2s;display:flex}.burger:hover{border-color:var(--stroke2)}.burger span{background:var(--text);border-radius:2px;width:16px;height:2px;margin:0 auto;display:block}.brand{flex:1;align-items:center;gap:11px;min-width:0;display:flex}.brand img{background:var(--panel);border:1px solid var(--stroke);width:38px;height:38px;box-shadow:none;border-radius:11px;flex:none;padding:6px}.brand b{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.1;display:block}.brand b span{color:#fafafa}.brand small{font-family:var(--mono);color:var(--dim);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;display:none}.top-right{flex:none;align-items:center;gap:10px;display:flex}.pill{font-family:var(--mono);color:var(--muted);background:var(--panel);border:1px solid var(--stroke);border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:11px;display:none}.pill .dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 8px var(--ok);border-radius:50%}.ghost{font-family:var(--head);color:var(--text);background:var(--panel);border:1px solid var(--stroke);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;transition:all .22s;display:flex}.ghost:hover{border-color:var(--acc);color:#fff;box-shadow:0 0 0 3px #d78a1a1a}.ghost kbd{display:none}.progress{background:#ffffff0d;flex:none;height:2px}.progress span{background:var(--ga);height:100%;transition:width .45s cubic-bezier(.2,.7,.2,1);display:block;box-shadow:0 0 14px #d78a1a99}.body{flex:1;min-height:0;display:flex;position:relative}.side,.sidetoggle{display:none}.drawer-bg{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020308b3;position:fixed;inset:0}.drawer{z-index:91;border-right:1px solid var(--stroke);background:#080a14;flex-direction:column;width:min(312px,86vw);display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:40px 0 90px -24px #000c}.drawer-top{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-top .brand img{width:34px;height:34px}.drawer-top .brand b{font-size:18px}.drawer-top .brand b span{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.drawer-top button{border:1px solid var(--stroke);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:9px;font-size:15px}.drawer-list{flex:1;padding:16px 12px;overflow-y:auto}.side-group{margin-bottom:20px}.side-head{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--acc);opacity:.85;justify-content:space-between;align-items:center;gap:8px;padding:0 12px 9px;font-size:10px;font-weight:600;display:flex}.side-head.editable{padding-bottom:7px}.sh-ctrl{flex:none;align-items:center;gap:5px;display:flex}.sh-add,.sh-del{text-transform:none;cursor:pointer;opacity:.75;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:22px;font-size:11px;line-height:1;transition:opacity .15s,background .15s;display:flex}.sh-add{color:var(--acc);background:#d78a1a1a;border:1px solid #d78a1a4d}.sh-add:hover{opacity:1;background:#d78a1a38}.sh-del{color:#ff8585;background:#ff505014;border:1px solid #ff505042}.sh-del:hover{opacity:1;background:#ff505033}.drawer-newcat{margin-top:6px}.side-row{align-items:center;gap:5px;display:flex}.side-row .side-item{flex:1;width:auto;min-width:0}.si-del{color:#ff7a7a;cursor:pointer;opacity:.5;background:#ff505012;border:1px solid #ff505038;border-radius:7px;flex:none;justify-content:center;align-items:center;width:27px;height:27px;font-size:13px;line-height:1;transition:opacity .15s,background .15s,transform .1s;display:flex}.si-del:hover{opacity:1;background:#ff505038;transform:scale(1.08)}.side-item{text-align:left;width:100%;color:var(--muted);font-family:var(--body);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;padding:11px 12px;font-size:13.5px;transition:color .2s,background .2s;display:flex;position:relative}.side-item:hover{color:var(--text);background:#ffffff09}.side-item.active{color:#fff;background:#d78a1a14}.navdot{background:var(--ga);border-radius:3px;width:3px;position:absolute;top:7px;bottom:7px;left:0;box-shadow:0 0 12px #d78a1ab3}.si-txt{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.side-item.active .si-txt{font-weight:600}.si-flag{border:1.5px solid var(--dim);opacity:.55;border-radius:50%;flex:none;width:7px;height:7px}.si-flag.ok{background:var(--ok);border-color:var(--ok);opacity:1;box-shadow:0 0 7px var(--ok)}.stage{flex-direction:column;flex:1;min-width:0;padding:16px 16px 10px;display:flex;overflow:hidden}.slide{-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;flex:1;gap:18px;min-height:0;padding-bottom:6px;display:flex;overflow:hidden auto}.slide-shot{flex:none;width:100%}.slide-info{padding-bottom:6px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--stroke);background:#ffffff05;border-radius:999px;align-items:center;gap:9px;margin-bottom:14px;padding:6px 13px;font-size:10.5px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--muted);border-radius:50%;width:6px;height:6px}.eyebrow em{color:var(--text);font-style:normal}.slide-info h1{font-family:var(--head);letter-spacing:-.02em;color:var(--text);margin-bottom:10px;font-size:clamp(18px,4vw,24px);font-weight:600;line-height:1.2}.desc{color:var(--muted);margin-bottom:16px;font-size:13px;line-height:1.6}.slide-info ul{flex-direction:column;gap:8px;list-style:none;display:flex}.slide-info li{color:var(--muted);align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.55;display:flex}.slide-info li i{background:var(--panel);border:1px solid var(--stroke);width:20px;height:20px;color:var(--text);border-radius:6px;flex:none;place-items:center;margin-top:1px;font-size:10px;font-style:normal;display:grid}.shot{aspect-ratio:16/9;border-radius:var(--r);border:1px solid var(--stroke);cursor:pointer;background:#080808;width:100%;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.shot.filled{cursor:default}.shot.drag{border-color:var(--text)}.shot img{object-fit:contain;background:#000;width:100%;height:100%;display:block}.shot-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:18px;display:flex;position:absolute;inset:0}.shot-ico{width:52px;height:52px;color:var(--text);background:var(--panel);border:1px solid var(--stroke);border-radius:15px;place-items:center;margin-bottom:4px;display:grid}.shot-empty b{font-family:var(--head);font-size:14.5px}.shot-empty span{color:var(--muted);font-size:12px}.shot-empty small{font-family:var(--mono);color:var(--dim);margin-top:2px;font-size:10.5px}.shot-ctrl{opacity:1;gap:7px;transition:all .25s;display:flex;position:absolute;top:10px;right:10px}.shot-ctrl button{font-family:var(--head);border:1px solid var(--stroke2);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a12d1;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:600;transition:all .18s}.shot-ctrl button:hover{border-color:var(--acc)}.shot-ctrl button:active{transform:scale(.95)}.shot-ctrl .del{color:#ff8f8f}.shot-ctrl .del:hover{border-color:#ff6b6b}.shot-busy{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04060c9e;place-items:center;display:grid;position:absolute;inset:0}.spin{border:3px solid #ffffff1f;border-top-color:var(--acc);border-radius:50%;width:34px;height:34px;animation:1s linear infinite isp}.stage-art{aspect-ratio:16/9;border-radius:var(--r);border:1px solid var(--stroke);background:#080808;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.stage-art:before{display:none}.stage-art .stage-logo{z-index:2;filter:none;width:84px}.stage-art .stage-diagram{object-fit:cover;z-index:2;width:100%;height:100%}.stage-art .ring{display:none}@keyframes flo{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.dock{flex:none;justify-content:space-between;align-items:center;gap:14px;padding:12px 4px 4px;display:flex}.nav{font-family:var(--head);color:var(--text);background:var(--panel);border:1px solid var(--stroke);cursor:pointer;border-radius:50%;flex:none;width:46px;height:46px;font-size:18px;font-weight:700;transition:all .2s}.nav:active:not(:disabled){transform:scale(.92)}.nav:disabled{opacity:.28}.dots{display:none}.counter{font-family:var(--mono);text-align:center;letter-spacing:.04em;flex:1;font-size:15px;font-weight:700}.counter span{color:var(--dim);font-size:13px}.hint{text-align:center;font-family:var(--mono);color:var(--dim);letter-spacing:.02em;padding:4px 0 6px;font-size:11px;line-height:1.6}.toast{z-index:120;color:#04140f;font-family:var(--head);white-space:nowrap;background:linear-gradient(135deg,#36e0c6f5,#28bed2f5);border-radius:12px;padding:12px 22px;font-size:13px;font-weight:700;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px -12px #36e0c68c}.login-bg{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030308c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.login-card{text-align:center;background:linear-gradient(#140f06f5,#08080cf7);border:1px solid #d78a1a4d;border-radius:18px;flex-direction:column;align-items:center;width:min(360px,92vw);padding:34px 30px 30px;display:flex;position:relative;box-shadow:0 30px 70px -20px #000c,0 0 0 1px #d78a1a0f,inset 0 1px #d78a1a1f}.login-x{border:1px solid var(--stroke);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;font-size:14px;transition:all .18s;position:absolute;top:12px;right:12px}.login-x:hover{color:#fff;border-color:#d78a1a80}.login-logo{background:radial-gradient(circle,#d78a1a2e,#0000 70%);border:1px solid #d78a1a4d;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:14px;display:grid}.login-logo img{filter:drop-shadow(0 0 14px #d78a1a80);width:42px}.login-card h3{font-family:var(--head);color:#fff;margin:0 0 4px;font-size:19px;font-weight:700}.login-sub{font-family:var(--mono);letter-spacing:.04em;color:#e9c58399;margin:0 0 20px;font-size:11px}.login-in{width:100%;font-family:var(--body);color:#fff;border:1px solid var(--stroke);background:#ffffff0a;border-radius:10px;outline:none;margin-bottom:11px;padding:12px 14px;font-size:14px;transition:border-color .18s,box-shadow .18s}.login-in::placeholder{color:var(--dim)}.login-in:focus{border-color:#d78a1a99;box-shadow:0 0 0 3px #d78a1a1f}.login-err{width:100%;font-family:var(--body);color:#ff8585;background:#ff505014;border:1px solid #ff505042;border-radius:8px;margin-bottom:11px;padding:8px 10px;font-size:12.5px}.login-go{width:100%;font-family:var(--head);color:#1a1206;cursor:pointer;background:linear-gradient(135deg,#e8a840,#d78a1a);border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:14px;font-weight:700;transition:filter .18s,transform .1s;box-shadow:0 10px 26px -10px #d78a1a99}.login-go:hover{filter:brightness(1.07)}.login-go:active{transform:translateY(1px)}.login-go:disabled{opacity:.65;cursor:default}@media (width>=760px){.topbar{padding:14px 26px}.brand small{display:block}.pill{display:flex}.ghost kbd{display:inline}.toast{font-size:14px;bottom:30px}.stage{padding:24px 32px 12px}.dots{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;max-width:50vw;display:flex}.dots .dot{cursor:pointer;background:#ffffff29;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:all .2s}.dots .dot:hover{background:#ffffff6b}.dots .dot.on{background:var(--ga);border-radius:4px;width:24px;box-shadow:0 0 10px #d78a1a99}.counter{flex:none;min-width:84px}.d-only{display:inline}.m-only{display:none}}@media (width>=980px){body{overflow:hidden}.burger{display:none}.side{border-right:1px solid var(--stroke);background:#07091066;flex:none;display:block;overflow:hidden}.side-inner{width:288px;height:100%;padding:22px 14px;overflow:hidden auto}.side-inner::-webkit-scrollbar{width:6px}.side-inner::-webkit-scrollbar-thumb{background:var(--stroke);border-radius:3px}.sidetoggle{border:1px solid var(--stroke);background:var(--panel);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:11px;flex:none;place-items:center;transition:border-color .2s,color .2s,box-shadow .2s;display:grid}.sidetoggle:hover{color:var(--acc);border-color:var(--acc);box-shadow:0 0 0 3px #d78a1a1a}.app.focus .sidetoggle{display:none}.stage{padding:36px 48px 16px}.slide{grid-template-columns:.9fr 1.1fr;align-items:start;gap:50px;padding-right:8px;display:grid;overflow:hidden auto}.slide::-webkit-scrollbar{width:6px}.slide::-webkit-scrollbar-thumb{background:var(--stroke);border-radius:3px}.slide-shot{order:2;margin:auto 0}.slide-info{max-width:580px;margin:auto 0;padding:20px 0}.slide-info h1{font-size:clamp(22px,2.5vw,32px)}.desc{font-size:14px}.slide-info li{font-size:13.5px}.nav{border-radius:11px;width:auto;height:auto;padding:11px 22px;font-size:14px}.app.focus .side{display:none}.app.focus .stage{padding:46px 10vw 16px}.shot-ctrl{opacity:0}.shot.filled:hover .shot-ctrl{opacity:1}}.ghost.on{border-color:var(--acc);color:#fff;background:#d78a1a24;box-shadow:0 0 0 3px #d78a1a1a}.eyebrow .reset-mod{font-family:var(--mono);color:var(--muted);border:1px solid var(--stroke);cursor:pointer;text-transform:none;letter-spacing:0;background:#ffffff0d;border-radius:6px;margin-left:4px;padding:3px 9px;font-size:10px}.eyebrow .reset-mod:hover{color:var(--text);border-color:var(--acc)}.ed{width:100%;color:var(--text);border:1px solid var(--stroke);resize:vertical;background:#ffffff09;border-radius:11px;outline:none;padding:12px 14px;font-family:inherit;transition:border-color .2s,box-shadow .2s,background .2s}.ed:focus{border-color:var(--acc);background:#d78a1a0f;box-shadow:0 0 0 3px #d78a1a1f}.ed::placeholder{color:var(--dim)}.slide-info textarea.ed-title{font-family:var(--head);letter-spacing:-.02em;margin-bottom:10px;font-size:clamp(20px,2.8vw,30px);font-weight:800;line-height:1.2}.slide-info textarea.ed-sub{font-family:var(--head);color:var(--acc);margin-bottom:14px;font-size:clamp(14px,2vw,18px);font-weight:600}.slide-info textarea.ed-desc{color:#cfd6ea;margin-bottom:16px;font-size:15px;line-height:1.6}.subtitle{font-family:var(--head);color:var(--acc);margin:-6px 0 16px;font-size:clamp(15px,2.1vw,20px);font-weight:600;line-height:1.32}.slide-info ul.points{flex-direction:column;gap:8px;list-style:none;display:flex}.slide-info ul.points.editing{gap:14px}.slide-info ul.points li{font-size:inherit;color:inherit;margin:0;display:block}.slide-info ul.points li.pt{border:1px solid #0000;border-radius:11px;transition:background .2s,border-color .2s}.slide-info ul.points li.pt.has{border-color:var(--stroke);background:#ffffff08}.slide-info ul.points li.pt.has:hover{border-color:var(--stroke2);background:var(--panel2)}.pt-head{width:100%;color:var(--text);font-family:var(--body);text-align:left;cursor:default;background:0 0;border:none;align-items:flex-start;gap:11px;padding:11px 13px;font-size:13px;line-height:1.5;display:flex}.pt.has .pt-head{cursor:pointer}.slide-info ul.points .pt-head i{background:var(--panel);border:1px solid var(--stroke);width:20px;height:20px;color:var(--text);border-radius:6px;flex:none;place-items:center;margin-top:1px;font-size:10px;font-style:normal;display:grid}.pt-head span{flex:1}.chev{color:var(--dim);flex:none;margin-top:3px;transition:transform .3s,color .3s}.pt.open .chev{color:var(--text);transform:rotate(180deg)}.pt-body{overflow:hidden}.pt-body p{color:var(--muted);padding:0 14px 14px 44px;font-size:12px;line-height:1.7}.slide-info ul.points li.pt-edit{background:var(--panel);border:1px solid var(--stroke);border-radius:11px;flex-direction:column;gap:9px;padding:11px 12px;display:flex}.pt-edit-row{align-items:center;gap:10px;display:flex}.slide-info ul.points .pt-edit-row i{background:var(--panel);border:1px solid var(--stroke);width:20px;height:20px;color:var(--text);border-radius:6px;flex:none;place-items:center;font-size:10px;font-style:normal;display:grid}.ed-pt{border-radius:9px;flex:1;padding:9px 12px;font-size:14px}.ed-pt-d{color:#c4cce0;border-radius:9px;padding:9px 12px;font-size:13px;line-height:1.55}.pt-del{border:1px solid var(--stroke);color:#ff8f8f;cursor:pointer;background:#ffffff0a;border-radius:8px;flex:none;width:30px;height:30px;font-size:13px}.pt-del:hover{background:#ff6b6b1f;border-color:#ff6b6b}.edit-tools{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.add-pt,.add-slide,.del-slide{font-family:var(--head);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .2s}.add-pt{color:var(--acc);background:#d78a1a1a;border:1px dashed #d78a1a73}.add-pt:hover{background:#d78a1a2e}.add-slide{color:var(--acc2);background:#d78a1a1a;border:1px dashed #d78a1a80}.add-slide:hover{background:#d78a1a33}.del-slide{color:#ff8f8f;background:#ff6b6b1a;border:1px solid #ff6b6b66}.del-slide:hover{background:#ff6b6b33}.mob-toggle{font-family:var(--head);cursor:pointer;color:var(--muted);border:1px solid var(--stroke);background:#ffffff0d;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .2s}.mob-toggle:hover{color:var(--text);border-color:var(--acc)}.mob-toggle.off{color:var(--acc2);background:#d78a1a1a;border-color:#d78a1a80}.zone-rm{font-family:var(--mono);letter-spacing:.02em;text-transform:none;color:#ff8f8f;cursor:pointer;background:#ff6b6b1a;border:1px solid #ff6b6b66;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:10px;font-weight:600;transition:all .2s}.zone-rm:hover{color:#ffb0b0;background:#ff6b6b38}.dots .dot.add{background:#d78a1a80}.dots .dot.add.on{background:linear-gradient(135deg,#e3a33a,#d78a1a)}.slide-shot{width:100%}.shots{align-items:flex-start;gap:18px;width:100%;display:flex}.shotwrap{flex-direction:column;gap:9px;min-width:0;display:flex}.shotwrap.wide{flex:1 1 0;min-width:0}.shotwrap.mobile{flex:none;width:clamp(118px,21%,188px)}.shot-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.shot-label .lp{background:var(--acc);width:6px;height:6px;box-shadow:0 0 8px var(--acc);border-radius:50%}.shot-label em{color:var(--dim);border:1px solid var(--stroke);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:9.5px;font-style:normal}.frame{border:1px solid var(--stroke);background:#080b16;position:relative;box-shadow:0 28px 60px -30px #000c,inset 0 1px #ffffff0a}.frame.wide{border-radius:16px;padding-top:28px;overflow:hidden}.frame.wide .bar{border-bottom:1px solid var(--stroke);background:#ffffff0a;align-items:center;gap:6px;height:28px;padding:0 13px;display:flex;position:absolute;top:0;left:0;right:0}.frame.wide .bar i{border-radius:50%;width:8px;height:8px}.frame.wide .bar i:first-child{background:#ff5f57}.frame.wide .bar i:nth-child(2){background:#febc2e}.frame.wide .bar i:nth-child(3){background:#28c840}.frame.mobile{background:#0a0d18;border-radius:28px;padding:7px}.frame.mobile .notch{z-index:3;background:#fff3;border-radius:3px;width:36px;height:5px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.frame .shot{box-shadow:none;border:none}.frame.wide .shot{aspect-ratio:16/9;border-radius:0}.frame.mobile .shot{aspect-ratio:9/16;border-radius:21px}.shotwrap.mobile .shot-empty .shot-ico{border-radius:11px;width:38px;height:38px;margin-bottom:2px}.shotwrap.mobile .shot-empty b{font-size:11px}.shotwrap.mobile .shot-empty span{padding:0 6px;font-size:10px}.frame .shot-ctrl{gap:6px;top:8px;right:8px}.frame .shot-ctrl button{padding:6px 10px;font-size:11px}.shotwrap.mobile .frame .shot-ctrl{flex-direction:column}@media (width<=760px){.shots{flex-direction:row;align-items:flex-end;gap:10px}.shotwrap.wide{flex:1;min-width:0}.shotwrap.mobile{flex:none;width:clamp(90px,30%,150px)}}.lightbox{z-index:300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out;background:#020308f0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox img{border:1px solid var(--stroke);object-fit:contain;cursor:default;border-radius:12px;max-width:96vw;max-height:88vh;box-shadow:0 50px 110px -22px #000000e6}.lb-close{border:1px solid var(--stroke);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;background:#ffffff0f;border-radius:50%;width:42px;height:42px;font-size:17px;transition:all .2s;position:absolute;top:18px;right:22px}.lb-close:hover{border-color:var(--acc);color:var(--acc)}.lb-hint{text-align:center;font-family:var(--mono);color:var(--dim);letter-spacing:.16em;text-transform:uppercase;font-size:11px;position:absolute;bottom:20px;left:0;right:0}.rnav{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);border-top:1px solid var(--stroke);z-index:80;background:#070910d9;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=980px){.rnav{border-right:1px solid var(--stroke);background:linear-gradient(#d78a1a09,#0000 38% 62%,#d78a1a09);border-top:none;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:18px;width:clamp(248px,23vw,322px);height:100%;padding:24px 20px;position:static}}.rwheel{--wh:min(54vh,500px);width:100%;height:var(--wh);animation:6s steps(50,end) infinite holoflick;position:relative;overflow:hidden;-webkit-mask:linear-gradient(#0000,#000 17% 83%,#0000);mask:linear-gradient(#0000,#000 17% 83%,#0000)}@keyframes holoflick{0%,95%,to{opacity:1}96%{opacity:.82}98%{opacity:.95}}.rwheel:before{content:"";z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,#d78a1a12 0 1px,#0000 1px 4px);position:absolute;inset:0}.rwheel:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(#0000,#d78a1a2e,#0000);height:40px;animation:4s linear infinite holosweep;position:absolute;top:-40px;left:0;right:0}@keyframes holosweep{0%{top:-40px}to{top:100%}}.rwheel-mark{z-index:2;pointer-events:none;height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.rwheel-mark span{background:linear-gradient(90deg,#0000,#d78a1aa6,#0000);height:1px;position:absolute;left:4px;right:4px}.rwheel-mark span:first-child{top:0}.rwheel-mark span:last-child{bottom:0}.rwheel-mark:before{content:"";background:#d78a1a0e;position:absolute;inset:0}.rwheel-mark:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:7px solid var(--acc);width:0;height:0;filter:drop-shadow(0 0 5px var(--acc));position:absolute;top:50%;left:-3px;transform:translateY(-50%)}.rlist{padding:calc((var(--wh) - 44px) / 2) 0;will-change:transform;flex-direction:column;list-style:none;display:flex}.ritem{cursor:pointer;height:44px;color:var(--muted);align-items:center;gap:12px;padding:0 8px;transition:color .25s;display:flex}.ritem .rno{font-family:var(--mono);color:var(--dim);text-align:right;flex:none;width:20px;font-size:10px}.ritem .rtt{font-family:var(--head);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;transition:font-size .25s;overflow:hidden}.ritem:hover{color:var(--text)}.ritem.on{color:#ffe7c2}.ritem.on .rno{color:var(--acc)}.ritem.on .rtt{text-shadow:0 0 12px #d78a1abf,0 0 2px #d78a1ae6;font-size:16px;font-weight:800}.ritem-header{cursor:default;height:36px;padding-top:8px}.ritem-header:hover{color:var(--muted)}.rtt-head{letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #d78a1a1f;padding-bottom:4px;font-family:var(--mono)!important;color:#d78a1ab3!important;font-size:9px!important;font-weight:700!important}.ritem.editing .rtt{flex:1;min-width:0}.ritem.ritem-header.editing{align-items:flex-end;height:auto;min-height:36px}.ritem.ritem-header.editing .rtt-head{flex:1;min-width:0}.r-hctrl{flex:none;align-items:center;gap:5px;padding-bottom:3px;display:flex}.r-del,.r-gdel{color:#ff7a7a;cursor:pointer;opacity:.55;background:#ff505014;border:1px solid #ff50503d;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;line-height:1;transition:opacity .15s,background .15s,transform .1s;display:flex}.r-del{margin-left:auto}.r-del:hover,.r-gdel:hover{opacity:1;background:#ff505038;transform:scale(1.08)}.r-add{font-family:var(--mono);letter-spacing:.04em;text-transform:none;color:var(--acc);cursor:pointer;opacity:.8;background:#d78a1a1a;border:1px solid #d78a1a52;border-radius:6px;flex:none;padding:4px 6px;font-size:9px;font-weight:700;transition:opacity .15s,background .15s}.r-add:hover{opacity:1;background:#d78a1a38}.rnav-edit{justify-content:center;width:100%;padding:4px 0 2px;display:flex}.r-newcat{font-family:var(--mono);letter-spacing:.04em;color:var(--acc);cursor:pointer;background:#d78a1a1f;border:1px dashed #d78a1a73;border-radius:9px;width:100%;padding:9px 14px;font-size:11px;font-weight:700;transition:background .15s,opacity .15s}.r-newcat:hover{background:#d78a1a38}.rsub{text-align:center;width:100%;min-height:30px;font-family:var(--mono);color:var(--acc);letter-spacing:.02em;text-shadow:0 0 8px #d78a1a66;-webkit-line-clamp:2;opacity:.85;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.rknob-area{place-items:center;padding-top:12px;display:grid;position:relative}.rcaret{z-index:4;border-left:6px solid #0000;border-right:6px solid #0000;border-top:10px solid var(--acc);width:0;height:0;filter:drop-shadow(0 0 7px var(--acc));position:absolute;top:-3px;left:50%;transform:translate(-50%)}.rotary-knob{cursor:grab;touch-action:none;isolation:isolate;background:radial-gradient(circle at 50% 26%,#ffffff29,#ffffff08 42%,#0000 60%),radial-gradient(circle at 50% 122%,#000000a6,#0000 56%),#0e1018;border-radius:50%;place-items:center;width:116px;height:116px;transition:box-shadow .25s;display:grid;position:relative;box-shadow:0 20px 38px -15px #000000d9,inset 0 3px 8px #ffffff17,inset 0 -15px 26px #0000009e,inset 0 0 0 1px #ffffff0d}.rotary-knob:hover{box-shadow:0 20px 38px -15px #000000d9,inset 0 3px 8px #ffffff17,inset 0 -15px 26px #0000009e,0 0 0 4px #d78a1a2e}.rotary-knob.dragging{cursor:grabbing;box-shadow:0 12px 22px -10px #000000d9,inset 0 2px 6px #ffffff12,inset 0 -11px 22px #000000b3,0 0 0 5px #d78a1a3d}.kring{pointer-events:none;background:conic-gradient(from 90deg,#3c3f4b,#14161e 12%,#4c4f5b 25%,#14161e 38%,#3c3f4b 50%,#14161e 63%,#4c4f5b 76%,#14161e 88%,#3c3f4b);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle closest-side,#0000 0 86%,#000 88% 100%);mask:radial-gradient(circle closest-side,#0000 0 86%,#000 88% 100%)}.rdial{position:absolute;inset:0}.rotary-knob:not(.dragging) .rdial{transition:transform .5s cubic-bezier(.2,.85,.2,1)}.knurl{pointer-events:none;opacity:.55;background:repeating-conic-gradient(#ffffff2e 0deg 1.3deg,#00000075 1.3deg 2.8deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle closest-side,#0000 0 64%,#000 67% 84%,#0000 87%);mask:radial-gradient(circle closest-side,#0000 0 64%,#000 67% 84%,#0000 87%)}.rtick{background:#ffffff38;border-radius:2px;width:2px;height:6px;position:absolute;top:50%;left:50%}.rtick.on{background:var(--acc);width:3px;height:12px;box-shadow:0 0 14px var(--acc),0 0 4px var(--acc)}.rgrip{background:linear-gradient(180deg,var(--acc),#d78a1a1f);border-radius:3px;width:3px;height:26px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 0 14px #d78a1ab3}.rcap{z-index:2;width:58px;height:58px;font-family:var(--mono);background:radial-gradient(circle at 50% 32%,#24262f,#0c0d13 76%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:relative;box-shadow:inset 0 2px 4px #ffffff1a,inset 0 -7px 13px #0000009e,0 5px 12px -3px #000000a6}.rcap b{color:#fff;letter-spacing:.01em;font-size:20px;font-weight:800}.rcap i{color:var(--dim);margin-top:4px;font-size:9px;font-style:normal}.swipe-hint{pointer-events:none;z-index:200;position:absolute;top:50%;left:50%}.swipe-hint .hand-ico{color:#fff;filter:drop-shadow(0 4px 12px #000c);width:32px;height:32px;margin-top:-16px;margin-left:-16px;animation:2.4s ease-in-out infinite swipeAnim;position:absolute}@keyframes swipeAnim{0%{opacity:0;transform:rotate(50deg)translateY(-48px)}15%{opacity:1;transform:rotate(50deg)translateY(-48px)}60%{opacity:1;transform:rotate(-50deg)translateY(-48px)}80%{opacity:0;transform:rotate(-50deg)translateY(-48px)}to{opacity:0}}.slide-swipe-hint{pointer-events:none;z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;border:1px solid #ffffff0f;border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #00000080}.slide-swipe-hint .hand-ico{color:#fff;filter:drop-shadow(0 4px 12px #000c);width:44px;height:44px;animation:2.4s ease-in-out infinite slideSwipeAnim}@keyframes slideSwipeAnim{0%{opacity:0;transform:translate(30px)rotate(10deg)}15%{opacity:1;transform:translate(30px)rotate(10deg)}60%{opacity:1;transform:translate(-30px)rotate(-10deg)}80%{opacity:0;transform:translate(-30px)rotate(-10deg)}to{opacity:0}}@media (width>=760px){.swipe-hint,.slide-swipe-hint{display:none}}@media (width<=759px){.topbar{gap:10px;padding:11px 14px}.brand img{border-radius:10px;width:34px;height:34px}.brand b{font-size:16px}.ghost{padding:8px 12px;font-size:12px}.stage{padding:14px 14px 120px}.slide{gap:16px}.eyebrow{margin-bottom:11px;padding:5px 11px;font-size:9.5px}.slide-info h1{letter-spacing:-.02em;font-size:clamp(22px,6.4vw,28px)}.subtitle{margin:-4px 0 13px;font-size:clamp(14px,4vw,17px)}.desc{font-size:14px;line-height:1.62}.slide-info li{font-size:13.5px}.frame.wide{border-radius:14px}.frame.mobile{border-radius:26px}.dock{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);z-index:60;background:#0a0c13bd;border-radius:999px;gap:8px;width:auto;padding:8px 10px;position:fixed;transform:translate(-50%);box-shadow:0 18px 44px -16px #000c}.nav{background:0 0;border-color:#0000;width:42px;height:42px;font-size:17px}.nav:active:not(:disabled){background:#ffffff0f}.counter{min-width:64px;font-size:14px}.hint{display:none}.rwheel{--wh:44px;width:140px;height:var(--wh);flex:1;transition:all .25s cubic-bezier(.2,.7,.2,1);-webkit-mask:linear-gradient(#0000,#000 15% 85%,#0000);mask:linear-gradient(#0000,#000 15% 85%,#0000)}.rnav.dragging .rwheel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--stroke);z-index:100;background:#080808f2;border-radius:16px;width:220px;height:180px;padding-top:68px;position:absolute;bottom:10px;left:16px;box-shadow:0 10px 40px #000000e6}.rwheel:after{display:none}.rlist{padding:0}.ritem.on .rtt{font-size:14px}.rsub{display:none}.rknob-area{flex:none;margin-left:auto;padding-top:0}.rotary-knob{width:64px;height:64px}.rcap{width:34px;height:34px}.rcap b{font-size:13px}.rcap i{margin-top:2px;font-size:7px}.rtick{height:4px}.rtick.on{width:2px;height:8px}.rgrip{height:14px;top:6px}}@media (hover:none){.shot-ctrl{opacity:1!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
