:root{--bg-primary:#f8f9fa;--bg-panel:#eef1f5;--bg-white:#fff;--text-primary:#202122;--text-secondary:#54595d;--text-muted:#72777d;--text-light:#a2a9b1;--accent:#6e1bff;--accent-hover:#9c3bff;--accent-bg:#f3eeff;--accent-divider:#e2daff;--accent-info-bg:#f6f2ff;--accent-info-border:#6e1bff;--table-header-bg:#f2f4f7;--table-border:#d8dee6;--border-default:#e5e7eb;--border-subtle:#eaecf0;--code-bg:#f6f8fa;--code-border:#e1e4e8;--font-primary:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;--sidebar-w:280px;--header-h:80px;--content-max:780px;--toc-w:200px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary), sans-serif;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7}a{color:var(--accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-bg);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#c8ccd1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a2a9b1}.site-header{z-index:100;height:var(--header-h);background:var(--bg-white);border-bottom:1px solid var(--border-default);align-items:center;gap:16px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 3px #0000000a}.header-brand{cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:12px;transition:transform .15s cubic-bezier(.22,1,.36,1),opacity .15s;display:flex}.header-brand:hover{opacity:.85}.header-brand:hover .brand-logo{transform:translateY(-.5px)}.header-brand:active{transition-duration:60ms;transform:scale(.97)}.header-brand .brand-logo{flex-shrink:0;width:auto;height:70px;transition:transform .15s cubic-bezier(.22,1,.36,1)}.header-brand .brand-sub{align-items:center;gap:8px;display:flex}.header-brand .brand-label{font-family:var(--font-primary), sans-serif;color:var(--text-secondary);letter-spacing:.02em;font-size:13px;font-weight:600}.header-search{flex:1;max-width:520px;margin-left:auto;position:relative}.header-search input{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-primary), sans-serif;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);outline:none;padding:8px 40px 8px 14px}.header-search input:focus{border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #6e1bff14}.header-search input::placeholder{color:var(--text-light)}.header-search .search-icon-right{pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.header-actions{align-items:center;gap:8px;display:flex}.header-actions a{color:var(--text-secondary);border-radius:var(--radius-sm);will-change:transform;-webkit-tap-highlight-color:transparent;padding:6px 12px;font-size:13px;font-weight:500;transition:transform .15s cubic-bezier(.22,1,.36,1),background .15s,color .15s,box-shadow .15s}.header-actions a:not(.btn-portal):hover{background:var(--bg-panel);color:var(--text-primary);box-shadow:0 1px 4px #0000000f}.header-actions a:not(.btn-portal):active{transition-duration:60ms;transform:scale(.97)}.header-actions a:not(.btn-portal):focus-visible{outline-offset:2px;outline:2px solid #6e1bff66}.header-actions .btn-portal{color:#fff;border-radius:var(--radius-sm);will-change:transform;background:linear-gradient(135deg,#6e1bff 0%,#8a2eff 50%,#9c3bff 100%);padding:8px 16px;font-size:12px;font-weight:600;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1),filter .15s;position:relative;overflow:hidden;box-shadow:0 1px 3px #6e1bff40}.header-actions .btn-portal:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff2e 50%,#0000 65%);transition:none;position:absolute;inset:0;transform:translate(-110%)}.header-actions .btn-portal:hover{color:#fff;opacity:1;filter:brightness(1.08);transform:translateY(-.5px);box-shadow:0 2px 8px #6e1bff59,0 0 16px #6e1bff1a}.header-actions .btn-portal:active{filter:brightness(.95);transition-duration:60ms;transform:scale(.97);box-shadow:0 1px 2px #6e1bff4d}.header-actions .btn-portal.shine:after{transition:transform .28s cubic-bezier(.22,1,.36,1);transform:translate(110%)}.header-actions .btn-portal:focus-visible{outline-offset:2px;outline:2px solid #6e1bff80}.mobile-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;display:none}.sidebar{top:var(--header-h);width:var(--sidebar-w);height:calc(100vh - var(--header-h));background:var(--bg-white);border-right:1px solid var(--border-default);z-index:50;padding:12px 0 40px;transition:transform .3s;position:fixed;left:0;overflow-y:auto}.sidebar-section+.sidebar-section{margin-top:2px}.sidebar-section{margin-bottom:0}.sidebar-section-title{text-transform:uppercase;letter-spacing:.11em;color:var(--text-light);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;margin:0 6px;padding:8px 14px 8px 16px;font-size:10px;font-weight:700;transition:background .18s,color .18s;display:flex}.sidebar-section-title:hover{background:var(--bg-panel);color:var(--text-secondary)}.sidebar-section-title.active-section{color:var(--text-primary)}.sidebar-section-title .chevron{opacity:.35;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-section-title .chevron svg{width:10px;height:10px}.sidebar-section-title.collapsed .chevron{transform:rotate(-90deg)}.sidebar-items{opacity:1;border-left:2px solid var(--border-subtle);max-height:600px;margin-left:16px;transition:max-height .32s cubic-bezier(.4,0,.2,1),opacity .22s;overflow:hidden}.sidebar-section-title.collapsed+.sidebar-items{opacity:0;max-height:0}.sidebar-item{color:var(--text-secondary);cursor:pointer;border-left:2px solid #0000;border-radius:0 6px 6px 0;margin:1px 6px 1px -2px;padding:6px 14px 6px 12px;font-size:13px;font-weight:450;line-height:1.4;transition:background .15s,color .15s,border-left-color .15s;display:block}.sidebar-item:hover{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent-divider)}.sidebar-item.active{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent);font-weight:600}.main-wrapper{margin-left:var(--sidebar-w);margin-top:var(--header-h);min-height:calc(100vh - var(--header-h))}.content-area{max-width:calc(var(--content-max) + var(--toc-w) + 100px);width:100%;margin:0 auto;padding:0 40px;display:flex}.page-content{max-width:var(--content-max);flex:1;padding:32px 0 64px}.page-toc{width:var(--toc-w);top:calc(var(--header-h) + 12px);max-height:calc(100vh - var(--header-h) - 24px);flex-shrink:0;align-self:flex-start;padding:32px 0 32px 32px;position:sticky;overflow-y:auto}.page-toc-title{text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);margin-bottom:10px;font-size:10.5px;font-weight:600}.page-toc a{color:var(--text-muted);border-left:2px solid var(--border-subtle);transition:all var(--transition);padding:3px 0 3px 12px;font-size:12.5px;line-height:1.5;display:block}.page-toc a:hover{color:var(--text-secondary);border-left-color:var(--text-light)}.page-toc a.active{color:var(--accent);border-left-color:var(--accent)}.breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;margin-bottom:0;font-size:12.5px;display:flex}.breadcrumbs a{color:var(--accent);font-weight:500}.breadcrumbs .sep{color:var(--text-light)}.page-header{border-bottom:1px solid var(--border-default);margin-bottom:32px;padding-bottom:24px}.page-header h1{font-family:var(--font-primary), sans-serif;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:6px;font-size:34px;font-weight:700;line-height:1.2}.page-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.page-meta-item{color:var(--text-light);align-items:center;gap:4px;font-size:12px;display:flex}.page-meta-item svg{width:13px;height:13px}.page-content h2{font-family:var(--font-primary), sans-serif;letter-spacing:-.01em;color:var(--text-primary);border-bottom:1px solid var(--border-default);margin:48px 0 20px;padding-bottom:16px;font-size:24px;font-weight:600}.page-content h2:first-of-type{margin-top:36px}.page-content h3{font-family:var(--font-primary), sans-serif;letter-spacing:-.005em;color:var(--text-primary);margin:32px 0 12px;font-size:18px;font-weight:600}.page-content h4{letter-spacing:0;color:var(--text-secondary);margin:20px 0 6px;font-size:15px;font-weight:600}.page-content p{color:var(--text-secondary);margin-bottom:16px;font-size:15px;font-weight:400;line-height:1.7}.page-content ul,.page-content ol{color:var(--text-secondary);margin:4px 0 16px 24px}.page-content li{margin-bottom:4px;line-height:1.7}.page-content strong{color:var(--text-primary);font-weight:600}.page-content code{font-family:var(--font-mono), monospace;background:var(--code-bg);border:1px solid var(--code-border);border-radius:3px;padding:1px 5px;font-size:13px}.infobox{float:right;border:1px solid var(--table-border);border-radius:var(--radius-md);background:var(--bg-white);width:280px;margin:0 0 20px 24px;font-size:13px;overflow:hidden}.infobox-header{background:var(--accent);color:#fff;text-align:center;padding:10px 16px;font-size:14px;font-weight:700}.infobox-logo{background:var(--bg-white);border-bottom:1px solid var(--border-subtle);justify-content:center;align-items:center;padding:16px;display:flex}.infobox-logo svg{width:auto;height:48px}.infobox-row{border-bottom:1px solid var(--border-subtle);display:flex}.infobox-row:last-child{border-bottom:none}.infobox-label{width:110px;color:var(--text-primary);background:var(--table-header-bg);flex-shrink:0;padding:8px 12px;font-size:12.5px;font-weight:600}.infobox-value{color:var(--text-secondary);flex:1;padding:8px 12px;font-size:12.5px}.callout{border-radius:var(--radius-md);border-left:3px solid;margin:24px 0;padding:16px 20px;font-size:14px}.callout-title{text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.callout p{margin-bottom:0;font-size:14px;line-height:1.65}.callout.info{background:var(--accent-info-bg);border-left-color:var(--accent-info-border)}.callout.info .callout-title{color:var(--accent)}.callout.note{background:#f0f4ff;border-left-color:#4a6cf7}.callout.note .callout-title{color:#4a6cf7}.callout.warning{background:#fffbeb;border-left-color:#d97706}.callout.warning .callout-title{color:#d97706}.callout.expansion{background:var(--bg-primary);border-left-color:var(--border-default);border:1px dashed var(--border-default);border-left:3px dashed var(--text-light)}.callout.expansion .callout-title{color:var(--text-light)}.table-wrap{border:1px solid var(--table-border);border-radius:var(--radius-md);margin:24px 0;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:14px}.table-wrap th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);background:var(--table-header-bg);border-bottom:2px solid var(--table-border);padding:11px 16px;font-size:11px;font-weight:600}.table-wrap td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:11px 16px}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr:hover td{background:#fafbfc}.table-wrap .val{color:var(--accent);font-weight:600;font-family:var(--font-mono), monospace;font-size:13px}.media-placeholder{border:1px dashed var(--border-default);border-radius:var(--radius-md);text-align:center;background:var(--bg-primary);margin:24px 0;padding:36px 20px}.media-placeholder .mp-icon{width:40px;height:40px;color:var(--text-light);margin:0 auto 10px}.media-placeholder .mp-label{color:var(--text-muted);font-size:13px;font-weight:600}.media-placeholder .mp-desc{color:var(--text-light);margin-top:4px;font-size:12px}.cards-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:16px;margin:24px 0;display:grid}.card{background:var(--bg-white);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;padding:24px 20px;transition:border-color .2s,box-shadow .2s;animation:7s ease-in-out infinite cardBreathe;position:relative}.cards-grid .card:first-child{animation-duration:6.5s;animation-delay:0s}.cards-grid .card:nth-child(2){animation-duration:7.8s;animation-delay:2.1s}.cards-grid .card:nth-child(3){animation-duration:7s;animation-delay:1s}.cards-grid .card:nth-child(4){animation-duration:7.4s;animation-delay:3.2s}.cards-grid .card:nth-child(5){animation-duration:6.8s;animation-delay:1.6s}.cards-grid .card:nth-child(6){animation-duration:7.6s;animation-delay:2.7s}@keyframes cardBreathe{0%,to{border-color:var(--border-default);box-shadow:0 0 #0000}40%{border-color:#a882ff59;box-shadow:0 0 8px 1px #a882ff14}70%{border-color:#a882ff26;box-shadow:0 0 4px #a882ff0a}}.card:hover{border-color:var(--accent-divider);animation:none;box-shadow:0 2px 12px #6e1bff0f}.card h3{color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-primary), sans-serif;margin-bottom:6px}.card p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.video-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-white);align-items:center;gap:14px;margin-bottom:12px;padding:12px 16px;transition:border-color .15s;display:flex}.video-row:hover{border-color:var(--accent-divider)}.video-thumb{background:var(--bg-panel);border-radius:var(--radius-sm);width:100px;height:58px;color:var(--text-light);flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.video-info{flex:1}.video-info .vid-title{color:var(--text-primary);font-size:14px;font-weight:500}.video-info .vid-link{color:var(--text-light);margin-top:2px;font-size:12px}.social-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:24px 0;display:grid}.social-card{background:var(--bg-white);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s;display:flex}.social-card:hover{border-color:var(--accent-divider)}.social-card .sc-icon{border-radius:var(--radius-sm);background:var(--bg-panel);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.social-card .sc-name{color:var(--text-primary);font-size:14px;font-weight:600}.social-card .sc-link{color:var(--text-light);font-size:12px}.placeholder-section{background:var(--bg-primary);border:1px dashed var(--border-default);border-radius:var(--radius-md);margin:20px 0;padding:24px}.placeholder-tags{flex-wrap:wrap;gap:6px;display:flex}.placeholder-tag{background:var(--bg-white);color:var(--text-muted);border:1px solid var(--border-default);border-radius:20px;padding:4px 10px;font-size:12px}.hero{padding:48px 0 32px}.hero-badge{background:var(--accent-bg);border:1px solid var(--accent-divider);color:var(--accent);border-radius:20px;align-items:center;gap:7px;margin-bottom:16px;padding:4px 12px 4px 6px;font-size:12px;font-weight:600;display:inline-flex}.hero-badge .hb-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 0 var(--accent);border-radius:50%;animation:2.4s ease-in-out infinite breathe}@keyframes breathe{0%{transform:scale(1);box-shadow:0 0 #a882ff66}30%{transform:scale(1.25);box-shadow:0 0 6px 2px #a882ff40}60%{transform:scale(1.08);box-shadow:0 0 3px 1px #a882ff1a}to{transform:scale(1);box-shadow:0 0 #a882ff00}}.hero h1{font-family:var(--font-primary), sans-serif;letter-spacing:-.02em;color:var(--text-primary);max-width:560px;margin-bottom:16px;font-size:40px;font-weight:700;line-height:1.15}.hero h1 .accent{color:var(--accent)}.hero .hero-desc{color:var(--text-secondary);max-width:540px;margin-bottom:24px;font-size:16px;font-weight:400;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);font-size:14px;font-weight:600;font-family:var(--font-primary), sans-serif;border:none;align-items:center;gap:6px;padding:9px 20px;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#6e1bff,#9c3bff)}.btn-primary:hover{opacity:.9;color:#fff;box-shadow:0 4px 16px #6e1bff33}.btn-secondary{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border-default)}.btn-secondary:hover{border-color:var(--accent-divider);color:var(--accent)}.stats-bar{border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);flex-wrap:wrap;gap:0;margin-top:32px;padding:24px 0 28px;display:flex}.stat{text-align:center;flex:1 1 0;min-width:0;padding:0 8px;position:relative}.stat .stat-val{font-family:var(--font-primary), sans-serif;color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:6px;font-size:26px;font-weight:700;line-height:1.1;display:inline-flex}.stat .stat-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 var(--accent);border-radius:50%;flex-shrink:0;animation:2.4s ease-in-out infinite breathe}.stat:first-child .stat-dot{animation-duration:2.6s;animation-delay:0s}.stat:nth-child(2) .stat-dot{animation-duration:2.2s;animation-delay:.7s}.stat:nth-child(3) .stat-dot{animation-duration:2.8s;animation-delay:.3s}.stat:nth-child(4) .stat-dot{animation-duration:2.3s;animation-delay:1.1s}.stat:nth-child(5) .stat-dot{animation-duration:2.5s;animation-delay:.5s}.stat .stat-label{color:var(--text-muted);letter-spacing:.01em;margin-top:3px;font-size:11.5px}.site-footer{margin-left:var(--sidebar-w);border-top:1px solid var(--border-default);background:var(--bg-white);padding:24px 40px 16px}.footer-inner{max-width:calc(var(--content-max) + var(--toc-w) + 100px);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin:0 auto;display:flex}.footer-brand{font-family:var(--font-primary), sans-serif;color:var(--text-secondary);font-size:14px;font-weight:600}.footer-links{align-self:flex-end;gap:20px;display:flex}.footer-links a{color:var(--text-muted);font-size:13px;font-weight:500}.footer-links a:hover{color:var(--accent)}.footer-copy{color:var(--text-light);border-top:1px solid var(--border-subtle);text-align:center;width:100%;margin-top:16px;padding-top:12px;font-size:11px}.sidebar-overlay{z-index:45;background:#0000004d;display:none;position:fixed;inset:0}@media (max-width:1060px) and (min-width:841px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1060px){.page-toc{display:none}}@media (max-width:840px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.show{display:block}.main-wrapper,.site-footer{margin-left:0}.mobile-toggle{display:block}.header-actions{display:none}.header-search{max-width:180px}.header-brand .brand-logo{height:50px}.hero h1{font-size:28px}.content-area{padding:0 20px}.cards-grid{grid-template-columns:1fr}.infobox{float:none;width:100%;margin:0 0 20px}.sidebar-item{padding:10px 14px 10px 12px;font-size:14px}.sidebar-section-title{padding:12px 14px 12px 16px;font-size:11px}.site-header{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.sidebar{padding-bottom:max(40px, env(safe-area-inset-bottom))}.page-content{padding-bottom:max(64px, env(safe-area-inset-bottom))}}@media (max-width:480px){.header-search{display:none}.hero h1{font-size:24px}.content-area{padding:0 16px}.stats-bar{gap:16px 0}.stat{flex:0 0 33.33%;min-width:0}.stat .stat-val{font-size:20px}}.page-content h2[id],.page-content h3[id]{scroll-margin-top:calc(var(--header-h) + 20px)}.return-top{z-index:90;background:var(--bg-white);border:1px solid var(--border-default);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 8px #00000014}.return-top:hover{border-color:var(--accent-divider);color:var(--accent)}.return-top.visible{display:flex}.page-content div[style*="border-color:var(--accent-divider)"]{border:1px dashed var(--accent-divider);border-radius:var(--radius-md);text-align:center;background:var(--bg-primary);color:var(--text-muted);margin:24px 0;padding:28px 20px;font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (min-width:1800px){.content-area,.site-footer .footer-inner{max-width:1200px}}.sidebar-item{will-change:background-color, color, border-left-color}.card{will-change:border-color, box-shadow}.return-top .sidebar::-webkit-scrollbar{width:4px}.return-top .sidebar::-webkit-scrollbar-track{background:0 0}.return-top .sidebar::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.return-top .sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.return-top{will-change:opacity}.page-content{content-visibility:auto;contain-intrinsic-size:auto 2000px}.page-content>.wiki-figure:last-child,.page-content .wiki-figure:last-of-type{margin-bottom:0}.wiki-figure{border-radius:12px;margin:28px 0;padding:0;line-height:0;display:block;overflow:hidden}.wiki-figure img{object-fit:contain;width:100%;max-width:100%;height:auto;box-shadow:none;vertical-align:bottom;border-radius:0;margin:0;padding:0;display:block}.wiki-figure+.wiki-figure{margin-top:20px}@media (max-width:600px){.wiki-figure{border-radius:8px;margin:18px 0}}.brand-logo-dark,[data-theme=dark] .brand-logo:not(.brand-logo-dark){display:none}[data-theme=dark] .brand-logo-dark{display:block}.theme-toggle{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);cursor:pointer;width:32px;height:32px;color:var(--text-muted);will-change:transform;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s cubic-bezier(.22,1,.36,1),background .15s,border-color .15s,color .15s;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent-divider);background:var(--accent-bg)}.theme-toggle:active{transition-duration:60ms;transform:scale(.93)}.theme-toggle svg{width:16px;height:16px}[data-theme=dark] .theme-toggle{background:#1a1d27;border-color:#2a2d36}[data-theme=dark] .theme-toggle:hover{color:#b794ff;background:#1e1533;border-color:#3d3555}[data-theme=dark]{--bg-primary:#0f1117;--bg-panel:#1a1d27;--bg-white:#161820;--text-primary:#e8eaed;--text-secondary:#bdc1c6;--text-muted:#9aa0a6;--text-light:#5f6368;--accent:#9c6cff;--accent-hover:#b794ff;--accent-bg:#1e1533;--accent-divider:#2d2245;--accent-info-bg:#1a1230;--accent-info-border:#9c6cff;--table-header-bg:#1a1d27;--table-border:#2d3038;--border-default:#2a2d36;--border-subtle:#22252e;--code-bg:#1a1d27;--code-border:#2a2d36}[data-theme=dark] .site-header{background:#161820;border-bottom-color:#2a2d36;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .sidebar{background:#161820;border-right-color:#2a2d36}[data-theme=dark] .header-search input{color:#fff;-webkit-text-fill-color:#fff;background:#1a1d27;border-color:#2a2d36}[data-theme=dark] .header-search input:focus{color:#fff;-webkit-text-fill-color:#fff;background:#161820}[data-theme=dark] .header-search input::placeholder{color:#5f6368}[data-theme=dark] .card{background:#161820;border-color:#2a2d36}[data-theme=dark] .card:hover{border-color:#3d3555;animation:none;box-shadow:0 2px 12px #9c6cff14}[data-theme=dark] .hero{border-bottom-color:#2a2d36}[data-theme=dark] .site-footer{background:#161820;border-top-color:#2a2d36}[data-theme=dark] .infobox{border-color:#2a2d36}[data-theme=dark] .infobox-header{background:linear-gradient(135deg,#6e1bff,#9c3bff)}[data-theme=dark] .infobox-logo{background:#1a1d27;border-bottom-color:#2a2d36}[data-theme=dark] .infobox-row{border-bottom-color:#2a2d36}[data-theme=dark] .wiki-figure img{opacity:.92}[data-theme=dark] .page-toc a{border-left-color:#2a2d36}[data-theme=dark] .sidebar-section-title{color:#9aa0a6}[data-theme=dark] .sidebar-item{color:#bdc1c6}[data-theme=dark] .sidebar-item:hover{color:#e8eaed;background:#1a1d27}[data-theme=dark] .sidebar-item.active{color:#9c6cff;background:#1e1533}[data-theme=dark] .header-brand .brand-label{color:#bdc1c6}[data-theme=dark] .stat-card{background:#161820;border-color:#2a2d36}[data-theme=dark] code{color:#e8eaed;background:#1a1d27;border-color:#2a2d36}[data-theme=dark] pre{background:#1a1d27;border-color:#2a2d36}[data-theme=dark] table th{background:#1a1d27}[data-theme=dark] table td,[data-theme=dark] table th{border-color:#2a2d36}[data-theme=dark] blockquote{background:#1a1230;border-left-color:#9c6cff}.lightbox-overlay{z-index:10000;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox-overlay.active{display:flex}.lightbox-overlay img{object-fit:contain;cursor:zoom-out;border-radius:10px;max-width:92vw;max-height:92vh;box-shadow:0 8px 40px #00000080}.wiki-figure img{cursor:zoom-in}[data-theme=dark] .lightbox-overlay{background:#000000eb}.search-dropdown{background:var(--bg-white);border:1px solid var(--border-default);border-radius:var(--radius-md);z-index:200;max-height:360px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.search-dropdown.active{display:block}.search-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border-subtle);padding:10px 14px;transition:background .1s;display:block}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background:var(--bg-panel)}.search-dropdown-title{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.search-dropdown-snippet{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-dropdown-snippet mark{color:var(--accent);background:#6e1bff26;border-radius:2px;padding:0 2px}.search-dropdown-empty{color:var(--text-light);text-align:center;padding:16px 14px;font-size:13px}[data-theme=dark] .search-dropdown{background:#1a1d27;border-color:#2a2d36;box-shadow:0 8px 24px #0006}[data-theme=dark] .search-dropdown-item:hover{background:#22252e}[data-theme=dark] .search-dropdown-item{border-bottom-color:#22252e}[data-theme=dark] .search-dropdown-snippet mark{color:#b794ff;background:#9c6cff33}[data-theme=dark] .header-search input:focus{box-shadow:0 0 0 2.5px #9c6cff26}.page-nav{border-top:1px solid var(--border-default);grid-template-columns:1fr 1fr;gap:12px;max-width:560px;margin:48px auto 0;padding-top:28px;display:grid}.page-nav.single{grid-template-columns:1fr;max-width:280px}.page-nav a{text-align:center;border:1px solid var(--border-default);background:var(--bg-white);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;padding:20px 16px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.page-nav a:hover{border-color:var(--accent-divider);background:var(--accent-bg)}.page-nav a:active{transition-duration:60ms;transform:scale(.985)}.page-nav a .nav-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:600;line-height:1;display:block}.page-nav a .nav-title-row{justify-content:center;align-items:center;gap:6px;display:flex}.page-nav a .nav-arrow{color:var(--text-muted);flex-shrink:0;font-size:16px;font-weight:400;line-height:1;transition:color .15s}.page-nav a .nav-title{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.25;transition:color .15s}.page-nav a:hover .nav-title,.page-nav a:hover .nav-arrow{color:var(--accent)}[data-theme=dark] .page-nav a{background:#161820;border-color:#2a2d36}[data-theme=dark] .page-nav a:hover{background:#1e1533;border-color:#3d3555}@media (max-width:768px){.page-nav{grid-template-columns:1fr 1fr;gap:8px;max-width:100%}.page-nav.single{grid-template-columns:1fr;max-width:100%}}[data-theme=dark] .footer-social-icons a{color:#5f6368}[data-theme=dark] .footer-social-icons a:hover{color:#e8eaed}@keyframes letterGlow{0%{color:var(--text-primary);text-shadow:none}40%{color:#9c6cff;text-shadow:0 0 8px #6e1bff99,0 0 2px #6e1bff4d}70%{color:#6e1bff;text-shadow:0 0 4px #6e1bff4d}to{color:#6e1bff;text-shadow:none}}.toc-glow-letter{font:inherit;letter-spacing:inherit;line-height:inherit;animation:.25s cubic-bezier(.22,1,.36,1) forwards letterGlow;display:inline}.toc-glow-space{font:inherit;display:inline}[data-theme=dark] .toc-heading-highlight .toc-glow-letter{animation-name:letterGlowDark}@keyframes letterGlowDark{0%{color:#e8eaed;text-shadow:none}40%{color:#d4bfff;text-shadow:0 0 10px #b794ffb3,0 0 3px #b794ff66}70%{color:#b794ff;text-shadow:0 0 4px #b794ff4d}to{color:#b794ff;text-shadow:none}}.card.toc-highlight{border-color:var(--accent)!important;transition:border-color .3s,box-shadow .3s!important;box-shadow:0 0 0 2px #6e1bff40,0 4px 20px #6e1bff26!important}.card.toc-highlight-fade{transition:border-color 1s,box-shadow 1s!important}[data-theme=dark] .card.toc-highlight{border-color:#9c6cff!important;box-shadow:0 0 0 2px #9c6cff59,0 4px 20px #9c6cff33!important}[data-theme=dark] ::selection{background:#9c6cff40}.header-brand .brand-sep{background:var(--border-default);flex-shrink:0;width:1px;height:32px}[data-theme=dark] .header-brand .brand-sep{background:#3a3d46}.footer-left{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-social-icons{align-items:center;gap:2px;margin-left:-8px;display:flex}.footer-social-icons a{min-width:34px;min-height:34px;color:var(--text-muted);opacity:.65;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;transition:opacity .18s,transform .18s cubic-bezier(.22,1,.36,1);display:flex}.footer-social-icons a svg{width:18px;height:18px}.footer-social-icons a:hover{opacity:1;transform:scale(1.05)}.footer-social-icons a:active{transition-duration:60ms;transform:scale(.95)}[data-theme=dark] .footer-social-icons a{color:#e8eaed;opacity:.45}[data-theme=dark] .footer-social-icons a:hover{opacity:1}@media (max-width:600px){.footer-left{align-items:center;width:100%}.footer-links{justify-content:center;align-self:auto;width:100%}}.skip-link{background:var(--accent);color:#fff;border-radius:var(--radius-sm);z-index:10001;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}
