@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=Outfit:wght@400;600;800;900&display=swap";:root{--font-base: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Fira Code", "JetBrains Mono", Consolas, monospace}body{font-family:var(--font-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-base);font-weight:800;letter-spacing:-.02em;line-height:1.3}h1{font-weight:900;letter-spacing:-.04em}p,li{font-weight:400;line-height:1.8;letter-spacing:.01em}strong,b{font-weight:700}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}:root{--c-bg: #FCFCFC;--c-bg-alt: #FFFFFF;--c-brand-1: #FFD644;--c-brand-2: #FF9CBA;--c-brand-3: #B69CFF;--c-green: #C4DF9B;--c-blue: #82C7E5;--c-text-1: #111111;--c-text-2: #555555}.dark{--c-bg: #16161A;--c-bg-alt: #1A1A1D;--c-brand-1: #FFD644;--c-brand-2: #FF9CBA;--c-brand-3: #B69CFF;--c-green: #C4DF9B;--c-blue: #82C7E5;--c-text-1: #E2E2E2;--c-text-2: #A0A0A0}body{background:var(--c-bg);color:var(--c-text-1)}::selection{background:var(--c-brand-1);color:#111}.layout{display:flex;min-height:100vh;position:relative;--sidebar-width: 280px}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--c-bg);border-right:1px solid rgba(0,0,0,.05);padding:1.5rem 1rem;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:10}.dark .sidebar{border-right-color:#ffffff0d}.sidebar-resize-handle{position:absolute;top:0;left:calc(var(--sidebar-width) - 3px);width:6px;height:100%;cursor:col-resize;z-index:20;transition:background .2s}.sidebar-resize-handle:hover,.sidebar-resize-handle.active{background:var(--c-brand-3)}.sidebar-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sidebar-nav-top{display:flex;gap:.5rem}.sidebar-pill{padding:6px 4px;font-weight:700;font-size:1.05rem;color:var(--c-text-2);text-decoration:none;position:relative}.sidebar-pill:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2.5px;border-radius:2px;background:var(--c-brand-1);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-pill:hover{color:var(--c-text-1)}.sidebar-pill:hover:after{transform:scaleX(1)}.sidebar-pill.active{color:var(--c-text-1)}.sidebar-pill.active:after{transform:scaleX(1);background:var(--c-brand-3)}.sidebar-tree{flex:1;overflow-y:auto}.tree-toggle-all{width:100%;display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;margin-bottom:.4rem;border:1px dashed rgba(0,0,0,.1);border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:.88rem;color:var(--c-text-2);transition:all .15s ease}.tree-toggle-all:hover{background:var(--c-bg-alt);color:var(--c-text-1)}.dark .tree-toggle-all{border-color:#ffffff14}.tree-group{margin-bottom:.5rem}.tree-toggle{width:100%;display:flex;align-items:center;gap:.4rem;padding:.45rem .5rem;border:none;background:none;cursor:pointer;border-radius:8px;font-family:inherit;font-size:.88rem;color:var(--c-text-1);transition:all .15s ease;position:relative}.tree-toggle:after{content:"";position:absolute;bottom:2px;left:.5rem;right:.5rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--c-brand-1),var(--c-brand-2));transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.tree-toggle:hover:after{transform:scaleX(1)}.tree-arrow{width:12px;height:12px;flex-shrink:0;color:var(--c-text-2)}.tree-icon{flex-shrink:0;color:var(--c-text-1)}.tree-label{font-weight:700}.tree-items{margin-left:1.6rem;padding:.25rem 0;display:flex;flex-direction:column;gap:.15rem}.tree-link{display:block;padding:.4rem .75rem;font-size:.83rem;color:var(--c-text-2);text-decoration:none;font-weight:600;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-link:after{content:"";position:absolute;bottom:2px;left:.75rem;right:.75rem;height:2px;border-radius:2px;background:var(--c-brand-1);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.tree-link:hover{color:var(--c-text-1)}.tree-link:hover:after{transform:scaleX(1)}.tree-link.active{color:var(--c-text-1);font-weight:700}.tree-link.active:after{transform:scaleX(1);background:var(--c-brand-3)}.main-content{flex:1;min-width:0}.page-content{max-width:900px;margin:0 auto;padding:2.5rem 3rem}.menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:90;width:40px;height:40px;border:2px solid var(--c-text-1);border-radius:10px;background:var(--c-bg-alt);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px}.menu-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--c-text-1)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00000059}.sidebar-close{display:none;width:32px;height:32px;flex-shrink:0;border:2px solid var(--c-text-1);border-radius:8px;background:var(--c-bg-alt);cursor:pointer;align-items:center;justify-content:center;color:var(--c-text-1);padding:4px}@media(max-width:1024px){.sidebar-resize-handle{display:none}.menu-btn{display:flex}.menu-btn.hidden{display:none}.sidebar-close{display:flex}.sidebar{position:fixed;top:0;left:0;z-index:80;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #0000001a}.sidebar.open{transform:translate(0)}.sidebar.open+.sidebar-overlay,.sidebar-overlay{display:block}.page-content{padding:2rem 1.5rem;max-width:100%}}@media(max-width:480px){.sidebar{width:100vw}.page-content{padding:1.25rem 1rem}.sidebar-pill{font-size:.82rem}}*{box-sizing:border-box}body{margin:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-brand-3);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--c-brand-1)}html{scrollbar-width:thin;scrollbar-color:var(--c-brand-3) transparent}.page-content{animation:pageIn .35s ease}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-content h1{font-size:2.4rem;font-weight:900;letter-spacing:-.03em;margin:0 0 .3rem;line-height:1.3}.article-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.article-tag{display:inline-block;padding:3px 12px;border-radius:6px;font-size:.78rem;font-weight:700}.article-tag.cat{background:var(--c-brand-3);color:#111}.article-tag.sub{background:var(--c-brand-1);color:#111}.article-date{font-size:.82rem;color:var(--c-text-2);margin-left:auto}.page-content h2{font-size:1.6rem;font-weight:800;margin:3.5rem 0 1.2rem;padding-bottom:.5rem;border-bottom:3px solid var(--c-brand-1);line-height:1.4}.page-content h3{font-size:1.25rem;font-weight:700;margin:2.5rem 0 .8rem;line-height:1.5}.page-content p{margin:1.2rem 0;line-height:1.8}.page-content ul,.page-content ol{margin:1.2rem 0;padding-left:1.6rem;line-height:1.8}.page-content li{margin:.6rem 0}.page-content code{background:var(--c-bg-alt);padding:3px 8px;border-radius:6px;font-size:.88em;font-family:var(--font-mono);border:1px solid rgba(0,0,0,.08)}.dark .page-content code{border-color:#ffffff14}.page-content hr{border:none;height:2px;background:var(--c-brand-2);margin:3rem 0;border-radius:1px}.page-content a{color:var(--c-brand-3);font-weight:700;text-decoration:none;border-bottom:2px dashed transparent;transition:all .2s ease}.page-content a:hover{color:var(--c-brand-1);border-bottom-color:var(--c-brand-2)}.page-content blockquote{margin:2.5rem 0;padding:1.5rem 1.8rem;background:var(--c-bg-alt);border:2px solid var(--c-text-1);border-left:8px solid var(--c-brand-1);border-radius:8px;box-shadow:4px 4px 0 var(--c-brand-3)}.page-content blockquote p{margin:0}.gfm-alert{margin:2rem 0;padding:1rem 1.5rem 1rem 3rem;border-radius:10px;border-left:4px solid;position:relative;line-height:1.7}.gfm-alert:before{content:attr(data-alert-icon);position:absolute;left:.8rem;top:1rem;font-size:1.1rem}.gfm-alert>p:first-child{font-weight:700;margin-top:0}.gfm-alert-note{background:color-mix(in srgb,var(--c-blue) 10%,var(--c-bg));border-color:var(--c-blue)}.gfm-alert-tip{background:color-mix(in srgb,var(--c-green) 10%,var(--c-bg));border-color:var(--c-green)}.gfm-alert-warning{background:color-mix(in srgb,var(--c-brand-1) 10%,var(--c-bg));border-color:var(--c-brand-1)}.gfm-alert-important{background:color-mix(in srgb,var(--c-brand-3) 10%,var(--c-bg));border-color:var(--c-brand-3)}.gfm-alert-caution{background:color-mix(in srgb,var(--c-brand-2) 10%,var(--c-bg));border-color:var(--c-brand-2)}.page-content pre{margin:2.5rem 0;border:2px solid var(--c-text-1);border-radius:16px;box-shadow:4px 4px 0 var(--c-brand-1);padding:1.5rem;overflow-x:auto;font-family:var(--font-mono)}.page-content img{max-width:100%;border:2px solid var(--c-text-1);border-radius:12px;box-shadow:6px 6px 0 var(--c-brand-2);margin:2.5rem 0;transition:transform .3s ease}.page-content img:hover{transform:rotate(-1deg) scale(1.01)}.page-content table{width:100%;border-collapse:collapse;margin:2.5rem 0;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.dark .page-content table{border-color:#ffffff0f}.page-content th,.page-content td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06);line-height:1.6}.dark .page-content th,.dark .page-content td{border-bottom-color:#ffffff0f}.page-content th{font-weight:800;background-color:#00000008;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.dark .page-content th{background-color:#ffffff08}.page-content tbody tr:nth-child(2n){background-color:#00000005}.dark .page-content tbody tr:nth-child(2n){background-color:#ffffff05}@media(max-width:768px){.page-content h1{font-size:1.8rem;margin-bottom:1.5rem}.page-content h2{font-size:1.4rem;margin:2.5rem 0 1rem}.page-content h3{font-size:1.15rem;margin:2rem 0 .6rem}.page-content p,.page-content ul,.page-content ol{margin:1rem 0}.page-content pre{margin:1.5rem -.5rem;border-radius:10px;padding:1rem;font-size:.85rem}.page-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;margin:1.5rem 0}.page-content th,.page-content td{padding:.6rem .8rem;font-size:.85rem}.page-content blockquote{margin:1.5rem 0;padding:1rem 1.2rem}.gfm-alert{margin:1.5rem 0;padding:.9rem 1rem .9rem 2.6rem}.page-content img{margin:1.5rem 0;border-radius:8px}}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:65vh}.placeholder-card{text-align:center;padding:3rem 2rem;max-width:420px}.placeholder-emoji{display:block;font-size:4rem;line-height:1;margin-bottom:2rem}.placeholder-title{font-size:1.6rem;font-weight:900;margin:0 0 1rem;color:var(--c-text-1)}.placeholder-subtitle{color:var(--c-text-2);margin:0 0 2rem;font-size:.9rem;line-height:1.6}.right-rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:48px}.scroll-progress{display:flex;flex-direction:column;align-items:center;gap:10px}.sp-dot{width:10px;height:10px;border-radius:999px;border:none;background:var(--c-text-2);opacity:.25;cursor:pointer;padding:0;transition:all .25s ease;position:relative}.sp-dot:hover:after{content:attr(data-tip);position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--c-bg-alt);color:var(--c-text-1);border:2px solid var(--c-text-1);border-radius:999px;padding:4px 14px;font-size:.8rem;font-weight:700;font-family:inherit;box-shadow:3px 3px 0 var(--c-brand-3);pointer-events:none;z-index:100;animation:tipIn .2s ease}@keyframes tipIn{0%{opacity:0;transform:translateY(-50%) translate(6px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.sp-dot.active{opacity:1;background:var(--c-brand-1);transform:scale(1.35)}.sp-dot:hover{background:var(--c-brand-3);opacity:1}.search-wrap{position:relative;margin-bottom:.75rem}.search-bar{display:flex;align-items:center;gap:.4rem;background:var(--c-bg-alt);border:2px solid var(--c-text-1);border-radius:10px;padding:.35rem .6rem}.search-icon{flex-shrink:0;color:var(--c-text-2)}.search-input{flex:1;border:none;background:none;font-family:inherit;font-size:.83rem;color:var(--c-text-1);outline:none;min-width:0}.search-input::placeholder{color:var(--c-text-2)}.search-clear{flex-shrink:0;border:none;background:none;cursor:pointer;font-size:1.1rem;color:var(--c-text-2);padding:0 2px;line-height:1}.search-clear:hover{color:var(--c-text-1)}.search-results{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--c-bg-alt);border:2px solid var(--c-text-1);border-radius:10px;margin-top:4px;padding:.35rem;list-style:none;box-shadow:4px 4px 0 var(--c-brand-3);max-height:260px;overflow-y:auto}.search-result-item{width:100%;display:block;padding:.4rem .6rem;border:none;background:none;cursor:pointer;border-radius:7px;font-family:inherit;font-size:.83rem;color:var(--c-text-1);text-align:left;font-weight:600;transition:all .12s ease}.search-result-item:hover,.search-result-item.active{background:var(--c-brand-1);color:#111}.search-empty{padding:.5rem .6rem;font-size:.8rem;color:var(--c-text-2);text-align:center}.sri-label{display:block}.switch{display:block;--width-of-switch: 3.5em;--height-of-switch: 2em;--size-of-icon: 1.4em;--slider-offset: .3em;position:relative;width:var(--width-of-switch);height:var(--height-of-switch)}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#f4f4f5;transition:.4s;border-radius:30px}.slider:before{position:absolute;content:"";height:var(--size-of-icon);width:var(--size-of-icon);border-radius:20px;left:var(--slider-offset);top:50%;transform:translateY(-50%);background:linear-gradient(40deg,#ff0080,#ff8c00 70%);transition:.4s}input:checked+.slider{background-color:#303136}input:checked+.slider:before{left:calc(100% - (var(--size-of-icon) + var(--slider-offset)));background:#303136;box-shadow:inset -3px -2px 5px -2px #8983f7,inset -10px -4px #a3dafb}@media(max-width:1024px){.right-rail{display:none}}.hero-btn{display:inline-block;padding:12px 28px;border-radius:12px;font-weight:800;font-size:1rem;text-decoration:none;border:2px solid var(--c-text-1);transition:all .2s ease;cursor:pointer}.hero-btn.brand{background:var(--c-brand-1);color:#111;box-shadow:4px 4px 0 var(--c-text-1)}.hero-btn.brand:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--c-text-1)}@media(max-width:480px){.placeholder-card{padding:2rem 1.25rem}}
