:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.spectra-export-backdrop{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#020207c7;justify-content:center;align-items:center;animation:.2s ease-out spectraFadeIn;display:flex;position:fixed;inset:0}@keyframes spectraFadeIn{0%{opacity:0}to{opacity:1}}.spectra-export-modal{color:#f0f4fc;background:#0e121cf0;border:1px solid #508cff38;border-radius:14px;width:90%;max-width:480px;padding:28px 32px;font-family:Inter,system-ui,-apple-system,sans-serif;animation:.2s ease-out spectraScaleIn;position:relative;box-shadow:0 16px 48px #000000a6,0 0 24px #3a86ff1f}@keyframes spectraScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.spectra-export-close-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;transition:color .15s,background .15s;position:absolute;top:18px;right:20px}.spectra-export-close-btn:hover{color:#fff;background:#ffffff14}.spectra-export-title{letter-spacing:.04em;color:#fff;margin:0 0 6px;font-size:19px;font-weight:600}.spectra-export-subtitle{color:#ffffff8c;margin:0 0 22px;font-size:12px;line-height:1.4}.spectra-export-specs-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;display:grid}.spectra-export-spec-item{background:#ffffff09;border:1px solid #ffffff12;border-radius:8px;padding:10px 14px}.spectra-export-spec-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;margin-bottom:4px;font-size:10px}.spectra-export-spec-value{color:#e2ecfc;font-size:14px;font-weight:600}.spectra-export-info-box{color:#a4c4fc;background:#3a86ff0f;border:1px solid #3a86ff2e;border-radius:8px;margin-bottom:24px;padding:10px 14px;font-size:11px;line-height:1.45}.spectra-export-progress-container{margin-top:12px;margin-bottom:24px}.spectra-export-progress-bar-track{background:#ffffff14;border-radius:6px;width:100%;height:10px;position:relative;overflow:hidden}.spectra-export-progress-bar-fill{background:linear-gradient(90deg,#3a86ff,#00f0ff);border-radius:6px;height:100%;transition:width .15s ease-out;box-shadow:0 0 12px #00f0ff66}.spectra-export-progress-stats{justify-content:space-between;align-items:baseline;margin-top:10px;display:flex}.spectra-export-progress-pct{color:#00f0ff;letter-spacing:-.02em;font-size:26px;font-weight:700}.spectra-export-progress-frames{color:#fff9;font-variant-numeric:tabular-nums;font-size:12px}.spectra-export-progress-metrics{font-variant-numeric:tabular-nums;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding:12px 14px;font-size:12px;display:grid}.spectra-export-metric-row{flex-direction:column;display:flex}.spectra-export-metric-label{color:#fff6;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px}.spectra-export-metric-val{color:#dbe7fa;font-size:13px;font-weight:500}.spectra-export-success-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.spectra-export-success-icon{color:#00f096;background:#00f09626;border:1px solid #00f09666;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.spectra-export-summary-list{background:#ffffff08;border:1px solid #ffffff12;border-radius:8px;margin-bottom:24px;padding:14px 16px;font-size:12px}.spectra-export-summary-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:5px 0;display:flex}.spectra-export-summary-row:last-child{border-bottom:none}.spectra-export-summary-label{color:#ffffff7a}.spectra-export-summary-val{color:#e5efff;font-weight:500}.spectra-export-actions{align-items:center;gap:10px;display:flex}.spectra-btn-primary{color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#2b6cb0,#3a86ff);border:1px solid #64b4ff59;border-radius:8px;flex:1;padding:12px 20px;font-size:12px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #3a86ff47}.spectra-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3182ce,#4c9aff);transform:translateY(-1px);box-shadow:0 4px 20px #3a86ff73}.spectra-btn-primary:disabled{opacity:.5;cursor:not-allowed}.spectra-btn-secondary{color:#ffffffd9;letter-spacing:.04em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:12px 18px;font-size:12px;font-weight:500;transition:all .15s}.spectra-btn-secondary:hover{color:#fff;background:#ffffff1a}.spectra-btn-danger-outline{color:#ff8080;letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #ff505059;border-radius:8px;flex:1;padding:11px 18px;font-size:12px;font-weight:500;transition:all .15s}.spectra-btn-danger-outline:hover{color:#faa;background:#ff50501f;border-color:#ff6060}.spectra-btn-text-danger{color:#ff6464b3;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;transition:color .15s}.spectra-btn-text-danger:hover{color:#ff6060;text-decoration:underline}.spectra-export-error-box{color:#ffb4b4;background:#ff3c3c14;border:1px solid #ff3c3c40;border-radius:8px;margin-bottom:22px;padding:14px 16px;font-size:12px;line-height:1.45}.spectra-export-tracks-status{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:18px;padding:10px 14px;display:flex}.spectra-export-track-item{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.spectra-export-track-name{color:#dbe7fa;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spectra-export-track-name strong{color:#72b2ff;margin-right:4px}.spectra-export-track-badge{color:#00f096;white-space:nowrap;background:#00f0961f;border:1px solid #00f09647;border-radius:4px;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.spectra-export-confirm-card{background:#ff3c3c17;border:1px solid #ff3c3c4d;border-radius:8px;margin-top:16px;padding:14px 16px;animation:.15s ease-out spectraFadeIn}.spectra-export-confirm-msg{color:#ffd2d2;text-align:center;margin-bottom:12px;font-size:12px;line-height:1.45}.spectra-export-modal button:focus-visible{outline-offset:2px;outline:2px solid #00f0ff!important}@media (height<=768px){.spectra-export-modal{max-height:92vh;padding:20px 24px;overflow-y:auto}.spectra-export-specs-grid{gap:8px;margin-bottom:14px}.spectra-export-subtitle{margin-bottom:14px}.spectra-export-info-box{margin-bottom:16px}.spectra-export-tracks-status{margin-bottom:14px;padding:8px 12px}}.spectra-export-privacy-note{color:#7a9ba8;text-align:center;letter-spacing:.2px;margin:12px 0 16px;font-size:11px;line-height:1.4}.spectra-export-unsupported-box{color:#ffe6b0;background:#ffaa0014;border:1px solid #ffaa0059;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:12px;line-height:1.45}.spectra-export-unsupported-title{color:#ffbe3b;margin-bottom:4px;font-size:12.5px;font-weight:600}.spectra-export-unsupported-sub{color:#d1b88e;margin-top:6px;font-size:11px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:#fff;background:#020207;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,input,label{font:inherit}.app{background:radial-gradient(circle at 50% 70%,#3a86ff0f,#0000 34%),#020207;width:100%;height:100%;position:relative;overflow:hidden}.spectra-background{z-index:0;background:#020207;position:absolute;inset:0;overflow:hidden}.spectra-background canvas{display:block;width:100%!important;height:100%!important}.app>canvas{z-index:2;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.brand{z-index:10;pointer-events:none;position:absolute;top:32px;left:38px}.brand h1{color:#fffffff2;letter-spacing:.35em;margin:0;font-size:21px;font-weight:600;line-height:1}.brand p{color:#ffffff61;letter-spacing:.16em;margin:13px 0 0;font-size:11px}.controls{z-index:10;align-items:center;gap:14px;display:flex;position:absolute;top:28px;right:38px}.upload{color:#ffffffb8;letter-spacing:.14em;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a1280;border:1px solid #ffffff21;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 18px;font-size:10px;font-weight:600;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;position:relative}.upload:hover{background:#4cc9f014;border-color:#72f1ff59;box-shadow:0 0 18px #4cc9f014}.upload.loaded{color:#00f096;background:#00f09614;border-color:#00f09666}.upload.loaded:hover{border-color:#00f096b3;box-shadow:0 0 16px #00f09633}.export-video-btn{color:#72b2ff;background:#3a86ff24;border-color:#3a86ff59}.export-video-btn.ready{color:#fff;background:linear-gradient(135deg,#2b6cb073,#3a86ff73);border-color:#64b4ff99;box-shadow:0 0 18px #3a86ff4d}.export-video-btn:hover:not(:disabled){color:#fff;background:#3a86ff47;border-color:#3a86ffa6;box-shadow:0 0 18px #3a86ff59}.export-video-btn.ready:hover:not(:disabled){background:linear-gradient(135deg,#3182cea6,#4c9affa6);border-color:#72b2ff;transform:translateY(-1px);box-shadow:0 0 24px #3a86ff8c}.export-video-btn:disabled{opacity:.35;cursor:not-allowed;color:#ffffff4d;box-shadow:none;background:#0a0a124d;border-color:#ffffff14}.upload:focus-within,.controls button:focus-visible,.controls label:focus-visible{outline-offset:2px;outline:2px solid #00f0ff}.upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.input-status-group{align-items:center;gap:8px;display:flex}.input-badge{letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;border-radius:6px;padding:5px 11px;font-size:10px}.hint-badge{color:#ffffff8c;background:#ffffff0d;border:1px solid #ffffff1a}.ready-badge{color:#00f096;background:#00f09614;border:1px solid #00f09647}.exporting-badge{color:#72b2ff;background:#3a86ff1f;border:1px solid #3a86ff59;animation:1.5s ease-in-out infinite spectraBadgePulse}.dev-badge{color:#fc0;background:#ffb4001f;border:1px solid #ffb4004d;font-family:monospace;font-size:9px}@keyframes spectraBadgePulse{0%,to{opacity:.7}50%{opacity:1}}.note-count{color:#ffffff61;letter-spacing:.04em;white-space:nowrap;font-size:10px}.transport{z-index:10;background:0 0;border:none;align-items:center;gap:14px;width:min(900px,78vw);padding:8px 4px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.transport-play{color:#ffffffbf;cursor:pointer;background:0 0;border:none;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:15px;line-height:1;transition:color .2s,transform .2s,text-shadow .2s;display:flex}.transport-play:hover{color:#72f1ff;text-shadow:0 0 10px #72f1ffbf;transform:scale(1.08)}.transport-play:focus-visible{outline-offset:4px;border-radius:50%;outline:1px solid #72f1ffd9}.time{color:#ffffff6b;font-variant-numeric:tabular-nums;letter-spacing:.03em;text-align:center;-webkit-user-select:none;user-select:none;min-width:42px;font-size:11px}.timeline{--progress:0%;appearance:none;cursor:pointer;background:linear-gradient(to right, #4cc9f0 0%, #4cc9f0 var(--progress), #ffffff24 var(--progress), #ffffff24 100%);border-radius:999px;outline:none;flex:1;height:3px;margin:0}.timeline::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:3px}.timeline::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#72f1ff;border:none;border-radius:50%;width:10px;height:10px;margin-top:-3.5px;transition:transform .15s,box-shadow .15s;box-shadow:0 0 6px #72f1ff,0 0 14px #4cc9f0bf,0 0 24px #3a86ff59}.timeline:hover::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 8px #72f1ff,0 0 18px #4cc9f0e6,0 0 32px #3a86ff80}.timeline::-moz-range-track{background:#ffffff24;border-radius:999px;height:3px}.timeline::-moz-range-progress{background:#4cc9f0;border-radius:999px;height:3px;box-shadow:0 0 8px #4cc9f059}.timeline::-moz-range-thumb{cursor:pointer;background:#72f1ff;border:none;border-radius:50%;width:10px;height:10px;box-shadow:0 0 6px #72f1ff,0 0 14px #4cc9f0bf,0 0 24px #3a86ff59}@media (width<=800px){.brand{top:22px;left:22px}.brand h1{letter-spacing:.28em;font-size:17px}.brand p{font-size:9px}.controls{gap:8px;top:20px;right:20px}.upload{min-height:38px;padding:0 12px;font-size:9px}.note-count{display:none}.transport{gap:10px;width:calc(100% - 40px);bottom:12px}.time{min-width:36px;font-size:10px}}.webgl-unsupported-container{color:#fff;background:radial-gradient(circle,#0f1628 0%,#050811 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.webgl-unsupported-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1424d9;border:1px solid #00f0ff33;border-radius:12px;max-width:520px;padding:32px 36px;box-shadow:0 16px 40px #0009}.webgl-unsupported-card .brand{margin-bottom:24px;position:static}.webgl-unsupported-body h2{color:#fa0;letter-spacing:.5px;margin-bottom:12px;font-size:18px;font-weight:600}.webgl-unsupported-body p{color:#9cb3c9;margin-bottom:12px;font-size:13px;line-height:1.55}.webgl-unsupported-sub{color:#728a9e!important;font-size:12px!important}.spectra-theme-background{contain:strict;background:#020207;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.theme-layer{pointer-events:none;contain:strict;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.theme-vignette{z-index:20;pointer-events:none;background:radial-gradient(#0000 38%,#0000051a 62%,#00000770 100%);position:absolute;inset:0}.starspace-theme{background:#020207}.aurora-theme{background:radial-gradient(at 50% 110%,#0891b221,#0000 48%),radial-gradient(at 20% 25%,#0e749012,#0000 45%),linear-gradient(#01030a 0%,#020611 45%,#020713 72%,#010208 100%)}.aurora-stars{pointer-events:none;will-change:transform;background-repeat:repeat;position:absolute;inset:-40px}.aurora-stars-one{opacity:.44;background-image:radial-gradient(circle,#ffffffe0 .65px,#0000 .9px);background-size:44px 44px;animation:55s linear infinite auroraStarDriftOne}.aurora-stars-two{opacity:.22;background-image:radial-gradient(circle,#bae6fdd9 .55px,#0000 .85px);background-position:18px 31px;background-size:72px 72px;animation:75s linear infinite auroraStarDriftTwo}.aurora-glow{filter:blur(58px);pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.aurora-glow-one{opacity:.34;background:#22d3ee40;width:48vw;height:30vh;animation:18s ease-in-out infinite alternate auroraGlowOne;top:5%;left:-8%}.aurora-glow-two{opacity:.29;background:#14b8a638;width:46vw;height:34vh;animation:22s ease-in-out infinite alternate auroraGlowTwo;top:12%;right:-6%}.aurora-glow-three{opacity:.23;background:#3b82f63b;width:42vw;height:28vh;animation:25s ease-in-out infinite alternate auroraGlowThree;top:-5%;left:30%}.aurora-curtain{pointer-events:none;filter:blur(22px);transform-origin:top;will-change:transform;border-radius:45% 55% 50% 50%;width:130%;position:absolute;left:-15%}.aurora-curtain-one{opacity:.3;background:linear-gradient(100deg,#0000 3%,#22d3ee08 17%,#22d3ee61 34%,#67e8f940 48%,#14b8a640 64%,#0000 92%);height:27%;animation:16s ease-in-out infinite alternate auroraCurtainOne;top:-2%}.aurora-curtain-two{opacity:.25;background:linear-gradient(90deg,#0000 6%,#14b8a60a 18%,#2dd4bf4f 38%,#22d3ee3d 59%,#3b82f621 75%,#0000 94%);height:30%;animation:20s ease-in-out infinite alternate auroraCurtainTwo;top:10%}.aurora-curtain-three{opacity:.16;background:linear-gradient(95deg,#0000 8%,#3b82f60a 22%,#3b82f640 44%,#22d3ee2e 64%,#0000 92%);height:25%;animation:24s ease-in-out infinite alternate auroraCurtainThree;top:20%}.aurora-ribbon{pointer-events:none;filter:blur(11px);will-change:transform;border-radius:50%;width:120%;position:absolute;left:-10%}.aurora-ribbon-one{opacity:.28;background:linear-gradient(90deg,#0000 8%,#67e8f90d 24%,#67e8f97a 43%,#2dd4bf45 61%,#0000 90%);height:4%;animation:14s ease-in-out infinite alternate auroraRibbonOne;top:14%}.aurora-ribbon-two{opacity:.2;background:linear-gradient(90deg,#0000 12%,#22d3ee1a 30%,#3b82f65e 51%,#22d3ee26 70%,#0000 91%);height:3%;animation:18s ease-in-out infinite alternate auroraRibbonTwo;top:25%}.aurora-horizon{pointer-events:none;opacity:.42;background:radial-gradient(at bottom,#0891b224 0%,#0e74900f 36%,#0000 70%);height:34%;position:absolute;bottom:-8%;left:0;right:0}.spectra-theme-selector{z-index:30;-webkit-backdrop-filter:blur(6px);background:#02050dd6;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:5px;padding:5px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.spectra-theme-button{color:#ffffff8c;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:8px;outline:none;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:color .18s,background .18s,box-shadow .18s,transform .18s;display:flex}.spectra-theme-button:hover{color:#ffffffe6;background:#ffffff0d}.spectra-theme-button:active{transform:scale(.97)}.spectra-theme-button.active{color:#dffaff;background:#22d3ee1c;box-shadow:inset 0 0 0 1px #67e8f933,0 0 12px #22d3ee0f}.theme-button-icon{opacity:.9;font-size:11px}@keyframes auroraCurtainOne{0%{transform:translate(-3%,-2%)rotate(-5deg)skewY(-5deg)scaleY(.95)}to{transform:translate(5%,4%)rotate(-1deg)skewY(4deg)scaleY(1.1)}}@keyframes auroraCurtainTwo{0%{transform:translate(5%,2%)rotate(3deg)skewY(5deg)scaleY(.97)}to{transform:translate(-5%,-4%)rotate(-1deg)skewY(-4deg)scaleY(1.11)}}@keyframes auroraCurtainThree{0%{transform:translate(-2%)rotate(-2deg)scaleY(1)}to{transform:translate(5%,4%)rotate(2deg)scaleY(1.1)}}@keyframes auroraRibbonOne{0%{transform:translate(-4%,-3%)rotate(-4deg)}to{transform:translate(5%,4%)rotate(2deg)}}@keyframes auroraRibbonTwo{0%{transform:translate(4%,2%)rotate(2deg)}to{transform:translate(-4%,-3%)rotate(-2deg)}}@keyframes auroraGlowOne{0%{transform:translate(-4%,-2%)scale(.96)}to{transform:translate(10%,7%)scale(1.12)}}@keyframes auroraGlowTwo{0%{transform:translate(6%,-4%)scale(.94)}to{transform:translate(-8%,7%)scale(1.13)}}@keyframes auroraGlowThree{0%{transform:translate(-2%,-5%)scale(.98)}to{transform:translate(3%,9%)scale(1.14)}}@keyframes auroraStarDriftOne{0%{transform:translate(0,0)}to{transform:translate(-44px,44px)}}@keyframes auroraStarDriftTwo{0%{transform:translate(0,0)}to{transform:translate(72px,36px)}}@media (width<=700px){.spectra-theme-selector{padding:4px;top:12px;left:50%;transform:translate(-50%)}.spectra-theme-button{padding:7px 9px;font-size:10px}.aurora-glow-three,.aurora-curtain-three,.aurora-ribbon-two,.aurora-stars-two{display:none}}@media (prefers-reduced-motion:reduce){.aurora-stars,.aurora-glow,.aurora-curtain,.aurora-ribbon{animation:none}}
