/* Prine Fellowship learning pages. Uses the site's theme variables (theme.css) so light/dark and admin theme changes apply. */
.lrn{min-height:60vh;background:var(--bg);color:var(--text)}
.lrn-wrap{max-width:1100px;margin:0 auto;padding:40px 24px}
.lrn-narrow{max-width:520px}.lrn-center{text-align:center}
.lrn-two{display:grid;grid-template-columns:1fr 340px;gap:40px}
.lrn-h1{font-family:var(--font-display,inherit);font-size:clamp(1.7rem,4vw,2.4rem);font-weight:700;line-height:1.2;margin:.3em 0}
.lrn-h2{font-family:var(--font-display,inherit);font-size:1.4rem;font-weight:700;margin:1.8em 0 .6em}
.lrn-eyebrow{color:var(--link);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600}
.lrn-muted{color:var(--text-muted);font-size:.9rem}.lrn-mt{margin-top:2rem}
.lrn a{color:var(--link)}.lrn a:hover{color:var(--link-hover)}
.lrn-back{display:inline-block;margin-bottom:12px;font-size:.9rem;font-weight:600;color:var(--text-muted)!important}
.lrn-hero-img{width:100%;max-height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--border);margin:12px 0}
.lrn-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}
.lrn-tag,.lrn-chip{font-size:.74rem;padding:3px 11px;border-radius:99px;border:1px solid var(--border);color:var(--text-muted)}
.lrn-tag{border-color:var(--accent);color:var(--link);font-weight:600}
.lrn-btn,button.lrn-btn{display:inline-block;background:var(--accent);color:var(--accent-text)!important;border:0;border-radius:99px;padding:11px 24px;font:600 .95rem inherit;cursor:pointer;text-decoration:none}
.lrn-btn:hover{filter:brightness(1.08)}.lrn-sm{padding:7px 16px;font-size:.85rem}.lrn-wide{width:100%;margin-top:12px;text-align:center}
.lrn-ghost,button.lrn-ghost{background:none;color:var(--link)!important;border:1px solid var(--border)}
.lrn-link{background:none;border:0;color:var(--text-muted);cursor:pointer;font:inherit;text-decoration:underline}
.lrn-logout{margin-top:40px}
.lrn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;margin:20px 0}
.lrn-card,.lrn-buy{background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;padding:22px}
.lrn-card h2{font-size:1.15rem;margin:.6em 0 .6em}
.lrn-buy{align-self:start;position:sticky;top:90px}.lrn-buy h3{margin:0 0 12px;font-size:1.2rem}.lrn-buy h4{margin:16px 0 4px}
.lrn-price{font-size:2rem;font-weight:700;margin:0 0 6px}.lrn-soon{display:inline-block;font-size:1.1rem;padding:6px 16px;border-radius:99px;background:var(--accent);color:var(--accent-text)}
.lrn-cur,.lrn-cohort{display:block;border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:.9rem}
.lrn-cur label{display:block;margin:4px 0}.lrn-full{opacity:.45}
.lrn-form label{display:block;margin:14px 0;font-size:.9rem}
.lrn-form input,.lrn-form select{display:block;width:100%;margin-top:5px;padding:11px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font:inherit}
.lrn-err,.lrn-flash{background:rgba(220,60,60,.12);border:1px solid rgba(220,60,60,.5);padding:10px 14px;border-radius:8px;margin:12px 0}
.lrn-flash{background:var(--bg-raised);border-color:var(--accent)}.lrn>.lrn-flash{max-width:1100px;margin:16px auto 0}
.lrn-ok{background:rgba(60,170,90,.14);border:1px solid rgba(60,170,90,.5);padding:10px 14px;border-radius:8px}
.lrn-ticks,.lrn-plain{list-style:none;padding:0}.lrn-ticks li{padding:3px 0}.lrn-ticks li:before{content:"✓ ";color:var(--link);font-weight:700}
.lrn-mod{border:1px solid var(--border);border-radius:12px;padding:10px 16px;margin:10px 0;background:var(--bg-raised)}
.lrn-mod summary{cursor:pointer;font-weight:600}.lrn-mod ul{list-style:none;padding:0;margin:10px 0 4px}.lrn-mod li{padding:4px 0}.lrn-pv{font-size:.75rem;color:var(--link)}
.lrn-bar{height:8px;background:var(--border);border-radius:9px;overflow:hidden;margin:10px 0 4px}.lrn-bar i{display:block;height:100%;background:var(--accent);transition:width .4s}
.lrn-quiz{border-top:1px solid var(--border);margin-top:34px;padding-top:6px}
.lrn-quiz fieldset{border:1px solid var(--border);border-radius:10px;margin:14px 0;padding:12px 16px}.lrn-quiz label{display:block;padding:4px 0}
.lrn-quiz fieldset.ok{border-color:#3fb950}.lrn-quiz fieldset.bad{border-color:#f85149}
.lrn-cert{border:2px solid var(--accent);border-radius:18px;margin-top:40px}.lrn-cert-who{font:700 2rem var(--font-display,serif)}.lrn-cert-what{font-size:1.4rem;color:var(--link)}
@media(max-width:860px){.lrn-two{grid-template-columns:1fr}.lrn-buy{position:static}}
@media print{header,footer,nav,.lrn-noprint{display:none!important}.lrn-cert{border-color:#000}}

/* ---- lesson player ---- */
.lrn-callout{background:var(--bg-raised);border-left:3px solid var(--accent);padding:12px 16px;border-radius:8px;margin:14px 0}
.lrn-learn{max-width:1560px;margin:0 auto;padding:22px clamp(14px,2.6vw,40px) 60px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
.lrn-stage{min-width:0}
.lrn-crumb{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.85rem;margin-bottom:14px}.lrn-crumb a{font-weight:600;color:var(--text-muted)!important;text-decoration:none}.lrn-crumb a:hover{color:var(--link)!important}.lrn-crumb span{color:var(--text-muted);padding-left:14px;border-left:1px solid var(--border)}
.lrn-video{position:relative;aspect-ratio:16/9;max-height:calc(100vh - 230px);width:100%;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--border);box-shadow:0 18px 50px -24px rgba(0,0,0,.55)}
.lrn-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lrn-video--ph{display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(135deg,var(--bg-raised),var(--bg));color:var(--text)}
.lrn-session{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;background:var(--bg-raised);border:1px solid var(--accent);border-radius:16px;padding:18px 22px}
.lrn-head{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end;justify-content:space-between;margin:20px 0 6px}
.lrn-kicker{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--link);font-weight:600}
.lrn-title{margin:.15em 0 0;font-family:var(--font-display,inherit);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.2;font-weight:700}
.lrn-actions{display:flex;gap:10px;flex-wrap:wrap}
.lrn-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:18px 0 0;overflow-x:auto}
.lrn-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--text-muted);font:600 .95rem inherit;padding:11px 16px;cursor:pointer;white-space:nowrap;margin-bottom:-1px}
.lrn-tabs button:hover{color:var(--text)}.lrn-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}
.lrn-count{display:inline-block;min-width:20px;text-align:center;font-size:.72rem;padding:1px 6px;border-radius:99px;background:var(--accent);color:var(--accent-text);margin-left:4px}
.lrn-panel[hidden]{display:none}.lrn-overview{margin-top:8px}.lrn-overview .lrn-h2{margin-top:1em;font-size:1.15rem}
.lrn-body p,.lrn-body li{line-height:1.75}.lrn-body p{margin:.9em 0}.lrn-body ul{list-style:disc;padding-left:1.4em;margin:.8em 0}.lrn-body h3{font-size:1.2rem;font-weight:700;margin:1.4em 0 .4em;font-family:var(--font-display,inherit)}
.lrn-notes{background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;padding:14px}
.lrn-notes-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.lrn-notes-title{font-weight:600;font-size:.92rem}
.lrn-chipbtn{background:none;border:1px solid var(--border);color:var(--text);border-radius:99px;padding:5px 12px;font:600 .8rem inherit;cursor:pointer}.lrn-chipbtn:hover:not(:disabled){border-color:var(--accent);color:var(--link)}.lrn-chipbtn:disabled{opacity:.45;cursor:default}
#noteBox{width:100%;min-height:200px;resize:vertical;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:14px;font:inherit;line-height:1.65}
#noteBox:focus{outline:2px solid var(--accent);outline-offset:1px}
.lrn-notes-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:.85rem}.lrn-notes-foot .is-ok{color:#3fb950}.lrn-notes-foot .is-err{color:#f85149}
.lrn-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:14px}
.lrn-res-card{display:flex;flex-direction:column;gap:6px;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:16px;text-decoration:none;color:var(--text)!important;transition:border-color .15s,transform .15s}
.lrn-res-card:hover{border-color:var(--accent);transform:translateY(-2px)}.lrn-res-src{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--link);font-weight:600}.lrn-res-title{font-weight:600;line-height:1.35}.lrn-res-go{font-size:.82rem;color:var(--text-muted);margin-top:auto}
.lrn-cert-msg{font-weight:600}
.lrn-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.lrn-pn-card{display:flex;flex-direction:column;gap:3px;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:14px 18px;text-decoration:none;color:var(--text)!important}.lrn-pn-card:hover{border-color:var(--accent)}.lrn-pn-card small{color:var(--text-muted)}.lrn-pn-card span{font-weight:600}.lrn-pn-next{text-align:right;grid-column:2}
.lrn-side{position:sticky;top:92px;height:calc(100vh - 112px);min-height:480px;display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--border);border-radius:18px;padding:16px 16px 12px;overflow:hidden}
.lrn-side .lrn-tabs{margin:0 -16px;padding:0 10px;flex:none}.lrn-side .lrn-tabs button{padding:11px 12px;font-size:.88rem}
.lrn-side .lrn-panel{flex:1;min-height:0;overflow:auto;padding:14px 2px 4px}.lrn-side .lrn-panel[hidden]{display:none}
.lrn-side .lrn-panel[data-panel=notes]{display:flex;flex-direction:column}.lrn-side .lrn-panel[data-panel=notes][hidden]{display:none}
.lrn-side .lrn-notes{flex:1;display:flex;flex-direction:column;background:none;border:0;padding:0}.lrn-side #noteBox{flex:1;min-height:200px}
.lrn-side .lrn-res{grid-template-columns:1fr}
.lrn-side-head{display:flex;gap:12px;align-items:center;padding:2px 4px 14px;flex:none}.lrn-side-title{display:block;line-height:1.3;font-size:.95rem}
.lrn-ring{width:46px;height:46px;flex:none;transform:rotate(-90deg)}.lrn-ring circle{fill:none;stroke-width:4}.lrn-ring-bg{stroke:var(--border)}.lrn-ring-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .5s}
.lrn-mod2{border-bottom:1px solid var(--border)}.lrn-mod2:last-child{border:0}
.lrn-mod2 summary{display:flex;align-items:center;gap:10px;padding:12px 4px;cursor:pointer;list-style:none;font-weight:600;font-size:.9rem}.lrn-mod2 summary::-webkit-details-marker{display:none}
.lrn-mnum{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:.78rem;flex:none}.lrn-mtitle{flex:1;line-height:1.3}.lrn-mmeta{font-size:.75rem;color:var(--text-muted);font-weight:500}
.lrn-mod2 ul{list-style:none;margin:0 0 8px;padding:0}
.lrn-mod2 li a,.lrn-locked{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px;text-decoration:none;color:var(--text)!important;font-size:.88rem;line-height:1.35}
.lrn-mod2 li a:hover{background:var(--bg)}.lrn-mod2 li.cur a{background:var(--bg);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}
.lrn-locked{color:var(--text-muted);opacity:.7}.lrn-lt{flex:1}.lrn-lm{font-size:.74rem;color:var(--text-muted);white-space:nowrap}
.lrn-ic{width:20px;height:20px;flex:none;color:var(--text-muted)}.lrn-ic circle{fill:none}.lrn-ic--done{color:#3fb950}.lrn-ic--done circle{fill:currentColor;fill-opacity:.16;stroke:currentColor;stroke-width:1.6}
.lrn-mod2 li.cur .lrn-ic{color:var(--link)}
.lrn-quiz{margin-top:28px;background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;padding:6px 20px 20px}
.lrn-notes-page{max-width:820px}.lrn-note-block{border-top:1px solid var(--border);padding:14px 0}.lrn-note-block h2{font-size:1.15rem;margin:.1em 0}.lrn-note-text{white-space:normal;line-height:1.7}
@media(max-width:1020px){.lrn-learn{grid-template-columns:1fr}.lrn-side{position:static;height:auto;min-height:0;overflow:visible}.lrn-side .lrn-panel{overflow:visible}.lrn-video{max-height:none}}
@media(max-width:560px){.lrn-pn{grid-template-columns:1fr}.lrn-pn-next{grid-column:auto}.lrn-actions .lrn-btn{flex:1;text-align:center}}
