:root{--color-brand:#e74c3c;--color-brand-dark:#c0392b;--color-brand-faint:#e74c3c0d;--color-brand-soft:#e74c3c1a;--color-brand-tint:#e74c3c33;--color-brand-overlay:#e74c3ce6;--gradient-brand:linear-gradient(135deg,var(--color-brand),var(--color-brand-dark));--color-ink:#2c3e50;--color-ink-light:#34495e;--gradient-ink:linear-gradient(135deg,var(--color-ink) 0%,var(--color-ink-light) 100%);--color-text:#333;--color-text-secondary:#666;--color-text-faint:#999;--color-label:#495057;--color-surface:#fff;--color-surface-alt:#f8f9fa;--color-surface-dim:#f5f5f5;--color-surface-hover:#f0f0f0;--color-surface-pressed:#e0e0e0;--color-video-bg:#000;--color-dark:#1a1a1a;--color-dark-raised:#2a2a2a;--gradient-dark:linear-gradient(135deg,#2c2c2c,var(--color-dark));--color-border:#dee2e6;--color-border-light:#eee;--color-border-input:#ced4da;--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:#fff;--nav-bg:#ffffffd9;--skeleton-shimmer:#fff9;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-display:"Montserrat",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-display:2.5rem;--text-display-lg:3rem;--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:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--radius-full:50%;--shadow-1:0 2px 4px #0000001a;--shadow-2:0 4px 12px #00000026;--shadow-3:0 12px 32px #0003;--shadow-modal:0 20px 60px #00000080;--shadow-dropdown:0 4px 12px #0006;--shadow-brand:0 4px 20px #e74c3c33}.theme-dark{--color-page-bg:#121217;--nav-bg:#121217d1;--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:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:500;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-5);text-decoration:none;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.btn-primary{background-color:var(--color-brand);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-dark);color:#fff}.btn-secondary{background-color:var(--color-silver);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-silver-dark)}.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{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}@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-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:1000}.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}}.video-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:var(--scrim-95);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.video-modal-container{background-color:var(--color-video-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);height:100%;max-height:800px;max-width:450px;overflow:hidden;position:relative;width:100%}@media (max-width:500px){.video-modal-container{border-radius:0;max-height:100%;max-width:100%}}.video-modal-video{cursor:pointer;height:100%;object-fit:cover;width:100%}.video-modal-close{align-items:center;background-color:var(--scrim-50);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:background-color .2s,transform .2s;width:40px;z-index:10}.video-modal-close:hover{background-color:var(--scrim-70);transform:scale(1.1)}.video-modal-play-indicator{align-items:center;animation:pulseIn .2s ease-out;background-color:var(--scrim-60);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;height:100px;justify-content:center;left:50%;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px}@keyframes pulseIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.video-modal-play-indicator svg{margin-left:8px}.video-modal-progress{background-color:var(--white-a30);bottom:0;height:4px;left:0;opacity:0;position:absolute;right:0;transition:opacity .3s}.video-modal-progress.visible{opacity:1}.video-modal-progress-bar{background-color:var(--color-brand);height:100%;transition:width .1s linear}.video-modal-info{bottom:20px;color:#fff;left:20px;opacity:0;pointer-events:none;position:absolute;right:20px;text-shadow:0 2px 8px var(--scrim-80);transform:translateY(10px);transition:opacity .3s,transform .3s}.video-modal-info.visible{opacity:1;transform:translateY(0)}.video-modal-info h2{font-size:var(--text-2xl);font-weight:700;margin:0 0 8px}.video-modal-variation{background-color:var(--color-success);border-radius:var(--radius-xl);color:#fff;display:inline-block;font-size:var(--text-sm);font-weight:500;margin-bottom:8px;padding:4px 10px}.video-modal-info p{font-size:var(--text-base);line-height:1.4;margin:0 0 12px;opacity:.9}.video-modal-meta{display:flex;flex-wrap:wrap;gap:12px}.video-modal-meta span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--scrim-50);border-radius:var(--radius-pill);font-size:var(--text-sm);padding:4px 12px}.video-modal-mute-btn{align-items:center;animation:fadeIn .3s ease-out;background-color:var(--scrim-70);border:1px solid var(--white-a30);border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);gap:6px;left:50%;min-height:44px;padding:8px 16px;position:absolute;top:16px;transform:translateX(-50%);z-index:10}.video-modal-mute-btn:hover{background-color:var(--scrim-85)}.video-modal-loop-indicator{align-items:center;background-color:var(--scrim-50);border-radius:var(--radius-pill);color:#fff;display:flex;font-size:var(--text-sm);gap:6px;left:16px;opacity:0;padding:6px 12px;position:absolute;top:16px;transition:opacity .3s}.video-modal-loop-indicator.visible{opacity:1}.video-modal-loop-indicator svg{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.video-modal-demonstrate{align-items:center;background-color:var(--color-brand);border:none;border-radius:var(--radius-pill);bottom:120px;color:#fff;cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:500;gap:8px;opacity:0;padding:10px 16px;position:absolute;right:16px;transform:translateX(10px);transition:opacity .3s,transform .3s,background-color .2s;z-index:10}.video-modal-demonstrate.visible{opacity:1;transform:translateX(0)}.video-modal-demonstrate:hover{background-color:var(--color-brand-dark)}.video-modal-demonstrate svg{flex-shrink: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)}.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}.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{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.25}.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:20px}.navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);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;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.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-6);list-style:none;margin:0;padding:0}.nav-link{border-radius:var(--radius-sm);color:var(--color-text);font-family:Roboto,sans-serif;font-weight:700;padding:var(--space-2) var(--space-4);text-decoration:none;transition:background-color .2s}.nav-link.active,.nav-link:hover{background-color:var(--scrim-05)}.nav-user{align-items:center;display:flex;gap:var(--space-3)}.nav-greeting{color:var(--color-text)}.nav-auth-btn,.nav-greeting{font-family:Roboto,sans-serif;font-size:var(--text-sm);font-weight:700}.home-page h1{color:var(--color-brand);margin-bottom:var(--space-4)}.featured-content{margin-top:var(--space-7)}.video-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr 1fr;margin-top:var(--space-6)}.video-card{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden;padding:var(--space-5);transition:transform .2s ease,box-shadow .2s ease}.video-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.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{color:var(--color-brand);margin-bottom:var(--space-2)}.videos-page h1{color:var(--color-brand);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{color:var(--color-brand);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-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.profile-info h2,.recent-videos h2{color:var(--color-brand);margin-bottom: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-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-6) 0;padding:var(--space-6)}.filters-section h2{color:var(--color-brand);margin-bottom:var(--space-4)}.filters{align-items:end;display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:150px}.filter-group label{color:var(--color-label);font-size:var(--text-sm);font-weight:600}.filter-group select{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:var(--space-2)}.filter-group select:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-tint);outline:none}.filters .clear-filters{border:1px solid #0000;font-size:var(--text-sm);padding:calc(var(--space-2) + 1px) var(--space-4)}.results-count{color:var(--color-gray);font-size:var(--text-sm);font-style:italic}.moves-section{margin:var(--space-6) 0}.moves-section h2{color:var(--color-brand);margin-bottom:var(--space-6)}.video-card .description{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0}.move-meta{display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-4);margin:var(--space-4) 0}.move-meta span{background-color:var(--color-brand-soft);border-radius:var(--radius-sm);color:var(--color-brand);font-weight:500;padding:var(--space-1) var(--space-2)}.duration{color:var(--color-gray);font-size:var(--text-sm);margin-top:var(--space-2)}.error,.loading,.no-results{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-gray);margin:var(--space-6) 0;padding: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{display:flex;justify-content:center;padding:var(--space-6) var(--space-4)}.auth-form-container{max-width:440px;width:100%}.auth-form-container h2{color:var(--color-brand);margin:0 0 var(--space-5) 0}.auth-error{background-color:var(--color-error-bg);color:var(--color-error-text)}.auth-error,.auth-success{border-radius:var(--radius-sm);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-2)}.move-header h3{flex:1 1;margin:0}.variation-badge{border-radius:var(--radius-xl);margin-left:var(--space-2);padding:var(--space-1) var(--space-2)}.variation-card{background-color:var(--color-variation-bg);border-left:4px solid var(--color-brand);margin-top:var(--space-2)}.breakdowns-toggle{background-color:var(--color-gold);border:none;border-radius:var(--radius-sm);color:var(--color-dark);cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-2) var(--space-4);transition:background-color .2s;width:100%}.breakdowns-toggle:hover{background-color:var(--color-gold-dark)}.variations-toggle{background-color:var(--color-brand);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);transition:background-color .2s;width:100%}.variations-toggle:hover{background-color:var(--color-brand-dark)}.variations-container{border-top:2px dashed var(--color-border);margin-top:var(--space-4);padding-top:var(--space-4)}.variations-container h4{color:var(--color-brand);font-size:var(--text-base);margin-bottom: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)}.variation-card .move-type-label{background-color:var(--color-success-tint);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{min-width:auto}.move-meta{flex-direction:column;gap:var(--space-2)}.move-meta span{align-self:flex-start}.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{background-color:var(--color-info);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-2) var(--space-4);transition:background-color .2s;width:100%}.demonstrations-toggle:hover{background-color:var(--color-info-dark)}.demonstrations-container{background-color:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-lg);margin-top:var(--space-4);padding:var(--space-4)}.demonstrations-container h4{color:var(--color-info);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:var(--color-surface);border-radius:var(--radius-xl);color:var(--color-ink);margin-bottom:var(--space-6);padding:var(--space-6)}.featured-move-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-5)}.featured-move-header h2{color:var(--color-brand);font-size:var(--text-2xl);margin:0}.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-6);align-items:center;display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr}.featured-move-video{border-radius:var(--radius-lg);overflow:hidden}.featured-move-video video{display:block;width:100%}.featured-move-info h3{font-size:var(--text-xl);margin:0 0 var(--space-2)}.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(--white-a20);border-radius:var(--radius-xl);font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}@media (max-width:768px){.demonstrations-container .demonstrations-grid,.featured-move-content,.video-grid{grid-template-columns:1fr}}.move-page{margin:0 auto;max-width:900px}.move-page-back{color:var(--color-brand);display:inline-block;font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-5);text-decoration:none}.move-page-back:hover{text-decoration:underline}.move-page-header{grid-gap:var(--space-6);align-items:start;display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr;margin-bottom:var(--space-6)}.move-page-video{border-radius:var(--radius-lg);overflow:hidden}.move-page-video .video-thumbnail-container{height:280px}.move-page-info h1{color:var(--color-brand);font-size:var(--text-3xl);margin:0 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{display:inline-block;margin-top:var(--space-3)}.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-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-5);padding:var(--space-5)}.move-page-details h3{color:var(--color-brand);font-size:var(--text-lg);margin:0 0 var(--space-4) 0}.move-page-details-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.move-page-detail-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.move-page-detail-card .detail-label{color:var(--color-gray);display:block;font-size:var(--text-sm);letter-spacing:.5px;margin-bottom:var(--space-1);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:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);text-align:center}.gated-section p{color:var(--color-gray);font-size:var(--text-base);margin:0 0 var(--space-4)}.move-title-link{color:var(--color-brand);text-decoration:none}.move-title-link:hover{text-decoration:underline}@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{background-color:var(--color-brand);color:#fff;text-decoration:none}.home-featured-cta,.home-featured-cta-outline{border-radius:var(--radius-md);display:inline-block;font-weight:500;padding:var(--space-3) var(--space-5)}.home-featured-cta-outline{background-color:initial;border:2px solid var(--color-brand);color:var(--color-brand);cursor:pointer}.home-quick-link{color:inherit;text-decoration:none}.toggle-link{box-sizing:border-box;display:block;text-align:center;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-meta-row{gap:var(--space-2);margin:var(--space-2) 0}.pattern-video-wrap{margin:var(--space-4) auto;max-width:640px;text-align:center}.pattern-video,.pattern-video-poster{background:var(--color-dark);border-radius:var(--radius-lg);max-height:70vh;width:100%}.pattern-video-poster{object-fit:contain}.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{background-color:var(--color-brand);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-block;font-weight:500;margin-top:var(--space-4);padding:var(--space-3) var(--space-5)}.move-pattern-list{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.move-pattern-card{background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;display:block;min-width:220px;padding:var(--space-3) var(--space-4);text-decoration:none}.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}.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%}.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:100dvh;overflow-y:auto;padding:0;position:fixed;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-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;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}
/*# sourceMappingURL=main.ad5d87f5.css.map*/