:root{--bg:#070409;--bg2:#0c0712;--ink:#f3ecf7;--dim:#8a7d97;--faint:#544a60;--vio:#a06bff;--mag:#ff4fc3;--line:rgba(243,236,247,.10);--line2:rgba(243,236,247,.06);--mono:"JetBrains Mono",ui-monospace,monospace;--disp:"Space Grotesk",system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--disp);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}::selection{background:var(--mag);color:var(--bg)}button{font-family:inherit;cursor:pointer}.mono{font-family:var(--mono)}.bg-aura{z-index:0;background:radial-gradient(46% 50% at 50% 30%,rgba(160,107,255,.12),transparent 62%)}.bg-aura,.grain{position:fixed;inset:0;pointer-events:none}.grain{z-index:9000;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.bar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,40px)}.logo{font-family:var(--disp);font-weight:700;font-size:16px;letter-spacing:-.01em}.logo i{font-style:normal;color:var(--mag)}.logo .sub{font-size:10.5px;letter-spacing:.16em;color:var(--faint);margin-left:8px}.logo .sub,.status{font-family:var(--mono);text-transform:uppercase}.status{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.14em;color:var(--dim)}.status .dot{width:7px;height:7px;border-radius:50%;background:var(--vio);box-shadow:0 0 9px var(--vio);animation:pp 1.6s ease-in-out infinite}@keyframes pp{0%,to{opacity:1}50%{opacity:.3}}.center{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px clamp(20px,4vw,40px) 60px;text-align:center}.stage{width:100%;max-width:620px}.s{display:none;animation:rise .55s cubic-bezier(.16,.7,.2,1)}@keyframes rise{0%{transform:translateY(16px)}to{transform:none}}[data-state=done] .s-done,[data-state=empty] .s-empty,[data-state=ready] .s-ready,[data-state=rendering] .s-rendering{display:block}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mag);margin-bottom:18px}.head{font-family:var(--disp);font-weight:700;font-size:clamp(40px,7vw,72px);line-height:.92;letter-spacing:-.035em;margin-bottom:14px}.head .mag{color:var(--mag)}.lede{font-family:var(--mono);font-size:14px;color:var(--dim);line-height:1.6;margin-bottom:34px}.drop{border:1.5px dashed var(--line);border-radius:16px;padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:18px;transition:border-color .25s,background .25s,transform .25s;cursor:pointer}.drop.over,.drop:hover{border-color:var(--mag);background:rgba(255,79,195,.05);transform:translateY(-2px)}.drop .ic{width:64px;height:64px;border-radius:16px;border:1px solid var(--line);background:rgba(160,107,255,.06);display:flex;align-items:center;justify-content:center;color:var(--vio)}.drop .ic svg{width:28px;height:28px}.drop .big{font-family:var(--disp);font-weight:500;font-size:21px;letter-spacing:-.01em}.drop .big .mag{color:var(--mag)}.drop .browse{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--bg);background:var(--ink);border:none;border-radius:999px;padding:13px 26px;transition:transform .2s,background .2s}.drop .browse:hover{transform:translateY(-2px);background:var(--mag)}.note{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--faint);margin-top:22px}.file{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:999px;padding:10px 10px 10px 18px;margin-bottom:26px}.file .fn{font-family:var(--mono);font-size:13.5px;color:var(--ink)}.file .x{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--dim);font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .2s}.file .x:hover{border-color:var(--mag);color:var(--mag)}.ready-title{font-family:var(--disp);font-weight:700;font-size:clamp(30px,5vw,46px);letter-spacing:-.03em;line-height:1;margin-bottom:22px}.summary{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.sm{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--dim);border:1px solid var(--line2);border-radius:999px;padding:9px 15px;display:flex;align-items:center;gap:8px}.sm b{color:var(--ink);font-weight:500}.sm .d{width:6px;height:6px;border-radius:50%;background:var(--vio)}.go{font-family:var(--mono);font-size:15px;letter-spacing:.03em;padding:19px 46px;border-radius:999px;border:none;background:var(--ink);color:var(--bg);transition:transform .25s,background .25s,box-shadow .25s}.go:hover{transform:translateY(-2px);background:var(--mag);box-shadow:0 18px 50px rgba(255,79,195,.45)}.go .ar{display:inline-block;margin-left:9px;transition:transform .25s}.go:hover .ar{transform:translateX(5px)}.adjust{margin-top:26px}.adjust .toggle{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--faint);background:none;border:none;display:inline-flex;align-items:center;gap:8px;transition:color .2s}.adjust .toggle:hover{color:var(--dim)}.adjust .toggle .chev{transition:transform .25s;display:inline-block}.adjust.open .toggle .chev{transform:rotate(180deg)}.adjust .panel{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.16,.7,.2,1),opacity .3s,margin .35s;opacity:0;margin-top:0}.adjust.open .panel{max-height:280px;opacity:1;margin-top:22px}.opt{margin-bottom:18px}.opt:last-child{margin-bottom:0}.opt label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.choices{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.choice{font-family:var(--mono);font-size:12.5px;color:var(--dim);background:none;border:1px solid var(--line);border-radius:999px;padding:10px 18px;transition:all .2s}.choice.on{border-color:var(--mag);color:var(--ink);background:rgba(255,79,195,.08)}.ring-wrap{display:flex;flex-direction:column;align-items:center;gap:0}.ring{position:relative;width:200px;height:200px;margin-bottom:30px}.ring svg{transform:rotate(-90deg);width:100%;height:100%}.ring .track{fill:none;stroke:rgba(255,255,255,.06);stroke-width:6}.ring .prog{fill:none;stroke:url(#grad);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .35s linear}.ring .pct{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring .pct .n{font-family:var(--disp);font-weight:700;font-size:42px;letter-spacing:-.03em}.ring .pct .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:2px}.statusline{font-family:var(--mono);font-size:15px;color:var(--ink);min-height:22px;letter-spacing:.01em}.statusline .tm{color:var(--vio)}.substep{font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:10px;letter-spacing:.04em}.dots{display:flex;gap:7px;justify-content:center;margin-top:24px}.dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.1);transition:background .3s,box-shadow .3s}.dots i.on{background:var(--vio);box-shadow:0 0 8px var(--vio)}.dots i.done{background:var(--mag)}.done-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#0e0814,#1c0f26);display:flex;align-items:center;justify-content:center;margin-bottom:24px}.done-frame.vert{aspect-ratio:9/16;max-width:260px;margin:0 auto 24px}.done-frame .scan{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.12) 3px 4px);opacity:.5}.done-frame .play{width:66px;height:66px;border-radius:50%;background:rgba(255,79,195,.16);backdrop-filter:blur(4px);border:1px solid var(--mag);display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s}.done-frame .play:hover{transform:scale(1.08)}.done-frame .play svg{width:24px;height:24px;fill:var(--ink);margin-left:3px}.done-frame .fname{position:absolute;bottom:12px;left:0;right:0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vio);z-index:2}.done-title{font-family:var(--disp);font-weight:700;font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;margin-bottom:8px}.done-title .mag{color:var(--mag)}.done-meta{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin-bottom:26px;letter-spacing:.03em}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.dl{font-family:var(--mono);font-size:14px;letter-spacing:.03em;padding:16px 34px;border-radius:999px;border:none;background:var(--mag);color:var(--bg);transition:transform .25s,box-shadow .25s}.dl:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(255,79,195,.45)}.again{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--dim);background:none;border:none;transition:color .2s;padding:16px 10px}.again:hover{color:var(--ink)}.more{margin-top:18px}.more button{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--faint);background:none;border:none;transition:color .2s}.more button:hover{color:var(--dim)}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);z-index:9100;background:var(--bg2);border:1px solid var(--mag);border-radius:999px;padding:12px 22px;font-family:var(--mono);font-size:12.5px;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 18px 50px rgba(0,0,0,.5)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast b{color:var(--mag)}@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important}}