:root,html.light{--accent-color:#0070f3;--accent-rgb:0,112,243;--code-dots-1:#ff5f56;--code-dots-2:#ffbd2e;--code-dots-3:#27c93f}#loading-bar,#spotlight{width:100%;top:0;left:0}#aurora,#spotlight{position:fixed;transition:opacity .5s}.prose,body{font-family:var(--font-main)}:root{--bg-main:#000000;--bg-panel:rgba(10, 10, 10, 0.7);--border-color:rgba(255, 255, 255, 0.1);--border-hover:var(--accent-color);--text-primary:#e0e0e0;--text-secondary:#a1a1aa;--prose-headings:#ffffff;--prose-body:#bbbbbb;--accent-color-light:rgba(0, 112, 243, 0.15);--aurora-opacity:1;--spotlight-opacity:0;--sidebar-width:20rem;--sidebar-width-collapsed:0rem;--font-main:"Inter",sans-serif;--code-bg:#282c34;--code-header-bg:#202020;--code-title-color:#888888;--code-text-color:#dddddd;--code-copy-btn:#a1a1aa;--code-copy-btn-hover:#ffffff}html.light{--bg-main:#f9f7f4;--bg-panel:rgba(255, 255, 255, 0.85);--border-color:#e6e0d9;--border-hover:#c4b8aa;--text-primary:#3d3b38;--text-secondary:#8c867f;--prose-headings:#2a2825;--prose-body:#5e5a56;--accent-color-light:rgba(0, 112, 243, 0.1);--aurora-opacity:0;--spotlight-opacity:1;--code-bg:#fafafa;--code-header-bg:#e0dcd5;--code-title-color:#8c867f;--code-text-color:#4a4743;--code-copy-btn:#8c867f;--code-copy-btn-hover:#3d3b38}::-webkit-scrollbar{display:none}*{scrollbar-width:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-main);color:var(--text-primary);transition:background-color .3s,color .3s,font-family .3s;display:flex;flex-direction:column}#loading-bar{position:fixed;height:3px;background-color:var(--accent-color);transform-origin:left;transform:scaleX(0);transition:transform .3s ease-out,opacity .3s ease-out;z-index:9999;opacity:0}#loading-bar.loading{transform:scaleX(.7);opacity:1;transition:transform 10s cubic-bezier(.1, .8, .2, 1)}#loading-bar.finished{transform:scaleX(1);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out .2s}#spotlight{height:100%;pointer-events:none;z-index:-1;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(var(--accent-rgb),.15) 0,transparent 35%);opacity:var(--spotlight-opacity)}#aurora{content:"";z-index:-2;top:50%;left:50%;width:80vmax;height:80vmax;background:radial-gradient(circle,rgba(var(--accent-rgb),.2) 0,transparent 60%);animation:25s linear infinite aurora-move;opacity:var(--aurora-opacity)}@keyframes aurora-move{0%,100%{transform:translate(-50%,-50%) rotate(0) scale(1.2)}50%{transform:translate(-40%,-60%) rotate(180deg) scale(1.5)}}.main-container{display:flex;flex-grow:1;gap:1.5rem;overflow:hidden;transition:gap .4s}#sidebar{flex-shrink:0;width:var(--sidebar-width);transform:translateX(0);transition:width .4s,transform .4s,padding .4s;overflow:hidden}#sidebar.collapsed{width:var(--sidebar-width-collapsed);padding:0;transform:translateX(-100%)}#sidebar-content{min-width:calc(var(--sidebar-width) - 2px)}#main-content-wrapper{flex-grow:1;min-width:0;display:flex;flex-direction:column}@media (max-width:767px){.main-container{flex-direction:column;gap:0}#main-content-wrapper{width:100%;padding:0}#main-content{border-radius:0!important;border:none!important;padding:1.5rem 1rem!important;flex-grow:1;width:100%}body{padding:0!important}}#sidebar-toggle-desktop{position:sticky;top:1.25rem;left:1.25rem}.scrollable-zone{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.scrollable-zone:hover::-webkit-scrollbar{display:block}.scrollable-zone::-webkit-scrollbar{width:6px}.scrollable-zone::-webkit-scrollbar-track{background:0 0}.scrollable-zone::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:20px}.scrollable-zone::-webkit-scrollbar-thumb:hover{background-color:var(--border-hover)}.panel{background-color:var(--bg-panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:1.25rem;transition:background-color .3s,border-color .3s}#customization-toggle,#sidebar-toggle-desktop,.chapter-link,.nav-button{transition:border-color .2s,background-color .2s,color .2s}#lightbox,#report-error-modal{inset:0;background-color:rgba(0,0,0,.85);z-index:100;transition:opacity .3s;position:fixed;pointer-events:none}#custom-context-menu button:hover,#customization-toggle:hover,#sidebar-toggle-desktop:hover,.chapter-link[aria-current=false]:hover,.nav-button:hover{border-color:var(--border-hover);background-color:var(--accent-color-light);color:var(--text-primary)}.chapter-header.active,.chapter-link[aria-current=true]{background-color:var(--accent-color-light);border-color:var(--border-hover)!important;color:var(--accent-color)!important;font-weight:600}.code-window-header,.prose h2{border-bottom:1px solid var(--border-color)}.prose li,.prose ol,.prose p,.prose ul{font-family:inherit;line-height:1.7;font-size:1.05rem;color:var(--prose-body)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--prose-headings);font-family:inherit;letter-spacing:-.01em;margin-top:1.5em;margin-bottom:.7em;line-height:1.2}.code-window-header,.prose pre{font-family:"JetBrains Mono",monospace}.prose h1{font-size:2.7em;font-weight:700;padding-bottom:.3em;margin-bottom:1em;background:-webkit-linear-gradient(45deg,var(--prose-headings),var(--accent-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;cursor:default}.prose h2{font-size:2em;font-weight:600;padding-bottom:.4em;margin-bottom:.8em}.prose h3{font-size:1.6em;font-weight:600;margin-bottom:.6em}.prose strong{font-weight:700;color:var(--prose-headings)}.prose blockquote{border-left:3px solid var(--accent-color);margin:1.8em 0;padding:.7em 1.2em;color:var(--prose-body);background-color:rgba(0,0,0,.03);border-radius:.6rem}html.dark .prose blockquote{background-color:rgba(255,255,255,.04)}.code-window{border:1px solid var(--border-color);border-radius:.75rem;background-color:var(--code-bg);overflow:hidden;margin:2em 0;display:flex;flex-direction:column;color:var(--code-text-color)}#ai-chatbox,#report-error-form-container,.code-window-header{background-color:var(--bg-panel)}.code-window-header{display:flex;align-items:center;padding:.75rem;font-size:.8rem;flex-shrink:0}.copy-code-btn,.prose pre .hljs{padding:0;background:0 0}.code-window-dots{display:flex;gap:.5rem}.code-window-dots span{display:block;width:12px;height:12px;border-radius:50%}.code-window-dots .dot-1{background-color:var(--code-dots-1)}.code-window-dots .dot-2{background-color:var(--code-dots-2)}.code-window-dots .dot-3{background-color:var(--code-dots-3)}.code-window-title{color:var(--code-title-color);margin:0 auto;text-transform:uppercase;letter-spacing:.05em}.copy-code-btn{border:none;color:var(--code-copy-btn);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center;outline:0}.prose table thead,.slider{background-color:var(--border-color)}#ai-chatbox-close-btn,.font-option,.subsection-link{color:var(--text-secondary)}.copy-code-btn:hover{color:var(--code-copy-btn-hover)}#cookie-accept-btn,.font-option.selected{color:#fff;font-weight:500}.prose pre{border:none;border-radius:0;background-color:var(--bg-main);margin:0;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;flex-grow:1;padding:1rem}.font-option,.prose th{font-family:var(--font-main)}.mermaid-container,.mermaid-container .mermaid{justify-content:center;width:100%;display:flex}.prose pre code{display:block}.mermaid-container{padding:2rem;border-radius:1.25rem;margin:2em auto;align-items:center;cursor:pointer;max-width:90%;overflow:hidden;border:1px dotted var(--border-color)}.mermaid-container .mermaid{height:100%;align-items:center}.mermaid-container .mermaid>svg{width:100%;height:100%;object-fit:contain;user-select:none}#lightbox{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;opacity:0;cursor:zoom-out}#lightbox.visible,#report-error-modal.open{opacity:1;pointer-events:auto}#lightbox-content{width:95vw;height:95vh;transform:scale(.9);transition:transform .3s}#lightbox.visible #lightbox-content{transform:scale(1)}#lightbox-content .mermaid{width:100%;height:100%}#lightbox-content .mermaid>svg{width:100%;height:100%;object-fit:contain}.skeleton .shimmer{position:relative;overflow:hidden;background-color:rgba(128,128,128,.2);border-radius:.5rem}html:not(.dark) .skeleton .shimmer{background-color:rgba(0,0,0,.1)}.shimmer::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(128,128,128,.2),transparent);animation:1.8s infinite shimmer}html:not(.dark) .shimmer::after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.05),transparent)}@keyframes shimmer{100%{left:100%}}#cookie-banner{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;animation:.5s ease-out slideUp}#cookie-accept-btn{background-color:var(--accent-color);padding:.5rem 1rem;border-radius:.5rem;flex-shrink:0;transition:background-color .2s}#cookie-accept-btn:hover,#report-error-form button[type=submit]:hover:not(:disabled){background-color:var(--accent-color);opacity:.9}@keyframes slideUp{from{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%,0);opacity:1}}#customization-popup-wrapper{position:relative;display:flex;align-items:center;height:100%;flex-shrink:0;z-index:50}#customization-popup{position:absolute;bottom:calc(100% + .5rem);right:0;width:250px;max-height:80vh;overflow-y:auto;transform-origin:bottom right;transition:opacity .3s,transform .3s;opacity:0;transform:translateY(10px);pointer-events:none}#customization-popup.open{opacity:1;transform:translateY(0);pointer-events:auto}.color-option{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .2s,border-color .2s}.chapter-header,.font-option{border-radius:.5rem;cursor:pointer}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.05)}.font-option{padding:.5rem .75rem;transition:background-color .2s,color .2s}.slider,.slider:before{transition:.4s;position:absolute}.font-option:hover,.subsection-link:hover{background-color:var(--accent-color-light)}.font-option.selected,input:checked+.slider{background-color:var(--accent-color)}.theme-switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.theme-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;border-radius:34px}.slider:before{content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:var(--text-secondary);border-radius:50%}input:checked+.slider:before{transform:translateX(22px);background-color:#fff}.prose table{width:100%;border-collapse:collapse;overflow:hidden}html.dark .prose table thead{background-color:rgba(255,255,255,.08)}.prose td,.prose th{border:1px solid var(--border-color);padding:.75em 1em;text-align:left;vertical-align:top;color:var(--prose-body)}.prose th{font-weight:600;color:var(--prose-headings)}.prose tr:nth-child(2n){background-color:rgba(0,0,0,.02)}html.dark .prose tr:nth-child(2n){background-color:rgba(255,255,255,.02)}.prose table pre{background-color:transparent!important;padding:0!important;margin:0!important;border-radius:0!important;overflow-x:auto}.table-wrapper{overflow-x:auto;margin:1.5em 0;border-radius:.75rem;border:1px solid var(--border-color)}#ai-chatbox,.subsections{overflow:hidden;opacity:0}.table-wrapper::-webkit-scrollbar{height:6px}.table-wrapper::-webkit-scrollbar-track{background:0 0}.table-wrapper::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:20px}.table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--border-hover)}.table-wrapper:hover::-webkit-scrollbar{display:block}@media (max-width:768px){.table-wrapper table{min-width:600px}}.chapter-item{display:flex;flex-direction:column}.chapter-header{display:flex;align-items:center;gap:3.5px;padding:.625rem .75rem;transition:background-color .2s,border-color .2s;border:1px solid transparent;min-height:44px}.chapter-header:hover{border-color:var(--border-hover);background-color:var(--accent-color-light)}.chapter-header .toggle-icon{margin-left:auto;transition:transform .2s}.chapter-header.collapsed .toggle-icon{transform:rotate(-90deg)}.subsections{display:none;flex-direction:column;padding-left:1.5rem;margin-top:.25rem;border-left:1px solid var(--border-color);max-height:0;transition:max-height .3s ease-out,opacity .3s ease-out}#report-error-form label,.subsection-link{display:block;font-family:var(--font-main)}.subsections.open{display:flex;max-height:var(--subsections-max-height,500px);opacity:1}.subsection-link{padding:.4rem .75rem;border-radius:.5rem;font-size:.875rem;transition:background-color .2s,color .2s}.subsection-link.active{background-color:var(--accent-color-light);color:var(--accent-color)!important;font-weight:600}#ai-chatbox-send-btn,#report-error-form button[type=submit],.chat-message.user{background-color:var(--accent-color);color:#fff}#report-error-modal{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;opacity:0}#report-error-form-container{border:1px solid var(--border-color);border-radius:1.25rem;padding:2rem;width:90%;max-width:500px;transform:translateY(20px);transition:transform .3s}#report-error-modal.open #report-error-form-container{transform:translateY(0)}#report-error-form label{color:var(--text-primary);font-weight:500;margin-bottom:.5rem}#report-error-form input[type=email],#report-error-form textarea{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid var(--border-color);background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-main);resize:vertical;min-height:100px;margin-bottom:1rem;outline:0;transition:border-color .2s}#report-error-form input[type=email]:focus,#report-error-form textarea:focus{border-color:var(--accent-color)}#report-error-form button[type=submit]{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;transition:background-color .2s,opacity .2s;cursor:pointer;border:none}#report-error-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}#menu-toggle-mobile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:var(--accent-color);border:1px solid rgba(255,255,255,.2)}#notification-container{z-index:1000!important}#ai-chatbox{position:fixed;right:2rem;width:420px;max-width:90vw;z-index:999;display:flex;flex-direction:column;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid var(--border-color);border-radius:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,.25);transform:translateY(20px) scale(.95);pointer-events:none;transition:transform .3s cubic-bezier(.2, .8, .2, 1),opacity .3s,top,height}#ai-chatbox:not(.hidden){transform:translateY(0) scale(1);opacity:1;pointer-events:auto}#ai-chatbox-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color);flex-shrink:0}#ai-chatbox-title{font-family:var(--font-main);font-weight:600;color:var(--text-primary)}#ai-chatbox-close-btn{background:0 0;border:none;font-size:1.25rem;cursor:pointer;transition:color .2s}#ai-chatbox-close-btn:hover{color:var(--text-primary)}#ai-chatbox.is-loading::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:linear-gradient(100deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.07) 50%,rgba(255,255,255,0) 80%);animation:1.5s infinite shimmer-ai}@keyframes shimmer-ai{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}#ai-chatbox-messages{flex-grow:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-message{padding:.75rem 1.1rem;border-radius:1rem;max-width:85%;font-family:var(--font-main);line-height:1.6;word-wrap:break-word;animation:.3s message-in}@keyframes message-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end;border-bottom-right-radius:.25rem}.chat-message.assistant{background-color:var(--border-color);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:.25rem}.chat-message.is-typing{display:flex;align-items:center;gap:.3rem;padding:.75rem 1.1rem}.chat-message.is-typing .dot{width:8px;height:8px;background-color:var(--text-secondary);border-radius:50%;animation:1.2s ease-in-out infinite typing-dots}.chat-message.is-typing .dot:nth-child(2){animation-delay:.2s}.chat-message.is-typing .dot:nth-child(3){animation-delay:.4s}@keyframes typing-dots{0%,100%,60%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}#ai-chatbox-input-container{display:flex;align-items:flex-end;padding:.5rem;margin:.75rem;border-radius:1rem;background-color:var(--bg-main);border:1px solid var(--border-color);transition:border-color .2s;flex-shrink:0}#ai-chatbox-input-container:focus-within{border-color:var(--accent-color)}#ai-chatbox-input{flex-grow:1;background-color:transparent;border:none;padding:.5rem;color:var(--text-primary);font-family:var(--font-main);resize:none;outline:0;height:28px;max-height:120px;line-height:1.5;transition:height .2s}#ai-chatbox-send-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s,background-color .2s}#ai-chatbox-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}#ai-chatbox-send-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-secondary)}@media (max-width:1023px){#sidebar{position:fixed;height:100%;top:0;left:0;z-index:50;transition:transform .3s ease-in-out}#sidebar.mobile-hidden{transform:translateX(-100%)}.main-container{gap:0;overflow:visible}#ai-chatbox{top:0;left:0;right:0;bottom:0;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;transform:none}}