:root{--onyx: #050505;--onyx-2: #0b0a08;--onyx-3: #14120e;--gold: #d4af37;--gold-hi: #f3d27a;--gold-pale: #fff1bf;--gold-deep: #8a6a1f;--text: #efe6d2;--muted: #8d846f;--line: rgba(212, 175, 55, .16);--line-strong: rgba(212, 175, 55, .38);--glass: rgba(18, 15, 10, .55);--gold-grad: linear-gradient(135deg, #7a5a17 0%, #f3d27a 25%, #b8892b 45%, #fff1bf 60%, #c9982f 80%, #6e5014 100%);--sidebar: 384px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--onyx);color:var(--text);font:400 13px/1.45 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button,input{font:inherit;color:inherit}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.04em}.dim{color:var(--muted)}.app{position:relative;height:100%;display:flex;flex-direction:column}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(900px 500px at 30% -10%,rgba(212,175,55,.1),transparent 60%),radial-gradient(700px 600px at 110% 110%,rgba(212,175,55,.06),transparent 60%),radial-gradient(1200px 800px at 40% 60%,#0d0b07,#030303 70%)}.ambient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{position:relative;z-index:2;height:64px;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0a0906e6,#050505b3);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:30px;height:30px;filter:drop-shadow(0 0 10px rgba(212,175,55,.45))}.brand-name{font:700 18px/1 Cinzel,serif;letter-spacing:.32em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px}.topbar-center{display:flex;gap:10px}.topbar-right{display:flex;gap:10px;justify-content:flex-end;align-items:center}.btn-gold{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;background:var(--gold-grad);background-size:200% 200%;color:#0b0906;font:700 11px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 0 0 1px #ffe6a059 inset,0 8px 30px -8px #d4af3799;transition:background-position .6s ease,transform .15s ease,box-shadow .3s}.btn-gold svg{width:16px;height:16px}.btn-gold:hover:not(:disabled){background-position:100% 100%;box-shadow:0 0 0 1px #ffe6a080 inset,0 10px 40px -6px #d4af37d9}.btn-gold:active:not(:disabled){transform:translateY(1px)}.btn-gold:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.btn-ghost{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;cursor:pointer;text-decoration:none;border:1px solid var(--line-strong);background:#d4af370d;color:var(--gold-hi);font:600 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:all .2s}.btn-ghost:hover{background:#d4af371f;border-color:var(--gold)}.segmented{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--line);background:#ffffff05}.segmented button{border:0;background:none;padding:6px 12px;border-radius:999px;cursor:pointer;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.06em;transition:all .2s}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.active{background:linear-gradient(180deg,#f3d27a38,#d4af3714);color:var(--gold-hi);box-shadow:0 0 0 1px var(--line-strong) inset}.segmented.disabled{opacity:.4}.workspace{position:relative;z-index:1;flex:1;min-height:0;display:grid;grid-template-columns:1fr var(--sidebar)}.stage{position:relative;min-width:0;display:flex;flex-direction:column;padding:22px 22px 18px;gap:14px}.glass{background:linear-gradient(145deg,#1e19108c,#0807058c);border:1px solid var(--line);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 1px #ffebb40f inset,0 30px 80px -30px #000000e6}.viewport{flex:1;min-height:0;border-radius:22px;display:grid;place-items:center;padding:22px;position:relative;overflow:hidden}.viewport:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(243,210,122,.4),transparent 30%,transparent 70%,rgba(243,210,122,.25));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.frame{position:relative;max-width:100%;max-height:100%;height:100%;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 0 0 1px #d4af3733,0 40px 120px -20px #000,0 0 80px -30px #d4af3759}.render{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.viewport:not(.has-image) .frame{background:radial-gradient(circle at 50% 40%,#12100b,#030303 70%)}.viewport:not(.has-image) .render{opacity:0}.corner{position:absolute;width:18px;height:18px;border-color:var(--gold);border-style:solid;opacity:.7;pointer-events:none}.corner.tl{top:10px;left:10px;border-width:1px 0 0 1px}.corner.tr{top:10px;right:10px;border-width:1px 1px 0 0}.corner.bl{bottom:10px;left:10px;border-width:0 0 1px 1px}.corner.br{bottom:10px;right:10px;border-width:0 1px 1px 0}.dropzone{position:absolute;top:7%;right:7%;bottom:7%;left:7%;border-radius:20px;cursor:pointer;outline:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:28px;background:linear-gradient(150deg,#ffe6aa0f,#ffe6aa04 40%,#00000040);border:1px dashed rgba(243,210,122,.35);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 1px #fff0c81f inset,0 0 0 1px #0009,0 30px 90px -20px #d4af372e;transition:all .35s cubic-bezier(.2,.8,.2,1);overflow:hidden}.dropzone:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(243,210,122,.16) 80%,transparent 90%);animation:spin 9s linear infinite;pointer-events:none}.dropzone:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:19px;background:linear-gradient(150deg,#0e0c08eb,#060504f0);z-index:-0;pointer-events:none}.dropzone>*{position:relative;z-index:1}.dropzone:hover,.dropzone:focus-visible,.dropzone.over{border-color:var(--gold);box-shadow:0 1px #fff0c833 inset,0 0 0 1px #d4af374d,0 30px 120px -10px #d4af3759}.dropzone.over{transform:scale(1.01)}.dz-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;color:var(--gold-hi);background:radial-gradient(circle at 35% 30%,#f3d27a40,#d4af370a 70%);box-shadow:0 0 0 1px var(--line-strong),0 0 50px -6px #d4af3799}.dz-icon svg{width:34px;height:34px}.dropzone.over .dz-icon{animation:bob 1s ease-in-out infinite}.dropzone h1{margin:6px 0 0;font:600 clamp(20px,2.4vw,30px)/1.15 Cinzel,serif;letter-spacing:.12em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.dropzone p{margin:0;max-width:440px;color:var(--muted);font-size:13px}.dz-actions{display:flex;gap:10px;margin-top:6px}.dz-specs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;color:#f3d27a8c;margin-top:8px;text-transform:uppercase;font-size:10px}.dz-specs i{width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.6}.dz-orbit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0!important;pointer-events:none}.dz-orbit span{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 10px 2px #f3d27ab3;animation:float 7s ease-in-out infinite}.dz-orbit span:nth-child(1){left:18%;top:70%}.dz-orbit span:nth-child(2){left:78%;top:30%;animation-delay:-2.4s}.dz-orbit span:nth-child(3){left:64%;top:78%;animation-delay:-4.6s;width:2px;height:2px}.transport{flex:none;height:56px;border-radius:16px;display:flex;align-items:center;gap:14px;padding:0 12px}.icon-btn{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line-strong);background:#d4af3714;color:var(--gold-hi);transition:all .2s}.icon-btn:hover{background:#d4af372e;box-shadow:0 0 20px -4px #d4af3799}.icon-btn svg{width:15px;height:15px}.tc{color:var(--gold-hi);font-size:13px;min-width:104px}.tc em{color:var(--muted);font-style:normal}.timeline{position:relative;flex:1;height:36px;display:flex;align-items:center}.timeline input{width:100%}.marker{position:absolute;top:-4px;transform:translate(-50%);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:.85}.marker i{order:2;width:1px;height:22px;background:linear-gradient(var(--gold),transparent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:18px;background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi) var(--pct, 50%),rgba(255,255,255,.08) var(--pct, 50%))}input[type=range]::-moz-range-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi) var(--pct, 50%),rgba(255,255,255,.08) var(--pct, 50%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d6,#d4af37 60%,#8a6a1f);box-shadow:0 0 0 3px #050505e6,0 0 14px #f3d27ab3}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d6,#d4af37 60%,#8a6a1f);box-shadow:0 0 0 3px #050505e6,0 0 14px #f3d27ab3}input[type=range]:disabled{cursor:not-allowed}.pipeline{position:absolute;left:44px;top:44px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.pipeline.settled{animation:fadeAway .8s ease 3s forwards}.pipe{width:250px;display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;background:#080705a8;transition:opacity .6s}.pipe.done{opacity:.82}.pipe-thumb{width:44px;height:44px;flex:none;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 0 0 1px var(--line)}.pipe-thumb img{width:100%;height:100%;object-fit:cover;filter:sepia(.9) saturate(1.6) hue-rotate(-8deg) brightness(.95)}.shimmer{display:block;width:100%;height:100%;background:linear-gradient(100deg,#0b0a08 30%,#d4af3740,#0b0a08 70%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.pipe-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.pipe-title{font-weight:600;font-size:12px;color:var(--text)}.pipe-label{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipe.error .pipe-label{color:#d9a35a}.bar{height:2px;border-radius:2px;background:#ffffff12;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-hi));transition:width .3s}.bar i.pulse{animation:pulse 1s ease-in-out infinite}.export-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:14px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--gold-hi)}.export-ring{--p: 0;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--gold-hi) calc(var(--p) * 360deg),rgba(212,175,55,.12) 0);-webkit-mask:radial-gradient(circle,transparent 36px,#000 37px);mask:radial-gradient(circle,transparent 36px,#000 37px);filter:drop-shadow(0 0 12px rgba(243,210,122,.6))}.toast{position:absolute;left:50%;bottom:90px;transform:translate(-50%);max-width:70%;padding:10px 16px;border-radius:12px;background:#281408eb;border:1px solid rgba(217,140,70,.5);color:#f5cfa0;cursor:pointer}.sidebar{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:linear-gradient(180deg,#0e0c08d9,#060504eb);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.sidebar-head{display:flex;align-items:flex-end;justify-content:space-between;padding:20px 20px 14px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.sidebar-head h2{margin:4px 0 0;font:600 20px/1.1 Cinzel,serif;letter-spacing:.1em;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.engine-meta{display:flex;align-items:center;gap:12px;color:var(--gold-hi)}.link{border:0;background:none;color:var(--muted);cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.link:hover{color:var(--gold-hi)}.sidebar-scroll{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.3) transparent}.module{position:relative;border-radius:16px;padding:14px;border:1px solid rgba(255,255,255,.05);background:#ffffff04;transition:border-color .3s,background .3s,box-shadow .3s}.module.on{border-color:var(--line-strong);background:linear-gradient(160deg,#d4af3714,#d4af3703 60%);box-shadow:0 0 40px -20px #d4af3780}.module.on:before{content:"";position:absolute;left:-1px;top:18px;bottom:18px;width:2px;border-radius:2px;background:linear-gradient(var(--gold-hi),var(--gold-deep));box-shadow:0 0 10px var(--gold)}.module header{display:flex;align-items:center;gap:12px}.module-icon{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;color:var(--muted);border:1px solid rgba(255,255,255,.07);background:#0000004d;transition:all .3s}.module.on .module-icon{color:var(--gold-hi);border-color:var(--line-strong);box-shadow:0 0 18px -4px #d4af3780}.module-icon svg{width:18px;height:18px}.module-title{flex:1;min-width:0}.module-title h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em}.tag{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#f3d27a99}.module-desc{margin:10px 0 0;color:var(--muted);font-size:12px}.module-body{display:flex;flex-direction:column;gap:10px;margin-top:12px}.module:not(.on):not(.grade) .module-body{opacity:.4}.module .segmented{width:100%}.module .segmented button{flex:1}.toggle{position:relative;width:42px;height:24px;flex:none;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0b0a08;cursor:pointer;transition:all .3s;padding:0}.toggle .knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#3a352a;transition:all .35s cubic-bezier(.3,1.5,.5,1)}.toggle.on{background:linear-gradient(135deg,#6e5014,#d4af37);border-color:#ffe6a080;box-shadow:0 0 16px -2px #d4af37b3}.toggle.on .knob{left:21px;background:radial-gradient(circle at 35% 30%,#fffbe8,#f3d27a 70%);box-shadow:0 1px 4px #00000080}.slider{display:flex;flex-direction:column;gap:2px}.slider-head{display:flex;justify-content:space-between;font-size:11.5px;color:#cfc6b1}.slider-head .mono{color:var(--gold-hi);font-size:10.5px}.slider.disabled .slider-head .mono{color:var(--muted)}.field{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field input{height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#00000073;padding:0 10px;font-size:12.5px;letter-spacing:.02em;text-transform:none;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d4af3726}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes float{0%,to{transform:translate(0);opacity:.2}50%{transform:translate(14px,-40px);opacity:1}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fadeAway{to{opacity:0;transform:translateY(-6px)}}@keyframes pulse{50%{opacity:.35}}@media (max-width: 1100px){:root{--sidebar: 330px}.topbar-center{display:none}.topbar{grid-template-columns:1fr 1fr}}
