*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:system-ui,-apple-system,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:16px;line-height:1.6;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;width:100%}header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}header .container{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}header .site-title{font-size:1.1rem;font-weight:700;color:var(--accent);text-decoration:none;margin-right:auto;display:flex;align-items:center;gap:6px}header .site-title svg{flex-shrink:0}header nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}header nav a{color:var(--text-muted);text-decoration:none;font-size:.87rem;font-weight:500;transition:color .15s;padding:.25rem 0}header nav a:hover,header nav a.active{color:var(--accent)}main{flex:1;padding:2rem 0}footer{background:var(--surface);border-top:1px solid var(--border);padding:1.5rem 0;text-align:center;color:var(--text-muted);font-size:.85rem;padding-bottom:calc(1.5rem + 60px)}footer a{color:var(--accent)}#theme-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.85rem;padding:.35rem .75rem;transition:background .15s,border-color .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}#theme-toggle:hover{background:var(--border)}.github-link{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.35rem;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.github-link:hover{background:var(--border);color:var(--accent)}.lang-dropdown{position:relative;display:inline-flex;align-items:center}.lang-trigger{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.82rem;padding:.35rem .65rem;transition:background .15s,border-color .15s;white-space:nowrap}.lang-trigger:hover{background:var(--border)}.lang-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang-trigger .lang-chevron{transition:transform .2s}.lang-trigger[aria-expanded=true] .lang-chevron{transform:rotate(180deg)}.lang-menu{display:none;position:absolute;top:100%;right:0;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.12);padding:4px 0;z-index:200;list-style:none;margin:0}.lang-trigger:focus~.lang-menu,.lang-trigger[aria-expanded=true]~.lang-menu,.lang-dropdown:hover .lang-menu,.lang-menu:focus-within{display:block}.lang-option{display:block;padding:6px 14px;font-size:.85rem;color:var(--text);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.lang-option:hover{background:var(--accent);color:#fff}.hero{padding:2rem 0 1rem}.hero h1{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.25rem}.hero p{color:var(--text-muted);font-size:1rem;max-width:640px}.hero .tagline{font-size:1.1rem;font-weight:600;color:var(--accent);margin-bottom:.75rem}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:2rem;font-size:.9rem}.demo-section{margin-bottom:2.5rem}.demo-section h2{font-size:1.35rem;font-weight:700;margin-bottom:.25rem}.demo-section .desc{color:var(--text-muted);font-size:.92rem;margin-bottom:.75rem}.demo-player{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.badge{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;font-size:.7rem;font-weight:600;padding:.15rem .6rem;text-transform:uppercase;letter-spacing:.03em;margin-right:.4rem;vertical-align:middle}.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.program-card{display:flex;flex-direction:column;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s}.program-card:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(79,70,229,.1)}.program-card-icon{width:40px;height:40px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:.25rem}.program-card h3{font-size:1rem;font-weight:700}.program-card p{font-size:.85rem;color:var(--text-muted);line-height:1.4}.program-card-episodes,.program-card-meta{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-top:auto}.episode-card{gap:.35rem}.episode-card-badge{width:fit-content}.episode-card h3{font-size:.95rem;line-height:1.3}.episode-card-meta{font-size:.8rem}.episode-card-tags{margin-top:auto;display:flex;gap:4px;flex-wrap:wrap}.episode-card-tag{background:var(--pp-surface);color:var(--pp-text-muted);text-transform:none;font-size:.65rem}.episode-entry{padding:1.25rem 0;border-bottom:1px solid var(--border)}.episode-entry:last-child{border-bottom:none}.episode-entry h3{font-size:1.1rem;font-weight:700;margin-bottom:.2rem}.episode-entry h3 a{color:var(--text);text-decoration:none}.episode-entry h3 a:hover{color:var(--accent)}.episode-meta{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.episode-list{display:flex;flex-direction:column;gap:.5rem}.episode-list-item{padding:.6rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.episode-list-item:last-child{border-bottom:none}.episode-list-item a{color:var(--accent);text-decoration:none;font-weight:500}.episode-list-item a:hover{text-decoration:underline}.link-list{list-style:none;padding:0;margin:1rem 0}.link-list li{margin-bottom:.5rem}.nav-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem;align-items:center}.nav-button{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-weight:500;padding:.5rem 1.1rem;text-decoration:none;transition:all .15s;cursor:pointer}.nav-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.nav-button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.nav-button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}main h2{font-size:1.35rem;font-weight:700;margin:1.5rem 0 .5rem}main h3{font-size:1.1rem;font-weight:600;margin:1rem 0 .25rem}main p{margin-bottom:.75rem}main ul,main ol{margin:.5rem 0 .75rem;padding-left:1.25rem}main li{margin-bottom:.25rem}main table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0}main th{font-weight:700;text-align:left;padding:.4rem .6rem;border-bottom:2px solid var(--border)}main td{padding:.35rem .6rem;border-bottom:1px solid var(--border)}td a{color:var(--accent);text-decoration:none;font-weight:500}td a:hover{text-decoration:underline}.schedule-table{font-size:.9rem}.schedule-table th,.schedule-table td{padding:.5rem .75rem}.highlight,main pre{margin:1.25rem 0;border-radius:var(--radius)}.highlight pre{margin:0;border-radius:var(--radius);overflow-x:auto}main pre:not(.highlight pre){padding:.9rem 1.1rem;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,cascadia code,fira code,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.6;background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);border-radius:var(--radius)}:root,[data-theme=light]{--code-bg:#f1f5f9;--code-text:#334155;--code-border:#e2e8f0}[data-theme=dark]{--code-bg:#1e293b;--code-text:#cbd5e1;--code-border:#334155}.highlight pre::-webkit-scrollbar,main pre::-webkit-scrollbar{height:6px}.highlight pre::-webkit-scrollbar-thumb,main pre::-webkit-scrollbar-thumb{background:rgba(128,128,128,.4);border-radius:3px}.highlight,pre{position:relative}.highlight .code-copy-btn,pre>.code-copy-btn{visibility:hidden;position:absolute;top:6px;right:6px;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;background:rgba(0,0,0,.35);color:rgba(255,255,255,.9);border:none;border-radius:var(--radius);opacity:0;transition:opacity .15s,visibility .15s,background .15s}.highlight:hover .code-copy-btn,.highlight .code-copy-btn:focus-visible,pre:hover>.code-copy-btn,pre>.code-copy-btn:focus-visible{visibility:visible;opacity:1}.highlight .code-copy-btn:hover,pre>.code-copy-btn:hover{background:rgba(0,0,0,.6)}.highlight .code-copy-btn:active,pre>.code-copy-btn:active{background:var(--accent)}.highlight .code-copy-btn.copied,pre>.code-copy-btn.copied{background:var(--accent);color:#fff}.highlight .code-copy-btn.copied svg,pre>.code-copy-btn.copied svg{display:none}.highlight .code-copy-btn.copied::after,pre>.code-copy-btn.copied::after{content:"Copied!";font-size:.65rem;font-weight:600;white-space:nowrap}main a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 25%,transparent);text-underline-offset:2px;transition:text-decoration-color .15s}main a:hover{text-decoration-color:var(--accent)}.nav-button,.nav-button-primary,.program-card,.program-card:hover{text-decoration:none}.episode-entry h3 a,.episode-entry h3 a:hover{text-decoration:none}.badge{text-decoration:none!important}.footer-nav{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:.75rem}.footer-nav a{color:var(--text-muted);text-decoration:none;font-size:.85rem;transition:color .15s}.footer-nav a:hover{color:var(--accent)}.episode-nav{gap:.6rem}.episode-nav .nav-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.episode-nav-back{font-size:.85rem;border-style:dashed}@media(max-width:640px){.episode-nav{flex-direction:column;align-items:stretch}.episode-nav .nav-button{justify-content:flex-start}}@media(max-width:640px){.hero h1{font-size:1.5rem}header .container{gap:.5rem}header nav{order:4;width:100%;justify-content:flex-start;padding-top:.35rem;border-top:1px solid var(--border)}.github-link{order:2}.lang-dropdown{order:3}#theme-toggle{order:4}.program-grid{grid-template-columns:1fr}}.docs-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.docs-nav__prev,.docs-nav__next{max-width:48%}.docs-nav__next{margin-left:auto;text-align:right}.docs-nav__link{display:block;padding:.75rem 0;color:var(--text);text-decoration:none;border-radius:var(--radius)}.docs-nav__link:hover{color:var(--accent)}.docs-nav__direction{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.docs-nav__title{font-weight:600;font-size:.95rem;line-height:1.3}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-toggle{color:var(--text-muted);text-decoration:none;font-size:.87rem;font-weight:500;padding:.25rem 0;cursor:pointer;background:0 0;border:none;font-family:inherit;display:inline-flex;align-items:center;gap:3px;transition:color .15s}.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible{color:var(--accent);outline:none}.nav-dropdown-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-dropdown-toggle svg{transition:transform .2s;width:10px;height:10px}.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown-toggle:focus-visible~.nav-dropdown-menu,.nav-dropdown-menu:hover{display:flex}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px rgba(0,0,0,.12);padding:4px 0;z-index:200;flex-direction:column;margin:0}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:flex}.nav-dropdown-menu a{display:block;padding:6px 14px;font-size:.85rem;color:var(--text);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.nav-dropdown-menu a:hover{background:var(--accent);color:#fff}.docs-index{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.docs-index-desc{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.docs-edit{margin-top:1rem;font-size:.8rem;text-align:right}.docs-edit a{color:var(--text-muted);text-decoration:none;transition:color .15s}.docs-edit a:hover{color:var(--accent)}