/* Course player */
.learn{background:var(--bg)}
.lbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:16px;height:64px;padding:0 20px;background:rgba(251,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.lbar .logo img{width:32px;height:32px}
.lbar .logo b{font-size:19px}
.lbar .logo small{font-size:9px;margin-top:4px}
.lb-menu{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);background:var(--paper);place-items:center}
.lb-menu svg{width:18px;height:18px}
.lb-prog{flex:1;display:flex;align-items:center;gap:12px;max-width:420px;margin-left:auto}
.lb-track{flex:1;height:8px;border-radius:99px;background:var(--cream-2);overflow:hidden}
.lb-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .4s}
.lb-prog span{font:600 12.5px var(--sans);color:var(--muted);white-space:nowrap}
.lb-user{display:flex;align-items:center;gap:10px;font-size:14px;margin-left:auto}
.lb-prog:not([hidden])+.lb-user{margin-left:0}
.lb-user .btn{height:38px;padding:0 16px;font-size:13.5px}
.lb-user .who{font-weight:600;color:var(--ink-2);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linkbtn{border:0;background:none;color:var(--gold-2);font-weight:600;text-decoration:underline;padding:0}

.lwrap{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 64px)}
.side{border-right:1px solid var(--line);background:var(--paper);padding:14px 10px 40px;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto}
.side a{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;font-size:14px;color:var(--ink-2);line-height:1.4}
.side a:hover{background:var(--cream)}
.side a.cur{background:var(--gold-soft);color:var(--ink);font-weight:600}
.side .st{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);margin-top:1px;display:grid;place-items:center}
.side .st.done{background:var(--green);border-color:var(--green)}
.side .st.done::after{content:"";width:8px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.side .st.lock{border:0;color:var(--soft)}
.side .st.lock svg{width:14px;height:14px}
.side details{border-bottom:1px solid var(--line);padding:4px 0}
.side summary{cursor:pointer;list-style:none;padding:10px;font-weight:700;font-size:14px;color:var(--ink);display:flex;gap:10px;align-items:center}
.side summary::-webkit-details-marker{display:none}
.side summary .n{flex:none;width:28px;height:28px;border-radius:8px;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center;font:600 13px var(--serif)}
.side summary small{display:block;font-weight:500;color:var(--soft);font-size:11.5px}
.side summary .c{margin-left:auto;font:600 11px var(--sans);color:var(--soft)}
.side .home{font-weight:700}
.side .final{margin-top:10px}

.lmain{padding:34px clamp(16px,4vw,56px) 80px;max-width:900px;width:100%;outline:none}
.crumb{font:700 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}
.lmain h1{font:500 clamp(30px,3.6vw,42px)/1.15 var(--serif);margin:10px 0 8px}
.meta{color:var(--muted);font-size:14px}
.muted{color:var(--muted)}
.player{display:flex;align-items:center;gap:14px;margin:22px 0 6px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.player .pi{flex:none;width:42px;height:42px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center}
.player .pi svg{width:18px;height:18px}
.player b{display:block;font-size:14px;color:var(--ink)}
.player small{color:var(--muted);font-size:12.5px}
.player audio{flex:1;min-width:0;height:40px}

.lesson-body{font-size:16.5px;line-height:1.75;color:var(--text);margin-top:26px}
.lesson-body h2{font:500 28px/1.25 var(--serif);margin:36px 0 12px}
.lesson-body h3{font-size:19px;margin:28px 0 10px}
.lesson-body p{margin:0 0 16px}
.lesson-body ul,.lesson-body ol{padding-left:24px;margin:0 0 16px}
.lesson-body li{margin:4px 0}
.lesson-body code{font:500 .88em var(--mono);background:var(--cream);padding:2px 6px;border-radius:6px;color:var(--ink-2)}
.lesson-body .hl{border-radius:14px;margin:0 0 20px;overflow:auto;background:#0d1117}
.lesson-body .hl pre{margin:0;padding:16px 18px;font:400 13.5px/1.6 var(--mono);color:#e6edf3}
.lesson-body .hl code{background:none;padding:0;color:inherit;font-size:inherit}
.lesson-body table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14.5px;display:block;overflow-x:auto}
.lesson-body th,.lesson-body td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.lesson-body th{background:var(--cream)}
.lesson-body blockquote{margin:0 0 16px;padding:10px 16px;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:0 10px 10px 0}

.box{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:22px;margin-top:28px}
.box h2,.box h3{font:500 24px var(--serif);margin:0 0 6px}
.quiz .qq{margin-top:18px}
.quiz .qq p{font-weight:600;margin:0 0 10px;color:var(--ink)}
.quiz .opt{display:block;width:100%;text-align:left;margin:6px 0;padding:11px 14px;border-radius:12px;border:1px solid var(--line-2);background:#fff;color:var(--text);font-size:15px}
.quiz .opt:hover:not(:disabled){border-color:var(--gold)}
.quiz .opt.sel{border-color:var(--gold-2);background:var(--gold-soft)}
.quiz .opt.right{border-color:#16a34a;background:#dcfce7}
.quiz .opt.wrong{border-color:#dc2626;background:#fee2e2}
.quiz .ex{font-size:14px;color:var(--muted);margin:8px 0 0;padding-left:12px;border-left:3px solid var(--line-2)}
.nextbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:30px}
.lockcard{text-align:center;padding:40px 24px}
.lockcard .ic{width:56px;height:56px;margin:0 auto 12px;border-radius:16px;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center}
.lockcard .ic svg{width:26px;height:26px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.card{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:18px}
.card b{display:block;font:500 30px var(--serif);color:var(--ink)}
.card span{font-size:13px;color:var(--muted);font-weight:600}
.exam-q{border-top:1px solid var(--line);padding-top:16px}
.timer{position:sticky;top:76px;z-index:5;float:right;background:var(--ink);color:#fff;font:600 15px var(--mono);padding:8px 14px;border-radius:999px}
.timer.low{background:#b91c1c}
.bars{display:grid;gap:8px;margin-top:14px}
.bars div{display:grid;grid-template-columns:1fr 120px 50px;gap:10px;align-items:center;font-size:14px}
.bars i{display:block;height:8px;border-radius:99px;background:var(--cream-2);overflow:hidden}
.bars i::after{content:"";display:block;height:100%;width:var(--w);background:var(--gold-2)}
.welcome{background:#dcfce7;border:1px solid #86efac;color:#14532d;border-radius:14px;padding:14px 18px;margin-bottom:20px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

@media (max-width:960px){
  .lwrap{grid-template-columns:1fr}
  .lb-menu{display:grid}
  .side{position:fixed;top:64px;left:0;bottom:0;width:min(340px,88vw);height:auto;z-index:39;transform:translateX(-105%);transition:transform .25s;box-shadow:var(--shadow-lg)}
  .side.open{transform:none}
  .lb-prog{display:none!important}
  .lbar .logo small{display:none}
}
@media (max-width:640px){
  .lbar{padding:0 12px;gap:10px}
  .lmain{padding:24px 16px 70px}
  .cards{grid-template-columns:1fr 1fr}
  .player{flex-wrap:wrap}
  .player audio{flex-basis:100%}
  .lb-user .who{display:none}
  .form .row{grid-template-columns:1fr}
  .lesson-body{font-size:16px}
}
.lb-prog[hidden]{display:none}
.side a>svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--gold-2)}
.side .home{align-items:center}
.box h3 svg{width:26px;height:26px;display:inline-block;vertical-align:-5px;margin-right:6px;color:var(--gold-2)}
.lmain{min-width:0}
.lesson-body pre,.lesson-body .hl{max-width:100%}
.lb-user .linkbtn{white-space:nowrap}
@media (max-width:480px){.hide-sm{display:none}.lb-user .btn{padding:0 14px}.lbar .logo span{display:none}}
.phone-row{display:grid;grid-template-columns:minmax(0,190px) 1fr;gap:8px;margin-top:6px}
.form select{height:46px;border:1px solid var(--line-2);border-radius:12px;padding:0 10px;font:inherit;background:#fff;color:var(--ink);min-width:0}
.phone-row input{margin-top:0!important}
@media (max-width:480px){.phone-row{grid-template-columns:130px 1fr}}
@media (max-width:640px){.bars div{grid-template-columns:1fr 70px 34px;gap:8px;font-size:13.5px}}
