:root{--bg:#f5f5f7;--panel:#fff;--panel-2:#fafafa;--text:#1d1d1f;--muted:#1d1d1f99;--muted-2:#1d1d1f66;--border:#1d1d1f1a;--border-2:#1d1d1f0f;--shadow:0 4px 20px #00000014,0 1px 3px #0000000d;--blue:#007aff;--blue-2:#0051d5;--green:#34c759;--green-2:#30d158;--purple:#5856d6;--orange:#ff9500;--red:#ff3b30;--focus:#007aff33;--warn-bg:#ff95001a;--warn-border:#ff95004d;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--max:1200px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif}[data-theme=dark]{--bg:#000;--panel:#1c1c1e;--panel-2:#2c2c2e;--text:#fff;--muted:#ffffffb3;--muted-2:#ffffff80;--border:#f5f5f726;--border-2:#f5f5f714;--shadow:0 8px 32px #00000080,0 2px 8px #0000004d;--blue:#0a84ff;--blue-2:#409cff;--green:#32d74b;--green-2:#30d158;--purple:#5e5ce6;--orange:#ff9f0a;--red:#ff453a;--focus:#0a84ff40;--warn-bg:#ff9f0a26;--warn-border:#ff9f0a4d}*{color:inherit}[data-theme=dark] *{color:var(--text)!important}:root *{color:var(--text)}[data-theme=dark] .btn,[data-theme=dark] button,[data-theme=dark] .pill,[data-theme=dark] .navLink,[data-theme=dark] a,[data-theme=dark] .cardTitle,[data-theme=dark] .h1,[data-theme=dark] .topicSectionTitle,[data-theme=dark] .courseCardTitle,[data-theme=dark] .progressRowTitle{color:var(--text)!important}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--text)!important;background:var(--panel)!important}:root input,:root select,:root textarea{color:var(--text);background:var(--panel)}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}.container{max-width:var(--max);padding:var(--space-4);margin:0 auto}.shell{gap:var(--space-4);grid-template-columns:240px 1fr;align-items:start;display:grid}@media (max-width:980px){.shell{grid-template-columns:1fr}}@media (max-width:768px){.courseCard{min-height:320px;padding:32px 24px}.shell{grid-template-columns:1fr}.topbarInner{flex-direction:column;gap:12px}.topNav{flex-wrap:wrap;gap:8px}.pill{padding:8px 12px;font-size:13px}button,.btn,.navLink{min-width:44px;min-height:44px}.topicHero{margin:-20px -20px 20px}}@media (max-width:1000px){main>div>div[style*=gridTemplateColumns]{grid-template-columns:1fr 1fr!important;gap:24px!important}}@media (max-width:640px){main>div>div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)}.cardInner{padding:var(--space-4)}.cardTitle{letter-spacing:.2px;font-size:14px;font-weight:850}.h1{letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.2}.subtle{color:var(--muted);font-size:14px;line-height:1.5}.row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.stack{gap:var(--space-3);display:grid}.stackSm{gap:var(--space-2);display:grid}.divider{background:var(--border-2);width:100%;height:1px}.btn{appearance:none;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:-.2px;-webkit-backdrop-filter:blur(10px);background:#0000000d;border:none;padding:12px 20px;font-size:15px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:hover{background:#00000014;transform:translateY(-1px)}[data-theme=dark] .btn{background:#ffffff1a}[data-theme=dark] .btn:hover{background:#ffffff26}.btn:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btnPrimary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:600;box-shadow:0 4px 14px #007aff40}.btnPrimary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #007aff59}.btnPrimary:active{transform:translateY(0)scale(.98)}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);outline:none;padding:10px 12px}.input:focus,.select:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--focus);outline:none}.label{color:var(--muted);font-size:11px;font-weight:850}.kbd{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:12px;font-weight:850;display:inline-flex}.badge{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.nav{gap:var(--space-2);display:grid}.navLink{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);padding:10px 12px;font-weight:950;transition:background .12s,border-color .12s,transform .12s;display:flex}.navLink:hover{background:var(--panel-2);border-color:#2563eb4d;transform:translateY(-1px)}.navLinkActive{background:var(--panel-2);border-color:#2563eb59}.topbar{z-index:10;background:color-mix(in srgb,var(--bg)75%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-2);position:sticky;top:0}.topbarInner{max-width:var(--max);padding:12px var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 auto;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:10px;font-weight:950;display:flex}.brandDot{background:linear-gradient(135deg,var(--blue),var(--green));border-radius:999px;width:10px;height:10px}.topLinks{flex-wrap:wrap;gap:10px;display:flex}.pill{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:950;transition:background .12s,transform .12s,border-color .12s}.pill:hover{background:var(--panel-2);border-color:#2563eb40;transform:translateY(-1px)}.pillActive{border-color:#2563eb59;box-shadow:0 6px 18px #2563eb1f}.warnCard{border:1px solid var(--warn-border);background:var(--warn-bg)}.courseCard{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);cursor:pointer;padding:48px;transition:all .4s cubic-bezier(.4,0,.2,1);display:block;position:relative}.courseCard:hover{border-color:#007aff66;transform:translateY(-8px)scale(1.02);box-shadow:0 20px 60px #007aff26,0 8px 16px #0000001a}[data-theme=dark] .courseCard:hover{box-shadow:0 20px 60px #007aff40,0 8px 16px #0000004d}.courseCardTop{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.courseCardTitle{letter-spacing:-.5px;color:var(--text);font-size:24px;font-weight:700}.courseCardBadge{color:var(--blue);background:#007aff1a;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.courseCardSubtitle{color:var(--muted);margin-bottom:20px;font-size:15px;line-height:1.6}.courseCardFooter{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.courseCardCta{color:var(--blue);font-size:15px;font-weight:600}.courseCardArrow{color:var(--blue);font-size:18px;transition:transform .2s}.courseCard:hover .courseCardArrow{transform:translate(4px)}.progressRow{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.progressRow:hover{background:#007aff05;border-color:#007aff4d;transform:translate(4px)}.progressRowLeft{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.progressRowTitle{color:var(--text);margin-bottom:0;font-size:16px;font-weight:600;line-height:1.4}.progressRowDesc{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.5}.progressRowAction{flex-shrink:0;margin-left:16px}.topicTopRow{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.topicTopLeft{flex:1}.topicTopActions{gap:12px;display:flex}.topicHero{border-radius:var(--radius-md);margin:24px 0;overflow:hidden}.topicTwoCol{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.topicSection{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.topicSectionHeader{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.topicSectionTitle{letter-spacing:-.3px;font-size:18px;font-weight:700}.topicSectionRight{gap:8px;display:flex}.topicSectionBody{color:var(--text);font-size:15px;line-height:1.6}.topicSummaryText{color:var(--text);font-size:15px;line-height:1.7}.topicChecklist{gap:12px;display:grid}.topicCheckItem{align-items:flex-start;gap:12px;display:flex}.topicCheckBox{border:2px solid var(--border);border-radius:6px;flex-shrink:0;width:20px;height:20px;margin-top:2px}.topicCheckText{flex:1}.topicCheckHead{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.topicCheckTail{color:var(--muted);font-size:14px;line-height:1.5}.mustKnowChecklist{--mustknow-accent:var(--blue)}.mustKnowProgress{align-items:center;gap:12px;margin-bottom:16px;display:flex}.mustKnowProgressText{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}.mustKnowProgressBar{background:var(--border-2);border-radius:3px;flex:1;max-width:140px;height:5px;overflow:hidden}.mustKnowProgressFill{background:var(--mustknow-accent);border-radius:3px;height:100%;transition:width .25s}.mustKnowList{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mustKnowItem{margin:0}.mustKnowLabel{cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.mustKnowLabel:hover{background:var(--border-2)}.mustKnowItem.isChecked .mustKnowLabel:hover{background:#007aff0f}.mustKnowCheckbox{cursor:pointer;width:18px;height:18px;accent-color:var(--mustknow-accent);flex-shrink:0;margin-top:2px}.mustKnowContent{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mustKnowHead{color:var(--text);font-size:14px;font-weight:600;line-height:1.4}.mustKnowItem.isChecked .mustKnowHead{color:var(--muted);font-weight:500;text-decoration:line-through}.mustKnowTail{color:var(--muted);font-size:13px;line-height:1.5}.mustKnowVideoLink{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;font-size:12px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.mustKnowVideoLink:hover{border-color:var(--mustknow-accent);background:#007aff0d}.mustKnowVideoThumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:56px;height:32px}.mustKnowVideoLink span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.mustKnowVideoArrow{color:var(--mustknow-accent);font-weight:600}.mustKnowVideoRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.mustKnowReportBtn{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 6px;font-size:11px;text-decoration:underline}.mustKnowReportBtn:hover{color:var(--red)}.topicMistakes{flex-direction:column;gap:6px;display:flex}.topicMistakeItem{color:var(--text);padding-left:16px;font-size:14px;line-height:1.5;position:relative}.topicMistakeItem:before{content:"•";color:var(--muted);font-weight:600;position:absolute;left:0}.topicTips{gap:12px;display:grid}.topicTipItem{border-radius:var(--radius-sm);color:var(--text);background:#007aff0f;border:1px solid #007aff33;padding:12px 16px;font-size:14px;line-height:1.6}.topicToolRow{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.topicPracticeRow{justify-content:space-between;align-items:center;gap:16px;display:flex}.topicPracticeText{color:var(--muted);flex:1;font-size:15px}.topicExtBtn{padding:8px 14px;font-size:13px}.progressCheck{border:2px solid var(--border);background:var(--panel);cursor:pointer;width:24px;height:24px;color:var(--text);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.progressCheck:hover{border-color:var(--blue);background:#007aff0d}.progressCheckOn{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;border-color:#0000}.progressCheckOn:hover{background:linear-gradient(135deg,var(--blue-2),var(--purple))}@media (max-width:768px){.h1{font-size:24px}.courseCardTitle{font-size:28px!important}.courseCardSubtitle{font-size:15px!important}.topicTopRow{flex-direction:column;gap:16px}.topicTopActions{justify-content:flex-start;width:100%}.topicTwoCol{grid-template-columns:1fr!important}.progressRow{flex-direction:column;align-items:flex-start;gap:12px}.progressRowAction{width:100%;margin-left:0}.progressRowAction .btn{width:100%}main{padding:24px 0!important}main>div{padding:0 16px!important}.cardInner{padding:var(--space-3)!important}}@media (max-width:480px){.h1{font-size:20px}.courseCard{min-height:300px!important;padding:24px 16px!important}.courseCardTitle{font-size:24px!important}.btn{padding:10px 16px;font-size:14px}.topicToolRow{flex-direction:column}.topicToolRow .btn{width:100%}}
