

.lrn{--card:#0d1b26;--card2:#0f2230;--line:rgba(127,202,219,.2);--tx:#e9f1f6;--body:#cfe0e8;--mut:#8fa8b6;
  --teal:#0e7490;--teal-l:#22a5c4;--red:#ff5a4e;--green:#2bd97e;--amber:#f5b942;
  background:radial-gradient(120% 60% at 20% 0%,#14293a 0%,#0c1b2a 45%,#081521 100%);
  color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  padding:44px 22px 60px;margin:0 -22px;line-height:1.6}
.lrn *{box-sizing:border-box}
.lrn [hidden]{display:none!important}
.lrn a{color:var(--teal-l)}
.lrn-in{max-width:960px;margin:0 auto}
.lrn-narrow{max-width:760px;margin:0 auto}
.lrn button{font-family:inherit;text-transform:none;letter-spacing:normal;line-height:1.4;box-shadow:none;cursor:pointer;width:auto}

/* ---------- breadcrumb ---------- */
.lrn-crumbs{font-size:13.5px;color:var(--mut);margin:0 0 18px}
.lrn-crumbs a{color:var(--mut);text-decoration:none}
.lrn-crumbs a:hover{color:var(--teal-l);text-decoration:underline}
.lrn-crumbs span{margin:0 7px;opacity:.6}

/* ---------- page heads ---------- */
.lrn-head{text-align:center;margin-bottom:30px}
.lrn-head.left{text-align:left}
.lrn-kick{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:700}
.lrn-head h1{font-size:40px;line-height:1.14;margin:12px 0 14px;color:#fff;font-weight:800;letter-spacing:-.5px}
.lrn-head p{font-size:17px;color:var(--mut);max-width:680px;margin:0 auto 10px}
.lrn-head.left p{margin-left:0}
.lrn-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.lrn-head.left .lrn-stats{justify-content:flex-start}
.lrn-stats span{background:rgba(14,116,144,.14);border:1px solid rgba(34,165,196,.3);border-radius:20px;padding:6px 14px;font-size:13.5px;color:var(--body);font-weight:600}

/* ---------- progress bar ---------- */
.lrn-bar{display:block;height:6px;background:#0a2230;border-radius:4px;overflow:hidden;margin-top:10px}
.lrn-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0e7490,#2bd97e);transition:width .3s ease}

/* ---------- "where to start" picker ---------- */
.lrn-pick{background:var(--card2);border:1px solid rgba(34,165,196,.3);border-radius:14px;padding:22px 24px;margin:0 0 34px}
.lrn-pick .h{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-weight:700;margin-bottom:6px}
.lrn-pick .q{font-size:19px;color:#fff;font-weight:700;margin:0 0 14px}
.lrn-pick-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.lrn-pick-row a{display:block;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:#fff;text-decoration:none;font-weight:600;font-size:15px}
.lrn-pick-row a:hover{border-color:var(--teal-l);background:rgba(34,165,196,.1)}
.lrn-pick-row a span{display:block;color:var(--mut);font-weight:400;font-size:13.5px;margin-top:3px}
.lrn-pick .note{font-size:14px;color:var(--mut);margin:12px 0 0}

/* ---------- course cards (hub) ---------- */
.lrn-sec{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-l);font-weight:700;margin:40px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.lrn-courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.lrn-course{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;scroll-margin-top:90px}
.lrn-course.is-live{border-color:rgba(34,165,196,.45)}
.lrn-course .n{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:700}
.lrn-course.is-soon .n{color:var(--amber)}
.lrn-course h2{font-size:21px;color:#fff;margin:4px 0 6px;font-weight:800;line-height:1.25}
.lrn-course p{font-size:14.5px;color:var(--body);margin:0 0 10px}
.lrn-course .m{font-size:13px;color:var(--mut)}
.lrn-course ul{margin:0 0 12px;padding-left:18px;font-size:14px;color:var(--body)}
.lrn-course ul li{margin:2px 0}
.lrn-course .c{font-size:12.5px;color:var(--mut);margin-top:6px}
.lrn-course .go{margin-top:auto;padding-top:14px}
.lrn-btn{display:inline-block;background:var(--teal);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:14.5px;padding:10px 18px;border-radius:9px}
.lrn-btn:hover{background:var(--teal-l)}

/* ---------- how it works strip ---------- */
.lrn-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lrn-how div{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:12px;padding:16px}
.lrn-how b{display:block;color:#fff;font-size:16px;margin-bottom:4px}
.lrn-how p{margin:0;font-size:14px;color:var(--body)}

/* ---------- lesson list (course page) ---------- */
.lrn-lessons{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lrn-lesson{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start;margin:0}
.lrn-num{flex:0 0 32px;height:32px;border-radius:50%;background:rgba(34,165,196,.15);border:1px solid rgba(34,165,196,.4);color:var(--teal-l);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.lrn-lb{flex:1;min-width:0}
.lrn-lb h3{font-size:17px;color:#fff;margin:2px 0 4px;font-weight:700;line-height:1.3}
.lrn-lb h3 a{color:#fff;text-decoration:none}
.lrn-lb h3 a:hover{color:var(--teal-l)}
.lrn-lb p{margin:0 0 6px;font-size:14.5px;color:#c4d6df}
.lrn-lb .m{font-size:13px;color:var(--mut)}
.lrn-lb .m a{font-weight:600}
.lrn-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:2px 7px;margin-right:8px;vertical-align:1px}
.lrn-badge.open{background:rgba(34,165,196,.18);color:var(--teal-l)}
.lrn-badge.soon{background:rgba(245,185,66,.14);color:var(--amber)}
.lrn-badge.done{background:rgba(43,217,126,.16);color:var(--green)}
.lrn-lesson.is-done{border-color:rgba(43,217,126,.4)}
.lrn-lesson.is-done .lrn-num{background:rgba(43,217,126,.18);border-color:rgba(43,217,126,.5);color:var(--green)}
.lrn-lesson.is-soon{opacity:.82}

/* ---------- lesson body ---------- */
.lrn-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.lrn-meta span{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-l);background:rgba(34,165,196,.12);border-radius:5px;padding:3px 9px}
.lrn-goals{background:var(--card2);border:1px solid rgba(34,165,196,.3);border-radius:14px;padding:18px 22px;margin:22px 0 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 28px}
.lrn-goals h2{grid-column:1/-1;font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--green)!important;margin:0 0 6px!important;font-weight:700}
.lrn-goals ul{margin:0;padding-left:18px;font-size:15px;color:var(--body)}
.lrn-goals li{margin:3px 0}
.lrn-goals .need{grid-column:1/-1;font-size:14.5px;color:var(--body);margin:10px 0 0}
.lrn-goals .need b{color:#fff}

.lrn-body{font-size:16.5px;color:var(--body)}
.lrn-body h2{font-size:26px;color:#fff;margin:44px 0 10px;font-weight:800;line-height:1.25}
.lrn-body h3{font-size:19px;color:#fff;margin:26px 0 6px;font-weight:700;line-height:1.3}
.lrn-body p{margin:0 0 14px}
.lrn-body ul,.lrn-body ol{margin:0 0 16px;padding-left:22px}
.lrn-body li{margin:5px 0}
.lrn-body b,.lrn-body strong{color:#fff}
.lrn-body code{font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:.9em;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:#e6f3f7}
.lrn-kbd{font-family:inherit;font-size:.86em;font-weight:700;background:#14303f;border:1px solid rgba(127,202,219,.35);border-bottom-width:2px;border-radius:5px;padding:1px 7px;color:#fff;white-space:nowrap}

.lrn-journey,.lrn-body .lrn-journey{list-style:none;margin:18px 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;counter-reset:j}
.lrn-journey li{margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px;position:relative;counter-increment:j}
.lrn-journey li::before{content:counter(j);display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:rgba(34,165,196,.18);color:var(--teal-l);font-weight:800;font-size:13.5px;margin-bottom:6px}
.lrn-journey b{display:block;color:#fff;font-size:15.5px;line-height:1.3}
.lrn-journey span{display:block;font-size:13px;color:var(--mut);margin-top:3px;line-height:1.45}

.lrn-try{background:rgba(43,217,126,.06);border:1px solid rgba(43,217,126,.35);border-radius:14px;padding:20px 22px;margin:20px 0 22px}
.lrn-try>.h{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:800;margin:0 0 4px}
.lrn-try>h3{margin-top:0!important}
.lrn-try ol{margin-bottom:6px}
.lrn-try li{margin:9px 0}
.lrn-note{background:rgba(245,185,66,.07);border-left:3px solid var(--amber);border-radius:0 10px 10px 0;padding:12px 16px;margin:16px 0;font-size:15px}
.lrn-note b{color:var(--amber)}

.lrn-cmd{display:flex;align-items:center;gap:10px;background:#06121a;border:1px solid var(--line);border-radius:9px;padding:9px 10px 9px 14px;margin:8px 0 12px}
.lrn-cmd code{flex:1;min-width:0;background:none;border:0;padding:0;font-size:14.5px;color:#9ff0c4;overflow-x:auto;white-space:pre}
.lrn button.lrn-copy{flex:0 0 auto;background:transparent;border:1px solid rgba(127,202,219,.35);color:var(--mut);border-radius:7px;padding:4px 10px;font-size:12.5px;font-weight:700}
.lrn button.lrn-copy:hover{color:#fff;border-color:var(--teal-l)}

.lrn-table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}
.lrn-table th{background:#3d3b3b;color:#fff;text-align:left;padding:9px 12px;font-weight:700}
.lrn-table td{border-bottom:1px solid var(--line);padding:9px 12px;vertical-align:top}
.lrn-table td:first-child{white-space:nowrap;color:#fff;font-weight:700}
.lrn-tablewrap{overflow-x:auto}

.lrn-takeaways{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:30px 0 10px}
.lrn-takeaways h2{font-size:19px!important;margin:0 0 8px!important}
.lrn-takeaways ul{margin:0}

/* ---------- v2: per-device steps (details/summary) + command output ---------- */
.lrn-os{margin:10px 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.lrn-os>summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:700;color:#fff;font-size:16px;display:flex;align-items:center;gap:10px}
.lrn-os>summary::-webkit-details-marker{display:none}
.lrn-os>summary::after{content:"+";margin-left:auto;color:var(--teal-l);font-size:21px;line-height:1;font-weight:700}
.lrn-os[open]>summary::after{content:"\2212"}
.lrn-os>summary:hover{color:var(--teal-l)}
.lrn-os>div{padding:0 16px 12px}
.lrn-os>div ol{margin-bottom:8px}
.lrn-cmd.out{background:#040d13}
.lrn-cmd.out code{color:#b9cbd4;font-size:13.5px;line-height:1.55}
.lrn-cmd code b{color:var(--amber);font-weight:700}

/* ---------- quiz ---------- */
.lrn-quiz{background:radial-gradient(120% 90% at 25% 0%,#1f3f50 0%,#143040 50%,#0a1a26 100%);border:1px solid rgba(127,202,219,.25);border-radius:14px;padding:20px 20px 16px;margin-top:26px}
.lrn-quiz>h2,.lrn-quiz>h3{font-size:20px!important;color:#fff;margin:0 0 2px!important;font-weight:800}
.lrn-quiz>.sub{font-size:14px;color:var(--mut);margin:0 0 14px}
.lrn-q{border-top:1px solid var(--line);padding:14px 0 12px}
.lrn-q .qt{font-size:15.5px;color:#fff;font-weight:600;margin:0 0 10px}
.lrn-ans{display:grid;gap:8px}
.lrn button.lrn-a{display:block;width:100%;text-align:left;background:rgba(255,255,255,.045);border:1px solid var(--line);color:#e2edf2;border-radius:9px;padding:11px 14px;font-size:14.5px;font-weight:500}
.lrn button.lrn-a:hover{border-color:var(--teal-l)}
.lrn button.lrn-a:disabled{cursor:default}
.lrn button.lrn-a:disabled:hover{border-color:var(--line)}
.lrn button.lrn-a.is-right,.lrn button.lrn-a.is-right:hover{background:rgba(43,217,126,.14);border-color:rgba(43,217,126,.55);color:#fff}
.lrn button.lrn-a.is-wrong,.lrn button.lrn-a.is-wrong:hover{background:rgba(255,90,78,.12);border-color:rgba(255,90,78,.5);color:#fff}
.lrn-fb{border-radius:9px;padding:11px 14px;margin-top:10px;font-size:14px;color:#d6e4ea;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.lrn-fb .v{font-weight:800;margin-right:4px}
.lrn-fb.good .v{color:var(--green)}
.lrn-fb.bad .v{color:#ff8a7a}
.lrn-score{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px;font-size:14.5px;color:#fff;font-weight:700}
.lrn button.lrn-retry{background:transparent;border:1px solid rgba(127,202,219,.35);color:var(--teal-l);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700}

/* ---------- complete + prev/next ---------- */
.lrn-finish{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:30px 0 0;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.lrn-finish p{margin:0;flex:1 1 260px;font-size:15px;color:var(--body)}
.lrn button.lrn-complete{background:var(--teal);color:#fff;border:0;border-radius:9px;padding:11px 18px;font-size:15px;font-weight:800}
.lrn button.lrn-complete:hover{background:var(--teal-l)}
.lrn button.lrn-complete.is-done{background:rgba(43,217,126,.16);color:var(--green);border:1px solid rgba(43,217,126,.5)}
.lrn-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.lrn-pn a,.lrn-pn div{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:#fff;font-weight:700;font-size:15px}
.lrn-pn a:hover{border-color:var(--teal-l)}
.lrn-pn small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:700;margin-bottom:2px}
.lrn-pn .next{text-align:right}
.lrn-pn div{color:var(--mut)}

.lrn-deeper{margin-top:16px;font-size:14.5px;color:var(--body)}
.lrn-deeper a{font-weight:700}

/* ---------- FAQ ---------- */
.lrn-faq{margin-top:44px}
.lrn-faq h2{font-size:24px;color:#fff;margin:0 0 6px;font-weight:800}
.lrn-faq h3{font-size:16.5px;color:#fff;margin:20px 0 4px}
.lrn-faq p{margin:0;color:var(--body);font-size:15px}
.lrn button.lrn-reset{margin-top:10px;background:transparent;border:1px solid rgba(255,90,78,.45);color:#ff8a7a;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:700}

@media (max-width:700px){
  .lrn-journey,.lrn-body .lrn-journey{grid-template-columns:1fr}
  .lrn-journey li{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:start}
  .lrn-journey li::before{grid-row:1/3;margin:0}
}
@media (max-width:600px){
  .lrn{padding:30px 16px 44px;margin:0 -16px}
  .lrn-head h1{font-size:29px}
  .lrn-head p{font-size:16px}
  .lrn-body{font-size:16px}
  .lrn-body h2{font-size:22px;margin-top:36px}
  .lrn-lesson{padding:14px}
  .lrn-pick,.lrn-try,.lrn-goals{padding:16px}
  .lrn-quiz{padding:16px 14px 12px}
  .lrn-pn{grid-template-columns:1fr}
  .lrn-pn .next{text-align:left}
  .lrn-table td:first-child{white-space:normal}
}
