:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1a1a1a);--hint: var(--tg-theme-hint-color, #707579);--link: var(--tg-theme-link-color, #2481cc);--button: var(--tg-theme-button-color, #2481cc);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f4f4f5)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--link)}h1{font-size:1.4rem}h2{font-size:1.15rem;margin:0 0 .25rem}h3{font-size:1rem;color:var(--hint);margin:1rem 0 .5rem}.screen-padded{padding:16px 16px 48px}.screen-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.muted{color:var(--hint)}.error{color:#e5484d}.back-link{display:inline-block;margin-bottom:12px;font-size:.9rem;text-decoration:none}.stack{display:flex;flex-direction:column;gap:10px;margin:12px 0}.card{background:var(--secondary-bg);border-radius:12px;padding:14px;margin:12px 0}.button{display:inline-block;background:var(--button);color:var(--button-text);border:none;border-radius:10px;padding:10px 16px;font-size:.95rem;text-decoration:none;text-align:center;cursor:pointer}.button:disabled{opacity:.6;cursor:default}.badge{display:inline-block;padding:4px 10px;border-radius:8px;background:var(--secondary-bg);color:var(--hint);font-size:.85rem}.badge-success{color:#1f9d55}.lesson-row{padding:10px 12px;border-radius:10px;background:var(--secondary-bg)}.lesson-row.locked{opacity:.55}.lesson-title{text-decoration:none;color:var(--text);font-size:.95rem}.lesson-content{white-space:pre-wrap;line-height:1.5}.material-link{display:block;text-decoration:none}.video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:10px;overflow:hidden;margin:12px 0}.video-wrap iframe,.video-wrap>div{width:100%;height:100%}form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--hint)}input,textarea{font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--hint);background:var(--bg);color:var(--text)}
