:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b0d12;--color-surface:#141822;--color-surface-raised:#1c2130;--color-border:#2a3142;--color-text:#eef1f6;--color-muted:#a2acbd;--color-accent:#6ea8ff;--color-accent-strong:#3f86f5;--color-on-accent:#07101f;--color-gold:#f2c75c;--color-danger:#ff8d85;--color-danger-bg:#301a1d;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-s:8px;--radius-m:14px;--radius-pill:999px;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--text-s:.85rem;--text-m:1rem;--text-l:1.25rem;--text-xl:1.6rem;--page-width:44rem;--topbar-height:3.5rem;--tabbar-height:3.75rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-m);margin:0;line-height:1.55}h1,h2,h3,h4,p,ul,ol{margin:0}h1{font-size:var(--text-xl);line-height:1.25}h2{font-size:var(--text-l);line-height:1.3}h3,h4{font-size:var(--text-m)}a{color:var(--color-accent)}img,video{max-width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}main:focus{outline:none}.muted{color:var(--color-muted)}.small{font-size:var(--text-s)}.lead{font-size:var(--text-l);font-weight:600}.stack{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between;align-items:center}.skip-link{position:absolute;left:-100vw}.skip-link:focus{left:var(--space-3);top:var(--space-3);z-index:3;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised)}.brand{color:var(--color-text);font-size:var(--text-l);letter-spacing:-.01em;font-weight:700}.brand em{color:var(--color-accent);font-style:normal}.topbar{z-index:2;height:var(--topbar-height);padding:0 var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.topbar>a{text-decoration:none}.nav{z-index:2;height:var(--tabbar-height);padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.nav-link{color:var(--color-muted);font-size:var(--text-s);flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.nav-link[aria-current=page]{color:var(--color-accent);font-weight:600}.page{gap:var(--space-4);max-width:var(--page-width);padding:var(--space-4) var(--space-4) calc(var(--tabbar-height) + var(--space-5));flex-direction:column;margin:0 auto;display:flex}.auth-page{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-4);flex-direction:column;width:100%;max-width:24rem;display:flex}.auth-links{justify-content:space-between;gap:var(--space-3);font-size:var(--text-s);flex-wrap:wrap;display:flex}.card{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);flex-direction:column;min-width:0;display:flex}.card-link,.back{font-size:var(--text-s)}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.row .field{flex:12rem}label,.field-label{font-size:var(--text-s);font-weight:600}.secret{padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-s);overflow-wrap:anywhere}.recovery-codes{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));padding:0;list-style:none;display:grid}input,select,textarea{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-s);font:inherit}textarea{resize:vertical}.check{gap:var(--space-2);align-items:flex-start;font-weight:400;display:flex}.check input{flex:none;width:1.25rem;min-height:1.25rem;margin:.15rem 0 0}.button{min-height:2.75rem;padding:var(--space-2) var(--space-4);color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-s);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.button-quiet{color:var(--color-text);border-color:var(--color-border);background:0 0}.button-quiet:hover{background:var(--color-surface-raised);border-color:var(--color-border)}button:disabled{opacity:.6;cursor:progress}.link-button{padding:var(--space-1) 0;color:var(--color-accent);font:inherit;font-size:var(--text-s);cursor:pointer;background:0 0;border:0;align-self:flex-start}.alert{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-s);flex-direction:column;align-items:flex-start;display:flex}.alert-error{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger)}.alert-error .button-quiet{color:var(--color-text)}.state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);color:var(--color-muted);text-align:center;display:flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.author{gap:var(--space-3);align-items:center;display:flex}.avatar{background:var(--color-surface-raised);object-fit:cover;border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;font-weight:700;display:grid}.author-name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.badge{padding:0 var(--space-2);color:var(--color-gold);border:1px solid var(--color-gold);border-radius:var(--radius-pill);white-space:nowrap;font-size:.72rem;font-weight:600}.tag{align-self:flex-start;align-items:center;gap:var(--space-1);width:fit-content;padding:0 var(--space-2);color:var(--color-accent);background:var(--color-surface-raised);border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;display:inline-flex}.tag-locked{color:var(--color-gold)}.icon{flex:none;width:.95em;height:.95em}.body-text{white-space:pre-wrap;overflow-wrap:anywhere}.post-image{border-radius:var(--radius-s);width:100%}.reactions{gap:var(--space-2);flex-wrap:wrap;display:flex}.reaction{gap:var(--space-1);min-width:2.5rem;min-height:2.25rem;padding:0 var(--space-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-pill);font:inherit;font-size:var(--text-s);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.reaction[aria-pressed=true]{background:var(--color-surface-raised);border-color:var(--color-accent)}.chips{gap:var(--space-2);padding:var(--space-1);display:flex;overflow-x:auto}.chip{min-height:2.25rem;padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font:inherit;font-size:var(--text-s);cursor:pointer;flex:none}.chip[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.comment-list{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.comment{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-s);flex-direction:column;display:flex}.replies{gap:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--color-border);flex-direction:column;display:flex}.course-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.course{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);flex-direction:column;display:flex;overflow:hidden}.course-cover{aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg, var(--color-surface-raised), var(--color-bg));width:100%;display:block}.course-body{gap:var(--space-2);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.course-body h2 a{color:var(--color-text);text-decoration:none}.course-body h2 a:hover{text-decoration:underline}.course-body .button{margin-top:auto}.clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lessons{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.lesson{align-items:center;gap:var(--space-2);padding:var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-s);text-decoration:none;display:flex}a.lesson:hover{border-color:var(--color-accent)}.lesson-closed{color:var(--color-muted)}.lesson-closed .muted{margin-left:auto}.lesson-admin{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-s);flex-direction:column;display:flex}.player{border-radius:var(--radius-s);background:#000;width:100%;display:block}progress{width:100%;accent-color:var(--color-accent)}@media (width>=48rem){.topbar{gap:var(--space-5);padding:0 var(--space-5)}.nav{justify-content:flex-end;gap:var(--space-2);background:0 0;border:0;flex:1;height:auto;padding:0;position:static}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-m);flex:none}.page{padding-bottom:var(--space-6)}.course-grid{grid-template-columns:repeat(2,1fr)}}
