:root{--bg:#071c20;--surface:#102b30;--raised:#16383e;--line:#2b4b50;--text:#eff7f4;--muted:#b0c7c7;--accent:#57d4b8;--gold:#e5ce95;--danger:#ffb4a9;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.6;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--text)}h1,h2,h3{font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.18;letter-spacing:-.035em;margin:0 0 16px}h1{font-size:clamp(2rem,4vw,3.6rem);max-width:950px}h2{font-size:1.5rem}h3{font-size:1.2rem}p{margin:0 0 20px}header{max-width:1400px;margin:auto;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--text);font-weight:700;font-size:1.3rem}.brand img{object-fit:contain;display:block;border-radius:6px}.brand small{font-size:.65rem;letter-spacing:.2em;color:var(--muted);margin-top:4px}small{display:block;font-size:.78rem;color:var(--muted)}header nav{display:flex;gap:26px;align-items:center}header nav a{text-decoration:none;font-size:.9rem}header form{margin:0}main{max-width:1400px;margin:auto;padding:48px;min-height:calc(100vh - 220px)}footer{max-width:1304px;margin:0 auto;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:16px}.eyebrow{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:var(--accent);margin-bottom:16px}.muted{color:var(--muted)}.lead{font-size:1.1rem;margin-bottom:50px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.section-heading h2,.section-heading h3{margin-bottom:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px}.empty{padding:70px 30px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--surface);margin:30px 0}.empty p{color:var(--muted)}.auth{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;max-width:1080px;margin:35px auto}.auth h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.08}.auth .panel>p{color:var(--muted)}.auth form{margin:26px 0}.auth form button{width:100%}label{display:block;font-size:.9rem;margin:18px 0;font-weight:600}input,textarea{display:block;width:100%;margin-top:8px;background:var(--bg);color:var(--text);border:1px solid #567176;padding:13px 14px;font:inherit;border-radius:6px}textarea{resize:vertical}input[type=file]{font-size:.85rem}input[type=checkbox]{width:20px;height:20px;display:inline-block;vertical-align:middle;margin:0 10px 0 0}.check{align-self:end;padding-bottom:12px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}button,.button{background:var(--accent);color:var(--bg);border:1px solid transparent;border-radius:6px;font:inherit;font-weight:700;padding:11px 19px;text-decoration:none;display:inline-block;cursor:pointer;line-height:1.5}button:hover,.button:hover{background:#88e2cd;color:var(--bg)}.secondary{background:var(--raised);border:1px solid var(--line);color:var(--text)}.quiet{background:transparent;color:var(--muted);border:1px solid var(--line);font-size:.85rem}.danger{background:transparent;color:var(--danger);border:1px solid #815652;font-size:.8rem;padding:8px 12px}.danger:hover{background:#4a292b;color:#fff}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.admin-module{margin-bottom:18px}.admin-module>.section-heading{margin-top:0}.editor{max-width:850px;margin:30px 0}.editor>label:first-of-type{margin-top:0}.lesson-row,.user-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);margin-top:18px}.lesson-row span{flex:1}.user-row{padding:20px 26px;margin-bottom:12px}.notice{padding:16px 22px;border-left:3px solid var(--accent);background:var(--raised);border-radius:4px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.module-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);transition:transform .15s,border-color .15s}.module-card:hover{transform:translateY(-3px);border-color:var(--accent)}.module-card>a{color:var(--text);text-decoration:none;display:block;height:100%}.cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.cover-empty{position:relative;display:flex;justify-content:space-between;align-items:center;padding:28px;background:repeating-linear-gradient(0deg,transparent,transparent 31px,#25484d 32px),var(--raised);border-bottom:1px solid var(--line)}.cover-empty span{font-size:.75rem;letter-spacing:.2em;color:var(--muted)}.cover-empty strong{font-family:Georgia,serif;font-size:5.2rem;line-height:1;color:var(--gold);font-weight:400}.card-body{padding:26px}.card-body h2{font-size:1.3rem;margin-top:12px;overflow-wrap:anywhere}.card-body p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.card-body label{color:var(--muted);font-size:.8rem}progress{width:100%;height:9px;accent-color:var(--accent);display:block;margin-top:9px;border:0;border-radius:10px;overflow:hidden;background:var(--raised)}progress::-webkit-progress-bar{background:var(--raised)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.card-link{color:var(--accent);font-size:.85rem;font-weight:bold}.back{display:block;margin-bottom:28px;font-size:.9rem}.class-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:34px;align-items:start}.sidebar{padding:8px 0}.sidebar>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.sidebar h2{font-size:1.35rem}.lesson-nav{display:flex;justify-content:space-between;gap:14px;text-decoration:none;color:var(--muted);padding:15px 16px;border-radius:6px;font-size:.9rem;margin-bottom:5px}.lesson-nav.active{background:var(--gold);color:var(--bg);font-weight:700}.lesson-nav:not(.active):hover{background:var(--raised)}.player-panel{padding:28px}.player-panel .section-heading{margin-top:0;align-items:start}.player-panel h1{font-size:clamp(1.7rem,2.8vw,2.6rem)}.video{display:block;border:0;border-radius:8px;width:100%;aspect-ratio:16/9;background:#000}.video-empty{aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;padding:24px;margin:0}.plain-text{white-space:pre-wrap;margin:28px 0;overflow-wrap:anywhere}.materials{padding-left:20px}.materials li{padding:12px 0}.materials form{margin-top:10px}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a,button,input,textarea{touch-action:manipulation}.user-row span{overflow-wrap:anywhere;min-width:0}@media(max-width:1000px){header{padding:20px 28px}main{padding:32px 28px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}footer{margin:0 28px}.auth{gap:35px}.player-panel{padding:22px}}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding:18px 20px;gap:18px}header nav{width:100%;gap:16px;flex-wrap:wrap;justify-content:space-between}.brand{font-size:1.15rem}.brand img{width:48px;height:50px}main{padding:30px 20px}.auth{grid-template-columns:1fr;margin:0;gap:24px}.auth h1{font-size:2.8rem}.auth h1 br{display:none}.auth h1 br:after{content:' '}.auth .panel{padding:24px}.module-grid{grid-template-columns:1fr}.class-layout{grid-template-columns:1fr}.sidebar{padding:0}.sidebar nav{max-height:245px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:7px}.sidebar h2{margin-bottom:8px}.player-panel{padding:20px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.columns{grid-template-columns:1fr;gap:0}.lesson-row{align-items:flex-start;flex-wrap:wrap}.lesson-row span{flex-basis:100%}.actions{gap:16px}.user-row{align-items:flex-start;flex-direction:column}.empty{padding:40px 20px}.lead{margin-bottom:32px}footer{margin:0 20px;flex-direction:column;gap:4px}.button,button{min-height:44px}.editor{padding:22px}.auth>div>p:last-child{margin-bottom:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
