/* ============================================================
   COHORT · Student — the "baby": Skool-simple layout + Cohort skin
   Dark-first Signal tokens, emerald accent, serif+mono accents,
   friendly rounded cards, top-tab nav, centered feed.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#09090B; --surface:#111113; --card:#18181B; --elev:#27272A;
  --border:#27272A; --border-2:#3F3F46;
  --text:#FAFAFA; --text-2:#A1A1AA; --text-3:#71717A;
  --em:#10B981; --em-d:#059669; --em-soft:rgba(16,185,129,.12);
  --violet:#8B5CF6; --violet-soft:rgba(139,92,246,.14);
  --amber:#F59E0B; --amber-soft:rgba(245,158,11,.14); --red:#EF4444;
  --sky:#38BDF8; --pink:#F472B6;
  --on-accent:#04120C;
  --r:16px; --r-sm:11px;
  --nav-h:62px;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.25);
}
html[data-theme="light"]{
  --bg:#F7F4EF; --surface:#FCFAF6; --card:#FFFFFF; --elev:#EFE7DE;
  --border:#E4DCCF; --border-2:#D3C8B6;
  --text:#1A1714; --text-2:#5A5148; --text-3:#8A8073;
  --em:#B5502F; --em-d:#9A4026; --em-soft:rgba(181,80,47,.10);
  --violet:#4A5D48; --violet-soft:rgba(74,93,72,.14);
  --amber:#C08A3E; --amber-soft:rgba(192,138,62,.16); --red:#C0392B;
  --sky:#7A9A6E; --pink:#C77B6B;
  --on-accent:#FFFFFF;
  --shadow:0 1px 2px rgba(26,23,20,.05), 0 10px 30px rgba(26,23,20,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-weight:700;line-height:1.15;letter-spacing:-.02em}
img{max-width:100%;display:block}
.mono{font-family:'JetBrains Mono',monospace}
.serif{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400}
::selection{background:var(--em-soft);color:var(--em)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-thumb{background:var(--elev);border-radius:99px;border:3px solid var(--bg)}

/* ---------- buttons / pills ---------- */
.btn{font-family:inherit;font-weight:600;font-size:14px;padding:10px 18px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:.15s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.btn-em{background:var(--em);color:var(--on-accent)}
.btn-em:hover{background:var(--em-d)}
.btn-ghost{background:var(--card);color:var(--text);border-color:var(--border-2)}
.btn-ghost:hover{border-color:var(--text-3)}
.btn-sm{padding:7px 13px;font-size:13px}
.btn-block{width:100%;justify-content:center}
.pill{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono';font-size:11px;font-weight:500;padding:4px 10px;border-radius:99px;background:var(--em-soft);color:var(--em);white-space:nowrap}
.pill-violet{background:var(--violet-soft);color:var(--violet)}
.pill-amber{background:var(--amber-soft);color:var(--amber)}
.pill-gray{background:var(--elev);color:var(--text-2)}
.eyebrow{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--em)}

/* avatars */
.av{border-radius:50%;background:var(--elev);display:grid;place-items:center;color:var(--on-accent);font-weight:700;flex-shrink:0;overflow:hidden;font-size:13px}
.av.g1{background:linear-gradient(135deg,var(--em),var(--sky))}
.av.g2{background:linear-gradient(135deg,var(--violet),var(--sky))}
.av.g3{background:linear-gradient(135deg,var(--amber),var(--red))}
.av.g4{background:linear-gradient(135deg,var(--pink),var(--violet))}
.av.g5{background:linear-gradient(135deg,var(--sky),var(--em))}
.av.g6{background:linear-gradient(135deg,var(--em),var(--amber))}

/* level ring (Skool idea, Cohort colors) */
.lvlring{position:relative;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--em) var(--p,60%),var(--elev) 0);padding:2.5px}
.lvlring .inner{background:var(--card);border-radius:50%;width:100%;height:100%;display:grid;place-items:center;font-weight:800;color:var(--text)}
.lvlring.sm{width:34px;height:34px}.lvlring.sm .inner{font-size:12px}
.lvlring.md{width:46px;height:46px}.lvlring.md .inner{font-size:15px}
.lvlring.lg{width:92px;height:92px}.lvlring.lg .inner{font-size:29px}

/* icon utility */
.ico{display:inline-flex;align-items:center;justify-content:center;line-height:0;vertical-align:middle}
.ico svg,[data-ic] svg{display:block;width:18px;height:18px;stroke-width:1.7}
.ic-xs svg{width:12px !important;height:12px !important}

/* ============================================================
   TOP NAV (simple — Skool style)
   ============================================================ */
.snav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:var(--nav-h)}
.snav-in{max-width:1060px;margin:0 auto;height:100%;display:flex;align-items:center;gap:18px;padding:0 20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16.5px;flex-shrink:0}
.brand .mark{width:34px;height:34px;border-radius:10px;background:var(--em);color:var(--on-accent);display:grid;place-items:center}
.brand .mark svg{width:20px;height:20px}
.tabs{display:flex;align-items:center;gap:2px;height:100%;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{position:relative;height:100%;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;color:var(--text-2);white-space:nowrap}
.tabs a svg{width:17px;height:17px}
.tabs a:hover{color:var(--text)}
.tabs a.active{color:var(--text)}
.tabs a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;background:var(--em);border-radius:3px 3px 0 0}
.snav .right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
.iconbtn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--text-2);cursor:pointer;background:transparent;border:none}
.iconbtn:hover{background:var(--card);color:var(--text)}
.iconbtn svg{width:19px;height:19px}
.snav .me{width:36px;height:36px}

/* page shell */
.page{max-width:1060px;margin:0 auto;padding:24px 20px 64px}
.two-col{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}
.page-head{margin-bottom:18px}
.page-head h1{font-size:27px}
.page-head h1 .serif{color:var(--em)}
.page-head p{font-size:14.5px;color:var(--text-2);margin-top:6px}
.sec-title{font-size:17px;margin:24px 0 14px;display:flex;align-items:center;gap:8px}
.bar{height:7px;background:var(--elev);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--em);border-radius:99px;transition:width .5s}

/* ============================================================
   FEED
   ============================================================ */
.chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.chip{font-family:'JetBrains Mono';font-size:12px;padding:7px 14px;border-radius:99px;border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--text-2);transition:.14s}
.chip:hover{border-color:var(--border-2);color:var(--text)}
.chip.active{background:var(--em-soft);color:var(--em);border-color:var(--em)}
.composer{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow)}
.composer .top{display:flex;align-items:center;gap:12px}
.composer .top .av{width:42px;height:42px}
.composer .ci{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:11px 18px;font-family:inherit;font-size:14.5px;color:var(--text);outline:none;cursor:text}
.composer .ci::placeholder{color:var(--text-3)}
.composer .tools{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);align-items:center;gap:6px}
.composer.open .tools{display:flex}
.composer .tool{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--text-3);cursor:pointer}
.composer .tool:hover{background:var(--elev);color:var(--text)}
.composer .cat-sel{margin-left:auto;background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-family:inherit;font-size:13px;padding:8px 11px;border-radius:9px;outline:none}

.post{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-bottom:14px;box-shadow:var(--shadow);transition:.14s;cursor:pointer}
.post:hover{border-color:var(--border-2)}
.post .ph{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.post .ph .av{width:44px;height:44px}
.post .ph .nm{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px}
.post .ph .nm .lvl-badge{width:20px;height:20px;border-radius:50%;background:var(--em-soft);color:var(--em);display:inline-grid;place-items:center;font-family:'JetBrains Mono';font-size:10px;font-weight:600}
.post .ph .sub{font-family:'JetBrains Mono';font-size:11.5px;color:var(--text-3)}
.post .ph .cat{margin-left:auto}
.post .pinned{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono';font-size:10.5px;color:var(--amber);margin-bottom:8px}
.post h3.pt{font-size:18px;margin-bottom:7px}
.post .pb{font-size:14.5px;color:var(--text-2)}
.post .media{margin-top:12px;border-radius:12px;height:190px;background:linear-gradient(135deg,var(--elev),var(--surface));border:1px solid var(--border);display:grid;place-items:center;color:var(--text-3);font-family:'JetBrains Mono';font-size:13px}
.pactions{display:flex;align-items:center;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:13.5px;color:var(--text-2);font-weight:600}
.pactions .a{display:flex;align-items:center;gap:7px;cursor:pointer}
.pactions .a:hover{color:var(--text)}
.pactions .a.like.liked{color:var(--em)}
.pactions .a svg{width:18px;height:18px}
.pactions .sp{flex:1}

/* right rail (student-focused) */
.rail-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px}
.rail-card .rc-body{padding:16px}
.rail-card h3{font-size:15px;margin-bottom:4px}
.rail-card h4{font-size:12px;font-family:'JetBrains Mono';text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:14px 16px 4px;display:flex;align-items:center;gap:7px}
.rail-card h4 svg{width:14px;height:14px}
.continue{display:block;padding:14px 16px}
.continue .ct{font-size:14px;font-weight:700;margin-bottom:3px}
.continue .cs{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3);margin-bottom:10px}
.streakbox{display:flex;align-items:center;gap:12px;padding:14px 16px}
.streakbox .flame{width:44px;height:44px;border-radius:12px;background:var(--amber-soft);color:var(--amber);display:grid;place-items:center}
.streakbox .flame svg{width:22px;height:22px}
.streakbox b{font-size:18px;display:block}
.streakbox span{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.lbrow{display:flex;align-items:center;gap:11px;padding:8px 16px;font-size:13.5px}
.lbrow .rk{width:16px;font-family:'JetBrains Mono';font-weight:600;color:var(--text-3);text-align:center;font-size:12px}
.lbrow .rk.top{color:var(--em)}
.lbrow .av{width:30px;height:30px;font-size:11px}
.lbrow .nm{font-weight:600}
.lbrow .pts{margin-left:auto;font-family:'JetBrains Mono';font-weight:600;color:var(--em)}
.evrow{display:flex;gap:12px;padding:10px 16px;border-top:1px solid var(--border)}
.evrow .date{width:42px;text-align:center;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:5px 0}
.evrow .date b{display:block;font-size:16px;line-height:1}
.evrow .date span{font-family:'JetBrains Mono';font-size:9px;color:var(--em);text-transform:uppercase}
.evrow .et b{font-size:13px;font-weight:700;display:block}
.evrow .et span{font-family:'JetBrains Mono';font-size:10.5px;color:var(--text-3)}
.rl-link{padding:10px 16px}
.rl-link a{font-family:'JetBrains Mono';font-size:12px;font-weight:600;color:var(--em)}

/* ============================================================
   POST DETAIL
   ============================================================ */
.thread{max-width:700px;margin:0 auto}
.back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:16px}
.back:hover{color:var(--text)}.back svg{width:18px;height:18px}
.comment{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--border)}
.comment .av{width:38px;height:38px;font-size:13px}
.comment .cb{flex:1;min-width:0}
.comment .ch{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.comment .ch b{font-size:14px;font-weight:700}
.comment .ch .sub{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.comment p{font-size:14px;color:var(--text-2)}
.comment .cact{display:flex;gap:16px;margin-top:8px;font-size:12.5px;color:var(--text-3);font-weight:600}
.comment .cact span{cursor:pointer}.comment .cact span:hover{color:var(--em)}
.comment.reply{margin-left:50px}
.comment-box{display:flex;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.comment-box .av{width:38px;height:38px;font-size:13px}
.comment-box .cw{flex:1}
.comment-box textarea{width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;color:var(--text);resize:vertical;min-height:72px;outline:none}
.comment-box textarea:focus{border-color:var(--border-2)}
.comment-box .row{display:flex;justify-content:flex-end;margin-top:10px}

/* ============================================================
   CLASSROOM
   ============================================================ */
.section-h{display:flex;align-items:center;margin-bottom:16px;gap:14px;flex-wrap:wrap}
.section-h h1{font-size:24px}
.section-h .sp{flex:1}
.search-box{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 14px;color:var(--text-3);font-size:14px;min-width:220px}
.search-box input{border:none;background:transparent;outline:none;font-family:inherit;font-size:14px;color:var(--text);flex:1}
.search-box svg{width:18px;height:18px}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ccard{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:.16s;display:flex;flex-direction:column}
.ccard:hover{border-color:var(--border-2);transform:translateY(-3px)}
.ccard .cover{height:140px;position:relative;display:grid;place-items:center}
.ccard .cover svg{width:44px;height:44px;color:rgba(255,255,255,.55)}
html[data-theme="light"] .ccard .cover svg{color:rgba(0,0,0,.4)}
.ccard .cover.c1{background:linear-gradient(135deg,#0d2b21,#10b98133)}
.ccard .cover.c2{background:linear-gradient(135deg,#1e1b3a,#8b5cf633)}
.ccard .cover.c3{background:linear-gradient(135deg,#2b1e0d,#f59e0b33)}
.ccard .cover.c4{background:linear-gradient(135deg,#2b0d1c,#f472b633)}
.ccard .cover.c5{background:linear-gradient(135deg,#0d1f2b,#38bdf833)}
.ccard .cover.c6{background:linear-gradient(135deg,#0d2b21,#10b98133)}
html[data-theme="light"] .ccard .cover.c1,html[data-theme="light"] .ccard .cover.c6{background:linear-gradient(135deg,#EFE7DE,#B5502F26)}
html[data-theme="light"] .ccard .cover.c2{background:linear-gradient(135deg,#EFE7DE,#4A5D4826)}
html[data-theme="light"] .ccard .cover.c3{background:linear-gradient(135deg,#EFE7DE,#C08A3E33)}
html[data-theme="light"] .ccard .cover.c4{background:linear-gradient(135deg,#EFE7DE,#C77B6B33)}
html[data-theme="light"] .ccard .cover.c5{background:linear-gradient(135deg,#EFE7DE,#7A9A6E33)}
.ccard .cover .tag{position:absolute;top:10px;left:10px}
.ccard .cbody{padding:16px;flex:1;display:flex;flex-direction:column}
.ccard h3{font-size:16px;margin-bottom:6px}
.ccard .desc{font-size:13px;color:var(--text-3);flex:1}
.ccard .cmeta{display:flex;gap:12px;margin-top:12px;font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.ccard .cprog{margin-top:12px}
.ccard .cprog .t{font-family:'JetBrains Mono';font-size:10.5px;color:var(--text-3);margin-top:5px}

/* course overview */
.course-head{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px;display:grid;grid-template-columns:1.4fr 1fr}
.course-head .chl{padding:26px}
.course-head .chl h1{font-size:26px;margin:10px 0}
.course-head .chl p{font-size:14.5px;color:var(--text-2);margin-bottom:16px}
.course-head .chmeta{display:flex;gap:22px;margin-bottom:18px}
.course-head .chmeta .m b{font-size:18px;display:block}
.course-head .chmeta .m span{font-family:'JetBrains Mono';font-size:10.5px;color:var(--text-3);text-transform:uppercase}
.course-head .chr{background:radial-gradient(circle at 60% 40%,#12241C,#0d1117);display:grid;place-items:center}
html[data-theme="light"] .course-head .chr{background:radial-gradient(circle at 60% 40%,#3A2E26,#1A1714)}
.course-head .chr .play{width:70px;height:70px;border-radius:50%;background:var(--em);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 50px rgba(16,185,129,.4)}
.course-head .chr .play svg{width:26px;height:26px;color:var(--on-accent);margin-left:3px}
.module{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}
.module .mh{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer}
.module .mh .mnum{width:30px;height:30px;border-radius:9px;background:var(--em-soft);display:grid;place-items:center;font-family:'JetBrains Mono';font-weight:600;font-size:13px;color:var(--em)}
.module .mh h3{font-size:15.5px}
.module .mh .mmeta{margin-left:auto;font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.module .mh .chev{color:var(--text-3);transition:.2s}.module .mh .chev svg{width:18px;height:18px}
.module.collapsed .mh .chev{transform:rotate(-90deg)}
.module .mlist{border-top:1px solid var(--border)}
.module.collapsed .mlist{display:none}
.lrow{display:flex;align-items:center;gap:12px;padding:13px 18px;font-size:14px;color:var(--text-2);border-bottom:1px solid var(--border);cursor:pointer}
.lrow:last-child{border:none}
.lrow:hover{background:var(--surface);color:var(--text)}
.lrow .tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-2);display:grid;place-items:center;flex-shrink:0}
.lrow .tick svg{width:12px;height:12px;color:var(--on-accent)}
.lrow.done .tick{background:var(--em);border-color:var(--em)}
.lrow.now{background:var(--em-soft);color:var(--text)}
.lrow.now .tick{border-color:var(--em)}
.lrow .dur{margin-left:auto;font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.side-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;margin-bottom:16px}
.side-panel h4{font-size:15px;margin-bottom:14px}
.instructor{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.instructor .av{width:48px;height:48px;font-size:16px}
.instructor b{font-size:14.5px;display:block}
.instructor span{font-family:'JetBrains Mono';font-size:11.5px;color:var(--text-3)}
.reslist{display:flex;flex-direction:column;gap:8px}
.res{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-size:13.5px;cursor:pointer}
.res:hover{border-color:var(--border-2)}
.res .ri{color:var(--em);display:grid;place-items:center}.res .ri svg{width:17px;height:17px}
.res .dl{margin-left:auto;font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}

/* lesson */
.lesson-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
.player{aspect-ratio:16/9;background:radial-gradient(circle at 50% 42%,#12241C,#09090B);border-radius:var(--r);display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}
html[data-theme="light"] .player{background:radial-gradient(circle at 50% 42%,#3A2E26,#1A1714)}
.player .play{width:80px;height:80px;border-radius:50%;background:var(--em);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 60px rgba(16,185,129,.4)}
.player .play svg{width:30px;height:30px;color:var(--on-accent);margin-left:4px}
.player .plabel{position:absolute;bottom:14px;left:16px;font-family:'JetBrains Mono';font-size:11px;color:#F0F0F0;background:rgba(0,0,0,.5);padding:5px 12px;border-radius:7px}
.lesson-body{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;margin-top:16px}
.lesson-body .lb-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.lesson-body h1{font-size:22px}
.lesson-body p{font-size:15px;color:var(--text-2);margin-bottom:12px}
.lesson-body .reward{margin-left:auto}
.outline-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.outline-card .oc-head{padding:16px 18px;border-bottom:1px solid var(--border)}
.outline-card .oc-head h4{font-size:15px}
.outline-card .oc-head .op{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3);margin:6px 0 8px}
.oc-mtitle{font-family:'JetBrains Mono';font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:14px 18px 6px}
.lesson-outline .lrow{padding:11px 18px;font-size:13.5px}

/* ============================================================
   CALENDAR
   ============================================================ */
.cal-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.cal-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cal-top h2{font-size:19px}
.cal-top .nav{margin-left:auto;display:flex;gap:6px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid .dh{text-align:center;font-family:'JetBrains Mono';font-size:10px;color:var(--text-3);text-transform:uppercase;padding:6px 0}
.cell-day{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;padding:7px;font-size:12.5px;font-weight:600;color:var(--text-2);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:.14s}
.cell-day:hover{border-color:var(--border-2)}
.cell-day.off{opacity:.4}
.cell-day.today{border-color:var(--em);background:var(--em-soft)}
.cell-day .dot{font-size:9px;font-weight:600;padding:2px 5px;border-radius:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cell-day .dot.em{background:var(--em-soft);color:var(--em)}
.cell-day .dot.v{background:var(--violet-soft);color:var(--violet)}
.cell-day .dot.a{background:var(--amber-soft);color:var(--amber)}
.ev-list-item{display:flex;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:15px;margin-bottom:12px;cursor:pointer;transition:.14s}
.ev-list-item:hover{border-color:var(--border-2)}
.ev-list-item.sel{border-color:var(--em)}
.ev-list-item .date{width:52px;text-align:center;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 0;height:fit-content}
.ev-list-item .date b{display:block;font-size:20px;line-height:1}
.ev-list-item .date span{font-family:'JetBrains Mono';font-size:9.5px;color:var(--em);text-transform:uppercase}
.ev-list-item h4{font-size:15px;margin-bottom:4px}
.ev-list-item .emeta{font-family:'JetBrains Mono';font-size:10.5px;color:var(--text-3);display:flex;gap:12px;flex-wrap:wrap}
.ev-detail{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.ev-detail .hero{height:120px;background:linear-gradient(135deg,#12241C,#1a1030);display:grid;place-items:center;font-size:40px}
html[data-theme="light"] .ev-detail .hero{background:linear-gradient(135deg,#EFE7DE,#E9DED2)}
.ev-detail .ed-body{padding:18px}
.ev-detail h3{font-size:18px;margin-bottom:12px}
.ev-detail .drow{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--text-2);margin-bottom:9px}
.ev-detail .drow svg{width:17px;height:17px;color:var(--em);flex-shrink:0}
.attendees{display:flex;margin:14px 0}
.attendees .av{width:32px;height:32px;font-size:11px;border:2px solid var(--card);margin-left:-8px}
.attendees .av:first-child{margin:0}
.attendees .more{width:32px;height:32px;border-radius:50%;background:var(--elev);display:grid;place-items:center;font-family:'JetBrains Mono';font-size:10px;color:var(--text-2);margin-left:-8px;border:2px solid var(--card)}

/* ============================================================
   MEMBERS
   ============================================================ */
.mem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mcard{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;text-align:center;cursor:pointer;transition:.16s}
.mcard:hover{border-color:var(--border-2);transform:translateY(-3px)}
.mcard .lvlring{margin:0 auto 12px}
.mcard b{font-size:15px;display:block}
.mcard .role{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3);margin-top:3px}
.mcard .mbio{font-size:12.5px;color:var(--text-2);margin-top:8px;min-height:34px}
.mcard .mstats{display:flex;justify-content:center;gap:18px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.mcard .mstats .s b{font-family:'JetBrains Mono';font-size:14px;display:block}
.mcard .mstats .s span{font-family:'JetBrains Mono';font-size:9px;color:var(--text-3);text-transform:uppercase}

/* ============================================================
   LEADERBOARD
   ============================================================ */
.lb-tabs{display:inline-flex;gap:3px;padding:4px;background:var(--card);border:1px solid var(--border);border-radius:11px;margin-bottom:20px}
.lb-tab{font-weight:600;font-size:13.5px;padding:8px 17px;border-radius:8px;cursor:pointer;border:none;background:transparent;color:var(--text-2)}
.lb-tab.active{background:var(--elev);color:var(--text)}
.lb-cols{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}
.lb-list{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.lb-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);font-size:14.5px}
.lb-item:last-child{border:none}
.lb-item.me{background:var(--em-soft)}
.lb-item .rk{width:26px;font-family:'JetBrains Mono';font-weight:600;font-size:15px;color:var(--text-3);text-align:center}
.lb-item .rk.top{color:var(--em)}
.lb-item .nm b{font-weight:700}
.lb-item .nm .sub{font-family:'JetBrains Mono';font-size:10.5px;color:var(--text-3)}
.lb-item .streak{margin-left:auto;font-family:'JetBrains Mono';font-size:12.5px;color:var(--amber)}
.lb-item .score{font-family:'JetBrains Mono';font-weight:600;font-size:16px;width:64px;text-align:right;color:var(--em)}
.levels-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}
.levels-card h4{font-size:15px;margin-bottom:6px}
.levels-card .lc-sub{font-size:12.5px;color:var(--text-3);margin-bottom:14px}
.lvl-row{display:flex;align-items:center;gap:12px;padding:9px 0}
.lvl-row .lvlring{width:38px;height:38px}.lvl-row .lvlring .inner{font-size:13px}
.lvl-row .lr-txt b{font-size:13.5px;display:block}
.lvl-row .lr-txt span{font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.lvl-row .pct{margin-left:auto;font-family:'JetBrains Mono';font-size:12px;color:var(--text-3)}
.lvl-row.locked{opacity:.5}

/* ============================================================
   PROFILE
   ============================================================ */
.prof-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}
.prof-card .banner{height:120px;background:linear-gradient(120deg,#0d2b21,#1e1b3a)}
html[data-theme="light"] .prof-card .banner{background:linear-gradient(120deg,#B5502F,#C08A3E)}
.prof-card .pbody{padding:0 26px 22px;margin-top:-44px}
.prof-card .lvlring{border:5px solid var(--card)}
.prof-card h1{font-size:24px;margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prof-card .role{font-family:'JetBrains Mono';font-size:12px;color:var(--text-3);margin-top:4px}
.prof-card .bio{font-size:14px;color:var(--text-2);margin-top:12px;max-width:560px}
.prof-card .pa{margin-top:16px;display:flex;gap:10px}
.prof-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.pstat{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;text-align:center}
.pstat b{font-size:24px;display:block}
.pstat span{font-family:'JetBrains Mono';font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}
.prof-tabs{display:inline-flex;gap:3px;background:var(--card);border:1px solid var(--border);border-radius:11px;padding:4px;margin-bottom:18px}
.ptab{padding:9px 17px;font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer;border-radius:8px}
.ptab.active{background:var(--elev);color:var(--text)}
.ptab-panel{display:none}.ptab-panel.active{display:block}
.act-feed{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:6px 18px}
.act{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);font-size:14px}
.act:last-child{border:none}
.act .ai{width:36px;height:36px;border-radius:10px;background:var(--em-soft);display:grid;place-items:center;color:var(--em);flex-shrink:0}
.act .ai svg{width:18px;height:18px}
.act .at{color:var(--text-2)}.act .at b{color:var(--text)}
.act .tm{margin-left:auto;font-family:'JetBrains Mono';font-size:11px;color:var(--text-3)}
.badge-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.badge{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;text-align:center}
.badge.locked{opacity:.42;filter:grayscale(.6)}
.badge .bico{width:52px;height:52px;border-radius:50%;background:var(--em-soft);display:grid;place-items:center;margin:0 auto 10px;color:var(--em)}
.badge .bico svg{width:26px;height:26px}
.badge b{font-size:12.5px;display:block}
.badge span{font-family:'JetBrains Mono';font-size:9.5px;color:var(--text-3)}

/* toast + theme toggle */
.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:10px;align-items:center}
.toast{background:var(--elev);border:1px solid var(--border-2);color:var(--text);border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;animation:tin .3s}
.toast .ti{color:var(--em)}
@keyframes tin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.toast.out{opacity:0;transform:translateY(12px);transition:.3s}
.theme-toggle{width:38px;height:38px;border-radius:10px;background:transparent;border:none;color:var(--text-2);display:grid;place-items:center;cursor:pointer}
.theme-toggle:hover{background:var(--card);color:var(--text)}
.theme-toggle svg{width:19px;height:19px}

/* responsive */
@media(max-width:900px){
  .two-col,.lesson-grid,.lb-cols{grid-template-columns:1fr}
  .two-col .side,.lesson-grid .side,.lb-cols .side{display:none}
  .course-grid,.mem-grid{grid-template-columns:repeat(2,1fr)}
  .course-head{grid-template-columns:1fr}.course-head .chr{min-height:160px}
  .badge-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:600px){
  .course-grid,.mem-grid,.prof-stats{grid-template-columns:1fr 1fr}
  .badge-grid{grid-template-columns:repeat(3,1fr)}
  .brand .bn{display:none}
}

/* ============================================================
   SQUARED avatars + level badges (per preference: squared > rounded)
   Layout unchanged — only the round shapes become rounded-square.
   ============================================================ */
.av{border-radius:9px}
.lbrow .av,.comment .av,.attendees .av,.snav .me{border-radius:8px}

/* level RINGS -> squared level badges (emerald tile, mono number) */
.lvlring{background:var(--em-soft);border:1px solid color-mix(in srgb,var(--em) 45%,transparent);border-radius:12px;padding:0}
.lvlring .inner{background:transparent;border-radius:11px;color:var(--em);font-family:'JetBrains Mono';font-weight:600}
.lvlring.sm{border-radius:9px}.lvlring.sm .inner{border-radius:8px}
.lvlring.lg{border-radius:18px}.lvlring.lg .inner{border-radius:16px}
.mcard .lvlring.lg .inner{font-size:26px}
.prof-card .lvlring{border:4px solid var(--card)}

/* feed level tag -> squared mono chip */
.post .ph .nm .lvl-badge{border-radius:5px;font-family:'JetBrains Mono';font-weight:500}

/* square remaining rounded chrome (chips, pills, composer input, bars) */
.chip{border-radius:8px}
.pill{border-radius:7px}
.composer .ci{border-radius:10px}
.bar,.bar i{border-radius:5px}
.rl-link a,.eyebrow{border-radius:0}

/* ============================================================
   BOLDER LIGHT THEME (deeper, less bright, richer accent)
   + FLAT fills (no gradients on avatars / banners / covers)
   ============================================================ */
html[data-theme="light"]{
  --bg:#E7DFCF; --surface:#EFE8D9; --card:#F5EFE3; --elev:#DBD1BE;
  --border:#CDC1A9; --border-2:#B6A88C;
  --text:#211B12; --text-2:#544A3B; --text-3:#867B67;
  --em:#BE4E23; --em-d:#9E3E1A; --em-soft:rgba(190,78,35,.15);
  --violet:#455A3F; --violet-soft:rgba(69,90,63,.16);
  --amber:#B07C2A; --amber-soft:rgba(176,124,42,.18); --red:#BE3B2A;
  --sky:#6E8F6B; --pink:#BE7358;
  --on-accent:#FFFFFF;
  --shadow:0 1px 2px rgba(33,27,18,.08), 0 12px 30px rgba(33,27,18,.10);
}

/* flat solid avatars (no gradients) */
.av.g1{background:var(--em)}
.av.g2{background:var(--violet)}
.av.g3{background:var(--amber)}
.av.g4{background:var(--pink)}
.av.g5{background:var(--sky)}
.av.g6{background:var(--em-d)}

/* flat profile banner (both themes) */
.prof-card .banner{background:var(--em)}
html[data-theme="light"] .prof-card .banner{background:var(--em)}

/* flat course covers (both themes) + accent subject icon */
.ccard .cover.c1,.ccard .cover.c2,.ccard .cover.c3,
.ccard .cover.c4,.ccard .cover.c5,.ccard .cover.c6{background:var(--elev)}
html[data-theme="light"] .ccard .cover.c1,html[data-theme="light"] .ccard .cover.c2,
html[data-theme="light"] .ccard .cover.c3,html[data-theme="light"] .ccard .cover.c4,
html[data-theme="light"] .ccard .cover.c5,html[data-theme="light"] .ccard .cover.c6{background:var(--elev)}
.ccard .cover svg{color:var(--em) !important;opacity:1}
