@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#f4efe8;background:#151216;font-synthesis:none;--surface: #1e1a1f;--raised: #282229;--line: #3a323b;--muted: #aa9fab;--amber: #eea15e;--amber-ink: #251912}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ffc189;outline-offset:2px}.primary{border:0!important;background:var(--amber)!important;color:var(--amber-ink)!important;font-weight:700}.brand{display:flex;align-items:center;gap:10px;font:700 .92rem Manrope}.brand i{width:19px;height:19px;border:2px solid var(--amber);border-radius:50% 50% 42% 58%;transform:rotate(-18deg)}header{height:66px;padding:0 clamp(18px,4vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#151216ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.header-meta{display:flex;align-items:center;gap:18px}.header-meta>span{color:var(--muted);font-size:.76rem}.header-meta button,.secondary{min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:#f4efe8;display:flex;align-items:center;gap:8px}.header-action{color:var(--muted)!important;background:transparent!important}.library{width:min(1240px,calc(100% - 36px));margin:auto;padding:clamp(34px,6vw,72px) 0 90px}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}.library-heading p,.player-title span,.sheet-head p{margin:0 0 7px;color:var(--amber);font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.library-heading h1{margin:0;font:700 clamp(1.85rem,4vw,3.3rem) / 1.02 "Manrope";letter-spacing:-.045em}.library-heading input{width:min(390px,100%);height:46px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:#f4efe8}.class-filter{display:flex;gap:7px;overflow-x:auto;padding:0 0 16px;margin-bottom:22px;scrollbar-width:none}.class-filter button{flex:none;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.75rem}.class-filter button.active{background:#f4efe8;color:#211c21;border-color:#f4efe8}.class-group{margin:0 0 46px}.class-group>div:first-child{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.class-group h2{margin:0;font:700 1.15rem Manrope}.class-group>div:first-child span{color:var(--muted);font-size:.7rem}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.video-card{padding:0;border:0;background:transparent;color:inherit;text-align:left;min-width:0}.preview{position:relative;aspect-ratio:16/10;background:#080708;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.preview video,.preview img{width:100%;height:100%;object-fit:cover;opacity:.8;pointer-events:none}.preview>span{position:absolute;left:12px;bottom:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4efe8;color:#201a20;transform:scale(.92);opacity:0;transition:opacity .16s,transform .16s}.video-card:hover .preview>span,.video-card:focus-visible .preview>span{opacity:1;transform:scale(1)}.card-copy{display:grid;padding:11px 2px 0}.card-copy time{color:var(--amber);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.card-copy strong{margin:4px 0 3px;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-copy small{color:var(--muted);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{width:100%;min-height:300px;border:1px dashed #524552;border-radius:12px;background:var(--surface);color:var(--muted);display:grid;place-content:center;justify-items:center;gap:8px}.empty svg{width:34px;height:34px;color:var(--amber);margin-bottom:4px}.empty strong{color:#f4efe8}.no-results{padding:70px 0;color:var(--muted)}.watch{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 80px}.back{display:inline-flex;align-items:center;gap:6px;margin:0 0 30px;border:0;background:transparent;color:var(--muted);text-decoration:none;padding:0}.player-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.player-title h1{margin:0;font:700 clamp(1.55rem,3vw,2.7rem) / 1.05 "Manrope";letter-spacing:-.035em}.player-title p{margin:5px 0 0;color:var(--muted);font-size:.78rem}.stage{position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:#050405;border:1px solid var(--line);overflow:hidden;border-radius:8px 8px 0 0}.stage video{width:100%;height:100%;object-fit:contain}.stage.mirrored video{transform:scaleX(-1)}.center-play{position:absolute;width:64px;height:64px;display:grid;place-items:center;border:1px solid #fff7;border-radius:50%;background:#171217bd;color:#fff;opacity:0;transition:opacity .16s}.stage:hover .center-play,.center-play:focus-visible{opacity:1}.transport{padding:0 16px 14px;border:1px solid var(--line);border-top:0;background:var(--surface);border-radius:0 0 8px 8px}.timeline{appearance:none;width:calc(100% + 32px);height:24px;margin:0 -16px 8px;background:transparent;display:block}.timeline::-webkit-slider-runnable-track{height:5px;background:linear-gradient(to right,var(--amber) var(--progress),#4c424c var(--progress));border-radius:4px}.timeline::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border-radius:50%;background:#f5eee7;margin-top:-6px;box-shadow:0 1px 4px #0008}.timeline::-moz-range-track{height:5px;background:#4c424c}.timeline::-moz-range-progress{height:5px;background:var(--amber)}.timeline::-moz-range-thumb{width:17px;height:17px;border:0;border-radius:50%;background:#f5eee7}.transport-row,.play-cluster,.practice-tools,.loop-row{display:flex;align-items:center}.transport-row{justify-content:space-between;gap:18px}.play-cluster,.practice-tools,.loop-row{gap:7px}.transport button,.transport label{height:40px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:#f4efe8;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 11px}.play-cluster button{width:42px;padding:0;position:relative}.play-cluster button small{position:absolute;font-size:.53rem;font-weight:700}.play-cluster .play{background:#f4efe8;color:#211c21;border-color:#f4efe8}.play-cluster time{margin-left:7px;color:#f4efe8;font-size:.73rem;font-variant-numeric:tabular-nums}.play-cluster time span{color:var(--muted)}.practice-tools button.active,.loop-row button.active{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}.practice-tools label{padding:0 5px 0 10px;color:var(--muted);font-size:.68rem}.practice-tools select{height:34px;border:0;background:transparent;color:#f4efe8}.loop-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.loop-row>span{margin-right:auto;color:var(--muted);font-size:.69rem}.loop-row button,.loop-row a{height:36px;font-size:.68rem}.loop-row a{border:1px solid var(--line);border-radius:8px;background:var(--raised);color:#f4efe8;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;text-decoration:none}.loop-row button.set{border-color:#9d673e}.notes{max-width:760px;margin:22px 0;color:#beb3be;line-height:1.65;white-space:pre-wrap}.shared-player{width:min(1100px,calc(100% - 28px));margin:0 auto;padding:28px 0 70px}.shared-player>.back{margin-bottom:50px}.center{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.sheet-backdrop{position:fixed;inset:0;z-index:30;background:#070607b8;display:flex;align-items:flex-end;justify-content:center;padding:24px}.upload-sheet{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #504450;border-radius:16px;background:#211c22;box-shadow:0 24px 80px #0009;padding:25px}.sheet-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.sheet-head h2{margin:0;font:700 1.65rem Manrope}.sheet-head>button{border:0;background:transparent;color:var(--muted)}.file-pick{width:100%;min-height:92px;padding:15px;border:1px dashed #605261;border-radius:10px;background:#191619;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:13px;text-align:left}.file-pick.chosen{justify-content:flex-start;border-style:solid}.file-pick.dragging{border-style:solid;border-color:var(--amber);background:color-mix(in oklch,var(--amber),var(--surface) 90%)}.file-pick svg{color:var(--amber)}.file-pick span{display:grid;gap:3px}.file-pick strong{color:#f4efe8}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.fields label{display:grid;gap:6px;color:var(--muted);font-size:.7rem}.fields .wide{grid-column:1/-1}.fields input,.fields textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#171418;color:#f4efe8}.upload-progress{margin:5px 0 16px}.upload-progress>div{display:flex;justify-content:space-between;font-size:.73rem}.upload-progress progress{width:100%;height:7px;appearance:none;border:0;border-radius:4px;overflow:hidden}.upload-progress progress::-webkit-progress-bar{background:#453a45}.upload-progress progress::-webkit-progress-value{background:var(--amber)}.upload-progress small{color:var(--muted);font-size:.65rem}.error{color:#ffb5aa;font-size:.72rem}.sheet-actions{display:flex;justify-content:flex-end;gap:8px}.sheet-actions button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:transparent;color:#f4efe8}.login{min-height:100vh;padding:28px clamp(22px,7vw,100px)}.login form{width:min(560px,100%);margin:14vh auto 0}.login form>p{color:var(--amber);text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.login h1{margin:10px 0 38px;font:700 clamp(2.9rem,7vw,5.8rem) / .92 "Manrope";letter-spacing:-.06em}.login label{display:grid;gap:8px;color:var(--muted);font-size:.72rem}.login input{height:50px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:#fff;padding:0 14px}.login form button{margin-top:12px;width:100%;height:48px;border:0;border-radius:8px;background:var(--amber);color:var(--amber-ink);font-weight:700}@media(max-width:900px){.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){header{padding:0 16px}.header-meta>span{display:none}.library{width:calc(100% - 28px);padding-top:28px}.library-heading{align-items:stretch;flex-direction:column;gap:20px}.library-heading input{width:100%}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.class-group{margin-bottom:36px}.preview{aspect-ratio:4/3}.preview>span{opacity:1;width:34px;height:34px}.watch{width:100%;padding-top:18px}.watch>.back,.player-title{margin-left:15px;margin-right:15px}.player-title{align-items:stretch;flex-direction:column}.player-title .secondary{justify-content:center}.stage{border-radius:0;aspect-ratio:4/3}.transport{border-left:0;border-right:0;border-radius:0;padding:0 12px 12px}.timeline{width:calc(100% + 24px);margin-left:-12px;margin-right:-12px}.transport-row{align-items:stretch;flex-direction:column}.play-cluster{justify-content:center}.play-cluster time{margin-left:auto}.practice-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.practice-tools button,.practice-tools label{width:100%}.loop-row{display:grid;grid-template-columns:1fr 1fr 1.2fr auto}.loop-row>span{grid-column:1/-1}.loop-row .clip-download{grid-column:1/-1}.sheet-backdrop{padding:0;align-items:flex-end}.upload-sheet{max-height:94vh;border-radius:16px 16px 0 0;padding:20px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.shared-player{width:100%;padding-top:20px}.shared-player>.back{margin-left:15px}.shared-player .player-title{margin-left:15px;margin-right:15px}.center-play{opacity:1;width:52px;height:52px}}@media(max-width:420px){.video-grid{grid-template-columns:1fr 1fr}.card-copy strong{font-size:.84rem}.card-copy small{font-size:.63rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.header-meta button,.secondary,.class-filter button,.back,.sheet-head>button,.sheet-actions button{min-height:44px}.back{padding:0 4px}.sheet-head>button{min-width:44px;display:grid;place-items:center}button:disabled{cursor:not-allowed;opacity:.5}.manage{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}.manage-toggle{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:#f4efe8}.manage form{margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.manage .fields{margin-top:0}.manage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.manage-actions button{min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:#f4efe8}.manage-actions .danger{margin-left:auto;color:#ffb5aa;border-color:#714740}.delete-warning{margin:12px 0 0;color:#ffb5aa;font-size:.75rem}@media(max-width:680px){.card-copy time,.card-copy small,.class-group>div:first-child span,.play-cluster time,.loop-row>span,.loop-row button,.fields label,.error,.upload-progress>div,.upload-progress small{font-size:.75rem}.class-filter button{font-size:.82rem}.practice-tools button,.practice-tools label,.loop-row button{min-height:44px}}@media(max-width:680px){.manage{margin-left:15px;margin-right:15px}.manage form{padding:15px}.manage-actions{display:grid;grid-template-columns:1fr}.manage-actions .danger{margin-left:0}}
