/* ===== Phase 1: recorded-course learning page ===== */
.learn-body{background:var(--soft);min-height:100vh}
.learn-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.learn-back{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy)}
.learn-back svg{width:20px;height:20px}
.learn-back:hover{border-color:var(--navy)}
.learn-title{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.3}
.learn-course{font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.learn-pos{font-size:13px;color:var(--muted);font-family:var(--font-en)}
.learn-progress{display:flex;align-items:center;gap:10px;flex:none;width:200px}
.learn-progress small{font-family:var(--font-en);font-weight:700;color:var(--navy);font-size:13px}
.lprog-bar{flex:1;height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.lprog-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orange),var(--orange-2));transition:width .4s ease}
.learn-flash{max-width:1440px;margin:12px auto 0;padding:10px 16px;border-radius:12px;background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;width:calc(100% - 32px)}

.learn-wrap{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:20px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));align-items:start}
.learn-main{min-width:0}

/* player */
.player{position:relative;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none}
.player-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.player-frame iframe,.player-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.player-pdf .player-frame{aspect-ratio:4/5;background:#fff}
.player-fs{position:absolute;right:10px;top:10px;z-index:6;width:36px;height:36px;border-radius:10px;border:0;background:rgba(15,23,42,.55);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:.75;transition:opacity .2s}
.player-fs:hover{opacity:1}
.player-fs svg{width:18px;height:18px}
.player:fullscreen{border-radius:0;display:flex;align-items:center;justify-content:center}
.player:fullscreen .player-frame{max-height:100vh;max-width:calc(100vh * 16 / 9)}
.player:-webkit-full-screen .player-frame{max-height:100vh}

/* lesson header & body */
.lesson-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:22px 0 10px}
.lesson-module{font-size:13px;font-weight:700;color:var(--orange-2);text-transform:uppercase;letter-spacing:.4px;font-family:var(--font-en)}
.lesson-head h1{font-size:clamp(22px,2.4vw,30px);margin:4px 0 8px}
.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--muted)}
.lesson-type{display:inline-flex;align-items:center;gap:6px}
.lesson-type svg{width:16px;height:16px}
.lesson-head form{flex:none}
.lesson-head .btn svg{width:18px;height:18px}
.lesson-head .btn.is-done{color:#15803D;border-color:#BBF7D0;background:#F0FDF4}
.lesson-body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:14px;overflow-wrap:anywhere}
.lesson-body img{border-radius:12px}
.lesson-attach{display:flex;align-items:center;gap:12px;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--ink)}
.lesson-attach svg{width:22px;height:22px;color:var(--blue);flex:none}
.lesson-attach b{display:block;color:var(--navy)}
.lesson-attach small{color:var(--muted);word-break:break-all}
.lesson-attach:hover{border-color:var(--blue)}
.learn-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#D6E0FA;border-radius:var(--radius);padding:18px 20px}
.learn-cta b{display:block;color:#fff;font-size:18px}
.learn-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.learn-nav-btn{display:flex;align-items:center;gap:10px;max-width:48%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--navy);font-weight:600;min-width:0}
.learn-nav-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.learn-nav-btn small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.learn-nav-btn svg{width:18px;height:18px;flex:none}
.learn-nav-btn.next{margin-left:auto;text-align:right}
.learn-nav-btn:hover{border-color:var(--navy)}

/* curriculum sidebar */
.learn-side{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.learn-side > summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:700;color:var(--navy)}
.learn-side > summary::-webkit-details-marker{display:none}
.learn-side > summary small{font-weight:500;color:var(--muted);font-size:13px}
.ls-list{max-height:calc(100vh - 170px);overflow:auto}
.ls-module + .ls-module{border-top:1px solid var(--line)}
.ls-module-title{display:flex;justify-content:space-between;gap:8px;padding:12px 16px 6px;font-size:13.5px;font-weight:700;color:var(--ink);background:var(--soft)}
.ls-module-title small{color:var(--muted);font-family:var(--font-en)}
.ls-item{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;color:var(--ink);border-left:3px solid transparent}
.ls-item:hover{background:var(--soft)}
.ls-item.current{background:#FFF4EA;border-left-color:var(--orange-2)}
.ls-ico{flex:none;width:22px;height:22px;color:var(--muted);margin-top:1px}
.ls-ico svg{width:22px;height:22px}
.ls-item.done .ls-ico{color:#16A34A}
.ls-item.current .ls-ico{color:var(--orange-2)}
.ls-item.locked{opacity:.6}
.ls-text{min-width:0;display:flex;flex-direction:column}
.ls-name{font-size:14.5px;line-height:1.4}
.ls-item.current .ls-name{font-weight:700;color:var(--navy)}
.ls-sub{font-size:12.5px;color:var(--muted);font-family:var(--font-en)}
.ls-sub em{font-style:normal;color:#166534;background:#DCFCE7;border-radius:99px;padding:0 8px;margin-left:6px;font-family:var(--font)}

/* dashboard progress row + course-page lesson list (used by integration snippets) */
.lprog{display:flex;align-items:center;gap:10px;margin:6px 0 10px;max-width:420px}
.lprog small{white-space:nowrap;font-size:13px;color:var(--muted);font-family:var(--font-en)}
.lesson-list{list-style:none;margin:0;padding:0 16px 14px 62px;display:grid;gap:8px}
.lesson-list li{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:15px}
.lesson-list li .dur{margin-left:auto;color:var(--muted);font-size:13px;font-family:var(--font-en)}
.lesson-list li a.badge{text-decoration:none}

@media (max-width:1024px){
  .learn-wrap{grid-template-columns:1fr;gap:16px;padding-top:0;padding-left:0;padding-right:0}
  .learn-main > .player{border-radius:0;box-shadow:none}
  .lesson-head,.lesson-body,.lesson-attach,.learn-cta,.learn-nav{margin-left:16px;margin-right:16px}
  .learn-side{position:static;margin:0 16px 24px}
  .ls-list{max-height:none}
  .learn-progress{width:120px}
}
@media (max-width:640px){
  .learn-top{gap:10px}
  .learn-progress{width:84px}
  .learn-progress .lprog-bar{display:none}
  .lesson-head{flex-direction:column;gap:10px}
  .lesson-head form,.lesson-head form .btn{width:100%}
  .lesson-body{padding:16px}
  .learn-nav{flex-direction:column}
  .learn-nav-btn{max-width:none}
  .lesson-list{padding-left:16px}
}
/* Phase 2: payment choice on course page + payment status notices. Uses variables from skilldana.css */
.paychoice{display:grid;gap:10px}
.paychoice label{display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;background:#fff;transition:border-color .2s,box-shadow .2s}
.paychoice label:hover{border-color:var(--blue)}
.paychoice input{margin-top:5px;accent-color:var(--orange-2)}
.paychoice b{display:block;color:var(--navy)}
.paychoice small{display:block;color:var(--muted);font-size:13.5px;line-height:1.4}
.paychoice label:has(input:checked){border-color:var(--orange-2);box-shadow:0 0 0 4px rgba(255,106,26,.12)}
.paychoice .tag{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:700;background:#DCFCE7;color:#166534;border-radius:999px;padding:1px 8px;vertical-align:middle}
.manual-pay[hidden]{display:none !important}
.pay-notice{max-width:560px;margin:0 auto 18px;border-radius:14px;padding:12px 16px;font-weight:600;text-align:left}
.pay-notice.ok{background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46}
.pay-notice.bad{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}
.pay-notice form{display:inline}
.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--blue);cursor:pointer;text-decoration:underline}
/* =========================================================
   SkillDana — Phase 3: quiz, assignment, certificates, Q&A, notes, calendar
   Uses tokens from skilldana.css (navy/orange, --line, --soft, --sky, --radius).
   ========================================================= */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.p3-textarea{width:100%;font:inherit;font-size:16px;line-height:1.6;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);resize:vertical;transition:border-color .2s,box-shadow .2s}
.p3-textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,87,214,.12)}
.field textarea{width:100%}

/* ---------- learn list (quiz & assignment overview) ---------- */
.p3-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 8px;margin-bottom:16px}
.p3-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.p3-block-head h3{font-size:19px;margin:0}
.p3-label{font-family:var(--f-en,var(--font-en));font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint,var(--muted));margin:14px 0 6px}
.p3-list{display:grid;gap:8px;margin-bottom:10px}
.p3-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:border-color .2s,background .2s}
.p3-item:hover{border-color:var(--navy);background:var(--soft);color:var(--ink)}
.p3-item-main{flex:1;min-width:0}
.p3-item-main b{display:block;color:var(--navy);font-weight:600;line-height:1.35}
.p3-item-main small{color:var(--muted);font-size:13.5px}
.p3-ico{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}
.p3-ico svg{width:20px;height:20px}
.p3-ico-quiz{background:var(--sky);color:var(--navy)}
.p3-ico-task{background:var(--orange-soft,#FFF2EA);color:var(--orange-2)}

/* ---------- meta row ---------- */
.p3-meta{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}
.p3-meta span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:13.5px;color:var(--muted)}
.p3-meta span.late{border-color:#FECDCA;color:#B42318;background:#FEF3F2}

/* ---------- quiz taking ---------- */
.p3-quiz{display:grid;gap:14px}
.p3-qcard{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.p3-qcard legend{float:left;width:100%;display:flex;gap:12px;font-weight:600;color:var(--navy);font-size:17px;line-height:1.5;margin-bottom:12px;padding:0}
.p3-qn{flex:none;width:28px;height:28px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--f-en,var(--font-en));font-size:13px;font-weight:700;margin-top:1px}
.p3-opt{clear:both;display:flex;align-items:center;gap:12px;padding:11px 14px;margin-top:8px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.p3-opt:hover{border-color:#B9C4D8}
.p3-opt input{position:absolute;opacity:0;pointer-events:none}
.p3-opt:has(input:checked){border-color:var(--navy);background:var(--sky)}
.p3-opt:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px}
.p3-letter{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-family:var(--f-en,var(--font-en));font-size:12.5px;font-weight:700;color:var(--muted);background:#fff}
.p3-opt:has(input:checked) .p3-letter{background:var(--navy);border-color:var(--navy);color:#fff}
.p3-submitbar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow-lg)}

/* ---------- quiz result ---------- */
.p3-result{display:flex;align-items:center;gap:18px;border-radius:var(--radius);padding:18px;margin-bottom:18px;border:1px solid}
.p3-result.pass{background:var(--green-soft,#E9F7EF);border-color:#B7E3C7}
.p3-result.fail{background:#FEF3F2;border-color:#FECDCA}
.p3-result h3{font-size:19px;margin:0 0 2px}
.p3-score{flex:none;width:86px;height:86px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;line-height:1.1;border:3px solid currentColor}
.p3-result.pass .p3-score{color:var(--green)}
.p3-result.fail .p3-score{color:#B42318}
.p3-score b{display:block;font-family:var(--f-en,var(--font-en));font-size:24px}
.p3-score span{font-size:12px;color:var(--muted)}
.p3-review{list-style:none;counter-reset:q;margin:0;padding:0;display:grid;gap:12px}
.p3-review > li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.p3-q{font-weight:600;color:var(--navy);margin:0 0 8px}
.p3-review ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.p3-review ul li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);font-size:15.5px}
.p3-review ul li em{margin-left:auto;font-style:normal;font-size:12.5px;font-weight:700}
.p3-review ul li.right{border-color:#B7E3C7;background:var(--green-soft,#E9F7EF)}
.p3-review ul li.right em{color:var(--green)}
.p3-review ul li.right .p3-letter{background:var(--green);border-color:var(--green);color:#fff}
.p3-review ul li.wrong{border-color:#FECDCA;background:#FEF3F2}
.p3-review ul li.wrong em{color:#B42318}
.p3-explain{margin:10px 0 0;font-size:14.5px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}
.p3-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

/* ---------- assignment ---------- */
.p3-instructions{margin-bottom:16px}
.p3-feedback{background:var(--green-soft,#E9F7EF);border:1px solid #B7E3C7;border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}
.p3-feedback-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--navy)}
.p3-mysub{margin-bottom:16px}
.p3-mysub ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:15px}
.field input[type=file]{padding:10px;background:var(--soft)}

/* ---------- certificates ---------- */
.p3-certs{display:grid;gap:10px}
.p3-cert{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.p3-cert-badge{flex:none;width:46px;height:46px;border-radius:12px;background:var(--orange-soft,#FFF2EA);color:var(--orange-2);display:grid;place-items:center}
.p3-cert-badge svg{width:24px;height:24px}
.p3-cert-main{min-width:0;flex:1}
.p3-cert-main b{display:block;color:var(--navy);font-weight:600}
.p3-cert-main small{color:var(--muted);font-size:13.5px}
.p3-cert-actions{display:flex;flex-wrap:wrap;gap:8px}
.p3-cert.pending{background:var(--soft)}
.p3-progress{height:6px;border-radius:999px;background:var(--line);overflow:hidden;margin:8px 0 6px;max-width:420px}
.p3-progress span{display:block;height:100%;background:var(--green);border-radius:inherit}

/* ---------- notes ---------- */
.p3-notes{display:grid;gap:10px;padding-bottom:10px}
.p3-note{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#FFFDF6}
.p3-note-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
.p3-note-head b{color:var(--navy);font-weight:600}
.p3-note-head small{color:var(--faint,var(--muted));font-size:12.5px;white-space:nowrap}
.p3-note p{margin:0;white-space:pre-line;font-size:15.5px}
.p3-notebox{background:#FFFDF6;border:1px solid #F1E6C8;border-radius:var(--radius);padding:14px}
.p3-notebox-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.p3-notebox-head h3{font-size:16px;margin:0}
.p3-notebox .p3-textarea{background:#fff;border-color:#EADFC0}
.p3-notes-all{display:inline-block;margin-top:8px;font-size:14px;font-weight:600}

/* ---------- lesson Q&A ---------- */
.p3-qa{margin-top:24px}
.p3-qa-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.p3-qa-head h3{font-size:19px;margin:0}
.p3-qa-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:14px}
.p3-qa-actions{display:flex;justify-content:flex-end;margin-top:8px}
.p3-thread{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}
.p3-post{display:flex;gap:12px}
.p3-post + .p3-post{margin-top:12px}
.p3-post.reply{margin-left:44px;padding:10px 12px;border-radius:12px;background:var(--soft)}
.p3-post.reply.mentor{background:var(--sky);border:1px solid #D6E2F8}
.p3-av{flex:none;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--f-en,var(--font-en));font-size:13px;font-weight:700}
.p3-post.reply .p3-av{width:28px;height:28px;font-size:12px;background:var(--muted)}
.p3-post.reply.mentor .p3-av{background:var(--orange-2)}
.p3-post-body{min-width:0;flex:1}
.p3-post-body p{margin:2px 0 0;white-space:pre-line;font-size:15.5px}
.p3-post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.p3-post-meta b{color:var(--navy);font-size:14.5px}
.p3-post-meta small{color:var(--faint,var(--muted));font-size:12.5px}
.p3-reply{margin:10px 0 0 44px}
.p3-reply summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--blue);list-style:none}
.p3-reply summary::-webkit-details-marker{display:none}
.p3-reply form{display:grid;gap:8px;margin-top:8px;justify-items:start}

/* ---------- calendar ---------- */
.p3-monthnav{display:flex;align-items:center;gap:10px}
.p3-monthnav b{min-width:130px;text-align:center;color:var(--navy)}
.p3-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);gap:1px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}
.p3-cal-wd{background:var(--soft);padding:8px 6px;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}
.p3-cal-day{background:#fff;min-height:96px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:0}
.p3-cal-day.out{background:#FAFBFC}
.p3-cal-day.out .p3-cal-num{color:#C2C8D3}
.p3-cal-num{font-family:var(--f-en,var(--font-en));font-size:13px;font-weight:600;color:var(--ink)}
.p3-cal-day.today .p3-cal-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--orange);color:#fff}
.p3-cal-ev{display:block;font-size:12px;line-height:1.35;padding:4px 6px;border-radius:6px;background:var(--sky);color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p3-cal-ev b{font-weight:700;font-size:11px}
.p3-cal-ev.live{background:var(--orange);color:#fff}
.p3-agenda h3{font-size:18px;margin:0 0 10px}

/* ---------- "More" page (mobile) ---------- */
.p3-more{display:grid;gap:8px}
.p3-more a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink)}
.p3-more a b{display:block;color:var(--navy);font-weight:600}
.p3-more a small{color:var(--muted);font-size:13.5px}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .dash-bottom{grid-template-columns:repeat(5,1fr)}
  .p3-cal{display:none}
  .p3-agenda h3{font-size:17px}
}
@media (max-width:640px){
  .p3-item{gap:10px;padding:11px 12px}
  .p3-item .badge{font-size:11.5px;padding:2px 8px}
  .p3-ico{width:34px;height:34px}
  .p3-result{align-items:flex-start}
  .p3-score{width:72px;height:72px}
  .p3-score b{font-size:20px}
  .p3-cert{flex-wrap:wrap}
  .p3-cert-actions{width:100%}
  .p3-cert-actions .btn{flex:1}
  .p3-post.reply,.p3-reply{margin-left:20px}
  .p3-submitbar{bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .p3-submitbar .muted{display:none}
  .p3-submitbar .btn{width:100%}
  .p3-monthnav b{min-width:0}
}
/* =========================================================
   SkillDana — Phase 4 (reviews, referral, bundles, blog)
   Uses the tokens from skilldana.css. Append to skilldana.css or link after it.
   ========================================================= */

/* ---- stars ---- */
.stars{--star-size:16px;position:relative;display:inline-block;font-size:var(--star-size);line-height:1;letter-spacing:1px;font-family:Arial,sans-serif;vertical-align:middle}
.stars-bg{color:#D9DEE7}
.stars-fg{position:absolute;inset:0 auto 0 0;width:calc(var(--rating) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#F5A524}
.card-rating{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);margin:-2px 0 8px}
.card-rating b{color:var(--navy);font-weight:700}

/* ---- course page reviews ---- */
.reviews-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
.review-summary{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;text-align:center;position:sticky;top:96px}
.review-summary .big{font-size:48px;font-weight:800;color:var(--navy);line-height:1}
.review-summary .muted{margin:6px 0 14px;font-size:14px}
.review-summary .dist{list-style:none;margin:0;padding:0;display:grid;gap:6px;text-align:left}
.review-summary .dist li{display:grid;grid-template-columns:28px 1fr 26px;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.review-summary .dist i{height:7px;border-radius:99px;background:var(--soft);overflow:hidden;display:block}
.review-summary .dist i b{display:block;height:100%;background:#F5A524;border-radius:99px}
.review-list{display:grid;gap:14px}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px}
.review header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.review header .stars{margin-left:auto}
.review .av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--sky);color:var(--navy);font-weight:700;font-family:var(--f-en)}
.review header b{display:block;color:var(--navy);line-height:1.2}
.review header small{color:var(--faint);font-size:12.5px}
.review p{margin:0;color:var(--ink);font-size:15.5px}

/* ---- dashboard: review form ---- */
.review-form{margin-bottom:14px}
.rf-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.rf-head h3{font-size:18px;margin:0 0 4px}
.dthumb.sm{width:88px;flex:none}
.star-input{border:0;padding:0;margin:0 0 4px;display:inline-flex;flex-direction:row-reverse;gap:2px}
.star-input input{position:absolute;opacity:0;width:1px;height:1px}
.star-input label{font-size:30px;line-height:1;color:#D9DEE7;cursor:pointer;padding:2px;transition:color .15s,transform .15s;font-family:Arial,sans-serif}
.star-input label:hover,.star-input label:hover ~ label,.star-input input:checked ~ label{color:#F5A524}
.star-input label:hover{transform:scale(1.1)}
.star-input input:focus-visible + label{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}
.field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);resize:vertical}
.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,87,214,.12)}

/* ---- dashboard: referral ---- */
.ref-hero{display:grid;gap:14px;margin-bottom:20px;background:linear-gradient(135deg,#fff,var(--orange-soft))}
.ref-hero h3{font-size:21px;margin:0 0 4px}
.ref-hero p{margin:0}
.ref-link{display:flex;gap:8px}
.ref-link input{flex:1;min-width:0;font:inherit;font-family:var(--f-en);font-size:15px;padding:10px 12px;border:1.5px dashed var(--orange-line);border-radius:10px;background:#fff;color:var(--navy)}
.ref-hero .share{margin-top:0}
.table-wrap{overflow-x:auto;padding:0}
.sd-table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.sd-table th{text-align:left;font-weight:600;color:var(--muted);font-size:13.5px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--soft)}
.sd-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.sd-table tr:last-child td{border-bottom:0}

/* ---- blog ---- */
.post-card{display:flex;flex-direction:column;overflow:hidden}
.post-card .thumb{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy-3),var(--navy));overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .thumb img{transform:scale(1.04)}
.post-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.post-card h3{font-size:20px;margin:4px 0 8px}
.post-card h3 a{color:var(--navy)}
.post-card p{color:var(--muted);font-size:15.5px;flex:1}
.post-meta{font-size:13.5px;color:var(--faint);font-family:var(--f-en)}
.read-more{font-weight:700;display:inline-flex;align-items:center;gap:6px}
.read-more .arrow .ic{width:16px;height:16px}
.pager{margin-top:28px;display:flex;justify-content:center}
.pager nav ul,.pager ul.pagination{list-style:none;display:flex;gap:10px;padding:0;margin:0}
.pager a,.pager span{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:600}
.pager span{color:var(--faint)}
.article-hero{padding-block:48px 28px}
.article-wrap{max-width:780px}
.article-hero h1{font-size:clamp(28px,4vw,44px)}
.article-cover{margin:0 0 28px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.article-cover img{width:100%;height:auto}
.article-body{font-size:18px;line-height:1.85;padding-bottom:12px}
.article-body h2{font-size:28px;margin-top:1.4em}
.article-body h3{font-size:22px;margin-top:1.2em}
.article-body img{border-radius:12px;margin:18px 0}
.article-body a{text-decoration:underline;text-underline-offset:3px}
.article-body blockquote{margin:20px 0;padding:12px 18px;border-left:3px solid var(--orange);background:var(--orange-soft);border-radius:0 10px 10px 0}
.article-body ul,.article-body ol{padding-left:1.3em}
.article-body pre{background:var(--navy-2);color:#E5ECFA;padding:14px;border-radius:10px;overflow-x:auto;font-size:14px}

/* ---- responsive ---- */
@media (max-width:900px){
  .reviews-wrap{grid-template-columns:1fr}
  .review-summary{position:static}
}
@media (max-width:640px){
  .review{padding:16px}
  .review header{flex-wrap:wrap}
  .review header .stars{margin-left:52px}
  .ref-link{flex-direction:column}
  .article-body{font-size:17px}
  .star-input label{font-size:34px}
}
/* Phase 5 — auth status + backups page helpers (append to skilldana.css or load after it) */
.auth-ok{background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:15px}
.forgot-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.forgot-row a{font-size:14.5px;font-weight:600}

/* ===== Integration glue ===== */
.enrolled-box{display:grid;gap:10px;padding:14px;border:1px solid #CDEBD9;background:#F1FAF5;border-radius:12px;margin-bottom:16px}
.enrolled-box b{display:flex;align-items:center;gap:8px;color:#11734B;font-size:15px}
.enrolled-box b svg{width:18px;height:18px}
.lesson-list li>svg{width:16px;height:16px;flex:none;color:var(--muted)}
.dash-shortcuts{margin-bottom:24px;gap:14px}
.dash-shortcuts .shortcut{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.dash-shortcuts .shortcut:hover{border-color:var(--orange);transform:translateY(-2px)}
.dash-shortcuts .shortcut .ic{flex:none;width:42px;height:42px;border-radius:10px;background:#FFF1E8;color:var(--orange);display:grid;place-items:center}
.dash-shortcuts .shortcut .ic svg{width:20px;height:20px}
.dash-shortcuts .shortcut b{display:block;font-size:15px;color:var(--navy)}
.dash-shortcuts .shortcut small{display:block;color:var(--muted);font-size:13px;margin-top:2px}

.learn-main .p3-notebox{margin-top:18px}
@media (max-width:1024px){
  .learn-main .p3-notebox,.learn-main .p3-qa{margin-left:16px;margin-right:16px}
}

/* ===================== SkillDana Player ===================== */
.sdp{position:relative;width:100%;aspect-ratio:16/9;background:#05070D;border-radius:14px;overflow:hidden;color:#fff;outline:none;
  user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;font-family:Manrope,"Hind Siliguri",system-ui,sans-serif;
  box-shadow:0 18px 40px -24px rgba(14,42,92,.45)}
.sdp:focus-visible{box-shadow:0 0 0 3px rgba(242,106,27,.55)}
.sdp-media,.sdp-media>div,.sdp-media iframe,.sdp-media video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.sdp-media video{object-fit:contain}
.sdp-poster{position:absolute;inset:0;background:#05070D center/cover no-repeat;transition:opacity .35s;z-index:2}
.sdp-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,13,.15),rgba(5,7,13,.55))}
.sdp:not(.sdp-fresh) .sdp-poster{opacity:0;pointer-events:none}
.sdp-shield{position:absolute;inset:0;z-index:3;cursor:pointer}
.sdp-center{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none}
.sdp .sdp-btn.sdp-big{pointer-events:auto;width:76px;height:76px;border-radius:50%;border:0;background:rgba(242,106,27,.94);color:#fff;display:grid;place-items:center;
  cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s,opacity .25s,background .2s}
.sdp .sdp-btn.sdp-big svg{width:34px;height:34px;margin-left:3px}
.sdp .sdp-btn.sdp-big:hover{transform:scale(1.06);background:#F26A1B}
.sdp-playing .sdp-btn.sdp-big{opacity:0;transform:scale(.85);pointer-events:none}
.sdp-spin{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:3px solid rgba(255,255,255,.25);
  border-top-color:#fff;z-index:4;opacity:0;pointer-events:none;animation:sdpspin .8s linear infinite;transition:opacity .2s}
.sdp-waiting.sdp-playing .sdp-spin,.sdp-waiting:not(.sdp-fresh) .sdp-spin{opacity:1}
@keyframes sdpspin{to{transform:rotate(360deg)}}

/* control bar */
.sdp-bar{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:28px 14px 8px;background:linear-gradient(180deg,transparent,rgba(5,7,13,.82));
  transition:opacity .3s,transform .3s}
.sdp-fresh .sdp-bar{opacity:0;pointer-events:none}
.sdp-idle .sdp-bar{opacity:0;transform:translateY(8px);pointer-events:none}
.sdp-idle{cursor:none}
.sdp-row{display:flex;align-items:center;gap:4px}
.sdp-btn{border:0;background:transparent;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  font:700 13px/1 Manrope,system-ui,sans-serif;transition:background .15s}
.sdp-btn svg{width:22px;height:22px}
.sdp-btn:hover{background:rgba(255,255,255,.12)}
.sdp-time{font:600 13px/1 Manrope,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#E6EAF2;margin-left:6px;white-space:nowrap}
.sdp-spacer{flex:1}
.sdp-btn.speed,.sdp-btn.quality{width:auto;min-width:44px;padding:0 10px}
.sdp-vol{display:flex;align-items:center}
.sdp-vol input{width:0;opacity:0;transition:width .2s,opacity .2s;accent-color:#F26A1B;cursor:pointer}
.sdp-vol:hover input,.sdp-vol input:focus{width:80px;opacity:1;margin-right:6px}

/* seek */
.sdp-seek{position:relative;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none;margin:0 4px 2px}
.sdp-track{position:relative;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.22);transition:height .15s}
.sdp-seek:hover .sdp-track,.sdp-drag .sdp-track{height:6px}
.sdp-track i{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.sdp-track .buf{background:rgba(255,255,255,.35)}
.sdp-track .lim{background:rgba(255,255,255,.18);border-right:2px solid rgba(255,255,255,.6)}
.sdp-track .cur{background:#F26A1B}
.sdp-track .knob{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(242,106,27,.85);
  transform:scale(0);transition:transform .15s}
.sdp-seek:hover .knob,.sdp-drag .knob{transform:scale(1)}
.sdp-tip{position:absolute;bottom:22px;transform:translateX(-50%);background:rgba(5,7,13,.9);padding:4px 8px;border-radius:6px;font:600 12px/1 Manrope,system-ui;
  opacity:0;pointer-events:none;transition:opacity .15s;white-space:nowrap}
.sdp-seek:hover .sdp-tip{opacity:1}

/* menus */
.sdp-menu-wrap{position:relative}
.sdp-menu{position:absolute;right:0;bottom:46px;min-width:120px;background:rgba(14,20,34,.97);border:1px solid rgba(255,255,255,.1);border-radius:12px;
  padding:6px;display:none;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.sdp-menu-wrap.open .sdp-menu{display:grid}
.sdp-menu .sdp-btn{width:100%;height:34px;justify-content:start;display:flex;padding:0 12px;font-weight:600;border-radius:8px}
.sdp-menu .sdp-btn.on{color:#F26A1B}
.sdp-menu .sdp-btn.on::after{content:"✓";margin-left:auto}

/* ripples, toast, end, error */
.sdp-ripple{position:absolute;top:50%;z-index:5;width:96px;height:96px;margin-top:-48px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;
  place-items:center;align-content:center;gap:2px;opacity:0;pointer-events:none;font:700 12px/1 Manrope,system-ui}
.sdp-ripple svg{width:30px;height:30px}
.sdp-ripple.l{left:12%}.sdp-ripple.r{right:12%}
.sdp-ripple.on{animation:sdprip .6s ease}
@keyframes sdprip{0%{opacity:0;transform:scale(.8)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.1)}}
.sdp-toast{position:absolute;left:50%;top:16px;z-index:8;transform:translate(-50%,-12px);background:rgba(14,20,34,.95);border:1px solid rgba(255,255,255,.12);
  padding:9px 10px 9px 14px;border-radius:12px;font:600 13px/1.4 "Hind Siliguri",Manrope,system-ui;display:flex;gap:10px;align-items:center;max-width:calc(100% - 24px);
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.sdp-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.sdp-toast .sdp-toast-act{width:auto;height:30px;padding:0 12px;background:#F26A1B;font-size:12px;border-radius:8px;white-space:nowrap}
.sdp-end,.sdp-error{position:absolute;inset:0;z-index:9;background:rgba(5,7,13,.92);display:grid;place-items:center;text-align:center;padding:20px}
.sdp-end[hidden],.sdp-error[hidden]{display:none}
.sdp-end-in{display:grid;gap:8px;justify-items:center;max-width:420px}
.sdp-end-in small{color:#9AA6BD;font:600 13px/1 Manrope,system-ui;text-transform:uppercase;letter-spacing:.08em}
.sdp-end-in b{font:700 20px/1.35 "Anek Bangla","Hind Siliguri",system-ui}
.sdp-count{width:54px;height:54px;border-radius:50%;border:3px solid #F26A1B;display:grid;place-items:center;font:800 20px/1 Manrope,system-ui;margin:6px 0}
.sdp-end-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.sdp-end-acts .sdp-btn{width:auto;height:42px;padding:0 16px;gap:8px;display:flex;font:700 14px/1 "Hind Siliguri",Manrope,system-ui;border-radius:10px}
.sdp-end-acts .sdp-btn svg{width:18px;height:18px}
.sdp-go{background:#F26A1B}.sdp-go:hover{background:#DD5C10!important}
.sdp-cancel{background:rgba(255,255,255,.12)}
.sdp-error{gap:6px;align-content:center}
.sdp-error b{font:700 17px/1.3 "Hind Siliguri",system-ui}.sdp-error span{color:#AAB4C8;font-size:14px}

/* YouTube on phones: first tap goes to YouTube's own frame */
.sdp-native-start .sdp-shield,.sdp-native-start .sdp-center,.sdp-native-start .sdp-poster{display:none}

/* fullscreen */
.sdp:fullscreen{border-radius:0;aspect-ratio:auto;width:100vw;height:100vh}
.sdp:-webkit-full-screen{border-radius:0;width:100%;height:100%}
.sdp.sdp-pseudo{position:fixed;inset:0;z-index:2000;width:100vw;height:100vh;height:100dvh;aspect-ratio:auto;border-radius:0}
html.sdp-lock,html.sdp-lock body{overflow:hidden}

/* lesson list watch bar */
.ls-item .ls-text{min-width:0}
.ls-bar{display:block;height:3px;border-radius:3px;background:var(--line);margin-top:6px;overflow:hidden;max-width:160px}
.ls-bar i{display:block;height:100%;background:var(--orange)}

@media (max-width:1024px){
  .learn-main > .sdp{border-radius:0;box-shadow:none}
}
@media (max-width:640px){
  .sdp-btn{width:36px;height:36px}
  .sdp-btn svg{width:20px;height:20px}
  .sdp-bar{padding:22px 6px 4px}
  .sdp-vol input{display:none}
  .sdp-time{font-size:12px;margin-left:2px}
  .sdp .sdp-btn.sdp-big{width:62px;height:62px}
  .sdp .sdp-btn.sdp-big svg{width:28px;height:28px}
  .sdp-btn.quality{display:none}
}

/* curriculum rows on phones: title on its own line, duration + preview under it */
@media (max-width:640px){
  .modules .lesson-list{padding:0 14px 12px 14px;gap:0}
  .lesson-list li{display:grid;grid-template-columns:18px 1fr auto;column-gap:10px;row-gap:4px;align-items:start;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.45}
  .lesson-list li>svg{margin-top:3px}
  .lesson-list li>span:not(.dur){grid-column:2 / 4}
  .lesson-list li a.badge{grid-column:2;justify-self:start;font-size:12px;padding:2px 8px}
  .lesson-list li .dur{grid-column:3;grid-row:2;margin:0;white-space:nowrap;font-size:12.5px}
  .lesson-list li:not(:has(a.badge)) .dur{grid-column:2;justify-self:start}
}

/* ===== accounts: device limit, OTP, login link ===== */
.limit-card{text-align:left}
.limit-ic{width:52px;height:52px;border-radius:14px;background:#FFF1E8;color:var(--orange);display:grid;place-items:center;margin-bottom:12px}
.limit-ic svg{width:26px;height:26px}
.device-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}
.device-list li{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.device-list .dv-ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--sky);color:var(--navy);display:grid;place-items:center}
.device-list .dv-ic svg{width:20px;height:20px}
.device-list .dv-text{flex:1;min-width:0;display:grid;gap:2px}
.device-list .dv-text b{color:var(--navy);font-size:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.device-list .dv-text small{color:var(--muted);font-size:13px}
.device-list form{flex:none}
.or-line{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;margin:18px 0 12px}
.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line)}
.magic-box{border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.magic-box summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:600;color:var(--navy);display:flex;gap:8px;align-items:center;font-size:15px}
.magic-box summary::-webkit-details-marker{display:none}
.magic-box summary .ic,.magic-box summary svg{width:18px;height:18px}
.magic-box .form{padding:0 14px 14px}
.otp-input{font:700 24px/1 Manrope,system-ui,sans-serif!important;letter-spacing:.5em;text-align:center}
.notice-bar{display:flex;gap:10px;align-items:flex-start;background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:15px}
.notice-bar svg{width:20px;height:20px;flex:none;margin-top:2px}
.field-note{display:block;color:var(--muted);font-size:13px;margin-top:6px}

/* ===== enroll form: payment methods ===== */
.pay-head{font-weight:700;color:var(--navy);font-size:15px;margin:6px 0 8px}
.paylist{display:grid;gap:8px;margin-bottom:12px}
.payopt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
.payopt input{margin-top:4px;accent-color:var(--orange);flex:none}
.payopt.on{border-color:var(--orange);background:#FFF8F3}
.po-body{display:grid;gap:3px;min-width:0;flex:1}
.po-body b{color:var(--navy);font-size:15px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.po-body b em{font-style:normal;font-weight:600;font-size:12px;color:var(--muted);background:var(--soft);border-radius:6px;padding:1px 7px}
.po-body small{color:var(--muted);font-size:13px;line-height:1.45}
.po-num{display:flex;gap:8px;align-items:center}
.po-num .num{font-family:var(--f-en,Manrope),system-ui;font-weight:800;color:var(--ink);letter-spacing:.02em}
.po-copy{border:1px solid var(--line);background:#fff;border-radius:7px;padding:2px 9px;font:600 12px/1.6 Manrope,system-ui;color:var(--navy);cursor:pointer}
.pay-step{font-size:14px;margin:0 0 10px;line-height:1.55}
.payopt .tag{background:#E8F7EF;color:#11734B;font-size:11px;border-radius:6px;padding:1px 6px}
.mail-note{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;margin:16px auto 4px;font-size:14.5px;color:var(--ink);max-width:100%;flex-wrap:wrap;justify-content:center}
.mail-note svg{width:18px;height:18px;color:var(--orange)}
.btn .ic,.btn > svg{width:18px;height:18px}
.limit-card .btn{white-space:normal;line-height:1.35}

/* ===== legal pages ===== */
.legal-doc{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}
.legal-nav{position:sticky;top:96px;display:grid;gap:6px}
.legal-nav a{padding:10px 14px;border-radius:10px;color:var(--ink);font-weight:600;border:1px solid transparent}
.legal-nav a:hover{background:var(--soft)}
.legal-nav a.on{background:#FFF3EA;border-color:#FFD9C2;color:var(--orange-2)}
.prose{max-width:760px;font-size:16.5px;line-height:1.85;color:var(--ink)}
.prose h2{font-size:21px;margin:28px 0 8px;color:var(--navy)}
.prose ul{padding-left:20px;margin:0 0 12px}
.prose li{margin:4px 0}
.prose a{color:var(--orange-2);text-decoration:underline}
.footer .legal-links{display:flex;gap:16px;flex-wrap:wrap}
.footer .legal-links a{color:inherit;opacity:.85}
.footer .legal-links a:hover{opacity:1;color:#fff}
@media (max-width:900px){
  .legal-doc{grid-template-columns:1fr;gap:18px}
  .legal-nav{position:static;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .legal-nav a{white-space:nowrap;padding:8px 12px;font-size:14px;background:var(--soft)}
  .prose{font-size:16px}
}
.err-page{text-align:center;padding-block:80px}
.err-code{font:800 clamp(72px,14vw,120px)/1 var(--f-en,Manrope),system-ui;color:var(--orange);letter-spacing:-.03em;margin-bottom:6px}
@media (max-width:640px){
  .learn-nav-btn,.learn-nav-btn.next{width:100%;max-width:100%;margin-left:0;box-sizing:border-box}
  .learn-nav-btn.next{justify-content:space-between}
}
