﻿:root{--bg: #0a0a0b;--bg-lighter: #141416;--text: #f4f4f5;--text-muted: #b4b4be;--accent: #00ff88;--accent-dim: #7dffa8;--border: #2e2e33;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--max-width: 1120px;--radius: 6px;--bg-primary: var(--bg);--bg-secondary: #1c1c1f;--bg-tertiary: var(--bg-lighter);--text-primary: var(--text);--text-secondary: #c6c6cf;--space-1: 0.25rem;--space-2: 0.5rem;--space-4: 1rem;--space-6: 1.5rem;--text-xs: 0.75rem;--text-sm: 0.875rem;--success: #00ff88;--error: #ff8b8b;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4{line-height:1.25;font-weight:650}a{color:var(--accent);text-underline-offset:.15em}a:hover{color:var(--accent-dim)}p{margin:0 0 1rem}code,pre,kbd{font-family:var(--font-mono)}img{max-width:100%;height:auto}.skip-link{position:absolute;left:.75rem;top:-3rem;background:var(--accent);color:var(--bg);padding:.4rem .7rem;z-index:200;text-decoration:none}.skip-link:focus{top:.75rem}.not-found{padding:4rem 0 6rem;max-width:40rem}.not-found h1{margin-top:0}@media(prefers-reduced-motion: reduce){*{transition:none !important}}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-tertiary);padding:.2em .4em;border-radius:4px}pre{position:relative;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto;margin:var(--space-6) 0;box-sizing:border-box;max-width:100%}pre code{background:none;padding:0;font-size:var(--text-sm);line-height:1.7}.copy-btn{position:absolute;top:var(--space-2);right:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-family:var(--font-sans);color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s}.copy-btn:hover{color:var(--text-primary);background:var(--bg-primary)}pre:hover .copy-btn,pre:focus-within .copy-btn{opacity:1}@media(hover: none){.copy-btn{opacity:1}}.install-block{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-6) 0}.install-block code{background:none;padding:0;font-size:var(--text-sm);line-height:1.7}.terminal{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:var(--space-6) 0}.terminal-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.terminal-dot{width:12px;height:12px;border-radius:50%}.terminal-dot.red{background:#ff5f56}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#27c93f}.terminal-body{padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7}.terminal-body .prompt{color:var(--success)}.terminal-body .command{color:var(--text-primary)}.terminal-body .output{color:var(--text-secondary)}.ascii-box{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);white-space:pre}@media(max-width: 640px){.ascii-box{font-size:var(--text-xs);overflow-x:auto}}.highlight .c,.highlight .c1,.highlight .cm{color:#6a737d}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#ff7b72}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#a5d6ff}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .no,.highlight .nt,.highlight .nv{color:#79c0ff}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#79c0ff}.highlight .o,.highlight .ow{color:#ff7b72}.highlight .p{color:var(--text-primary)}.highlight .err{color:var(--error)}.container{width:min(100% - 2rem,var(--max-width));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(10,10,11,.92);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem}.site-logo{color:var(--text);font-weight:700;letter-spacing:-0.02em;text-decoration:none;font-size:1.05rem}.site-logo:hover{text-decoration:none;color:var(--text)}.logo-mark{color:var(--accent)}.site-nav{display:flex;gap:1.25rem}.site-nav a{color:var(--text-muted);text-decoration:none;font-size:.95rem}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.menu-toggle{display:none;background:rgba(0,0,0,0);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .7rem;font:inherit;cursor:pointer}.site-footer{border-top:1px solid var(--border);margin-top:3rem;padding:2rem 0 2.5rem;color:var(--text-muted);font-size:.9rem}.site-footer a{color:var(--text-muted)}.site-footer p{margin:0 0 .4rem}@media(max-width: 768px){.menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:.25rem 1rem .75rem}.site-nav.open{display:flex}.site-nav a{padding:.55rem 0;border-bottom:1px solid var(--border)}.site-nav a:last-child{border-bottom:0}.site-header{position:sticky}.header-inner{position:relative}}.learn-hero{padding:2.5rem 0 1rem;text-align:center}.learn-hero h1{font-size:clamp(2rem,4vw,3rem);margin:.25rem 0 0;letter-spacing:-0.03em;color:var(--text)}.learn-kicker{margin:0;color:var(--accent);font-size:.85rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}button.learn-check{background:none;border:0;padding:0;color:inherit;font:inherit;line-height:1;cursor:pointer}.learn-subtitle{font-size:1.1rem;color:var(--text-muted);margin:1.5rem 0;max-width:60ch;margin-left:auto;margin-right:auto}.learn-search-container{max-width:500px;margin:0 auto 2rem}.learn-search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg-lighter);border:1px solid var(--border);padding:.5rem 1rem}.learn-search-box:focus-within{border-color:var(--accent)}.learn-search-icon{color:var(--text-muted)}#learn-search{flex:1;width:100%;background:rgba(0,0,0,0);border:none;color:var(--text);font-family:inherit;font-size:1rem;outline:none}#learn-search::placeholder{color:var(--text-muted)}.learn-search-results{background:var(--bg-lighter);border:1px solid var(--border);border-top:none;max-height:300px;overflow-y:auto;display:none}.learn-search-results.active{display:block}.learn-search-results .search-result{display:block;padding:.75rem 1rem;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}.learn-search-results .search-result:last-child{border-bottom:none}.learn-search-results .search-result:hover{background:var(--border)}.learn-search-results .search-result .search-result-title{color:var(--accent);font-weight:bold;margin-bottom:.25rem}.learn-search-results .search-result .search-result-desc{font-size:.85rem;color:var(--text-muted)}.learn-search-results .search-result mark{background:rgba(0,255,136,.2);color:var(--accent)}.learn-search-results .search-no-results{padding:1rem;color:var(--text-muted);text-align:center}.learn-progress-overview{display:flex;align-items:center;gap:1rem;max-width:500px;margin:0 auto 2rem;padding:.75rem 1rem;background:var(--bg-lighter);border:1px solid var(--border)}.learn-progress-label{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.learn-progress-bar{flex:1;height:8px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.learn-progress-bar-small{height:4px}.learn-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.learn-progress-text{color:var(--accent);font-size:.85rem;font-weight:bold;white-space:nowrap}.learn-toc{max-width:800px;margin:0 auto;padding-bottom:3rem}.learn-toc>p{margin-bottom:2.5rem}.learn-part{margin-bottom:2.5rem;padding:1.5rem;background:var(--bg-lighter);border:1px solid var(--border)}.learn-part-title{font-size:1.2rem;font-weight:bold;margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.learn-part-title a{color:var(--text);text-decoration:none}.learn-part-title a:hover{color:var(--accent)}.learn-part-num{color:var(--accent);font-size:.9rem;text-transform:uppercase}.learn-part-desc{color:var(--text-muted);font-size:.9rem;margin:0 0 1rem;font-style:italic}.learn-part-progress{margin-bottom:1rem}.learn-chapters{display:flex;flex-direction:column;gap:1rem}.learn-chapter{padding:1rem;border:1px solid var(--border);background:var(--bg)}.learn-chapter-title{font-size:1rem;font-weight:bold;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.learn-chapter-title a{color:var(--text);text-decoration:none}.learn-chapter-title a:hover{color:var(--accent)}.learn-chapter-num{color:var(--accent);font-size:.85rem}.learn-chapter-desc{color:var(--text-muted);font-size:.85rem;margin:0 0 .75rem}.learn-reading-time{color:var(--text-muted);font-size:.75rem;font-weight:normal}.learn-sections{list-style:none;padding:0;margin:0}.learn-section-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.learn-section-item:last-child{border-bottom:none}.learn-section-item a{flex:1;color:var(--text-muted);text-decoration:none}.learn-section-item a:hover{color:var(--accent)}.learn-check{color:var(--text-muted);font-size:.9rem;cursor:pointer}.learn-check.completed{color:var(--accent)}.learn-layout{display:grid;grid-template-columns:minmax(16rem, 18.5rem) minmax(0, 1fr);gap:2.5rem;padding:2rem 0}.learn-sidebar{position:sticky;top:80px;height:fit-content}.learn-nav{border-right:1px solid var(--border);padding-right:1rem}.learn-nav-header{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem;white-space:nowrap}.learn-menu-toggle{display:none;width:100%;background:var(--bg-lighter);border:1px solid var(--border);color:var(--text);padding:.5rem 1rem;font-family:inherit;font-size:.9rem;cursor:pointer;text-align:left;margin-bottom:.5rem}.learn-menu-toggle:hover{border-color:var(--accent);color:var(--accent)}.learn-nav-links{display:block}.learn-nav-home{display:block;color:var(--text-muted);padding:.4rem 0;text-decoration:none;font-size:.85rem;margin-bottom:.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.learn-nav-home:hover,.learn-nav-home.active{color:var(--accent)}.learn-nav-part{margin-bottom:.5rem}.learn-nav-part-toggle{display:flex;align-items:center;gap:.25rem;width:100%;background:none;border:none;color:var(--text);padding:.4rem 0;font-family:inherit;font-size:.85rem;cursor:pointer;text-align:left}.learn-nav-part-toggle:hover{color:var(--accent)}.learn-nav-part-arrow{color:var(--accent);width:1ch}.learn-nav-part-title{flex:1;text-align:left}.learn-nav-part-content{padding-left:1rem;margin-top:.25rem}.learn-nav-chapter{margin-bottom:.25rem}.learn-nav-chapter-link{display:block;color:var(--text-muted);padding:.3rem 0;font-size:.85rem;text-decoration:none}.learn-nav-chapter-link:hover,.learn-nav-chapter-link.active{color:var(--accent)}.learn-nav-sections{list-style:none;padding:0;margin:0 0 .5rem;padding-left:1rem}.learn-nav-sections li{margin:0}.learn-nav-sections a{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);padding:.25rem 0;font-size:.85rem;text-decoration:none}.learn-nav-sections a:hover,.learn-nav-sections a.active{color:var(--accent)}.learn-nav-check{font-size:.85rem}.learn-nav-check.completed{color:var(--accent)}.learn-content{min-width:0;max-width:68ch}.learn-breadcrumbs{margin-bottom:1.5rem}.learn-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;padding:0;margin:0;font-size:.85rem;color:var(--text-muted)}.learn-breadcrumbs li{display:flex;align-items:center}.learn-breadcrumbs li::after{content:"→";margin-left:.5rem;color:var(--text-muted)}.learn-breadcrumbs li:last-child::after{display:none}.learn-breadcrumbs li[aria-current=page]{color:var(--text)}.learn-breadcrumbs a{color:var(--text-muted);text-decoration:none}.learn-breadcrumbs a:hover{color:var(--accent)}.learn-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.learn-section-meta,.learn-chapter-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.learn-section-badge,.learn-chapter-badge{display:inline-block;padding:.2rem .6rem;background:var(--accent);color:var(--bg);font-size:.75rem;font-weight:bold;text-transform:uppercase}.learn-header h1{font-size:1.5rem;margin:0 0 .5rem;color:var(--text)}.learn-description{color:var(--text-muted);font-size:1rem;margin:0;font-style:italic}.learn-body{line-height:1.7}.learn-body h2{font-size:1.2rem;margin:2rem 0 1rem;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:.5rem}.learn-body h3{font-size:1rem;margin:1.5rem 0 .75rem;color:var(--text)}.learn-body p{margin:0 0 1rem}.learn-body ul,.learn-body ol{margin:0 0 1rem;padding-left:1.5rem}.learn-body li{margin-bottom:.5rem}.learn-body pre{background:var(--bg-lighter);border:1px solid var(--border);padding:1rem;margin:0 0 1rem;overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5}.learn-body code{background:var(--bg-lighter);padding:.15rem .3rem;font-size:.9em}.learn-body pre code{background:none;padding:0}.learn-body blockquote{border-left:3px solid var(--accent);margin:0 0 1rem;padding:.5rem 1rem;background:var(--bg-lighter);color:var(--text-muted);font-style:italic}.learn-body table{width:100%;border-collapse:collapse;margin:0 0 1rem}.learn-body table th,.learn-body table td{padding:.5rem;border:1px solid var(--border);text-align:left}.learn-body table th{background:var(--bg-lighter);font-weight:bold}.learn-body img{max-width:100%;height:auto}.learn-body a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.learn-body a:hover{color:var(--accent-dim)}.table-scroll{overflow-x:auto;margin:0 0 1rem;-webkit-overflow-scrolling:touch}.table-scroll table{margin:0}.learn-section-complete{margin:2rem 0;padding:1rem;background:var(--bg-lighter);border:1px solid var(--border);text-align:center}.learn-mark-complete{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .15s}.learn-mark-complete:hover{border-color:var(--accent);color:var(--accent)}.learn-mark-complete.completed{background:var(--accent);border-color:var(--accent);color:var(--bg)}.learn-chapter-sections{margin:2rem 0}.learn-chapter-sections h2{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.learn-sections-list{list-style:none;padding:0;margin:0}.learn-section-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--border);margin-bottom:.5rem;background:var(--bg-lighter)}.learn-section-card:hover{border-color:var(--accent)}.learn-section-info{flex:1}.learn-section-title{display:block;color:var(--text);font-weight:bold;margin-bottom:.25rem;text-decoration:none}.learn-section-title:hover{color:var(--accent)}.learn-section-desc{color:var(--text-muted);font-size:.85rem;margin:0}.learn-prev-next{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.learn-nav-prev a,.learn-nav-next a{display:block;padding:1rem;background:var(--bg-lighter);border:1px solid var(--border);text-decoration:none}.learn-nav-prev a:hover,.learn-nav-next a:hover{border-color:var(--accent)}.learn-nav-prev{text-align:left}.learn-nav-next{text-align:right}.learn-nav-direction{display:block;color:var(--text-muted);font-size:.8rem;margin-bottom:.25rem}.learn-nav-title{display:block;color:var(--accent);font-size:.9rem}.learn-nav-toc{display:flex;align-items:center}.learn-nav-toc a{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:var(--bg-lighter);border:1px solid var(--border);text-decoration:none;color:var(--text-muted)}.learn-nav-toc a:hover{border-color:var(--accent);color:var(--accent)}.learn-nav-icon{font-size:1.2rem}.learn-nav-label{font-size:.75rem}@media(max-width: 768px){.learn-layout{grid-template-columns:1fr}.learn-sidebar{position:static;max-height:none}.learn-nav{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:.5rem;margin-bottom:1rem}.learn-menu-toggle{display:block}.learn-nav-links{display:none;padding-top:.5rem}.learn-nav-links.open{display:block}.learn-nav-header{display:none}.learn-prev-next{grid-template-columns:1fr 1fr}.learn-nav-toc{display:none}}@media(max-width: 480px){.learn-prev-next{grid-template-columns:1fr;gap:.5rem}.learn-nav-prev,.learn-nav-next{text-align:center}.learn-part{padding:1rem}.learn-chapter{padding:.75rem}.learn-section-meta,.learn-chapter-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}@media print{.learn-sidebar,.learn-search-container,.learn-progress-overview,.learn-section-complete,.learn-prev-next,.learn-menu-toggle,.learn-nav-header{display:none !important}.learn-layout{display:block}.learn-content{max-width:100%}.learn-body a[href]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}.learn-body a[href^="#"]::after,.learn-body a[href^="/"]::after{content:""}.learn-header{border-bottom:2px solid #000}.learn-breadcrumbs{color:#666}.learn-breadcrumbs a{color:#000}pre,code{border:1px solid #ccc;background:#f5f5f5 !important}}/*# sourceMappingURL=main.css.map */