*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{overscroll-behavior:contain}#root{min-height:100%}:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;--card-surface: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .1);--card-surface-strong: rgba(255, 255, 255, .1)}@media (prefers-color-scheme: light){:root{--card-surface: rgba(0, 0, 0, .04);--card-border: rgba(0, 0, 0, .08);--card-surface-strong: rgba(0, 0, 0, .07)}}body{margin:0;background:var(--tg-theme-bg-color, #0f1115);color:var(--tg-theme-text-color, #f0f0f0);overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.screen{max-width:640px;margin:0 auto;padding-top:calc(20px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top,0px)));padding-bottom:calc(48px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom,0px)));padding-left:calc(16px + max(var(--tg-safe-left, 0px),env(safe-area-inset-left,0px)));padding-right:calc(16px + max(var(--tg-safe-right, 0px),env(safe-area-inset-right,0px)));display:flex;flex-direction:column;gap:16px}.screen-with-bottombar{padding-bottom:calc(76px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom,0px)))}header{margin-bottom:4px}h1{margin:0 0 4px;font-size:26px;font-weight:700;color:var(--tg-theme-text-color, #f0f0f0)}h2{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #f0f0f0)}.subtitle{margin:0;opacity:.7;color:var(--tg-theme-hint-color, #a0a0a0);font-size:14px}.card{background:var(--card-surface);border:1px solid var(--card-border);border-radius:12px;padding:16px}.error-card{background:#ff50501f;color:#ff8585;border-radius:12px;padding:14px 16px;font-size:14px;word-break:break-word}.link{color:var(--tg-theme-link-color, #6ab3f3);text-decoration:none}.sections{display:flex;flex-direction:column;gap:12px}.section-hero,.section-feature,.section-square{position:relative;width:100%;background:var(--card-surface);border:1px solid var(--card-border);border-radius:16px;text-align:left;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.section-hero:active,.section-feature:active,.section-square:active{opacity:.85}button.section-hero,button.section-feature,button.section-square{-moz-appearance:none;appearance:none;-webkit-appearance:none}button.section-square:disabled{cursor:default}.section-disabled{cursor:default}.section-hero{display:flex;flex-direction:column;gap:6px;min-height:180px;padding:18px 18px 16px}.section-eyebrow{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.7}.section-hero-title{font-size:24px;font-weight:700;line-height:1.1}.section-hero-meta{font-size:13px;opacity:.7;margin-top:2px}.section-hero-hint{font-size:14px;opacity:.55;margin-top:4px}.section-hero .section-cta{margin-top:auto;align-self:flex-start}.section-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:14px;row-gap:10px;align-items:start;min-height:150px}.section-hero-content{grid-column:1 / 2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:6px;min-width:0}.section-hero-ring{grid-column:2 / 3;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-hero-actions{grid-column:1 / -1;grid-row:3 / 4;display:flex;flex-direction:row;gap:10px;margin-top:4px}.section-hero-grid .section-hero-actions>.section-cta{margin-top:0;align-self:stretch;flex:1 1 0;min-width:0}.section-hero .section-hero-cta-secondary{background:transparent;color:var(--tg-theme-text-color, #000);border:1px solid var(--card-border)}.section-hero-ring-ratio{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.section-feature{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:92px;padding:16px 16px 16px 18px}.section-feature-text{display:flex;flex-direction:column;gap:4px;min-width:0}.section-feature-title{font-size:17px;font-weight:600}.section-feature-meta{font-size:13px;opacity:.7}.section-feature-hint{font-size:13px;opacity:.55}.section-cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:14px;font-weight:600;line-height:1;white-space:nowrap}.section-cta-compact{padding:8px 14px;font-size:13px}.sections-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.section-square{aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px}.section-square-title{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.8;text-align:center;line-height:1.2}.section-soon-pill{position:absolute;top:12px;right:12px;padding:3px 9px;border-radius:999px;background:var(--card-surface-strong);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;opacity:.7}.ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.ring svg{display:block}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ring-ratio{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.ring-soon{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;opacity:.55}.progress-track{height:4px;background:var(--card-surface-strong);border-radius:2px;overflow:hidden;margin-top:4px}.progress-fill{height:100%;background:var(--tg-theme-button-color, #2481cc);transition:width .2s ease}.lesson-list{display:flex;flex-direction:column;gap:6px}.lesson-row{display:flex;align-items:center;gap:12px;background:var(--card-surface);border:1px solid var(--card-border);border-radius:10px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.lesson-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--tg-theme-button-color, #2481cc);cursor:pointer}.lesson-row-on{background:#2481cc2e}.lesson-row-title{font-size:15px}.lesson-cards{display:flex;flex-direction:column;gap:10px}.lesson-card{display:flex;flex-direction:column;gap:6px;width:100%;background:var(--card-surface);border:1px solid var(--card-border);border-radius:14px;padding:14px 16px;text-align:left;color:inherit;cursor:pointer;font-family:inherit}.lesson-card-with-ring{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.lesson-card:active{opacity:.85}.lesson-card-done{opacity:.75}.lesson-card-main{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.lesson-card-row{display:flex;justify-content:space-between;align-items:center}.lesson-card-title{font-size:16px;font-weight:600}.check{color:#4caf50;font-weight:700}.lesson-card-meta{font-size:13px;opacity:.7}.lesson-card-num{font-variant-numeric:tabular-nums;opacity:.6;font-weight:500;margin-right:2px}.lesson-card-desc{font-size:13px;opacity:.75;line-height:1.45}.lesson-ring-label{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.lesson-ring-done{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.lesson-ring-done svg{display:block}.footer-actions{display:flex;justify-content:center;margin-top:8px}.link-btn{background:none;border:none;color:var(--tg-theme-link-color, #6ab3f3);font-size:14px;cursor:pointer;padding:8px 12px;font-family:inherit}.btn-secondary{display:inline-block;margin-top:12px;padding:10px 14px;border:none;border-radius:10px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.block-card{background:var(--card-surface);border:1px solid var(--card-border);border-radius:14px;padding:18px}.block-title{margin:0 0 10px}.block-text{font-size:15px;line-height:1.55}.block-text p{margin:0 0 12px}.block-text p:last-child{margin-bottom:0}.block-text ul,.block-text ol{padding-left:22px;margin:0 0 12px}.block-text code{background:var(--card-surface-strong);padding:2px 6px;border-radius:4px;font-size:14px}.block-empty{opacity:.6;font-style:italic}.screen-with-sticky-header{padding-top:0}.lesson-header-sticky{position:sticky;top:0;z-index:5;margin:0 calc(-1*(16px + max(var(--tg-safe-right, 0px),env(safe-area-inset-right,0px)))) 0 calc(-1*(16px + max(var(--tg-safe-left, 0px),env(safe-area-inset-left,0px))));padding-top:calc(16px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top,0px)));padding-bottom:12px;padding-left:calc(16px + max(var(--tg-safe-left, 0px),env(safe-area-inset-left,0px)));padding-right:calc(16px + max(var(--tg-safe-right, 0px),env(safe-area-inset-right,0px)));background:var(--tg-theme-bg-color, #0f1115);border-bottom:1px solid var(--card-border);margin-bottom:0}.lesson-header-sticky .header-row{display:flex;align-items:center;gap:12px}.lesson-header-sticky .header-titles{flex:1 1 auto;min-width:0}.lesson-header-sticky .header-titles h1,.lesson-header-sticky .header-titles .subtitle{margin:0}.lesson-header-sticky .header-titles .subtitle{margin-top:4px}.header-action-btn{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid var(--card-border);background:transparent;color:var(--tg-theme-link-color, #6ab3f3);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .12s ease,border-color .12s ease}.header-action-btn:hover{background:#6ab3f314;border-color:var(--tg-theme-link-color, #6ab3f3)}.header-action-btn:active{background:#6ab3f329;opacity:.9}.lesson-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;gap:12px;padding:12px 16px;padding-bottom:calc(12px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom,0px)));padding-left:calc(16px + max(var(--tg-safe-left, 0px),env(safe-area-inset-left,0px)));padding-right:calc(16px + max(var(--tg-safe-right, 0px),env(safe-area-inset-right,0px)));background:var(--tg-theme-bg-color, #0f1115);border-top:1px solid var(--card-border);max-width:640px;margin:0 auto}.lesson-nav-btn{border:none;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lesson-nav-btn:active{opacity:.85}.lesson-nav-btn:disabled{opacity:.4;cursor:default}.lesson-nav-btn-secondary{flex:0 0 auto;background:var(--card-surface);border:1px solid var(--card-border);color:inherit;padding:14px 18px}.lesson-nav-btn-primary{flex:1;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.home-header-actions{flex-shrink:0;display:flex;align-items:center;gap:8px}.home-settings-btn{flex-shrink:0;width:36px;height:36px;padding:8px;border:1px solid var(--card-border);background:var(--card-surface);border-radius:10px;color:inherit;cursor:pointer;opacity:.7;font-family:inherit}.home-settings-btn:active{opacity:1}.home-settings-btn svg{width:100%;height:100%;display:block}.home-admin-person-btn{flex-shrink:0;width:36px;height:36px;padding:0;border:none;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.home-admin-person-btn:active{opacity:.85}.home-admin-person-btn svg{display:block}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;align-items:stretch;gap:8px;background:var(--card-surface);border:1px solid var(--card-border);border-radius:10px;padding:10px 12px}.admin-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;background:none;border:none;padding:0;color:inherit;cursor:pointer;font-family:inherit;text-align:left}.admin-row-main:active{opacity:.85}.admin-row-title{font-size:15px;font-weight:600;word-break:break-word}.admin-row-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;opacity:.75}.admin-row-preview{font-size:12px;opacity:.6;word-break:break-word;line-height:1.35}.admin-untitled{opacity:.55;font-style:italic;font-weight:500}.admin-pill{padding:2px 7px;border-radius:999px;background:var(--card-surface-strong);font-variant-numeric:tabular-nums;font-weight:600}.admin-pill-soft{font-weight:500;opacity:.85}.admin-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;opacity:.75}.admin-row-meta .ok,.admin-row-status .ok{color:#4caf50}.admin-row-meta .off,.admin-row-status .off{color:#f08080}.admin-row-status{font-size:12px;font-weight:600;opacity:.85}.admin-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.admin-iconbtn{width:30px;height:30px;padding:5px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;cursor:pointer;opacity:.75;font-family:inherit}.admin-iconbtn:hover{background:var(--card-surface-strong);opacity:1}.admin-iconbtn:active{opacity:.6}.admin-iconbtn:disabled{opacity:.25;cursor:default}.admin-iconbtn svg{width:100%;height:100%;display:block}.admin-iconbtn-danger{color:#f08080}.admin-add{margin-top:4px;display:block;width:100%;padding:12px 14px;border:1px dashed var(--card-border);border-radius:10px;background:transparent;color:inherit;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;opacity:.8}.admin-add:hover{opacity:1;background:var(--card-surface)}.admin-add:active{opacity:.6}.admin-form{display:flex;flex-direction:column;gap:14px}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field>span{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.admin-field input[type=text],.admin-field input[type=number],.admin-field input[type=url],.admin-field textarea{width:100%;padding:10px 12px;border:1px solid var(--card-border);border-radius:10px;background:var(--card-surface);color:inherit;font-family:inherit;font-size:16px;resize:vertical}.admin-field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;line-height:1.45;min-height:200px}.admin-field input:focus,.admin-field textarea:focus{outline:none;border-color:var(--tg-theme-button-color, #2481cc)}.admin-field input:disabled{opacity:.6;cursor:not-allowed}.admin-field-row{flex-direction:row;align-items:center;gap:10px}.admin-field-checkbox{flex-direction:row;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:inherit}.admin-field-checkbox>span{text-transform:none;letter-spacing:0;font-weight:500;font-size:14px;opacity:1}.admin-field-row>span{text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;opacity:1}.admin-field-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--tg-theme-button-color, #2481cc);cursor:pointer}.admin-field-row-between{display:flex;align-items:center;justify-content:space-between}.admin-toggle{background:none;border:1px solid var(--card-border);color:var(--tg-theme-link-color, #6ab3f3);border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit}.admin-preview{background:var(--card-surface);border:1px solid var(--card-border);border-radius:10px;padding:12px 14px}.admin-preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;opacity:.6;margin-bottom:8px;font-weight:600}.admin-toast{background:#ff505026;color:#ff9090;border-radius:10px;padding:10px 14px;font-size:13px;word-break:break-word}.admin-autosave{font-size:12px;margin-top:4px;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-autosave-retry{background:transparent;border:1px solid currentColor;color:inherit;border-radius:8px;padding:3px 8px;font-size:12px;cursor:pointer;font-family:inherit}.admin-autosave-retry:active{opacity:.8}.admin-save-btn{width:100%;margin-top:8px;padding:14px 16px;border:none;border-radius:12px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);font-size:16px;font-weight:600;cursor:pointer;font-family:inherit}.admin-save-btn:active{opacity:.85}.admin-save-btn:disabled{opacity:.6;cursor:default}.block-skeleton{background:var(--card-surface);border:1px solid var(--card-border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px}.block-skeleton-line{height:14px;background:var(--card-surface-strong);border-radius:4px;animation:skeleton-pulse 1.4s ease-in-out infinite}.block-skeleton-line-title{height:22px;width:60%;margin-bottom:6px}.block-skeleton-line-audio{height:54px;border-radius:10px}.block-skeleton-line-short{width:75%}.block-skeleton-line-shorter{width:50%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.admin-audio-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.admin-toggle-danger{color:#ff9090;border-color:#ff909066}.admin-items{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.admin-items-empty{padding:14px;border:1px dashed var(--card-border);border-radius:10px;opacity:.7;text-align:center}.admin-item{background:var(--card-surface);border:1px solid var(--card-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.admin-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-item-type{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.admin-item-controls{display:flex;gap:4px}.admin-item-actions-row{display:flex;justify-content:flex-end;gap:8px}.admin-type-picker{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--card-surface);border:1px solid var(--card-border);border-radius:12px}.admin-type-btn{flex:1 1 calc(50% - 4px);padding:10px 12px;background:var(--card-surface-strong);border:1px solid var(--card-border);border-radius:8px;color:inherit;font-size:14px;cursor:pointer}.admin-type-btn:hover{border-color:var(--accent, #5288c1)}.admin-type-btn-cancel{flex:1 1 100%;opacity:.7}.admin-field-hint{margin:6px 0 0;font-size:12px;opacity:.7;line-height:1.45}.admin-field-hint a{color:var(--tg-theme-link-color, #6ab3f3)}.admin-uvr-preview{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:4px;background:var(--card-surface-strong);border:1px dashed var(--card-border);border-radius:8px;font-size:14px}.admin-uvr-icon{font-size:18px}.admin-uvr-text{opacity:.85}.exercise-item{background:var(--card-surface-strong);border:1px solid var(--card-border);border-radius:12px;padding:16px;margin:0 0 14px;display:flex;flex-direction:column;align-items:stretch;gap:12px}.exercise-item-done{opacity:.75}.exercise-title{margin:0;font-size:17px;font-weight:600}.exercise-description{font-size:14px;margin:0}.exercise-timer-display{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:56px;font-weight:700;text-align:center;letter-spacing:2px;margin:4px 0;font-variant-numeric:tabular-nums}.exercise-metronome{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0}.exercise-metronome-beats{display:flex;align-items:center;justify-content:center;gap:14px}.exercise-metronome-dot{width:18px;height:18px;border-radius:50%;background:var(--tg-theme-secondary-bg-color, #1f2530);transition:background-color .1s ease}.exercise-metronome-dot.active{background:#c0451a}.exercise-metronome-bpm{font-size:13px;opacity:.7;font-variant-numeric:tabular-nums}.exercise-start-btn{border:none;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff)}.exercise-start-btn:active{opacity:.85}.exercise-start-btn:disabled{cursor:default}.exercise-start-btn-stop{background:#c14545}.exercise-start-btn-done{background:#3aa05a;opacity:1}.exercise-btn-row{display:flex;gap:10px}.exercise-btn-row .exercise-start-btn{flex:1 1 0;min-width:0}.exercise-dz-footer{display:flex;justify-content:flex-start;padding-top:10px;margin-top:2px;border-top:1px solid var(--card-border)}.exercise-checkbox-row{flex-direction:row;flex-wrap:wrap;gap:16px;align-items:center}.exercise-checkbox-row .exercise-dz-checkbox{flex:0 1 auto}.exercise-dz-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.exercise-dz-checkbox input[type=checkbox]{width:16px;height:16px;cursor:inherit}.exercise-dz-checkbox input[type=checkbox]:disabled{cursor:default;opacity:.7}.exercise-dz-progress{text-align:center;font-size:13px;opacity:.75;font-variant-numeric:tabular-nums}.exercise-lesson-meta{font-size:12px;opacity:.6;margin:-4px 0 -8px}.exercise-media{margin:0}.exercise-media-image{display:flex;flex-direction:column;gap:6px}.exercise-image{display:block;width:100%;max-width:100%;height:auto;border-radius:12px;object-fit:cover}.media-caption{font-size:12px;opacity:.65;text-align:left;line-height:1.4;margin:4px 0 0}.block-image{margin:0;display:flex;flex-direction:column;gap:6px}.block-image img{display:block;width:100%;max-width:100%;height:auto;border-radius:12px;object-fit:cover}.block-item-separated{padding:16px 0;border-top:1px solid var(--card-border)}.block-item-separated-first{border-top:none;padding-top:0}.block-item-separated:last-child{padding-bottom:0}.block-item-separated .block-title{margin-bottom:0}.block-item-separated>.block-text:last-child p:last-child{margin-bottom:0}.audio-player{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.audio-player:last-child{margin-bottom:0}.audio-player-title{font-size:13px;opacity:.7}.audio-player-row{display:flex;align-items:center;justify-content:center;gap:16px}.audio-player-play{width:48px;height:48px;border-radius:50%;border:none;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.audio-player-play:active{opacity:.85}.audio-player-play svg{width:22px;height:22px;display:block}.audio-player-jump{width:44px;height:32px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-surface);color:var(--tg-theme-link-color, #6ab3f3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.audio-player-jump:active{opacity:.75}.audio-player-jump-num{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.audio-player-scrub{width:100%}.audio-player-scrub input[type=range]{width:100%;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}.audio-player-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);border:none;cursor:pointer}.audio-player-scrub input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);border:none;cursor:pointer}.audio-player-times{display:flex;justify-content:space-between;font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}.video-player{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.video-player:last-child{margin-bottom:0}.video-player-title{font-size:13px;opacity:.7}.video-player-stage{width:100%;background:#000;border-radius:10px;overflow:hidden;position:relative;cursor:pointer}.video-player-stage-placeholder{width:100%;height:140px;background:var(--card-surface, #1a1a1a);border-radius:10px}.video-player-video{width:100%;height:100%;display:block;object-fit:contain;background:#000}.video-player-row{display:flex;align-items:center;justify-content:center;gap:16px}.video-player-play{width:48px;height:48px;border-radius:50%;border:none;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.video-player-play:active{opacity:.85}.video-player-play svg{width:22px;height:22px;display:block}.video-player-jump{width:44px;height:32px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-surface);color:var(--tg-theme-link-color, #6ab3f3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.video-player-jump:active{opacity:.75}.video-player-jump-num{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.video-player-scrub{width:100%}.video-player-scrub input[type=range]{width:100%;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}.video-player-scrub input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);border:none;cursor:pointer}.video-player-scrub input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);border:none;cursor:pointer}.video-player-times{display:flex;justify-content:space-between;font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}.uvr-block{display:flex;flex-direction:column;gap:12px}.uvr-caption{margin-top:-4px;margin-bottom:0}.uvr-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.uvr-counter{font-size:14px;opacity:.75;font-variant-numeric:tabular-nums}.uvr-record-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);-webkit-appearance:none;-moz-appearance:none;appearance:none}.uvr-record-btn:active{opacity:.85}.uvr-error{margin:0}.uvr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.uvr-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--card-surface-strong);border:1px solid var(--card-border);border-radius:12px}.uvr-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.uvr-card-date{font-size:14px;font-weight:500}.uvr-card-meta{display:flex;gap:10px;font-size:12px;opacity:.6;font-variant-numeric:tabular-nums}.uvr-card-pending{color:#ffb84d;opacity:1}.uvr-card-actions{display:flex;gap:6px;flex-shrink:0}.uvr-card-btn{border:1px solid var(--card-border);background:var(--card-surface);color:var(--tg-theme-link-color, #6ab3f3);padding:8px 12px;border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.uvr-card-btn:active{opacity:.85}.uvr-card-btn:disabled{opacity:.4;cursor:default}.uvr-card-btn-danger{color:#ff8585}.recorder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d9;display:flex;align-items:stretch;justify-content:center}.recorder-modal{width:100%;max-width:640px;display:flex;flex-direction:column;background:var(--tg-theme-bg-color, #0f1115);padding-top:calc(16px + max(var(--tg-safe-top, 0px),env(safe-area-inset-top,0px)));padding-bottom:calc(16px + max(var(--tg-safe-bottom, 0px),env(safe-area-inset-bottom,0px)));padding-left:calc(16px + max(var(--tg-safe-left, 0px),env(safe-area-inset-left,0px)));padding-right:calc(16px + max(var(--tg-safe-right, 0px),env(safe-area-inset-right,0px)));gap:16px}.recorder-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;background:#000;border-radius:12px;overflow:hidden}.recorder-video{width:100%;height:100%;max-height:100%;object-fit:contain;background:#000}.recorder-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--tg-theme-text-color, #f0f0f0);text-align:center}.recorder-status-text{font-size:16px;font-weight:500}.recorder-status-detail{font-size:13px;opacity:.7}.recorder-progress{width:100%;max-width:320px;height:6px;background:var(--card-surface-strong);border-radius:3px;overflow:hidden}.recorder-progress-bar{height:100%;background:var(--tg-theme-button-color, #2481cc);transition:width .2s ease-out}.recorder-footer{display:flex;gap:12px;align-items:center}.recorder-footer .lesson-nav-btn{flex:1}.recorder-footer .lesson-nav-btn-secondary{flex:0 0 auto}.recorder-record-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.recorder-stop-btn{background:#d44!important}.recorder-timer{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background:var(--card-surface);border:1px solid var(--card-border);border-radius:12px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.recorder-rec-dot{width:10px;height:10px;border-radius:50%;background:#ff4d4d;display:inline-block}.recorder-rec-dot-blink{animation:recorder-blink 1s ease-in-out infinite}@keyframes recorder-blink{0%,to{opacity:1}50%{opacity:.3}}.recorder-modal-player .recorder-body{overflow:visible}
