:root{--color-brand:#e74c3c;--color-ink:#17171c;--color-ink-light:#2a2a33;--gradient-ink:linear-gradient(135deg,var(--color-ink) 0%,var(--color-ink-light) 100%);--color-text:#1f1f25;--color-text-secondary:#5c5c66;--color-text-faint:#9a9aa4;--color-label:#3d3d46;--color-surface:#fff;--color-surface-alt:#f6f6f8;--color-surface-dim:#f1f1f4;--color-surface-hover:#efeff3;--color-surface-pressed:#e4e4ea;--color-video-bg:#000;--color-dark:#1a1a1a;--color-dark-raised:#2a2a2a;--gradient-dark:linear-gradient(135deg,#2c2c2c,var(--color-dark));--color-border:#e6e6eb;--color-border-light:#f0f0f3;--color-border-input:#d6d6dd;--color-gray:#6c757d;--color-gray-dark:#5a6268;--color-gray-tint:#6c757d1a;--color-gray-cool:#bdc3c7;--color-gray-light:#ccc;--color-silver:#95a5a6;--color-silver-dark:#7f8c8d;--color-success:#28a745;--color-success-dark:#218838;--color-success-bg:#d4edda;--color-success-text:#155724;--color-success-faint:#28a7450d;--color-success-tint:#28a7451a;--color-success-tint-strong:#28a74533;--color-warning:#ffc107;--color-warning-dark:#e0a800;--color-warning-bg:#fff3cd;--color-warning-text:#856404;--color-warning-tint:#ffc10733;--color-danger:#e67e22;--color-danger-dark:#d35400;--color-danger-bright:#ff4d4d;--color-error:#dc3545;--color-error-bg:#f8d7da;--color-error-text:#721c24;--color-error-border:#f5c6cb;--color-info:#17a2b8;--color-info-dark:#138496;--color-info-bg:#e8f4f8;--color-info-border:#bee5eb;--color-info-badge-bg:#d1ecf1;--color-info-badge-text:#0c5460;--color-gold:#f0c040;--color-gold-dark:#d4a520;--color-amber:#f39c12;--gradient-featured:linear-gradient(135deg,var(--color-amber),var(--color-danger));--color-accent-blue:#3498db;--color-variation-bg:#f1f8ff;--scrim-95:#000000f2;--scrim-90:#000000e6;--scrim-85:#000000d9;--scrim-80:#000c;--scrim-70:#000000b3;--scrim-60:#0009;--scrim-50:#00000080;--scrim-30:#0000004d;--scrim-05:#0000000d;--white-a90:#ffffffe6;--white-a80:#fffc;--white-a70:#ffffffb3;--white-a60:#fff9;--white-a50:#ffffff80;--white-a30:#ffffff4d;--white-a20:#fff3;--white-a10:#ffffff1a;--white-a05:#ffffff0d;--color-page-bg:#fbfbfc;--nav-bg:#fbfbfcc7;--skeleton-shimmer:#fff9;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-display:"Plus Jakarta Sans",var(--font-body);--font-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.25rem;--text-display:2.75rem;--text-display-lg:3.5rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-pill:999px;--radius-full:50%;--shadow-1:0 1px 2px #1010180d,0 1px 3px #1010180d;--shadow-2:0 6px 16px -4px #1010181a,0 2px 4px -2px #1010180f;--shadow-3:0 20px 44px -12px #10101838,0 4px 10px -4px #10101814;--shadow-modal:0 20px 60px #00000080;--shadow-dropdown:0 4px 12px #0006;--ease-out:cubic-bezier(0.2,0.8,0.2,1)}.public-shell,:root{--color-brand-dark:color-mix(in srgb,var(--color-brand) 82%,#000);--color-brand-faint:color-mix(in srgb,var(--color-brand) 5%,#0000);--color-brand-soft:color-mix(in srgb,var(--color-brand) 10%,#0000);--color-brand-tint:color-mix(in srgb,var(--color-brand) 22%,#0000);--color-brand-overlay:color-mix(in srgb,var(--color-brand) 90%,#0000);--gradient-brand:linear-gradient(135deg,var(--color-brand),var(--color-brand-dark));--shadow-brand:0 6px 18px -6px var(--color-brand-overlay);--ring:0 0 0 3px var(--color-brand-tint)}.theme-dark{--color-page-bg:#0f0f13;--nav-bg:#0f0f13c7;--skeleton-shimmer:#ffffff12;--color-surface:#1d1d24;--color-surface-alt:#26262f;--color-surface-dim:#17171d;--color-surface-hover:#2e2e39;--color-surface-pressed:#3a3a47;--color-text:#f1f1f4;--color-text-secondary:#b6b6c2;--color-text-faint:#87878f;--color-label:#c8c8d2;--color-ink:#ececf2;--color-ink-light:#c9c9d6;--color-border:#34343f;--color-border-light:#2c2c35;--color-border-input:#43434f;--color-gray-tint:#ffffff14;--color-variation-bg:#1f242d;--color-success-bg:#28a74529;--color-success-text:#6fdb96;--color-warning-bg:#ffc10724;--color-warning-text:#ffd75e;--color-error-bg:#dc354529;--color-error-text:#ff8a93;--color-error-border:#dc354559;--color-info-bg:#17a2b81f;--color-info-border:#17a2b84d;--color-info-badge-bg:#17a2b82e;--color-info-badge-text:#7fd9e8;--scrim-05:#ffffff0f;--shadow-1:0 2px 4px #0006;--shadow-2:0 6px 16px #00000080;--shadow-3:0 12px 32px #0009;color-scheme:dark}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;letter-spacing:-.005em;line-height:1.25;padding:.625rem 1.125rem;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn-primary{background-color:var(--color-brand);box-shadow:var(--shadow-brand);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-dark);color:#fff;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-surface);box-shadow:var(--shadow-1)}.btn-secondary,.btn-secondary:hover:not(:disabled){border-color:var(--color-border-input);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover)}.btn-outline{background-color:initial;border-color:var(--color-brand);color:var(--color-brand)}.btn-outline:hover:not(:disabled){background-color:var(--color-brand-soft);color:var(--color-brand)}.btn-ghost{background-color:initial;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-warning{background-color:var(--color-warning);color:var(--color-text)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark)}.btn-small{border-radius:var(--radius-sm);font-size:var(--text-xs);padding:.4375rem .875rem}.btn-large{border-radius:var(--radius-lg);font-size:var(--text-base);padding:.8125rem 1.5rem}@media (max-width:768px){.btn,.btn-small{min-height:44px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);font-family:var(--font-body);line-height:1.5;margin:0}code{font-family:var(--font-mono)}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.public-shell .main-content{animation:page-enter .25s ease}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.demo-welcome{background:radial-gradient(48rem 24rem at 0 0,var(--color-brand-soft),#0000 65%),radial-gradient(36rem 20rem at 100% 100%,color-mix(in srgb,var(--color-gold) 12%,#0000),#0000 70%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2);margin:var(--space-2) 0 var(--space-7);overflow:hidden;padding:var(--space-7) var(--space-6);position:relative}.demo-eyebrow{background:var(--color-brand-soft);border-radius:var(--radius-pill);color:var(--color-brand);display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:5px 12px;text-transform:uppercase}.main-content .demo-welcome h1{margin:var(--space-4) 0 var(--space-3);max-width:22ch}.demo-lede{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.6;margin:0 0 var(--space-6);max-width:62ch}.demo-roles{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.demo-role-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;padding:var(--space-5);text-align:left;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s ease}.demo-role-card:hover:not(:disabled){border-color:var(--color-brand);box-shadow:var(--shadow-3);transform:translateY(-3px)}.demo-role-card:focus-visible{box-shadow:var(--ring),var(--shadow-2);outline:none}.demo-role-card:disabled{cursor:progress;opacity:.7}.demo-role-icon{background:var(--color-brand-soft);border-radius:var(--radius-md);color:var(--color-brand);display:grid;height:44px;margin-bottom:var(--space-2);place-items:center;width:44px}.demo-role-title{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.demo-role-who{color:var(--color-text-faint);font-size:var(--text-xs);font-weight:600}.demo-role-blurb{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.55;margin-top:4px}.demo-role-cta{color:var(--color-brand);font-size:var(--text-sm);font-weight:700;margin-top:auto;padding-top:var(--space-3)}.demo-error{color:var(--color-error);font-size:var(--text-sm);margin:var(--space-4) 0 0}.demo-footnote{color:var(--color-text-faint);font-size:var(--text-xs);line-height:1.6;margin:var(--space-5) 0 0;max-width:70ch}@media (max-width:768px){.demo-welcome{padding:var(--space-6) var(--space-4)}}.demo-bar{background:var(--color-ink);color:#f4f4f6;font-size:var(--text-sm);position:relative;z-index:101}.demo-bar--sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1002}.demo-bar-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:0 auto;max-width:1200px;padding:8px var(--space-5)}.demo-bar-badge{background:var(--color-brand);border-radius:var(--radius-sm);color:#fff;font-size:.6875rem;font-weight:800;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.demo-bar-who strong{color:#fff}.demo-bar-spacer{flex:1 1}.demo-bar-note{color:#ffffff8c;font-size:var(--text-xs)}.theme-dark .demo-bar-note{color:var(--color-text-faint)}.demo-bar-chip,.demo-bar-link{border:none;cursor:pointer;font:inherit}.demo-bar-link{background:none;color:#fff;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:3px}.demo-bar-switch{align-items:center;color:#ffffffa6;display:inline-flex;gap:6px}.demo-bar-chip{background:#ffffff1f;border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);font-weight:600;padding:4px 10px;transition:background-color .15s ease}.demo-bar-chip:hover:not(:disabled){background:#ffffff38}.demo-bar-chip:focus-visible,.demo-bar-link:focus-visible{outline:2px solid #fff;outline-offset:2px}.demo-bar-tips{color:#ffffffd9;line-height:1.7;margin:0 auto;max-width:1200px;padding:0 var(--space-5) var(--space-3) calc(var(--space-5) + 1.25rem)}.theme-dark .demo-bar{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.plan-required{align-items:center;background:radial-gradient(28rem 12rem at 0 0,var(--color-brand-soft),#0000 70%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;gap:var(--space-4);padding:var(--space-5);text-align:left}.plan-required--compact{padding:var(--space-3) var(--space-4)}.plan-required-icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--radius-full);color:var(--color-brand);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.plan-required-text{flex:1 1;min-width:0}.plan-required-text strong{color:var(--color-ink)}.plan-required-text p{color:var(--color-text-secondary);margin:var(--space-1) 0 0}.locked-video{position:relative}.locked-video-badge{background:var(--scrim-70);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);font-weight:700;left:var(--space-3);letter-spacing:.04em;padding:4px 10px;position:absolute;text-transform:uppercase;top:var(--space-3);z-index:1}@media (max-width:600px){.plan-required{flex-wrap:wrap}}.demo-upload-overlay{align-items:center;background-color:var(--scrim-80);bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1100}.demo-upload-modal{background-color:var(--color-surface);border-radius:var(--radius-xl);max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.demo-upload-close{background:none;border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);position:absolute;right:1rem;top:1rem;transition:background-color .2s}.demo-upload-close:hover{background-color:var(--color-surface-hover)}.demo-upload-header{border-bottom:1px solid var(--color-border-light);padding:var(--space-6) var(--space-6) var(--space-4)}.demo-upload-header h2{color:var(--color-ink);font-size:var(--text-2xl);margin:0 0 var(--space-2)}.demo-upload-move-name{color:var(--color-brand);font-size:var(--text-lg);font-weight:600;margin:0}.demo-upload-form{padding:var(--space-5) var(--space-6) var(--space-6)}.demo-upload-field{margin-bottom:var(--space-5)}.demo-upload-field .demo-upload-field-label,.demo-upload-field label{color:var(--color-ink);display:block;font-weight:500;margin-bottom:var(--space-2)}.demo-upload-field select,.demo-upload-field textarea{border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);padding:var(--space-3);width:100%}.demo-upload-field select:focus,.demo-upload-field textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft);outline:none}.demo-upload-field select.error{border-color:var(--color-brand)}.demo-upload-hint{color:var(--color-text-secondary);display:block;font-size:var(--text-sm);margin-top:var(--space-1)}.demo-upload-dropzone{background-color:var(--color-surface-alt);border:2px dashed var(--color-border-input);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-6);text-align:center;transition:all .2s}.demo-upload-dropzone:hover{background-color:var(--color-surface);border-color:var(--color-brand)}.demo-upload-dropzone:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.demo-upload-dropzone.active{background-color:var(--color-brand-faint);border-color:var(--color-brand)}.demo-upload-dropzone.has-file{background-color:var(--color-success-faint);border-color:var(--color-success);border-style:solid}.demo-upload-placeholder svg{margin-bottom:var(--space-2)}.demo-upload-placeholder p{color:var(--color-text);font-weight:500;margin:0 0 var(--space-1)}.demo-upload-placeholder span{color:var(--color-brand);font-size:var(--text-sm)}.demo-upload-placeholder small{color:var(--color-text-faint);display:block;font-size:var(--text-sm);margin-top:var(--space-2)}.demo-upload-selected{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.demo-upload-filename{color:var(--color-text);font-weight:500;word-break:break-all}.demo-upload-filesize{color:var(--color-text-secondary);font-size:var(--text-sm)}.demo-upload-remove{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-1) var(--space-2)}.demo-upload-remove:hover{text-decoration:underline}.demo-upload-error{background-color:var(--color-warning-bg);border-radius:var(--radius-md);color:var(--color-warning-text);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.demo-upload-actions{display:flex;gap:var(--space-4);margin-top:var(--space-5)}.demo-upload-cancel,.demo-upload-submit{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:500;padding:.875rem var(--space-5);transition:all .2s}.demo-upload-cancel{background-color:var(--color-surface-hover);color:var(--color-text-secondary)}.demo-upload-cancel:hover{background-color:var(--color-surface-pressed)}.demo-upload-submit{background-color:var(--color-brand);color:#fff}.demo-upload-submit:hover:not(:disabled){background-color:var(--color-brand-dark)}.demo-upload-submit:disabled{cursor:not-allowed;opacity:.6}.demo-upload-note{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-4) 0 0;text-align:center}.demo-upload-dancer-name{font-weight:500;margin:var(--space-1) 0}.demo-upload-dancer-loading{margin:var(--space-1) 0;opacity:.6}@media (max-width:480px){.demo-upload-modal{border-radius:0;max-height:100vh}.demo-upload-form,.demo-upload-header{padding-left:var(--space-5);padding-right:var(--space-5)}.demo-upload-actions{flex-direction:column-reverse}}.vp{--vp-accent:var(--color-brand,#e74c3c);-webkit-tap-highlight-color:transparent;background:#000;background:var(--color-video-bg,#000);border-radius:inherit;color:#fff;height:100%;isolation:isolate;outline:none;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;width:100%}.vp:focus-visible{box-shadow:inset 0 0 0 2px var(--vp-accent)}.vp-video{cursor:pointer;display:block;height:100%;object-fit:contain;transition:transform .25s ease;width:100%}.vp--cover .vp-video{object-fit:cover}.vp-video--mirrored{transform:scaleX(-1)}.vp:not(.vp--controls){cursor:none}.vp-bigplay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000073;border:none;border-radius:50%;box-shadow:0 0 0 1px #ffffff2e,0 8px 30px #00000059;color:#fff;cursor:pointer;display:grid;height:72px;inset:0;margin:auto;padding:0 0 0 4px;place-items:center;position:absolute;transition:transform .18s ease,background-color .18s ease;width:72px;z-index:2}.vp-bigplay:hover{background:var(--vp-accent);transform:scale(1.06)}.vp-bigplay:focus-visible{outline:2px solid #fff;outline-offset:3px}.vp-spinner{animation:vp-spin .8s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#fff;height:44px;inset:0;margin:auto;pointer-events:none;position:absolute;width:44px;z-index:2}@keyframes vp-spin{to{transform:rotate(1turn)}}.vp-error{align-items:center;background:#000000bf;color:#ffffffbf;display:flex;flex-direction:column;font-size:.875rem;gap:6px;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center;z-index:3}.vp-error strong{color:#fff;font-size:1rem}.vp-unmute{align-items:center;animation:vp-pop .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:none;color:#fff;cursor:pointer;display:inline-flex;font:600 .8125rem/1 system-ui;font:600 .8125rem/1 var(--font-body,system-ui);gap:6px;left:14px;padding:7px 12px;top:14px}.vp-flash,.vp-unmute{border-radius:999px;position:absolute;z-index:4}.vp-flash{animation:vp-pop .2s ease;background:#000000b3;font:600 .875rem/1 system-ui;font:600 .875rem/1 var(--font-body,system-ui);left:50%;padding:8px 14px;pointer-events:none;top:18%;transform:translateX(-50%)}@keyframes vp-pop{0%{opacity:0;transform:translateX(0) scale(.92);transform:translateX(var(--vp-pop-x,0)) scale(.92)}to{opacity:1;transform:translateX(0) scale(1);transform:translateX(var(--vp-pop-x,0)) scale(1)}}.vp-flash{--vp-pop-x:-50%}.vp-live{background:#e5243b;border-radius:6px;font:700 .75rem/1.2 system-ui;font:700 .75rem/1.2 var(--font-body,system-ui);left:14px;letter-spacing:.06em;padding:4px 10px 4px 22px;position:absolute;text-transform:uppercase;top:14px;z-index:4}.vp-live:before{animation:vp-pulse 1.4s ease-in-out infinite;background:#fff;border-radius:50%;content:"";height:7px;left:9px;margin-top:-3.5px;position:absolute;top:50%;width:7px}@keyframes vp-pulse{50%{opacity:.35}}.vp-controls{background:linear-gradient(0deg,#000000c7,#00000059 60%,#0000);bottom:0;left:0;opacity:0;padding:36px 12px 8px;pointer-events:none;position:absolute;right:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease;z-index:5}.vp--controls .vp-controls{opacity:1;pointer-events:auto;transform:none}.vp-bar{align-items:center;display:flex;gap:2px;min-height:40px}.vp-spacer{flex:1 1}.vp-btn{background:#0000;border:none;border-radius:8px;color:#ffffffeb;cursor:pointer;display:inline-grid;font:600 .8125rem/1 system-ui;font:600 .8125rem/1 var(--font-body,system-ui);height:36px;min-width:36px;padding:0 6px;place-items:center;transition:background-color .15s ease,color .15s ease}.vp-btn:hover{background:#ffffff24;color:#fff}.vp-btn:focus-visible{outline:2px solid #fff;outline-offset:-2px}.vp-btn.is-on{color:var(--vp-accent)}.vp-chip{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0 10px}.vp-chip.is-on{background:var(--vp-accent);color:#fff}.vp-chip.is-on:hover{background:var(--vp-accent);filter:brightness(1.1)}.vp-time{font-feature-settings:"tnum";color:#ffffffe6;font:500 .8125rem/1 system-ui;font:500 .8125rem/1 var(--font-body,system-ui);font-variant-numeric:tabular-nums;margin-left:6px;white-space:nowrap}.vp-time-sep{margin:0 2px;opacity:.5}.vp-speed{position:relative}.vp-menu{animation:vp-menu-in .15s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181cf0;border-radius:12px;bottom:calc(100% + 8px);box-shadow:0 0 0 1px #ffffff1a,0 12px 32px #00000080;display:flex;flex-direction:column;min-width:120px;padding:6px;position:absolute;right:0}@keyframes vp-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.vp-menu-item{background:none;border:none;border-radius:8px;color:#ffffffe0;cursor:pointer;font:500 .875rem/1 system-ui;font:500 .875rem/1 var(--font-body,system-ui);padding:9px 12px;text-align:left}.vp-menu-item:focus-visible,.vp-menu-item:hover{background:#ffffff1a;outline:none}.vp-menu-item.is-on{color:#fff;font-weight:700}.vp-menu-item.is-on:after{color:var(--vp-accent);content:"✓";float:right}.vp-track{align-items:center;cursor:pointer;display:flex;height:18px;margin:0 6px 2px;outline:none;position:relative;touch-action:none}.vp-track-rail{background:#ffffff3d;border-radius:999px;height:4px;overflow:hidden;position:relative;transition:height .15s ease;width:100%}.vp-track:focus-visible .vp-track-rail,.vp-track:hover .vp-track-rail{height:6px}.vp-track-buffered,.vp-track-played,.vp-track-section{bottom:0;left:0;position:absolute;top:0}.vp-track-buffered{background:#ffffff59}.vp-track-played{background:var(--vp-accent)}.vp-track-section{background:#ffffffd9;z-index:1}.vp-track-section.is-active{background:repeating-linear-gradient(-45deg,#ffd60abf 0 4px,#ffd60a73 4px 8px)}.vp-track-thumb{background:#fff;border-radius:50%;box-shadow:0 0 0 3px var(--vp-accent),0 2px 6px #0006;height:14px;margin:-7px 0 0 -7px;pointer-events:none;position:absolute;top:50%;transform:scale(0);transition:transform .15s ease;width:14px;z-index:2}.vp-track:focus-visible .vp-track-thumb,.vp-track:hover .vp-track-thumb{transform:scale(1)}.vp-track:focus-visible .vp-track-rail{box-shadow:0 0 0 2px #fff9}.vp-track-tooltip{font-feature-settings:"tnum";background:#000000d9;border-radius:6px;bottom:22px;font:600 .75rem/1 system-ui;font:600 .75rem/1 var(--font-body,system-ui);font-variant-numeric:tabular-nums;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.vp--fullscreen{border-radius:0}@media (max-width:560px){.vp-btn--hide-sm{display:none}.vp-bar{gap:0}.vp-btn{min-width:34px}}.vp--compact .vp-controls{padding:28px 8px 4px}@media (hover:none){.vp-track-thumb{transform:scale(1)}.vp-track-rail{height:5px}}@media (prefers-reduced-motion:reduce){.vp-bigplay,.vp-controls,.vp-video{transition:none}}.media-dialog-overlay{align-items:center;animation:media-dialog-fade .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08080ce0;display:flex;inset:0;justify-content:center;padding:var(--space-5);position:fixed;z-index:1000}@keyframes media-dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes media-dialog-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.media-dialog{animation:media-dialog-rise .25s cubic-bezier(.2,.8,.2,1);background:#0d0d11;border-radius:20px;border-radius:var(--radius-2xl,20px);box-shadow:0 0 0 1px #ffffff14,var(--shadow-modal);color:#f2f2f5;display:grid;grid-template-columns:minmax(0,1fr) 340px;height:min(720px,calc(100dvh - var(--space-5)*2));outline:none;overflow:hidden;position:relative;width:min(1180px,100%)}.media-dialog:not(:has(.media-dialog-panel)){grid-template-columns:minmax(0,1fr)}.media-dialog-stage{background:#000;min-height:0;min-width:0;position:relative}.media-dialog-close{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:grid;height:40px;place-items:center;position:absolute;right:14px;top:14px;transition:background-color .15s ease,transform .15s ease;width:40px;z-index:20}.media-dialog-close:hover{background:#ffffff2e;transform:scale(1.05)}.media-dialog-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.media-dialog-panel{background:linear-gradient(180deg,#16161c,#101015);border-left:1px solid #ffffff12;display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;padding:var(--space-6) var(--space-5) var(--space-5)}.media-dialog .media-dialog-panel h2,.media-dialog .media-dialog-panel h3{color:#fff;font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;line-height:1.2;margin:0;padding-right:44px}.media-dialog .media-dialog-panel p{color:#ffffffb8;font-size:var(--text-sm);line-height:1.6;margin:0}.media-dialog-eyebrow{align-items:center;align-self:flex-start;background:var(--color-brand-tint);border-radius:var(--radius-pill);color:#fff;display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:6px;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.media-dialog-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.media-dialog-tags span{background:#ffffff14;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px #ffffff14;color:#ffffffdb;font-size:var(--text-xs);font-weight:600;padding:5px 11px}.media-dialog-counts{font-feature-settings:"tnum";align-items:baseline;background:#ffffff0d;border-radius:var(--radius-lg);display:flex;font-variant-numeric:tabular-nums;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.media-dialog-counts dt{color:#ffffff80;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.media-dialog-counts dd{color:#fff;font-weight:600;margin:0}.media-dialog-person{align-items:center;display:flex;gap:var(--space-3);padding-right:44px}.media-dialog-avatar{background:var(--gradient-brand);border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-weight:700;height:44px;object-fit:cover;place-items:center;width:44px}.media-dialog-person strong{color:#fff;display:block;font-size:var(--text-base)}.media-dialog-person small{color:#ffffff8c;font-size:var(--text-xs)}.media-dialog-quote{border-left:3px solid var(--color-brand);font-style:italic;padding-left:var(--space-3)}.media-dialog-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto}.media-dialog-actions .btn{flex:1 1}.media-dialog-hint{color:#fff6;font-size:var(--text-xs);line-height:1.7;margin-top:auto}.media-dialog-hint kbd{background:#ffffff1a;border-radius:4px;color:#ffffffbf;display:inline-block;font:600 .6875rem/1.4 var(--font-mono);min-width:1.6em;padding:1px 5px;text-align:center}.media-dialog-actions+.media-dialog-hint{margin-top:0}@media (hover:none){.media-dialog-hint{display:none}}@media (max-width:900px){.media-dialog-overlay{align-items:stretch;padding:0}.media-dialog{border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:100dvh;width:100%}.media-dialog-stage{padding-top:env(safe-area-inset-top,0)}.media-dialog-close{top:calc(12px + env(safe-area-inset-top, 0px))}.media-dialog-panel{border-left:none;border-top:1px solid #ffffff12;max-height:42dvh;padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom, 0px))}.media-dialog .media-dialog-panel h2,.media-dialog .media-dialog-panel h3{font-size:var(--text-xl);padding-right:0}.media-dialog-person{padding-right:0}}.video-thumbnail-container{appearance:none;-webkit-appearance:none;background-color:var(--color-dark);border:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:inherit;cursor:pointer;display:block;font:inherit;height:200px;margin:-1.5rem -1.5rem var(--space-4) -1.5rem;overflow:hidden;padding:0;position:relative;text-align:inherit;width:calc(100% + 3rem)}.thumbnail-video{height:100%;object-fit:cover;object-position:center 25%;opacity:0;transition:opacity .3s ease;width:100%}.thumbnail-video.loaded{opacity:1}.thumbnail-image{object-position:center 25%}.thumbnail-loading{align-items:center;background:var(--gradient-dark);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.thumbnail-loading-silhouette{animation:salsa-pulse 1.5s ease-in-out infinite;filter:brightness(0) invert(1) opacity(.5);height:60px;object-fit:contain;width:60px}@keyframes salsa-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.thumbnail-fallback{background:var(--gradient-brand);bottom:0;color:var(--white-a80);left:0;right:0;top:0}.thumbnail-fallback,.video-thumbnail-container .play-overlay{align-items:center;display:flex;justify-content:center;position:absolute}.video-thumbnail-container .play-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--scrim-60);border-radius:var(--radius-full);height:60px;left:50%;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:60px}.video-thumbnail-container .play-overlay svg{margin-left:4px}.video-thumbnail-container:hover .play-overlay{background-color:var(--color-brand-overlay);transform:translate(-50%,-50%) scale(1.1)}.breakdown-rows{display:flex;flex-direction:column;gap:var(--space-5)}.breakdown-role-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.breakdown-row-header{align-items:baseline;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.breakdown-row-header h5{color:var(--color-text-secondary);font-family:var(--font-display);font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.breakdown-row-count{color:var(--color-text-faint);font-size:.75rem}.breakdown-row{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-1) var(--space-1) var(--space-3);scroll-snap-type:x mandatory;scrollbar-width:thin}.breakdown-clip{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:inherit;cursor:pointer;flex:0 0 auto;font:inherit;margin:0;overflow:hidden;padding:0;scroll-snap-align:start;text-align:left;transition:box-shadow .15s ease,transform .15s ease;width:210px}.breakdown-clip:focus-visible,.breakdown-clip:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.breakdown-clip-thumb{aspect-ratio:16/9;background:#111;background:var(--color-video-bg,#111);position:relative}.breakdown-clip-thumb img{display:block;height:100%;object-fit:cover;width:100%}.breakdown-clip-play{align-items:center;background:#00000040;color:#fff;display:flex;font-size:1.1rem;inset:0;justify-content:center;opacity:.9;position:absolute;transition:opacity .15s ease}.breakdown-clip:hover .breakdown-clip-play{background:#00000059;opacity:1}.breakdown-clip-info{padding:var(--space-2) var(--space-3) var(--space-3)}.breakdown-clip-title{color:var(--color-text);font-weight:600;margin-bottom:var(--space-1)}.breakdown-clip-meta{display:flex;flex-wrap:wrap;gap:var(--space-1)}.breakdown-chip{background:var(--color-surface-dim);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:.7rem;padding:1px var(--space-2)}.breakdown-chip-counts{background:var(--color-brand-tint);color:var(--color-brand-dark);font-weight:600}.breakdown-chip-partner{background:var(--color-info-badge-bg);color:var(--color-info-badge-text)}@media (max-width:600px){.breakdown-clip{width:172px}}.fb-thread{border-top:1px solid #ffffff14;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.media-dialog .fb-thread-title{align-items:center;color:#ffffff8c;display:flex;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;gap:var(--space-2);letter-spacing:.08em;margin:0;text-transform:uppercase}.fb-thread-count{background:#ffffff1a;border-radius:var(--radius-pill);color:#fff;letter-spacing:0;padding:1px 7px}.media-dialog .fb-thread-empty{color:#ffffff73}.fb-thread-list{flex-direction:column;list-style:none;margin:0;padding:0}.fb-item,.fb-thread-list{display:flex;gap:var(--space-3)}.fb-avatar{background:#ffffff1f;border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-size:var(--text-xs);font-weight:700;height:30px;place-items:center;width:30px}.fb-item--coach .fb-avatar{background:var(--color-brand)}.fb-body{background:#ffffff0f;border-radius:4px var(--radius-md) var(--radius-md) var(--radius-md);flex:1 1;min-width:0;padding:10px 12px}.fb-item--coach .fb-body{background:color-mix(in srgb,var(--color-brand) 16%,#ffffff0a)}.fb-meta{align-items:baseline;display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:6px;margin-bottom:2px}.fb-meta strong{color:#fff;font-size:var(--text-sm)}.fb-meta time{color:#fff6}.fb-coach-tag{background:var(--color-brand);border-radius:var(--radius-sm);color:#fff;font-size:.625rem;font-weight:800;letter-spacing:.06em;padding:1px 6px;text-transform:uppercase}.media-dialog .fb-body p{color:#ffffffd9;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.fb-compose{display:flex;flex-direction:column;gap:var(--space-2)}.media-dialog .fb-compose textarea{background:#ffffff0d;border:1px solid #ffffff24;border-radius:var(--radius-md);box-sizing:border-box;color:#fff;font:inherit;font-size:var(--text-sm);min-height:72px;padding:10px 12px;resize:vertical;width:100%}.media-dialog .fb-compose textarea::placeholder{color:#fff6}.media-dialog .fb-compose textarea:focus{border-color:var(--color-brand);box-shadow:var(--ring);outline:none}.fb-compose-row{align-items:center;display:flex;gap:var(--space-3);justify-content:flex-end}.fb-error{color:#ff8a93;font-size:var(--text-xs);margin-right:auto}.demonstration-card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);overflow:hidden;transition:transform .2s,box-shadow .2s}.demonstration-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.demonstration-info{padding:var(--space-4)}.demonstration-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2)}.dancer-info{align-items:center;display:flex;gap:var(--space-2)}.dancer-avatar{height:32px;width:32px}.dancer-avatar-placeholder{background:var(--gradient-brand);height:32px;width:32px}.dancer-avatar-placeholder,.dancer-name{font-size:var(--text-sm);font-weight:600}.dancer-name{color:var(--color-text)}.featured-badge{background:var(--gradient-featured);border-radius:var(--radius-xl);color:#fff;font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;padding:var(--space-1) var(--space-3);text-transform:uppercase}.demonstration-move{color:var(--color-brand);font-size:var(--text-base);font-weight:600;margin:var(--space-2) 0}.demonstration-caption{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.4;margin:var(--space-2) 0}.demonstration-meta{color:var(--color-text-faint);display:flex;font-size:var(--text-sm);gap:var(--space-4);margin-top:var(--space-3)}.feedback-count{color:var(--color-brand)}.demonstrations-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:var(--space-4)}.featured-demonstration{grid-column:1/-1;margin:0 auto var(--space-6);max-width:500px}.featured-demonstration .demonstration-card{border:2px solid var(--color-brand);box-shadow:var(--shadow-brand)}.no-demonstrations{background-color:var(--color-surface-alt);border:2px dashed var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-faint);padding:var(--space-7);text-align:center}.no-demonstrations h3{color:var(--color-text-secondary);margin:0 0 var(--space-2)}.no-demonstrations p{margin:0}.coach-page{margin:0 auto;max-width:1080px}.coach-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.main-content .coach-header h1{margin:0 0 var(--space-1)}.coach-sub{color:var(--color-text-secondary);margin:0}.coach-tabs{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-pill);display:inline-flex;padding:4px}.coach-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:600 var(--text-sm) /1 var(--font-body);gap:6px;padding:7px 14px}.coach-tab.is-on{background:var(--color-surface);box-shadow:var(--shadow-1);color:var(--color-text)}.coach-tab:focus-visible{box-shadow:var(--ring);outline:none}.coach-tab-count{background:var(--color-brand);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);min-width:18px;padding:1px 6px;text-align:center}.coach-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.coach-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);display:flex;flex-direction:column;overflow:hidden}.coach-card.is-awaiting{box-shadow:inset 0 3px 0 var(--color-brand),var(--shadow-1)}.coach-card .video-thumbnail-container{border-radius:0;margin:0;width:100%}.coach-card-body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5)}.coach-card-top{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.coach-card-dancer{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.coach-status{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;padding:2px 9px}.coach-status.is-awaiting{background:var(--color-brand-soft);color:var(--color-brand)}.coach-status.is-done{background:var(--color-success-tint);color:var(--color-success-text)}.main-content .coach-card-title{font-size:var(--text-lg);margin:0}.coach-card-title a{color:var(--color-ink);text-decoration:none}.coach-card-title a:hover{color:var(--color-brand)}.coach-card-caption{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;line-height:1.5;margin:0}.coach-card-cta{align-self:flex-start;margin-top:auto}.lp{background:var(--color-page-bg);color:var(--color-text);font-family:var(--font-body);min-height:100vh;text-align:left}.lp h1,.lp h2,.lp h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em}.lp-container{box-sizing:border-box;margin:0 auto;max-width:1160px;padding:0 var(--space-5);width:100%}.lp-btn-lg{font-size:var(--text-base);padding:.85rem 1.4rem}.lp-header{-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);background:var(--nav-bg);border-bottom:1px solid var(--color-border-light);position:-webkit-sticky;position:sticky;top:0;z-index:10}.lp-header-row{align-items:center;display:flex;height:64px;justify-content:space-between}.lp-logo{color:var(--color-brand);font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em;text-decoration:none}.lp-nav{align-items:center;display:flex;gap:var(--space-5)}.lp-nav-link{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;text-decoration:none}.lp-nav-link:hover{color:var(--color-ink)}.lp-hero{background:radial-gradient(52rem 26rem at 0 0,var(--color-brand-soft),#0000 65%),radial-gradient(40rem 22rem at 100% 30%,color-mix(in srgb,var(--color-gold) 12%,#0000),#0000 70%);padding:var(--space-8) 0 var(--space-7)}.lp-hero-grid{grid-gap:var(--space-7);align-items:center;display:grid;gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.lp-eyebrow{background:var(--color-brand-soft);border-radius:var(--radius-pill);color:var(--color-brand);display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:5px 12px;text-transform:uppercase}.lp-hero h1{font-size:var(--text-display-lg);line-height:1.05;margin:var(--space-4) 0 var(--space-4);max-width:14ch}.lp-lede{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.6;margin:0 0 var(--space-6);max-width:54ch}.lp-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.lp-hero-note{color:var(--color-text-faint);font-size:var(--text-sm);margin:var(--space-4) 0 0}.lp-hero-visual{padding-bottom:var(--space-6);position:relative}.lp-frame{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);margin:0;overflow:hidden}.lp-frame img{display:block;height:auto;width:100%}.lp-frame--phone{border:6px solid var(--color-ink);border-radius:26px;bottom:-8px;position:absolute;right:-28px;width:22%}.lp-section{padding:var(--space-8) 0}.lp-section--alt{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);border-top:1px solid var(--color-border-light)}.lp-section-title{font-size:var(--text-4xl);line-height:1.15;margin:var(--space-3) 0 var(--space-3)}.lp-section-lede{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.6;margin:0 0 var(--space-6);max-width:60ch}.lp-features{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.lp-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);padding:var(--space-5)}.lp-feature-icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--radius-md);color:var(--color-brand);display:inline-flex;height:40px;justify-content:center;width:40px}.lp-feature h3,.lp-step h3{font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2)}.lp-feature p,.lp-step p{color:var(--color-text-secondary);line-height:1.6;margin:0}.lp-split{grid-gap:var(--space-7);align-items:center;display:grid;gap:var(--space-7);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.lp-split .lp-section-lede{margin-bottom:0}.lp-steps{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:var(--space-5) 0 0;padding:0}.lp-step-num{align-items:center;background:var(--color-ink);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-weight:700;height:36px;justify-content:center;width:36px}.lp-demo-band{align-items:center;display:flex;gap:var(--space-6);justify-content:space-between}.lp-demo-band .lp-section-lede{margin-bottom:0}.lp-contact{grid-gap:var(--space-7);align-items:start;display:grid;gap:var(--space-7);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.lp-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2);padding:var(--space-6)}.lp-form{display:flex;flex-direction:column;gap:var(--space-4)}.lp-form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.lp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.lp-field label{color:var(--color-label);font-size:var(--text-sm);font-weight:600}.lp-optional{color:var(--color-text-faint);font-weight:400}.lp-field input,.lp-field select,.lp-field textarea{background:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--text-base);padding:.7rem .85rem;width:100%}.lp-field textarea{resize:vertical}.lp-field input:focus,.lp-field select:focus,.lp-field textarea:focus{border-color:var(--color-brand);box-shadow:var(--ring);outline:none}.lp-field [aria-invalid=true]{border-color:var(--color-error)}.lp-field-error,.lp-form-error{color:var(--color-error);font-size:var(--text-sm)}.lp-form-error{margin:0}.lp-submit{align-self:flex-start}.lp-hp{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}.lp-form-success h3{font-size:var(--text-2xl);margin:0 0 var(--space-2)}.lp-form-success p{color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--space-5)}.lp-footer{border-top:1px solid var(--color-border-light);color:var(--color-text-faint);font-size:var(--text-sm);padding:var(--space-6) 0}.lp-footer-row{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}@media (max-width:900px){.lp-hero{padding-top:var(--space-7)}.lp-contact,.lp-hero-grid,.lp-split{gap:var(--space-6);grid-template-columns:1fr}.lp-hero h1{font-size:var(--text-display)}.lp-steps{grid-template-columns:1fr}.lp-demo-band{align-items:flex-start;flex-direction:column}.lp-hero-visual{margin-right:var(--space-4)}.lp-frame--phone{right:-16px}}@media (max-width:600px){.lp-container{padding:0 var(--space-4)}.lp-nav .lp-nav-link{display:none}.lp-hero h1{font-size:var(--text-4xl)}.lp-section{padding:var(--space-7) 0}.lp-section-title{font-size:var(--text-3xl)}.lp-form-card{padding:var(--space-5)}.lp-form-row{grid-template-columns:1fr}.lp-cta-row .btn,.lp-submit{width:100%}}.join-page{margin:0 auto;max-width:1040px;padding:var(--space-6) 0 var(--space-8);text-align:left}.join-header{margin-bottom:var(--space-6);max-width:640px}.join-eyebrow{background:var(--color-brand-soft);border-radius:var(--radius-pill);color:var(--color-brand);display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:5px 12px;text-transform:uppercase}.join-header h1,.join-success h1{margin:var(--space-3) 0 var(--space-3)}.join-lede{font-size:var(--text-lg);line-height:1.6;margin:0 0 var(--space-5)}.join-lede,.join-muted{color:var(--color-text-secondary)}.join-notice{align-items:center;background:var(--color-info-bg);color:var(--color-text);display:flex;flex-wrap:wrap;gap:var(--space-3)}.join-error,.join-notice{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.join-error{background:var(--color-error-bg);color:var(--color-error-text)}.join-plans{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:var(--space-5)}.join-plan{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);display:flex;flex-direction:column;padding:var(--space-5)}.join-plan h2{font-size:var(--text-xl);margin:0}.join-price{margin:var(--space-3) 0}.join-amount{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800}.join-interval{color:var(--color-text-secondary);margin-left:var(--space-1)}.join-perks{flex:1 1;list-style:none;margin:var(--space-3) 0 var(--space-5);padding:0}.join-perks li{line-height:1.5;padding:var(--space-1) 0 var(--space-1) 1.6rem;position:relative}.join-perks li:before{color:var(--color-brand);content:"✓";font-weight:700;left:0;position:absolute}.join-cta{width:100%}.join-fineprint,.join-login{font-size:var(--text-sm);margin-top:var(--space-5)}.join-success{max-width:560px;padding-top:var(--space-8)}.join-success-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.App,.public-shell{min-height:100vh;min-height:100dvh}.public-shell{background-color:var(--color-page-bg);color:var(--color-text)}.public-shell h1,.public-shell h2,.public-shell h3,.public-shell h4{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2}.main-content h1{font-size:clamp(1.875rem,1.4rem + 1.6vw,var(--text-display));font-weight:800;letter-spacing:-.03em}.main-content h2{font-size:var(--text-2xl);font-weight:700}.public-shell ::selection{background:var(--color-brand-tint)}:where(.main-content) a:where(.pattern-move-link,.pattern-library-syllabus-link),:where(.main-content) a:where(:not([class])){color:var(--color-brand);font-weight:600;text-decoration:none}:where(.main-content) a:where(.pattern-move-link,.pattern-library-syllabus-link):hover,:where(.main-content) a:where(:not([class])):hover{text-decoration:underline;text-underline-offset:3px}.public-shell input[type=email],.public-shell input[type=password],.public-shell input[type=search],.public-shell input[type=text],.public-shell select,.public-shell textarea{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--text-sm);transition:border-color .15s ease,box-shadow .15s ease}.public-shell input:focus,.public-shell select:focus,.public-shell textarea:focus{border-color:var(--color-brand);box-shadow:var(--ring);outline:none}.theme-dark input,.theme-dark select,.theme-dark textarea{background-color:var(--color-surface-alt);border-color:var(--color-border-input);color:var(--color-text)}.main-content{margin:0 auto;max-width:1200px;padding:var(--space-6) var(--space-5) var(--space-8)}@media (max-width:768px){.main-content{padding:var(--space-5) var(--space-4) var(--space-7)}}.navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);background-color:var(--nav-bg);border-bottom:1px solid var(--color-border);color:var(--color-text);padding:var(--space-3) 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:none;font-size:var(--text-2xl);height:44px;justify-content:center;line-height:1;width:44px}.nav-toggle:hover{background-color:var(--scrim-05)}.nav-container{align-items:center;display:flex;gap:var(--space-5);justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--space-5)}.nav-logo h1{color:#fff;margin:0}.nav-logo,.nav-logo h1{text-decoration:none}.nav-links{align-items:center;display:flex;gap:var(--space-1);list-style:none;margin:0;padding:0}.nav-link,.public-shell .nav-link{border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;padding:.5rem .875rem;text-decoration:none;transition:background-color .15s ease,color .15s ease}.nav-link:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.nav-link.active,.public-shell .nav-link.active{background-color:var(--color-brand-soft);color:var(--color-brand)}.nav-user{align-items:center;border-left:1px solid var(--color-border);display:flex;gap:var(--space-3);margin-left:var(--space-4);padding-left:var(--space-4)}.nav-greeting{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500}.nav-auth-btn{border-radius:var(--radius-pill);font-size:var(--text-sm);padding:.5rem .875rem}.home-page h1{margin:var(--space-4) 0 var(--space-6);max-width:18ch}.featured-content{margin-top:var(--space-7)}.video-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--space-5)}.video-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:var(--space-5);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s ease}.video-card:hover{border-color:#0000;box-shadow:var(--shadow-3);transform:translateY(-4px)}.video-card>:last-child{margin-bottom:0}.video-card .toggle-link:first-of-type{margin-top:auto}.video-thumbnail{background-color:var(--color-surface-alt);border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:200px;margin:-1.5rem -1.5rem var(--space-4) -1.5rem;overflow:hidden;position:relative;width:100%}.thumbnail-image{display:block;height:100%;object-fit:cover;width:100%}.video-placeholder{background:var(--gradient-brand);font-size:var(--text-display-lg);height:100%;text-shadow:0 2px 4px var(--scrim-30);width:100%}.play-overlay,.video-placeholder{align-items:center;color:#fff;display:flex;justify-content:center}.play-overlay{background-color:var(--scrim-70);border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-2xl);height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:60px}.play-overlay:hover{background-color:var(--scrim-80);transform:translate(-50%,-50%) scale(1.1)}.video-card h3{font-size:var(--text-lg);margin:0}.videos-page h1{margin-bottom:var(--space-6)}.video-categories{display:flex;flex-direction:column;gap:var(--space-6)}.category{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.category h2{color:var(--color-brand);margin-bottom:var(--space-4)}.videos-list{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.video-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-4);transition:transform .2s}.video-item:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.video-item h3{color:var(--color-brand);font-size:var(--text-base);margin-bottom:var(--space-2)}.profile-page h1{margin-bottom:var(--space-6)}.profile-content{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr}.profile-info,.recent-videos{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);padding:var(--space-6)}.profile-info h2,.recent-videos h2{font-size:var(--text-xl);margin:0 0 var(--space-4)}.progress-stats{display:flex;flex-direction:column;gap:var(--space-4)}.stat{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.stat h3{color:var(--color-brand);font-size:var(--text-sm);margin-bottom:var(--space-2)}.stat p{font-size:var(--text-xl);font-weight:700;margin:0}.recent-list{display:flex;flex-direction:column;gap:var(--space-4)}.recent-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.recent-item h3{color:var(--color-brand);font-size:var(--text-base);margin-bottom:var(--space-2)}.recent-item p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.filters-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4) var(--space-5)}.public-shell .filters-section h2{color:var(--color-text-faint);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;margin:0 0 var(--space-3);text-transform:uppercase}.filters{align-items:end;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.filter-group{display:flex;flex:1 1 160px;flex-direction:column;gap:6px;min-width:160px}.filter-group label{color:var(--color-label);font-size:var(--text-xs);font-weight:600}.filter-group input,.filter-group select{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-sizing:border-box;font-size:var(--text-sm);height:40px;padding:0 var(--space-3);width:100%}.filter-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9aa4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2rem}.filter-group input:focus,.filter-group select:focus{border-color:var(--color-brand);box-shadow:var(--ring);outline:none}.filters .clear-filters{flex:0 0 auto;font-size:var(--text-sm);height:40px;padding:0 var(--space-4)}.results-count{color:var(--color-text-faint);font-size:var(--text-xs);font-weight:500}.moves-section{margin:var(--space-6) 0}.moves-section h2{margin:0 0 var(--space-4)}.video-card .description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.55;margin:var(--space-2) 0 0;overflow:hidden}.move-meta{display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-2);margin:var(--space-4) 0}.move-meta span{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-label);font-weight:600;line-height:1.4;padding:4px 10px}.move-meta span.style{background-color:var(--color-brand-soft);border-color:#0000;color:var(--color-brand)}.duration{font-feature-settings:"tnum";color:var(--color-text-faint);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:500;margin:0 0 var(--space-3)}.error,.loading,.no-results{background-color:var(--color-surface);border:1px dashed var(--color-border-input);border-radius:var(--radius-xl);color:var(--color-text-secondary);margin:var(--space-6) 0;padding:var(--space-7) var(--space-6);text-align:center}.error{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.auth-page{align-items:flex-start;background:radial-gradient(60rem 30rem at 50% -10%,var(--color-brand-soft),#0000 70%);box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100dvh - 64px);padding:var(--space-8) var(--space-4)}.auth-form-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2);box-sizing:border-box;max-width:440px;padding:var(--space-6);width:100%}.auth-form-container input,.auth-form-container select,.auth-form-container textarea{box-sizing:border-box;max-width:100%}.public-shell .auth-form-container h2{color:var(--color-ink);font-size:var(--text-3xl);margin:0 0 var(--space-5) 0}.auth-page.profile-layout{align-items:flex-start;background:none;flex-wrap:wrap;gap:var(--space-5);min-height:0;padding:0}.profile-layout .auth-form-container{box-shadow:var(--shadow-1);flex:1 1 360px;max-width:none}.profile-layout .profile-demos-container{flex-basis:480px;margin-top:0}.auth-error{background-color:var(--color-error-bg);color:var(--color-error-text)}.auth-error,.auth-success{border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.auth-success{background-color:var(--color-success-bg);color:var(--color-success-text)}.auth-subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:-.5rem 0 var(--space-5) 0}.auth-links{font-size:var(--text-sm);margin-top:var(--space-5);text-align:center}.auth-links p{margin:var(--space-2) 0}.auth-links a{color:var(--color-brand);font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}.move-container{display:flex;flex-direction:column}.move-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.move-header h3{flex:1 1;margin:0}.variation-badge{background-color:var(--color-success-tint);border-radius:var(--radius-pill);color:var(--color-success-text);font-weight:600;margin-left:var(--space-2);padding:3px 10px}.variation-card{background-color:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-brand),var(--shadow-1);margin-top:var(--space-2)}.breakdowns-toggle{--toggle-dot:var(--color-gold);align-items:center;background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:600 var(--text-sm) /1.3 var(--font-body);gap:var(--space-3);margin-top:var(--space-2);padding:.75rem 2.5rem .75rem 1rem;position:relative;text-align:left;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;width:100%}.breakdowns-toggle:before{background:var(--toggle-dot);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--toggle-dot) 20%,#0000);content:"";flex-shrink:0;height:8px;width:8px}.breakdowns-toggle:after{border-bottom:2px solid var(--color-text-faint);border-right:2px solid var(--color-text-faint);content:"";height:7px;margin-top:-5px;position:absolute;right:1rem;top:50%;transform:rotate(-45deg);transition:transform .2s ease;width:7px}.breakdowns-toggle:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-input);color:var(--color-text)}.breakdowns-toggle:focus-visible{box-shadow:var(--ring);outline:none}.breakdowns-toggle[aria-expanded=true]:after{margin-top:-7px;transform:rotate(45deg)}.variations-toggle{--toggle-dot:var(--color-brand);align-items:center;background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:600 var(--text-sm) /1.3 var(--font-body);gap:var(--space-3);margin-top:var(--space-2);padding:.75rem 2.5rem .75rem 1rem;position:relative;text-align:left;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;width:100%}.variations-toggle:before{background:var(--toggle-dot);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--toggle-dot) 20%,#0000);content:"";flex-shrink:0;height:8px;width:8px}.variations-toggle:after{border-bottom:2px solid var(--color-text-faint);border-right:2px solid var(--color-text-faint);content:"";height:7px;margin-top:-5px;position:absolute;right:1rem;top:50%;transform:rotate(-45deg);transition:transform .2s ease;width:7px}.variations-toggle:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-input);color:var(--color-text)}.variations-toggle:focus-visible{box-shadow:var(--ring);outline:none}.variations-toggle[aria-expanded=true]:after{margin-top:-7px;transform:rotate(45deg)}.variations-container{margin-top:var(--space-4);padding-top:var(--space-4)}.variations-container h4{font-size:var(--text-base);margin:0 0 var(--space-4)}.variations-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.move-title-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.move-type-icon{display:none}.move-type-label{background:none;border-radius:0;color:var(--color-text-faint);font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:0;text-transform:uppercase}.variation-card .move-type-label{color:var(--color-success)}@media (max-width:768px){.nav-toggle{display:flex}.nav-links{display:none}.nav-links.open{align-items:stretch;background-color:var(--color-page-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-1);left:0;padding:var(--space-3) var(--space-4) var(--space-4);position:absolute;right:0;top:100%}.nav-links.open .nav-link{display:block;padding:var(--space-3) var(--space-4)}.nav-links.open .nav-user{justify-content:space-between;padding:var(--space-2) var(--space-4)}.profile-content{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.filter-group{flex:none;min-width:auto}.variations-grid{grid-template-columns:1fr}.move-header{align-items:stretch;flex-direction:column}.variation-badge{align-self:flex-start;margin-left:0;margin-top:var(--space-2)}.move-title-container{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.move-type-label{align-self:flex-start}}.demonstrations-toggle{--toggle-dot:var(--color-info);align-items:center;background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:600 var(--text-sm) /1.3 var(--font-body);gap:var(--space-3);margin-top:var(--space-2);padding:.75rem 2.5rem .75rem 1rem;position:relative;text-align:left;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;width:100%}.demonstrations-toggle:before{background:var(--toggle-dot);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--toggle-dot) 20%,#0000);content:"";flex-shrink:0;height:8px;width:8px}.demonstrations-toggle:after{border-bottom:2px solid var(--color-text-faint);border-right:2px solid var(--color-text-faint);content:"";height:7px;margin-top:-5px;position:absolute;right:1rem;top:50%;transform:rotate(-45deg);transition:transform .2s ease;width:7px}.demonstrations-toggle:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-input);color:var(--color-text)}.demonstrations-toggle:focus-visible{box-shadow:var(--ring);outline:none}.demonstrations-toggle[aria-expanded=true]:after{margin-top:-7px;transform:rotate(45deg)}.demonstrations-container{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--space-3);padding:var(--space-4)}.demonstrations-container h4{font-size:var(--text-base);margin:0 0 var(--space-4) 0}.demonstrations-container .no-demonstrations{background-color:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text-secondary);margin:0;padding:var(--space-5);text-align:center}.demonstrations-container .no-demonstrations p{margin:0}.demonstration-modal-overlay{align-items:center;background-color:var(--scrim-90);bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:1000}.demonstration-modal{background-color:var(--color-video-bg);border-radius:var(--radius-xl);max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.demonstration-modal-close{align-items:center;background-color:var(--white-a20);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:var(--text-2xl);height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;width:40px;z-index:10}.demonstration-modal-close:hover{background-color:var(--white-a30)}.demonstration-modal-video{display:block;max-height:70vh;width:100%}.demonstration-modal-info{background-color:var(--color-dark);color:#fff;padding:var(--space-4)}.demonstration-modal-dancer{align-items:center;display:flex;gap:var(--space-3)}.demonstration-modal-dancer .dancer-avatar{border-radius:var(--radius-full);height:40px;object-fit:cover;width:40px}.demonstration-modal-dancer .dancer-avatar-placeholder{align-items:center;background:var(--gradient-brand);border-radius:var(--radius-full);color:#fff;display:flex;font-weight:600;height:40px;justify-content:center;width:40px}.demonstration-modal-dancer span{font-weight:600}.demonstration-modal-caption{color:var(--color-gray-light);font-size:var(--text-sm);line-height:1.4;margin:var(--space-3) 0 0}.profile-demo-group{margin-bottom:var(--space-5)}.profile-demo-group-title{font-size:var(--text-lg);margin:0 0 var(--space-3)}.profile-demo-group-title a{color:var(--color-brand);text-decoration:none}.profile-demo-group-title a:hover{text-decoration:underline}.profile-demo-group-items{display:flex;gap:var(--space-4);overflow-x:auto}.profile-demo-card{background:var(--color-surface-alt);border-radius:var(--radius-lg);cursor:pointer;flex:0 0 200px;overflow:hidden;transition:transform .15s ease}.profile-demo-card:hover{transform:scale(1.03)}.profile-demo-thumbnail{aspect-ratio:4/3;background:var(--color-video-bg);overflow:hidden;position:relative;width:100%}.profile-demo-privacy-icon{background:var(--scrim-60);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1;padding:2px 4px;position:absolute;right:6px;top:6px}.profile-demo-thumbnail video{height:100%;object-fit:cover;width:100%}.profile-demo-meta{padding:var(--space-2) .6rem}.profile-demo-caption{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-demo-footer{align-items:center;display:flex;font-size:var(--text-sm);justify-content:space-between;opacity:.7}.profile-demo-status{border-radius:var(--radius-sm);font-weight:500;padding:.1rem .4rem}.profile-demo-status.approved{background-color:var(--color-success-tint-strong);color:var(--color-success)}.profile-demo-status.pending{background-color:var(--color-warning-tint);color:var(--color-warning)}.demo-menu-container{position:relative}.demo-menu-trigger{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--color-gray-light);cursor:pointer;display:flex;font-size:var(--text-2xl);height:36px;justify-content:center;letter-spacing:1px;width:36px}.demo-menu-trigger:hover{background-color:var(--white-a10);color:#fff}.demo-menu-dropdown{background:var(--color-dark-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px)}.demo-menu-item{background:none;border:none;color:var(--color-surface);cursor:pointer;display:block;font-size:var(--text-sm);padding:.6rem var(--space-4);text-align:left;width:100%}.demo-menu-item:hover{background:var(--white-a10)}.demo-menu-item-danger{color:var(--color-danger-bright)}.featured-move-section{background:radial-gradient(40rem 22rem at 100% 0,var(--color-brand-soft),#0000 70%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2);color:var(--color-ink);margin-bottom:var(--space-7);overflow:hidden;padding:var(--space-6);position:relative}.featured-move-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-5)}.public-shell .featured-move-header h2{color:var(--color-brand);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.featured-move-info .badge{background-color:var(--color-brand);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);font-weight:600;padding:.35rem var(--space-3);vertical-align:middle}.featured-move-content{grid-gap:var(--space-7);align-items:center;display:grid;gap:var(--space-7);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.featured-move-video{aspect-ratio:16/9;background:var(--color-video-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);overflow:hidden}.featured-move-info h3{font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;margin:0 0 var(--space-3)}.featured-move-info p{margin:0 0 var(--space-2);opacity:.9}.featured-move-meta{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.featured-move-meta span{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-label);font-size:var(--text-xs);font-weight:600;padding:4px 12px}@media (max-width:768px){.demonstrations-container .demonstrations-grid,.featured-move-content,.video-grid{grid-template-columns:1fr}}.move-page{margin:0 auto;max-width:1080px}.move-page-back,.public-shell .move-page-back{align-items:center;border-radius:var(--radius-pill);color:var(--color-text-secondary);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;margin-bottom:var(--space-5);margin-left:-8px;padding:6px 12px 6px 8px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.move-page-back:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.move-page-header{grid-gap:var(--space-7);align-items:start;display:grid;gap:var(--space-7);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-bottom:var(--space-7)}.move-page-video{aspect-ratio:16/9;background:var(--color-video-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);overflow:hidden}.move-page-video .video-thumbnail-container{border-radius:0;height:100%;margin:0;width:100%}.public-shell .move-page-info h1{font-size:clamp(1.75rem,1.3rem + 1.4vw,var(--text-4xl));margin:var(--space-2) 0 var(--space-3) 0}.move-page-info .description{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.5;margin:var(--space-3) 0}.move-page-info .move-type-label{background:none;display:block;margin-top:var(--space-4);width:-webkit-fit-content;width:fit-content}.move-page-parent{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-label);font-size:var(--text-sm);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.move-page-parent a{color:var(--color-brand);font-weight:600;text-decoration:none}.move-page-parent a:hover{text-decoration:underline}.move-page-details{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);margin-bottom:var(--space-5);padding:var(--space-5)}.move-page-details h3{font-size:var(--text-lg);margin:0 0 var(--space-4) 0}.move-page-details-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.move-page-detail-card{background-color:var(--color-surface-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.move-page-detail-card .detail-label{color:var(--color-text-faint);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.move-page-detail-card .detail-value{color:var(--color-label);display:block;font-size:var(--text-base);font-weight:600}.move-page-section{margin-bottom:var(--space-5)}.move-page-section .breakdowns-toggle,.move-page-section .demonstrations-toggle,.move-page-section .variations-toggle{width:100%}.gated-section{background:radial-gradient(30rem 12rem at 50% 0,var(--color-brand-soft),#0000 70%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-7) var(--space-5);text-align:center}.gated-section p{color:var(--color-gray);font-size:var(--text-base);margin:0 0 var(--space-4)}.move-title-link,.public-shell .move-title-link{color:var(--color-ink);text-decoration:none}.move-title-link:hover,.video-card:hover .move-title-link{color:var(--color-brand)}@media (max-width:768px){.move-page-details-grid,.move-page-header{grid-template-columns:1fr}}.home-featured-title-link{color:var(--color-ink);text-decoration:none}.home-featured-caption{font-style:italic;opacity:.8}.home-featured-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.home-featured-cta,.public-shell .home-featured-cta{align-items:center;background-color:var(--color-brand);border-radius:var(--radius-md);box-shadow:var(--shadow-brand);color:#fff;display:inline-flex;font-size:var(--text-sm);font-weight:600;padding:.75rem 1.375rem;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.home-featured-cta:hover{background-color:var(--color-brand-dark);transform:translateY(-1px)}.home-featured-cta-outline{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;padding:.75rem 1.375rem;transition:background-color .15s ease}.home-featured-cta-outline:hover{background-color:var(--color-surface-hover)}.home-quick-link{color:inherit;text-decoration:none}.home-quick-link .description,.home-quick-link p{-webkit-line-clamp:unset;display:block;overflow:visible}.toggle-link{box-sizing:border-box;text-decoration:none}.pattern-library-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.pattern-library-syllabus-link{font-size:var(--text-base)}.pattern-class-context{margin:var(--space-1) 0}.pattern-card-moves{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0}.pattern-error-state{padding:var(--space-6)}.pattern-page{margin:0 auto;max-width:960px;padding:var(--space-4)}.pattern-page .move-header{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.pattern-page .move-header h1{margin:0}.pattern-page .move-header>p:last-child{color:var(--color-text-secondary);margin:0;max-width:65ch}.pattern-meta-row .badge{letter-spacing:0;text-transform:none}.pattern-meta-row{gap:var(--space-2);margin:var(--space-2) 0}.pattern-video-wrap{margin:var(--space-5) auto var(--space-6);text-align:center}.pattern-video{border-radius:var(--radius-xl);box-shadow:var(--shadow-3)}.pattern-video-poster{background:var(--color-dark);border-radius:var(--radius-xl);max-height:70vh;object-fit:contain;width:100%}.pattern-signin-hint{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-2)}.pattern-section{margin:var(--space-6) 0}.pattern-section-header{align-items:center;display:flex;justify-content:space-between}.pattern-move-list{list-style:decimal;padding-left:var(--space-5)}.pattern-move-item{margin-bottom:var(--space-3)}.pattern-move-link{font-weight:600}.pattern-move-notes,.pattern-move-style{color:var(--color-text-secondary)}.pattern-move-notes{font-size:var(--text-sm)}.pattern-muted{color:var(--color-text-secondary)}.pattern-demos-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.move-demonstrate-btn{align-items:center;background-color:var(--color-brand);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-brand);color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;margin-top:var(--space-4);padding:.75rem 1.375rem;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.move-demonstrate-btn:hover{background-color:var(--color-brand-dark);transform:translateY(-1px)}.move-pattern-list{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.move-pattern-card,.public-shell .move-pattern-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:inherit;display:block;min-width:220px;padding:var(--space-4);text-decoration:none;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.move-pattern-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.move-pattern-card-title{font-weight:600;margin-bottom:var(--space-1)}.move-pattern-card-position{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.move-pattern-card-meta{color:var(--color-text-faint);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-2)}.profile-demos-container{margin-top:var(--space-6)}.profile-empty-hint{opacity:.6}.badge.profile-demo-type-badge{font-size:.7rem;margin-left:var(--space-2)}.profile-demo-modal-header{align-items:flex-start;display:flex;justify-content:space-between}.profile-demo-modal-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.profile-demo-modal-badge{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;padding:.15rem var(--space-2)}.profile-demo-modal-badge.clickable{cursor:pointer}.profile-demo-modal-badge.approved,.profile-demo-modal-badge.members{background-color:var(--color-success-tint-strong);color:var(--color-success)}.profile-demo-modal-badge.pending{background-color:var(--color-warning-tint);color:var(--color-warning)}.profile-demo-modal-badge.public{background-color:#17a2b833;color:var(--color-info)}.profile-demo-modal-badge.muted{background-color:#6c757d33;color:var(--color-gray)}.profile-demo-modal-badge.instructors{background-color:#f39c1233;color:var(--color-amber)}.profile-feedback-loading{font-size:var(--text-sm);margin-top:var(--space-3);opacity:.6}.profile-feedback-section{margin-top:var(--space-3)}.profile-feedback-title{font-size:var(--text-sm);margin:0 0 var(--space-2)}.profile-feedback-list{max-height:200px;overflow-y:auto}.profile-feedback-item{background-color:var(--white-a05);margin-bottom:6px}.instructor-badge.profile-feedback-instructor-badge{font-size:.65rem}.profile-feedback-date{font-size:.7rem;opacity:.5}.profile-self-note-row{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.profile-self-note-input{background-color:var(--color-dark-raised);border:1px solid var(--color-border-input);border-radius:var(--radius-md);color:#fff;flex:1 1;font-size:var(--text-sm);padding:.4rem .6rem}.profile-self-note-submit{background-color:var(--color-brand);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-sm);padding:.4rem .8rem}.profile-self-note-submit:disabled{opacity:.5}.redeem-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.nav-logo-img{height:40px}.nav-wordmark{color:var(--color-brand);font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.protected-route-loading{padding:var(--space-6);text-align:center}.skeleton{background-color:var(--color-surface-alt);border-radius:var(--radius-lg);overflow:hidden;position:relative}.skeleton:after{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000,var(--skeleton-shimmer),#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--space-6)}.skeleton-card{height:320px}.skeleton-detail{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr;margin-top:var(--space-5)}.skeleton-detail-media{height:280px}.skeleton-lines{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-line{border-radius:var(--radius-sm);height:1rem}.skeleton-line.title{height:2rem;width:60%}.skeleton-line.short{width:40%}@media (max-width:768px){.skeleton-detail{grid-template-columns:1fr}}.empty-state-block{background-color:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin:var(--space-6) 0;padding:var(--space-7) var(--space-4);text-align:center}.empty-state-icon{font-size:var(--text-display);margin-bottom:var(--space-2)}.empty-state-block h3{margin:0 0 var(--space-2)}.empty-state-block p{color:var(--color-text-secondary);margin:0 0 var(--space-4)}button.profile-demo-card{appearance:none;-webkit-appearance:none;border:none;color:inherit;display:block;font:inherit;padding:0;text-align:inherit}button.profile-demo-modal-badge{font-family:inherit;line-height:inherit}button.breakdown-card,button.profile-demo-modal-badge{appearance:none;-webkit-appearance:none;background:none;border:none}button.breakdown-card{color:inherit;cursor:pointer;display:block;font:inherit;margin:0;padding:0;text-align:inherit;width:100%}.nav-link.nav-join,.public-shell .nav-link.nav-join{color:var(--color-brand);font-weight:700}.membership-card{border:none;box-shadow:none;margin-top:var(--space-5);padding:0}.membership-list{list-style:none;margin:0 0 var(--space-4);padding:0}.membership-list li{padding:var(--space-2) 0}.admin-layout{background-color:var(--color-surface-dim);display:flex;min-height:100vh;min-height:100dvh}.admin-sidebar{background-color:var(--color-ink);color:#fff;height:100vh;height:calc(100vh - var(--demo-bar-h, 0px));height:100dvh;height:calc(100dvh - var(--demo-bar-h, 0px));overflow-y:auto;padding:0;position:fixed;top:0;top:var(--demo-bar-h,0);transition:transform .3s ease;width:250px;z-index:1000}.admin-sidebar-overlay,.admin-sidebar-toggle{display:none}.admin-sidebar-header{border-bottom:1px solid var(--white-a10);padding:var(--space-5)}.admin-sidebar-header h2{color:var(--color-brand);margin:0 0 var(--space-4) 0}.back-to-site{color:var(--color-gray-cool);font-size:var(--text-sm);text-decoration:none}.back-to-site:hover{color:#fff}.admin-nav-section{border-bottom:1px solid var(--white-a05)}.admin-nav-section-header{align-items:center;background:none;border:none;color:var(--color-silver-dark);cursor:pointer;display:flex;font-size:var(--text-xs);font-weight:600;justify-content:space-between;letter-spacing:1.2px;margin-top:var(--space-1);padding:var(--space-3) var(--space-5) .4rem;text-transform:uppercase;transition:color .2s;width:100%}.admin-nav-section-header:hover{color:var(--color-gray-cool)}.admin-nav-section-chevron{font-size:var(--text-xs);transition:transform .2s}.admin-nav-section-chevron.collapsed{transform:rotate(-90deg)}.admin-nav ul{list-style:none;margin:0;padding:0}.admin-nav-link{border-bottom:1px solid var(--white-a05);color:var(--color-gray-cool);display:block;padding:var(--space-4) var(--space-5);text-decoration:none;transition:all .2s}.admin-nav-link.active,.admin-nav-link:hover{background-color:var(--color-ink-light);border-left:4px solid var(--color-brand);color:#fff}.admin-main{flex:1 1;margin-left:250px}.admin-content{max-width:1200px;padding:var(--space-6)}.page-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.page-header h1{color:var(--color-ink);flex:1 1;margin:0}.page-header-actions{align-items:center;display:flex;gap:var(--space-4)}.form-container{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);margin-bottom:var(--space-6);padding:var(--space-6)}.form-container h2{color:var(--color-brand);margin:0 0 var(--space-5) 0}.admin-form{max-width:600px}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.form-group{margin-bottom:var(--space-5)}.form-group label{color:var(--color-ink);display:block;font-weight:500;margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-3);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-soft);outline:none}.form-group input.error{border-color:var(--color-danger)}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:var(--space-8)}.password-toggle-btn{align-items:center;background:none;border:none;color:var(--color-text-faint);cursor:pointer;display:flex;font-size:var(--text-sm);justify-content:center;min-height:44px;min-width:44px;padding:var(--space-2);position:absolute;right:.5rem}.password-toggle-btn:hover{color:var(--color-brand)}.error-text{color:var(--color-danger);display:block;font-size:var(--text-sm);margin-top:var(--space-1)}.checkbox-label{display:flex!important}.checkbox-label input[type=checkbox]{width:auto}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.checkbox-description{color:var(--color-text-secondary);font-weight:400}.form-actions{margin-top:var(--space-6)}.form-actions,.table-controls{display:flex;gap:var(--space-4)}.table-controls{align-items:center;margin-bottom:var(--space-5)}.search-input,.status-filter{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-3)}.search-input{flex:1 1;max-width:300px}.table-container{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--color-border);padding:var(--space-4);text-align:left}.admin-table th{color:var(--color-ink);font-weight:600}.admin-table tbody tr:hover,.admin-table th{background-color:var(--color-surface-alt)}.action-buttons{display:flex;gap:var(--space-2)}.instructor-info{display:flex;flex-direction:column;gap:var(--space-1)}.instructor-bio{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.3}.moves-stats{display:flex;flex-direction:column;gap:var(--space-1)}.moves-stats small{color:var(--color-text-secondary);font-size:var(--text-sm)}.status{border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:500;padding:var(--space-1) var(--space-3)}.status.active{background-color:var(--color-success-bg);color:var(--color-success-text)}.status.inactive{background-color:var(--color-error-bg);color:var(--color-error-text)}.status.published{background-color:var(--color-info-badge-bg);color:var(--color-info-badge-text)}.status.draft{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.admin-dashboard h1{color:var(--color-ink)}.admin-dashboard h1,.dashboard-stats-section{margin-bottom:var(--space-6)}.dashboard-section-header{border-bottom:2px solid var(--color-brand);color:var(--color-ink);font-size:var(--text-lg);letter-spacing:.5px;margin:0 0 var(--space-4) 0;padding-bottom:var(--space-2);text-transform:uppercase}.stats-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-6)}.stat-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-5);text-align:center}.stat-card h3{color:var(--color-text-secondary);font-size:var(--text-sm);letter-spacing:.5px;margin:0 0 var(--space-4) 0;text-transform:uppercase}.stat-number{color:var(--color-ink);font-size:var(--text-display);font-weight:700;margin-bottom:var(--space-2)}.stat-number.warning{color:var(--color-danger)}.stat-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm)}.dashboard-sections{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr}.dashboard-section{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-5)}.dashboard-section h2{color:var(--color-ink);font-size:var(--text-xl);margin:0 0 var(--space-4) 0}.recent-items,.top-styles{display:flex;flex-direction:column;gap:var(--space-4)}.recent-item,.style-item{background-color:var(--color-surface-alt);border-left:4px solid var(--color-brand);border-radius:var(--radius-sm);padding:var(--space-4)}.recent-item-link{cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}.recent-item-link:hover{box-shadow:var(--shadow-1);transform:translateY(-2px)}.recent-item h4,.style-item h4{color:var(--color-ink);margin:0 0 var(--space-2) 0}.recent-item p,.style-item p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.style-item .description{font-style:italic;margin-top:var(--space-2)}.pagination{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-6)}.loading{color:var(--color-text-secondary)}.error,.loading{font-size:var(--text-lg);padding:var(--space-7);text-align:center}.error{color:var(--color-danger)}.empty-state{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);color:var(--color-text-secondary);padding:var(--space-7);text-align:center}.level-badge{background-color:var(--color-accent-blue);border-radius:var(--radius-xl);color:#fff;font-size:var(--text-sm);font-weight:500;padding:var(--space-1) var(--space-2)}.moves-management .form-row{margin-bottom:var(--space-4)}.moves-management .table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%)}.admin-sidebar.open{transform:translateX(0)}.admin-sidebar-header{padding-top:calc(1rem + 44px + var(--space-3))}.admin-sidebar-toggle{background-color:var(--color-ink);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-2);color:#fff;cursor:pointer;display:block;font-size:var(--text-2xl);height:44px;left:1rem;line-height:1;position:fixed;top:1rem;top:calc(var(--demo-bar-h, 0px) + 1rem);width:44px;z-index:1001}.admin-sidebar-overlay{background-color:var(--scrim-50);display:block;inset:0;position:fixed;z-index:999}.admin-main{margin-left:0}.admin-content{padding:var(--space-4);padding-top:var(--space-8)}.page-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.dashboard-sections,.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.table-container{overflow-x:auto}}.form-section{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-6) 0;padding:var(--space-5)}.variation-fields{border-top:1px dashed var(--color-border);margin-top:var(--space-4);padding-top:var(--space-4)}.checkbox-label,.variation-fields .form-group label{color:var(--color-label);font-weight:500}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:var(--space-2)}.checkbox-label input[type=checkbox]{margin:0;transform:scale(1.1)}.base-move-row{border-left:3px solid var(--color-brand)}.variation-row{background-color:var(--color-surface-alt);border-left:3px solid var(--color-gray)}.move-name{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.variation-indent{color:var(--color-gray);font-weight:700;margin-right:var(--space-1)}.move-type-icon{font-size:var(--text-base)}.move-type-label{background-color:var(--color-gray-tint);border-radius:var(--radius-sm);color:var(--color-gray);font-size:var(--text-xs);font-weight:400;padding:.125rem .375rem}.variation-move .move-type-label{background-color:var(--color-success-tint);color:var(--color-success)}.variation-badge{background-color:var(--color-success);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-xs);font-weight:500;margin-left:var(--space-1);padding:.125rem .375rem}.video-upload-section{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-2);padding:var(--space-5)}.video-url-input{margin-bottom:var(--space-4)}.video-url-input label{color:var(--color-label);display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}.video-upload-divider{margin:var(--space-4) 0;position:relative;text-align:center}.video-upload-divider:before{background-color:var(--color-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.video-upload-divider span{background-color:var(--color-surface-alt);color:var(--color-gray);font-size:var(--text-sm);padding:0 var(--space-4);position:relative;z-index:2}.video-file-upload{margin-bottom:var(--space-4)}.video-file-upload label{color:var(--color-label);display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}.video-upload-btn{margin-bottom:var(--space-2);width:100%}.upload-progress{color:var(--color-brand);font-size:var(--text-sm);margin-top:var(--space-2);text-align:center}.current-video-preview{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-4);padding:var(--space-4)}.current-video-preview label{color:var(--color-label);display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}.video-preview-info{display:flex;flex-direction:column;gap:var(--space-1)}.video-preview-info span:first-child{color:var(--color-success);font-size:var(--text-sm);font-weight:500}.video-url-display{color:var(--color-text-secondary);font-family:monospace;font-size:var(--text-sm);word-break:break-all}.video-help-text{margin-top:var(--space-4);text-align:center}.video-help-text small{color:var(--color-gray);font-size:var(--text-xs);line-height:1.4}.form-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);margin-bottom:var(--space-6);padding:var(--space-6)}.form-card h2{color:var(--color-ink);margin:0 0 var(--space-2) 0}.form-subtitle{margin:0 0 var(--space-5) 0}.form-help,.form-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm)}.form-help{display:block;margin-top:var(--space-1)}.filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5)}.filter-select{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-sm);min-width:150px;padding:var(--space-3)}.data-table{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.data-table table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--color-border);padding:var(--space-4);text-align:left}.data-table th{color:var(--color-ink);font-weight:600}.data-table tbody tr:hover,.data-table th{background-color:var(--color-surface-alt)}.dancer-cell{align-items:center;display:flex;gap:var(--space-4)}.dancer-avatar{object-fit:cover}.dancer-avatar,.dancer-avatar-placeholder{border-radius:var(--radius-full);height:48px;width:48px}.dancer-avatar-placeholder{align-items:center;background-color:var(--color-brand);color:#fff;display:flex;font-size:var(--text-xl);font-weight:700;justify-content:center}.dancer-avatar-small{border-radius:var(--radius-full);height:32px;object-fit:cover;width:32px}.dancer-avatar-small.placeholder{align-items:center;background-color:var(--color-brand);color:#fff;display:flex;font-size:var(--text-sm);font-weight:700;justify-content:center}.dancer-bio{color:var(--color-text-secondary);display:block;font-size:var(--text-sm);margin-top:var(--space-1)}.status-badge{border-radius:var(--radius-xl);display:inline-block;font-size:var(--text-sm);font-weight:500;padding:var(--space-1) var(--space-3)}.status-badge.verified{background-color:var(--color-success-bg);color:var(--color-success-text)}.status-badge.pending{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.pending-badge{background-color:var(--color-brand);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-4)}.demonstrations-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.demo-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden;transition:transform .2s,box-shadow .2s}.demo-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.demo-card.pending{border:2px solid var(--color-warning)}.demo-card.featured{border:2px solid var(--color-brand)}.demo-video{background-color:var(--color-video-bg);position:relative}.demo-video video{height:200px;object-fit:cover;width:100%}.demo-badges{display:flex;gap:var(--space-2);position:absolute;right:.5rem;top:.5rem}.badge{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2);text-transform:uppercase}.badge.featured{background-color:var(--color-brand);color:#fff}.badge.pending{background-color:var(--color-warning);color:var(--color-text)}.demo-info{padding:var(--space-4)}.demo-header{justify-content:space-between;margin-bottom:var(--space-3)}.demo-dancer,.demo-header{align-items:center;display:flex}.demo-dancer{color:var(--color-text-secondary);gap:var(--space-2)}.demo-dancer,.demo-date{font-size:var(--text-sm)}.demo-date{color:var(--color-text-faint)}.demo-move{color:var(--color-ink);font-size:var(--text-lg);margin:0 0 var(--space-2) 0}.demo-caption{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;margin:0 0 var(--space-4) 0}.demo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.featured-card{background:var(--gradient-ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);color:#fff;margin-bottom:var(--space-6);padding:var(--space-5)}.featured-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.featured-header h3{color:var(--color-brand);font-size:var(--text-xl);margin:0}.featured-content{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:300px 1fr}.featured-video{border-radius:var(--radius-lg);overflow:hidden}.featured-video video{display:block;height:auto;width:100%}.featured-info h4{font-size:var(--text-xl);margin:0 0 var(--space-2) 0}.featured-info p{margin:0 0 var(--space-2) 0;opacity:.9}.featured-caption{font-style:italic;margin-top:var(--space-4)!important;opacity:.8}.empty-state-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);grid-column:1/-1;padding:var(--space-7);text-align:center}.empty-state-card p{color:var(--color-text-secondary);font-size:var(--text-lg);margin:0 0 var(--space-2) 0}.empty-state-card small{color:var(--color-text-faint)}.error-message{color:var(--color-danger);display:block;font-size:var(--text-sm);margin-top:var(--space-1)}@media (max-width:768px){.demonstrations-grid,.featured-content{grid-template-columns:1fr}.filters-bar{align-items:stretch;flex-direction:column}.filter-select{width:100%}}.admin-page-intro{color:var(--color-text-secondary);margin-top:0}.file-input-hidden{display:none}.role-option-list{display:flex;flex-direction:column;gap:var(--space-2)}.role-option-card{align-items:flex-start;border:1px solid #ddd;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3)}.role-option-input{margin-top:var(--space-1)}.role-option-title{font-weight:600}.role-option-desc{color:var(--color-text-secondary);font-size:var(--text-sm)}.member-role-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.member-role-chip{border-radius:var(--radius-xl);color:var(--color-text);font-size:var(--text-sm);padding:2px var(--space-2);text-transform:capitalize}.member-self-note{color:var(--color-text-faint);font-size:var(--text-sm);margin-left:var(--space-2)}.member-error-banner{margin-bottom:var(--space-4)}.member-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.member-modal-box{background:var(--color-surface);max-width:480px;width:90%}.member-modal-actions,.member-modal-error{margin-top:var(--space-4)}.invite-role-options{margin-top:var(--space-1)}.invite-form-error{margin-bottom:var(--space-4)}.invite-success-banner{background:#f6fff8;border-left:4px solid var(--color-success)}.invite-success-text{margin-top:0}.invite-link-row{align-items:center;display:flex;gap:var(--space-2)}.invite-link-input{flex:1 1;font-family:monospace;font-size:var(--text-sm)}.invite-filter-controls{gap:var(--space-2)}.invite-role-cell{text-transform:capitalize}.invite-no-actions{color:var(--color-text-faint);font-size:var(--text-sm)}.pattern-slots-empty{color:var(--color-text-secondary)}.pattern-moves-editor{list-style:decimal;padding-left:var(--space-5)}.pattern-slot{margin-bottom:var(--space-2)}.pattern-slot-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.pattern-slot-style{color:var(--color-text-secondary)}.pattern-slot-notes{margin-top:var(--space-1);width:100%}.pattern-add-move-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.pattern-add-move-select{flex:1 1}.pattern-thumb-preview{border-radius:var(--radius-sm);display:block;margin-bottom:var(--space-2);max-height:180px;max-width:240px}.pattern-class-context{color:var(--color-text-secondary);font-size:var(--text-sm)}.migrate-select-all-btn{margin-left:var(--space-2)}.migrate-moves-list,.migrate-patterns-list{border:1px solid #ddd;border-radius:var(--radius-sm);max-height:300px;overflow-y:auto;padding:var(--space-2)}.migrate-item-label{padding:var(--space-1) 0}.migrate-item-status{font-size:.8em}.move-thumb-preview{border-radius:var(--radius-sm);display:block;margin-top:var(--space-2);max-height:180px;max-width:240px}.move-description-preview{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-1)}.demo-type-options{display:flex;gap:var(--space-4)}.demo-type-badge{font-size:.7em;margin-right:6px}.breakdown-thumb{height:30px;margin-left:var(--space-2);object-fit:cover;vertical-align:middle;width:40px}.form-optional{border:1px dashed var(--color-border-input);border-radius:var(--radius-md);margin:var(--space-2) 0 var(--space-4);padding:var(--space-3) var(--space-4)}.form-optional>summary{color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:600}.form-optional[open]>summary{margin-bottom:var(--space-3)}.form-optional-hint{color:var(--color-text-faint);font-size:var(--text-xs);margin:var(--space-2) 0 0}.billing-cards{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:var(--space-6)}.billing-card{margin:0}.billing-card h2{margin-top:0}.billing-status{color:var(--color-text-secondary);font-weight:600}.billing-status--ok{color:var(--color-success-text)}.billing-status--warn{color:var(--color-warning-text)}.billing-muted{color:var(--color-text-secondary);font-size:var(--text-sm)}.billing-fees{grid-gap:var(--space-2) var(--space-4);display:grid;gap:var(--space-2) var(--space-4);grid-template-columns:1fr auto;margin:0 0 var(--space-3)}.billing-fees dt{color:var(--color-text-secondary)}.billing-fees dd{font-weight:600;margin:0;text-align:right}.billing-perks{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.billing-perks label{display:block;font-weight:400;margin:var(--space-1) 0}.billing-section-header{margin-top:var(--space-6)}.status.members-only{background:var(--color-warning-bg);color:var(--color-warning-text);margin-left:var(--space-1)}
/*# sourceMappingURL=main.7fb5211d.css.map*/