:root{--tg-bg:var(--telegram-bg-color);--tg-text:var(--telegram-text-color);--tg-hint:var(--telegram-hint-color);--tg-link:var(--telegram-link-color);--tg-button:var(--telegram-button-color);--tg-button-text:var(--telegram-button-text-color);--tg-secondary-bg:var(--telegram-secondary-bg-color);--tg-header-bg:var(--telegram-header-bg-color);--tg-bottom-bar-bg:var(--telegram-bottom-bar-bg-color);--tg-section-bg:var(--telegram-section-bg-color);--tg-section-header-text:var(--telegram-section-header-text-color);--tg-subtitle-text:var(--telegram-subtitle-text-color);--tg-destructive:var(--telegram-destructive-text-color);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--color-bg);font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--color-bg:#f7f5f1;--color-surface:#fff;--color-surface-soft:#fbfaf7;--color-surface-raised:#fff;--color-text:#24211d;--color-text-muted:#6f6860;--color-text-subtle:#6f6860;--color-border:#dfd8cf;--color-border-strong:#c9beb2;--color-accent:#4f7c74;--color-accent-strong:#38655e;--color-accent-soft:#e5f0ed;--color-link:#386d8c;--color-focus:#2f7dcb;--color-success:#2f7657;--color-success-soft:#e4f2eb;--color-warning:#9a6400;--color-warning-soft:#fff2d7;--color-danger:#b34336;--color-danger-soft:#fde7e3;--color-info:#2f5f89;--color-info-soft:#e7eff8;--shadow-raised:0 6px 18px #24211d14}:root[data-theme=dark]{--color-bg:#151718;--color-surface:#1f2223;--color-surface-soft:#252929;--color-surface-raised:#292d2d;--color-text:#f2eee8;--color-text-muted:#c5bdb2;--color-text-subtle:#9a938a;--color-border:#3b403f;--color-border-strong:#535957;--color-accent:#8cc7bc;--color-accent-strong:#a8ddd4;--color-accent-soft:#203936;--color-link:#8fc8e8;--color-focus:#7db8ff;--color-success:#8fd5ae;--color-success-soft:#1f3b2e;--color-warning:#e6bd68;--color-warning-soft:#3d321d;--color-danger:#f0a099;--color-danger-soft:#442623;--color-info:#9fc7ef;--color-info-soft:#234;--shadow-raised:0 8px 24px #00000047}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);letter-spacing:0;font-size:16px;line-height:24px}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:var(--color-link);text-decoration-thickness:1px}.app-shell{min-height:var(--tg-viewport-stable-height,100svh);background:var(--color-bg);color:var(--color-text);padding-top:max(env(safe-area-inset-top), 0px);padding-bottom:max(env(safe-area-inset-bottom), 0px)}.content-rail{width:min(100%,430px);min-height:var(--tg-viewport-stable-height,100svh);margin:0 auto;padding:18px 16px 98px}@media (width<=359px){.content-rail{padding-left:12px;padding-right:12px}}@media (width>=900px){.content-rail{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}}.screen-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.screen-header h1{overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:650;line-height:30px}.screen-header p,.muted{color:var(--color-text-muted);margin:4px 0 0;font-size:14px;line-height:20px}.stack{gap:12px;display:grid}.tab-nav{left:50%;bottom:max(env(safe-area-inset-bottom), 0px);background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-top:1px solid var(--color-border);width:min(100%,430px);min-height:62px;box-shadow:var(--shadow-raised);z-index:5;grid-template-columns:repeat(4,1fr);gap:2px;padding:6px 8px 8px;display:grid;position:fixed;transform:translate(-50%)}.tab-nav a{min-height:44px;color:var(--color-text-muted);border-radius:6px;place-items:center;gap:1px;font-size:11px;line-height:14px;text-decoration:none;display:grid}.tab-nav a.active{color:var(--color-accent-strong);background:var(--color-accent-soft);font-weight:600}.segmented{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;grid-template-columns:repeat(2,44px);padding:3px;display:inline-grid}.segmented button{background:0 0;border:0;border-radius:999px;min-height:34px}.segmented .is-active{background:var(--color-accent);color:#fff}.language-options{gap:10px;display:grid}.language-options button,.button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 12px;text-decoration:none;display:inline-flex}.language-options button{justify-content:space-between;width:100%}.language-options .selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.button.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.button.secondary{background:var(--color-surface);color:var(--color-text)}.desktop-main{width:100%;margin-top:14px}.course-card,.enrollment-card{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:112px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:92px 1fr 20px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:grid}@media (width<=340px){.course-card,.enrollment-card{grid-template-columns:1fr 20px}.cover-slot,.cover-thumb{grid-column:1/-1}}.cover-slot,.cover-large,.cover-thumb,.media-slot{background:var(--color-surface-soft);border:1px dashed var(--color-border-strong);color:var(--color-text-subtle);border-radius:8px;place-items:center;display:grid}.cover-slot{aspect-ratio:4/3;min-height:72px}.cover-large{aspect-ratio:16/9;font-size:14px}.cover-thumb{width:84px;min-height:72px}.media-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin:0;overflow:hidden}.media-card img{object-fit:cover;object-position:center;background:var(--color-surface-soft);width:100%;max-height:420px;display:block}.media-card[data-type=photo] img{aspect-ratio:4/5}.media-card figcaption{color:var(--color-text-muted);padding:8px 10px;font-size:13px;line-height:18px}.card-body h2,.enrollment-card h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:18px;font-weight:600;line-height:26px}.card-body p{color:var(--color-text-muted);margin:0 0 8px;font-size:14px;line-height:20px}.meta-row{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.status-badge{border:1px solid var(--color-border);background:var(--color-surface-soft);min-height:28px;color:var(--color-text);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;line-height:16px;display:inline-flex}.status-badge[data-state=owned],.status-badge[data-state=watched],.status-badge[data-state=completed]{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success-soft)}.status-badge[data-state=locked],.status-badge[data-state=available]{color:var(--color-info);background:var(--color-info-soft);border-style:dashed}.status-badge[data-state=overdue],.status-badge[data-state=files]{color:var(--color-warning);background:var(--color-warning-soft)}.status-badge[data-state=expired],.status-badge[data-state=revoked],.status-badge[data-state=disabled]{color:var(--color-danger);background:var(--color-danger-soft)}.progress-block{gap:6px;margin-top:10px;display:grid}.progress-meta{color:var(--color-text-muted);justify-content:space-between;gap:8px;font-size:14px;display:flex}.progress-track{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.progress-track span{background:var(--color-accent);height:100%;transition:width .18s;display:block}.progress-counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.progress-counters div,.lesson-progress{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:6px;padding:10px;display:grid}.progress-counters span{color:var(--color-text-muted);font-size:13px;line-height:18px}.progress-counters strong{font-size:18px;line-height:24px}.lesson-progress .progress-meta{flex-wrap:wrap;align-items:center}.timer-badge{color:var(--color-warning);grid-template-columns:16px 1fr;column-gap:6px;margin-top:10px;font-size:12px;display:grid}.timer-badge strong{overflow-wrap:anywhere;grid-column:2}.simple-section,.state-panel,.review-module,.form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:10px;padding:14px;display:grid}.simple-section h2,.review-module h2,.state-panel h1,.state-panel h2{margin:0;font-size:18px;line-height:26px}.state-panel[data-state=locked],.state-panel[data-state=offline]{border-color:var(--color-warning);background:var(--color-warning-soft)}.state-panel[data-state=enrollment_expired],.state-panel[data-state=enrollment_revoked],.state-panel[data-state=not_owner],.state-panel[data-state=unauthorized]{border-color:var(--color-danger);background:var(--color-danger-soft)}.state-panel p{color:var(--color-text-muted);margin:0}.preview-row{border-top:1px solid var(--color-border);grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:44px;display:grid}.preview-row p{overflow-wrap:anywhere;margin:0}.preview-screen .simple-section{background:0 0;border:0;padding:0}.preview-screen .simple-section>h2{margin:0 0 2px;font-size:18px;line-height:26px}.preview-lesson{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:10px;padding:12px;display:grid}.preview-lesson-head{grid-template-columns:32px 1fr;align-items:start;gap:10px;display:grid}.preview-lesson h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:16px;line-height:22px}.file-row{border-top:1px solid var(--color-border);overflow-wrap:anywhere;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:44px;display:grid}.file-row span{color:var(--color-text-muted);white-space:nowrap;font-size:12px;display:block}.lesson-list{gap:8px;display:grid}.lesson-row{border:1px solid var(--color-border);background:var(--color-surface);min-height:56px;color:var(--color-text);border-radius:8px;grid-template-columns:32px 1fr 18px;align-items:center;gap:10px;padding:10px;text-decoration:none;display:grid}.lesson-row.disabled{cursor:default}.lesson-index{color:var(--color-text-muted);place-items:center;display:grid}.lesson-row h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px;line-height:22px}.video-frame{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;display:block}.state-inline{min-height:44px;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:8px;place-items:center;display:grid}.markdown-body{overflow-wrap:anywhere;line-height:26px}.markdown-body h2{margin:18px 0 8px;font-size:20px;line-height:28px}.markdown-body h3{margin:16px 0 8px;font-size:18px;line-height:26px}.markdown-body p{margin:0 0 14px}.markdown-body a{text-decoration:underline}.form label,.review-module label{color:var(--color-text-muted);gap:6px;font-size:14px;display:grid}.form textarea{resize:vertical;min-height:120px}.form input,.form textarea,.form select,.review-module input{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;min-height:44px;padding:8px 10px}.field-error{color:var(--color-danger);margin:0}.rating{grid-template-columns:repeat(5,44px);gap:6px;display:grid}.rating button{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:8px;min-height:44px}.rating .active{background:var(--color-warning-soft);border-color:var(--color-warning)}.switch{align-items:center;gap:10px;display:flex!important}.switch input{width:44px}.split-actions{flex-wrap:wrap;gap:8px;display:flex}.skeleton,.skeleton-card{background:linear-gradient(90deg, var(--color-surface-soft), var(--color-border), var(--color-surface-soft));background-size:200% 100%;border-radius:8px;min-height:92px;animation:1.2s linear infinite shimmer}.skeleton.line{min-height:18px;margin:12px 0}.skeleton.line.short{width:60%}.skeleton.media{aspect-ratio:16/9}@keyframes shimmer{to{background-position-x:-200%}}@media (prefers-reduced-motion:reduce){*,.progress-track span{transition:none!important;animation:none!important}}
