@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-app: #0d1117;--bg-sidebar: #010409;--bg-panel: #161b27;--bg-panel-raised: #1c2333;--bg-hover: rgba(255, 255, 255, .04);--bg-code: #0d1117;--gold-500: #f0b429;--gold-400: #fcd34d;--gold-glow: rgba(240, 180, 41, .18);--gold-border: rgba(240, 180, 41, .25);--indigo-400: #818cf8;--indigo-glow: rgba(129, 140, 248, .12);--cyan-400: #38bdf8;--success: #4ade80;--warning: #fb923c;--txt-1: #e6edf3;--txt-2: #adbac7;--txt-3: #768390;--txt-4: #444c56;--bdr: #21262d;--bdr-subtle: #161b22;--sidebar-w: 300px;--top-nav-h: 54px;--ff-heading: "Plus Jakarta Sans", sans-serif;--ff-body: "Inter", sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, monospace;--tx: .15s ease;--r-sm: 6px;--r-md: 10px;--r-lg: 14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--ff-body);background:var(--bg-app);color:var(--txt-2);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#30363d;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#484f58}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.top-nav{height:var(--top-nav-h);flex-shrink:0;background:var(--bg-sidebar);border-bottom:1px solid var(--bdr);display:flex;align-items:center;padding:0 20px;gap:16px;z-index:100}.top-nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-heading);font-weight:800;font-size:17px;letter-spacing:-.3px;-webkit-user-select:none;user-select:none;flex-shrink:0}.brand-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--gold-500),#f97316);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:0 0 12px #f0b42959}.brand-name{color:var(--txt-1)}.brand-accent{color:var(--gold-500)}.brand-tag{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt-4);padding:2px 7px;border:1px solid var(--bdr);border-radius:4px}.top-nav-sep{width:1px;height:24px;background:var(--bdr);flex-shrink:0}.top-nav-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--txt-3);overflow:hidden;flex:1}.top-nav-breadcrumb .crumb-section{color:var(--txt-3);white-space:nowrap}.top-nav-breadcrumb .crumb-sep{color:var(--txt-4)}.top-nav-breadcrumb .crumb-title{color:var(--txt-2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.reading-time-badge{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--txt-3);padding:4px 10px;border:1px solid var(--bdr);border-radius:99px;white-space:nowrap}.btn-next{display:flex;align-items:center;gap:6px;padding:7px 16px;background:var(--gold-glow);color:var(--gold-500);border:1px solid var(--gold-border);border-radius:var(--r-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--tx);font-family:var(--ff-body);white-space:nowrap}.btn-next:hover{background:#f0b42940;color:var(--gold-400)}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-w);flex-shrink:0;height:100%;overflow-y:auto;background:var(--bg-sidebar);border-right:1px solid var(--bdr);display:flex;flex-direction:column}.sidebar-search{padding:12px 14px;border-bottom:1px solid var(--bdr-subtle);flex-shrink:0}.search-input-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--bdr);border-radius:var(--r-sm);padding:7px 12px;transition:border-color var(--tx)}.search-input-wrap:focus-within{border-color:var(--gold-border)}.search-input-wrap .search-icon{color:var(--txt-4);font-size:13px;flex-shrink:0}.search-input-wrap input{background:transparent;border:none;outline:none;color:var(--txt-2);font-size:13px;font-family:var(--ff-body);width:100%}.search-input-wrap input::placeholder{color:var(--txt-4)}.sidebar-content{flex:1;padding:8px 0 40px;overflow-y:auto}.sidebar-section{margin-bottom:4px}.sidebar-section-header{display:flex;align-items:center;gap:6px;padding:10px 16px 6px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--txt-4);-webkit-user-select:none;user-select:none}.section-icon{font-size:12px}.nav-item{display:flex;align-items:flex-start;gap:10px;padding:8px 16px;cursor:pointer;transition:background var(--tx),color var(--tx);border-radius:0;position:relative}.nav-item:hover{background:var(--bg-hover)}.nav-item:hover .nav-item-label{color:var(--txt-1)}.nav-item.active{background:var(--gold-glow)}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold-500);border-radius:0 2px 2px 0}.nav-item.active .nav-item-label{color:var(--gold-500);font-weight:600}.nav-item.active .nav-item-num{color:var(--gold-500);opacity:.6}.nav-item-num{font-family:var(--ff-mono);font-size:10px;color:var(--txt-4);min-width:20px;padding-top:2px;flex-shrink:0}.nav-item-label{font-size:13px;color:var(--txt-3);line-height:1.45}.sidebar-section-divider{height:1px;background:var(--bdr-subtle);margin:8px 16px}.main-content{flex:1;height:100%;overflow-y:auto;background:var(--bg-app);position:relative}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:20px;padding:40px;text-align:center}.welcome-icon{font-size:56px;filter:drop-shadow(0 0 24px rgba(240,180,41,.4))}.welcome-screen h2{font-family:var(--ff-heading);font-size:28px;font-weight:800;color:var(--txt-1)}.welcome-screen p{color:var(--txt-3);font-size:15px;max-width:400px}.content-area{max-width:820px;margin:0 auto;padding:52px 56px 120px}.lesson-header{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--bdr)}.lesson-category-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-500);background:var(--gold-glow);border:1px solid var(--gold-border);border-radius:99px;padding:3px 10px;margin-bottom:16px}.lesson-title{font-family:var(--ff-heading);font-size:36px;font-weight:900;line-height:1.18;color:var(--txt-1);letter-spacing:-.8px;margin-bottom:16px}.lesson-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.lesson-meta-item{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--txt-3)}.md-content{font-size:15.5px;color:var(--txt-2)}.md-content h1{font-family:var(--ff-heading);font-size:32px;font-weight:900;line-height:1.2;color:var(--txt-1);letter-spacing:-.5px;margin:0 0 24px}.md-content h2{font-family:var(--ff-heading);font-size:22px;font-weight:700;color:var(--txt-1);margin:52px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--bdr);letter-spacing:-.3px}.md-content h3{font-family:var(--ff-heading);font-size:18px;font-weight:700;color:var(--gold-500);margin:36px 0 12px}.md-content h4{font-size:15px;font-weight:600;color:var(--indigo-400);margin:24px 0 10px}.md-content h5,.md-content h6{font-size:14px;font-weight:600;color:var(--txt-3);margin:20px 0 8px;text-transform:uppercase;letter-spacing:.5px}.md-content p{line-height:1.85;margin-bottom:20px;color:var(--txt-2)}.md-content strong{color:var(--txt-1);font-weight:600}.md-content em{color:var(--gold-400);font-style:italic}.md-content a{color:var(--cyan-400);text-decoration:none}.md-content a:hover{text-decoration:underline}.md-content ul,.md-content ol{padding-left:24px;margin-bottom:20px}.md-content li{margin-bottom:8px;line-height:1.75;color:var(--txt-2)}.md-content li::marker{color:var(--gold-500)}.md-content ul li::marker{content:"→  ";font-size:12px}.md-content li>ul,.md-content li>ol{margin-top:8px;margin-bottom:4px}.md-content table{width:100%;border-collapse:separate;border-spacing:0;margin:32px 0;font-size:13.5px;border:1px solid var(--bdr);border-radius:var(--r-md);overflow:hidden}.md-content thead tr{background:var(--bg-panel)}.md-content th{padding:12px 16px;text-align:left;font-family:var(--ff-heading);font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold-500);border-bottom:1px solid var(--bdr)}.md-content td{padding:12px 16px;border-bottom:1px solid var(--bdr-subtle);color:var(--txt-2);vertical-align:top;line-height:1.55;background:var(--bg-panel-raised)}.md-content tbody tr:last-child td{border-bottom:none}.md-content tbody tr:nth-child(odd) td{background:#161b2766}.md-content tbody tr:hover td{background:var(--gold-glow);color:var(--txt-1);transition:background var(--tx),color var(--tx)}.md-content p code,.md-content li code,.md-content td code,.md-content h2 code,.md-content h3 code,.md-content h4 code{font-family:var(--ff-mono);font-size:.84em;background:var(--indigo-glow);color:var(--indigo-400);padding:2px 7px;border-radius:4px;border:1px solid rgba(129,140,248,.18)}.md-content blockquote{margin:28px 0;padding:16px 20px;background:#818cf812;border-left:3px solid var(--indigo-400);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--txt-3)}.md-content blockquote strong{color:var(--indigo-400)}.md-content blockquote p{color:var(--txt-3);margin-bottom:0;font-style:italic}.md-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--bdr) 20%,var(--bdr) 80%,transparent);margin:48px 0}.code-block-wrapper{margin:28px 0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--bdr);background:var(--bg-code)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--bdr)}.code-lang-tag{font-family:var(--ff-mono);font-size:11px;color:var(--gold-500);text-transform:uppercase;letter-spacing:.5px}.code-dots{display:flex;gap:5px}.code-dots span{width:10px;height:10px;border-radius:50%}.code-dots span:nth-child(1){background:#ff5f57}.code-dots span:nth-child(2){background:#febc2e}.code-dots span:nth-child(3){background:#28c840}.mermaid-wrapper{margin:36px 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--bdr);background:var(--bg-panel);box-shadow:0 4px 32px #00000080}.mermaid-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-panel-raised);border-bottom:1px solid var(--bdr);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-500)}.mermaid-container{padding:32px 24px;display:flex;justify-content:center;align-items:center;overflow-x:auto;min-height:120px}.mermaid-container svg{max-width:100%;height:auto}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.content-area{animation:fadeSlideIn .22s ease forwards}.mermaid-container svg text,.mermaid-container svg tspan{fill:#e6edf3!important}.mermaid-container svg .node text,.mermaid-container svg .nodeLabel{fill:#fff!important}.mermaid-container svg .edgeLabel text,.mermaid-container svg .edgeLabel tspan{fill:#e6edf3!important}.mermaid-container svg .edgeLabel rect{fill:#0f1724!important}.mermaid-container svg .er.entityBox{fill:#1c2746!important;stroke:#f0b429!important}.mermaid-container svg .er.attributeBoxEven{fill:#142035!important}.mermaid-container svg .er.attributeBoxOdd{fill:#1c2746!important}.mermaid-container svg .actor{fill:#1c2746!important;stroke:#f0b429!important}.mermaid-container svg .actor text,.mermaid-container svg .messageText,.mermaid-container svg .noteText{fill:#e6edf3!important}.mermaid-container svg .cluster-label text,.mermaid-container svg .cluster text{fill:#f0b429!important}.mermaid-container svg .titleText{fill:#f0b429!important}.mermaid-container svg .pieTitleText,.mermaid-container svg .slice text{fill:#fff!important}
