:root{--primary:#5353a5;--primary-soft:#e2dfff;--ink:#161a30;--muted:#464651;--line:#e4e3ef;--surface:#fbf8ff;--card:#fff;--danger:#ba1a1a;--danger-soft:#ffdad6;--ok:#006949;--ok-soft:#d6f7e7;--radius:14px;color:var(--ink);background:var(--surface);font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 4px;font-size:26px}h2{margin:28px 0 12px;font-size:18px}p.muted,.muted{color:var(--muted)}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.nav{background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:20px 14px;display:flex}.nav .brand{letter-spacing:1px;margin:0 8px 18px;font-weight:800}.nav .brand small{letter-spacing:0;color:var(--muted);font-size:11px;font-weight:600;display:block}.nav a{color:var(--ink);border-radius:10px;padding:9px 10px;font-size:14px;font-weight:600}.nav a.active{background:var(--primary-soft);color:var(--primary)}.nav .spacer{flex:1}.nav .who{color:var(--muted);overflow-wrap:anywhere;padding:0 10px 8px;font-size:12px}.main{max-width:980px;padding:28px 36px}.main.wide{max-width:1320px}.header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.btn{cursor:pointer;background:var(--ink);color:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.btn.secondary{background:var(--primary-soft);color:var(--primary)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}table{border-collapse:collapse;background:var(--card);border-radius:var(--radius);border:1px solid var(--line);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px;font-size:14px}th{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f7f6fd;font-size:12px}tr:last-child td{border-bottom:0}.badge{color:var(--muted);background:#eceaf5;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.badge.PUBLISHED{background:var(--ok-soft);color:var(--ok)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.DRAFT{color:#8a5a00;background:#fff1d6}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.form{gap:16px;display:grid}.row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:6px;display:grid}.field label{font-size:13px;font-weight:700}.field .hint{color:var(--muted);font-size:12px}.field .error{color:var(--danger);font-size:12px}input,textarea,select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-size:14px}textarea{resize:vertical;min-height:120px}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.checks{flex-wrap:wrap;gap:16px;display:flex}.checks label{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.checks input{width:auto}.banner{border-radius:10px;padding:12px 14px;font-size:14px}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.cover{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:10px;width:220px;display:block}.actions{align-items:center;gap:10px;display:flex}.login{place-items:center;min-height:100vh;display:grid}.login .card{width:360px}.login img{background:#fff;border-radius:8px;align-self:center}.login pre{background:var(--surface);letter-spacing:.04em;columns:2;border-radius:8px;margin:0;padding:12px 16px;font-size:15px;line-height:1.7}.login code{word-break:break-all}.login ol{margin:0;padding-left:20px}.upload-progress{flex-direction:column;gap:6px;margin-top:8px;display:flex}.upload-progress progress{width:100%;height:10px;accent-color:var(--primary)}.video-current{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.video-watch{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;max-width:640px;margin-bottom:8px}.module-toggle{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.module-chevron{width:1em;color:var(--muted,#6b6b80)}
