@font-face{font-family:Sora;src:url(/fonts/Sora-VariableFont_wght.ttf)format("truetype-variations"),url(/fonts/Sora-VariableFont_wght.ttf)format("truetype");font-weight:100 800;font-style:normal;font-display:swap}:root{--blue-50:#f3f0fe;--blue-100:#e6e8ff;--blue-200:#cacdfe;--blue-300:#abaff5;--blue-400:#7a81e9;--blue-500:#5a55eb;--blue-600:#4d11f6;--blue-700:#3e11d8;--blue-800:#2f10b1;--blue-900:#1f0782;--blue-950:#0e0230;--indigo-100:#e4e6fb;--indigo-200:#cacdf6;--indigo-300:#afb3f2;--indigo-400:#959aed;--indigo-500:#7a81e9;--indigo-600:#6369c5;--indigo-700:#4c52a0;--indigo-800:#363a7c;--indigo-900:#1f2357;--indigo-950:#131745;--green-100:#d6f6e7;--green-200:#aeedcf;--green-300:#85e3b8;--green-400:#5ddaa0;--green-500:#34d188;--green-600:#2aa76d;--green-700:#1f7d52;--green-800:#155436;--green-900:#0a2a1b;--amber-100:#ffead8;--amber-200:#ffd5b1;--amber-300:#ffc18a;--amber-400:#ffac63;--amber-500:#ff973c;--amber-600:#d07b30;--amber-700:#a15e24;--amber-800:#714218;--amber-900:#42250c;--red-100:#fdd7dc;--red-200:#fbaeb8;--red-300:#f98695;--red-400:#f75d71;--red-500:#f5354e;--red-600:#c42a3e;--red-700:#94202f;--red-800:#63151f;--red-900:#330b10;--neutral-100:#f2f3f4;--neutral-200:#e5e6e9;--neutral-300:#d9dadd;--neutral-400:#cccdd2;--neutral-500:#bfc1c7;--neutral-600:#a2a4a9;--neutral-700:#84868b;--neutral-800:#67696e;--neutral-900:#494b50;--neutral-950:#3b3d41;--black-100:#ebebed;--black-200:#d9dade;--black-300:#bfc1c7;--black-400:#a6a9b2;--black-500:#878c97;--black-600:#676c7b;--black-700:#4d5364;--black-800:#343b4f;--black-900:#1a2238;--black-950:#020b23;--color-primary:var(--blue-600);--color-primary-hover:var(--blue-700);--color-primary-soft:var(--blue-50);--color-primary-tint:#ede7fe;--color-success:var(--green-500);--color-warning:var(--amber-500);--color-danger:var(--red-500);--color-info:#2d8fff;--text-header:var(--black-950);--text-body:var(--black-900);--text-muted:var(--black-800);--text-subdued:var(--black-600);--text-disabled:var(--black-500);--text-placeholder:var(--black-400);--text-on-primary:#fff;--bg-canvas:#fbfbfb;--bg-surface:#fff;--bg-muted:var(--neutral-100);--bg-disabled:var(--black-100);--border-default:var(--black-300);--border-subtle:var(--black-200);--border-strong:var(--black-700);--border-focus:var(--blue-600);--brand-gradient:linear-gradient(135deg, #4d11f6 0%, #9470f9 100%);--font-display:"Sora", system-ui, -apple-system, sans-serif;--font-body:"Sora", system-ui, -apple-system, sans-serif;--display-2xl:60px;--display-2xl-lh:72px;--display-xl:48px;--display-xl-lh:58px;--display-lg:30px;--display-lg-lh:36px;--display-md:24px;--display-md-lh:32px;--display-sm:18px;--display-sm-lh:28px;--display-xs:16px;--display-xs-lh:24px;--body-lg:18px;--body-lg-lh:28px;--body-md:16px;--body-md-lh:24px;--body-sm:14px;--body-sm-lh:20px;--body-xs:12px;--body-xs-lh:16px;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-pill:500px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #020b230a;--shadow-sm:0 2px 3px 0 #020b230d;--shadow-md:0 4px 10px 0 #020b230f;--shadow-lg:0 8px 24px 0 #020b2314;--shadow-xl:0 16px 40px 0 #020b231a;--shadow-focus:0 0 0 4px #4d11f62e}body,.text-body{font-family:var(--font-body);color:var(--text-body)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.display-2xl{font:var(--fw-bold) var(--display-2xl)/var(--display-2xl-lh) var(--font-display);letter-spacing:-.02em;color:var(--text-header)}.display-xl{font:var(--fw-bold) var(--display-xl)/var(--display-xl-lh) var(--font-display);letter-spacing:-.02em;color:var(--text-header)}.display-lg{font:var(--fw-bold) var(--display-lg)/var(--display-lg-lh) var(--font-body);letter-spacing:-.01em;color:var(--text-header)}.display-md{font:var(--fw-bold) var(--display-md)/var(--display-md-lh) var(--font-body);color:var(--text-header)}.display-sm{font:var(--fw-bold) var(--display-sm)/var(--display-sm-lh) var(--font-body);color:var(--text-header)}.display-xs{font:var(--fw-bold) var(--display-xs)/var(--display-xs-lh) var(--font-body);color:var(--text-header)}.body-lg{font:var(--fw-regular) var(--body-lg)/var(--body-lg-lh) var(--font-body);color:var(--text-body)}.body-md{font:var(--fw-regular) var(--body-md)/var(--body-md-lh) var(--font-body);color:var(--text-body)}.body-sm{font:var(--fw-regular) var(--body-sm)/var(--body-sm-lh) var(--font-body);color:var(--text-body)}.body-xs{font:var(--fw-regular) var(--body-xs)/var(--body-xs-lh) var(--font-body);color:var(--text-muted)}.text-muted{color:var(--text-muted)}.text-subdued{color:var(--text-subdued)}.text-header{color:var(--text-header)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-canvas);color:var(--text-body);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--fw-medium);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:8px 12px;font-size:14px;line-height:20px;text-decoration:none;transition:background-color .12s,border-color .12s,box-shadow .12s,color .12s;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{cursor:not-allowed;opacity:1}.btn-xs{border-radius:var(--radius-xs);padding:4px 8px;font-size:12px;line-height:16px}.btn-sm{padding:6px 10px;font-size:14px;line-height:20px}.btn-md{padding:8px 12px;font-size:14px;line-height:20px}.btn-lg{border-radius:var(--radius-md);padding:10px 16px;font-size:16px;line-height:24px}.btn-xl{border-radius:var(--radius-md);padding:12px 20px;font-size:16px;line-height:24px}.btn-solid{background:var(--color-primary);color:#fff}.btn-solid:hover{background:var(--color-primary-hover)}.btn-solid:active{background:var(--blue-800)}.btn-solid:disabled{background:var(--black-200);color:var(--text-disabled)}.btn-solid.success{background:var(--green-500)}.btn-solid.success:hover{background:var(--green-600)}.btn-solid.danger{background:var(--red-500)}.btn-solid.danger:hover{background:var(--red-600)}.btn-solid.warning{background:var(--amber-500)}.btn-solid.warning:hover{background:var(--amber-600)}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:#fff}.btn-outline:hover{background:var(--color-primary-soft)}.btn-outline:disabled{color:var(--text-disabled);border-color:var(--border-subtle);background:#fff}.btn-secondary{color:var(--text-body);border-color:var(--border-default);background:#fff}.btn-secondary:hover{background:var(--neutral-100)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover{background:var(--color-primary-soft)}.btn-text{color:var(--color-primary);background:0 0;padding-left:4px;padding-right:4px}.btn-text:hover{color:var(--color-primary-hover);text-decoration:underline}.btn-icon{aspect-ratio:1;padding:8px}.btn-icon.btn-sm{padding:6px}.btn-icon.btn-lg{padding:10px}.badge{font-family:var(--font-body);font-weight:var(--fw-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:12px;line-height:16px;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-primary{background:var(--color-primary-tint);color:var(--blue-700)}.badge-success{background:var(--green-100);color:var(--green-700)}.badge-warning{background:var(--amber-100);color:var(--amber-700)}.badge-danger{background:var(--red-100);color:var(--red-700)}.badge-info{color:#1e5fb8;background:#dcebff}.badge-neutral{background:var(--neutral-100);color:var(--black-800)}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-size:14px;line-height:20px;font-weight:var(--fw-medium);color:var(--text-body)}.input-description{color:var(--text-subdued);font-size:12px;line-height:16px}.input{border:1px solid var(--border-default);border-radius:var(--radius-sm);font:400 14px/20px var(--font-body);color:var(--text-body);background:#fff;align-items:center;width:100%;padding:8px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.input::placeholder{color:var(--text-placeholder)}.input:hover{border-color:var(--black-400)}.input:focus,.input:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.input:disabled,.input.disabled{background:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font:var(--fw-bold) 16px/24px var(--font-body);color:var(--text-header);margin:0}.card-description{font:400 14px/20px var(--font-body);color:var(--text-muted);margin:0}.card-footer{border-top:1px solid var(--border-subtle);gap:8px;margin-top:16px;padding-top:16px;display:flex}.banner{border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 16px;font-size:14px;line-height:20px;display:flex}.banner-info{color:#1e5fb8;background:#e7f1ff}.banner-success{background:var(--green-100);color:var(--green-700)}.banner-warning{background:var(--amber-100);color:var(--amber-700)}.banner-danger{background:var(--red-100);color:var(--red-700)}.banner-brand{background:var(--color-primary-tint);color:var(--blue-700)}.banner-icon{flex-shrink:0;padding-top:1px;line-height:1}.banner-title{font-weight:var(--fw-semibold)}.divider{background:var(--border-subtle);border:0;height:1px;margin:16px 0}.tooltip{background:var(--black-950);color:#fff;border-radius:var(--radius-xs);box-shadow:var(--shadow-md);padding:6px 10px;font-size:12px;line-height:16px;display:inline-block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}h1,h2,h3{color:var(--text-header);font-weight:var(--fw-bold);margin:0}.player-cursor-ring{background:var(--indigo-500);opacity:.5;border-radius:50%;width:8px;height:8px;margin-top:-4px;margin-left:-4px;animation:1.6s ease-out infinite player-pulse;position:absolute;top:1px;left:1px}@keyframes player-pulse{0%{transform:scale(.6);box-shadow:0 0 #7a81e980}70%{transform:scale(1.4);box-shadow:0 0 0 10px #7a81e900}to{transform:scale(1.4);box-shadow:0 0 #7a81e900}}.step-row-actions{opacity:0;transition:opacity .12s}.step-row:hover .step-row-actions,.step-row:focus-within .step-row-actions{opacity:1}.lib-row:hover{background:var(--bg-muted)}.lib-row-actions{opacity:0;transition:opacity .12s}.lib-row:hover .lib-row-actions,.lib-row-actions:focus-visible{opacity:1}.player-zoom-stage{animation:.42s cubic-bezier(.2,.8,.2,1) .22s both player-zoom-in}@keyframes player-zoom-in{0%{transform-origin:50%;filter:blur(10px);opacity:0;transform:scale(1)}to{transform:scale(var(--zoom-scale,1));transform-origin:var(--zoom-cx,50%) var(--zoom-cy,50%);filter:blur();opacity:1}}.player-zoom-pan{transform:scale(var(--zoom-scale,1));transform-origin:var(--zoom-cx,50%) var(--zoom-cy,50%);transition:transform .48s cubic-bezier(.2,.8,.2,1)}.signin-hero{display:flex}.signin-fallback{display:none}@media (width<=860px){.signin-hero{display:none}.signin-fallback{display:flex}}.signin-cursor{animation:7s ease-in-out infinite signin-cursor-loop}.signin-hotspot{animation:7s ease-in-out infinite signin-hotspot-loop}.signin-tooltip{animation:7s ease-in-out infinite signin-tooltip-loop}@keyframes signin-cursor-loop{0%,8%{top:34%;left:66%}26%,62%{top:74%;left:20%}80%,to{top:34%;left:66%}}@keyframes signin-hotspot-loop{0%,14%{opacity:0}24%,66%{opacity:1}78%,to{opacity:0}}@keyframes signin-tooltip-loop{0%,24%{opacity:0;transform:translateY(8px)}36%,64%{opacity:1;transform:translateY(0)}76%,to{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.signin-cursor,.signin-hotspot,.signin-tooltip{animation:none}.signin-cursor{top:74%;left:20%}.signin-hotspot,.signin-tooltip{opacity:1}}.player-tooltip-in{animation:.26s ease-out .5s both player-tooltip-in}@keyframes player-tooltip-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
