
*{box-sizing:border-box}
:root{--green:#0d8b66;--green-dark:#087054;--green-soft:#eaf7f2;--ink:#102019;--muted:#6f7f78;--line:#dde6e1;--bg:#f4f7f5;--dark:#0c201b;--header:#063d32;--header-2:#075344}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,a{font:inherit}
.topbar{height:88px;position:relative;left:0;right:0;top:0;background:linear-gradient(90deg,var(--header),var(--header-2));border-bottom:1px solid rgba(255,255,255,.08);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 8px 28px rgba(3,47,38,.12)}
.brand{display:flex;align-items:center;height:100%}.brand-logo{display:block;width:220px;max-height:66px;object-fit:contain;object-position:left center}
.top-actions{display:flex;align-items:center;gap:18px;color:rgba(255,255,255,.82);font-size:14px}.login-btn{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:7px 14px 7px 7px;display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer}.login-btn:hover{background:rgba(255,255,255,.14)}.login-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--header);font-weight:900}
.shell{padding-top:0;min-height:100vh}
.sidebar{position:sticky;top:0;left:0;height:100vh;width:370px;float:left;background:white;border-right:1px solid var(--line);padding:28px 24px 40px;overflow-y:auto}
.course-title .kicker,.kicker{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.13em}.course-title h1{margin:12px 0 5px;font-size:27px}.course-title p{margin:0;color:var(--muted)}.brand-tagline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--green)!important;font-size:11px;font-weight:900;letter-spacing:.12em}.brand-tagline i{font-style:normal;opacity:.6}
.progress-card{margin:28px 0 20px;border:1px solid var(--line);border-radius:16px;padding:18px;background:#fbfcfb}.progress-card>div:first-child{display:flex;justify-content:space-between;font-size:14px}.track{height:8px;background:#e6eeea;border-radius:99px;overflow:hidden;margin:14px 0}.track i{display:block;height:100%;width:0;background:var(--green);border-radius:99px}.progress-card small{color:var(--muted)}
.course-nav{display:flex;flex-direction:column;gap:8px}
.module{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.module-head{width:100%;border:0;background:#fff;padding:14px 14px;display:flex;gap:10px;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font-weight:850;color:#263a32}.module-head:hover{background:#f7faf8}.module-head .count{font-size:11px;font-weight:700;color:#8b9993}.module-head .chev{transition:.2s}.module.open .module-head .chev{transform:rotate(180deg)}
.lesson-list{display:none;border-top:1px solid var(--line);padding:7px}.module.open .lesson-list{display:block}
.lesson-item{width:100%;border:0;background:transparent;padding:10px 10px;border-radius:9px;display:flex;align-items:flex-start;gap:9px;text-align:left;cursor:pointer;color:#586a62;line-height:1.3}.lesson-item:hover{background:#f4f8f6}.lesson-item.active{background:var(--green-soft);color:var(--green-dark);font-weight:800}.status-dot{width:19px;height:19px;border:1px solid #cbd8d1;border-radius:50%;display:grid;place-items:center;flex:0 0 19px;font-size:10px;margin-top:1px}.lesson-item.completed .status-dot{background:var(--green);border-color:var(--green);color:#fff}
.main{margin-left:370px;padding:28px 34px 70px}
.lesson-card{max-width:1160px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 45px rgba(27,65,49,.06)}
.video{aspect-ratio:16/9;width:100%;background:#08130f;border-radius:20px;overflow:hidden;color:white}.video-player iframe,.video-player wistia-player{display:block;width:100%;height:100%;border:0}
.video-inner{text-align:center}.play{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;margin:0 auto 18px;font-size:25px;padding-left:5px}.video strong{display:block;font-size:18px}.video span{display:block;margin-top:10px;color:#a7b8b1}
.lesson-meta{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 4px 18px}.lesson-meta h2{font-size:34px;margin:8px 0 0;letter-spacing:-.03em}
.complete{border:0;background:var(--green);color:#fff;padding:14px 18px;border-radius:12px;font-weight:850;cursor:pointer;white-space:nowrap}.complete.done{background:#153e31}
.content-section{border-top:1px solid var(--line);padding:24px 4px 4px;margin-top:8px}.section-title span{color:var(--green);font-size:11px;letter-spacing:.12em;font-weight:900}.section-title h3{margin:5px 0 16px;font-size:21px}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px}.resource-card{display:flex;gap:13px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:15px;background:#fbfdfc;transition:.18s}.resource-card:hover{transform:translateY(-1px);border-color:#b8d7c9;background:#f5fbf8}.resource-icon{width:38px;height:38px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900;flex:0 0 38px}.resource-card b{display:block;margin-bottom:4px}.resource-card small{color:var(--muted)}
.note-box{white-space:pre-line;background:#fbfdfc;border:1px solid var(--line);border-radius:14px;padding:18px;line-height:1.72;color:#334a40}
.code-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.copy-btn{border:0;background:var(--green-soft);color:var(--green-dark);padding:10px 14px;border-radius:10px;font-weight:850;cursor:pointer}.code-box{white-space:pre-wrap;overflow:auto;max-height:520px;background:#0c1b16;color:#dff4e9;border-radius:14px;padding:18px;line-height:1.55;font-size:13px}
.navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.navigation button{border:1px solid var(--line);background:#f6f9f7;border-radius:11px;padding:12px 15px;font-weight:800;cursor:pointer}.navigation button:disabled{opacity:.4;cursor:not-allowed}.navigation span{font-size:13px;color:var(--muted)}
.toast{position:fixed;right:24px;bottom:24px;background:#10261e;color:white;border-radius:10px;padding:11px 15px;opacity:0;transform:translateY(10px);transition:.2s;z-index:30}.toast.show{opacity:1;transform:none}
@media(max-width:980px){.sidebar{width:310px}.main{margin-left:310px;padding:20px}.lesson-meta{align-items:flex-start;flex-direction:column}.lesson-meta h2{font-size:28px}}
@media(max-width:760px){.topbar{padding:0 16px}.sidebar{position:relative;top:auto;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.main{margin-left:0;padding:14px}.shell{display:block}.lesson-card{padding:16px}.video{min-height:0}.lesson-meta h2{font-size:25px}.resource-grid{grid-template-columns:1fr}.navigation span{display:none}}

.lesson-number{font-weight:900;color:#0d8b66;min-width:22px;flex:0 0 22px}
.lesson-label{flex:1}
.lesson-image-wrap{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdfc;overflow:hidden}
.lesson-image{display:block;width:100%;height:auto;border-radius:12px}

.riverbox-contact{margin-top:0}.riverbox-contact strong{font-weight:900;color:var(--ink)}.riverbox-contact span{text-decoration:underline;text-underline-offset:2px}.note-box p{margin:0 0 18px}.note-box p:last-child{margin-bottom:0}
