:root{--color-white:#ffffff;--color-black:#000000;--color-dark-green:#002e24;--color-dark-green-transp:rgba(0,64,53,0.7);--color-bright-green:#007e60;--color-bright-green-transp:rgb(0,126,96,0.5);--color-gold-accent:#f0b400;--color-marigold-accent:#EAA221;--color-green-comp-marigold:#064E37;--color-darker-gold-accent:#b38600;--color-orange-accent:#FD9A28;--color-bright-green-accent:#61bd9b;--color-muted-green:#3f7f68;--color-dark-navy:#0b141f;--color-dark-gray:#3a414a;--color-light-gray:#768598;--color-very-light-gray:#f3f4f6;--color-light-green:#f0f9f5;--color-very-dark-green:#111111;--color-subtle-green-hover:rgba(0,128,0,0.1);--color-semi-translucent-white:rgba(255,255,255,0.6);--color-glass-border-green:rgba(0,64,53,0.12);--color-more-translucent-white:rgba(255,255,255,0.2);--color-darkest-blue:#1a1b26;--color-veryDark-blue:#1a1b26;--color-veryDark-blue-transp:rgb(26,27,38,0.7);--color-dark-blue:#24283b;--color-dark-blueGray:#2a2f4a;--color-dark-blueGraySoften:#2f3549;--color-darkblue-constrast:rgb(75,86,122);--color-sky-blue:#7aa2f7;--color-sky-blue2:#678DF5;--color-sky-blue-soft:#7dcfff;--color-light-blueGray:#a9b1d6;--color-light-blueGray-transp:rgb(169,177,214,.5);--color-light-blueGray-shadow:rgb(169,177,214,0.3);--color-light-blueGray-hover:#c0caf5;--color-accent-green:#9ece6a;--color-accent-teal:#73daca;--color-accent-cyan:#2ac3de;--color-accent-aqua:#b4f9f8;--color-semi-translucent-blue:rgba(36,40,59,0.4);--color-glass-border-blue:rgba(122,162,247,0.15);--color-more-translucent-blue:rgba(36,40,59,0.2);--warning-background-red:rgba(255,99,71,0.1);--warning-border-red:#E53E3E}:root{}[data-theme="light"]{--bg-primary:var(--color-white);--bg-secondary:var(--color-light-green);--bg-tertiary:var(--color-white);--bg-quaternary:var(--color-light-green);--bg-quinary:var(--color-white);--overlay-hue:var(--color-dark-green-transp);--text-primary:var(--color-dark-gray);--text-secondary:var(--color-bright-green);--text-faint:var(--color-light-gray);--text-inverse:var(--color-white);--text-title:var(--color-white);--text-hover:var(--color-marigold-accent);--text-hover-contrast:var(--color-green-comp-marigold);--text-resting-link:var(--color-bright-green);--text-resting-link2:var(--color-light-green);--text-resting_inverse_link:var(--color-light-green);--border-color:var(--color-light-gray);--divider-color:var(--color-muted-green);--accent-border:var(--color-marigold-accent);--accent-rule:var(--color-bright-green);--surface-default:var(--color-white);--surface-secondary:var(--color-white);--surface-contrast:var(--color-white);--surface-muted:var(--color-very-light-gray);--surface-deep:var(--color-dark-navy);--brand-primary:var(--color-bright-green);--brand-primary-transp:var(--color-bright-green-transp);--brand-secondary:var(--color-marigold-accent);--brand-primary-compliment:var(--color-white);--brand-secondary-compliment:var(--color-green-comp-marigold);--brand-3:var(--color-green-comp-marigold);--brand-3c:var(--color-marigold-accent);--brand-hover:var(--color-marigold-accent);--brand-hover-comp:var(--color-green-comp-marigold);--accent-success:var(--color-bright-green);--accent-muted:var(--color-muted-green);--button-primary:var(--color-bright-green);--button-primary-compliment:var(--color-white);--warning-background:var(--warning-background-red);--warning-border:var(--warning-border-red);--shadow-hue:rgba(0,0,0,0.15);--glass-pane:var(--color-semi-translucent-white);--glass-clear-pane:var(--color-more-translucent-white);--glass-edge:var(--color-glass-border-green)}[data-theme="dark"]{--bg-primary:var(--color-darkest-blue);--bg-secondary:var(--color-veryDark-blue);--bg-tertiary:var(--color-dark-blue);--bg-quaternary:var(--color-dark-blueGray);--bg-quinary:var(--color-dark-blueGraySoften);--overlay-hue:var(--color-veryDark-blue-transp);--text-primary:var(--color-light-blueGray);--text-secondary:var(--color-sky-blue2);--text-faint:var(--color-sky-blue-soft);--text-inverse:var(--color-black);--text-title:var(--color-light-blueGray);--text-hover:var(--color-sky-blue-soft);--text-hover-contrast:var(--color-dark-blue);--text-resting-link:var(--color-sky-blue2);--text-resting-link2:var(--color-sky-blue2);--text-resting_inverse_link:var(--color-sky-blue2);--border-color:var(--color-dark-blueGraySoften);--divider-color:var(--color-dark-blueGraySoften);--accent-border:var(--color-light-blueGray);--accent-rule:var(--color-light-blueGray);--surface-default:var(--color-dark-blueGray);--surface-secondary:var(--color-dark-blueGraySoften);--surface-contrast:var(--color-darkblue-constrast);--surface-muted:var(--color-dark-blue);--surface-deep:var(--color-veryDark-blue);--brand-primary:var(--color-sky-blue2);--brand-primary-transp:var(--color-light-blueGray-transp);--brand-secondary:var(--color-light-blueGray);--brand-secondary-compliment:var(--color-dark-blueGray);--brand-primary-compliment:var(--bg-quaternary);--brand-3:var(--color-light-blueGray);--brand-3c:var(--color-dark-blueGray);--brand-hover:var(--color-sky-blue-soft);--brand-hover-comp:var(--color-dark-blueGray);--accent-success:var(--color-accent-green);--accent-muted:var(--color-accent-teal);--button-primary:var(--color-light-blueGray);--button-primary-compliment:var(--bg-quaternary);--warning-background:var(--warning-background-red);--warning-border:var(--warning-border-red);--shadow-hue:var(--color-light-blueGray-shadow);--glass-pane:var(--color-semi-translucent-blue);--glass-clear-pane:var(--color-more-translucent-blue);--glass-edge:var(--color-glass-border-blue)}.katex-display{display:block;text-align:left;overflow-x:auto;white-space:nowrap;padding:10px;margin:10px 0;max-width:100%;box-sizing:border-box;background-color:transparent}.katex-display>.katex{white-space:nowrap;display:block;overflow-x:visible;margin:0;padding:0;line-height:1.5}.katex{white-space:normal;display:inline;word-wrap:break-word;overflow-wrap:break-word;font-size:1rem}.katex:not(.katex-display>.katex){white-space:normal;display:inline;word-wrap:break-word;overflow-wrap:break-word;font-size:1rem}.katex-html{margin:0;padding:0;line-height:1.2}.katex-display::-webkit-scrollbar{height:8px}.katex-display::-webkit-scrollbar-thumb{background:var(--accent-border);border-radius:4px}.output-block .katex{margin:5px;padding:10px;line-height:1.5}.daily-content *{all:initial;font-size:inherit;line-height:inherit}.katex-display .katex-html,.katex-display .katex-mathml{white-space:nowrap;overflow-x:visible;display:inline-block}.sidebar{position:absolute;top:0;bottom:0;left:-300px;width:250px;transition:left 0.3s ease-in-out;z-index:20;background-color:var(--bg-secondary);overflow-y:auto;border:1px solid var(--border-color);border-right:1px solid var(--divider-color);border-radius:0 0 8px 0;background-color:var(--bg-secondary);box-shadow:1px 0 4px var(--shadow-hue)}.sidebar.open{left:-20px}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.3);opacity:0;pointer-events:none;transition:opacity 0.3s ease-in-out;z-index:10}.overlay.open{opacity:1;pointer-events:auto}.sidebar::-webkit-scrollbar{width:8px;-webkit-appearance:none}.sidebar::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track-piece,.sidebar::-webkit-scrollbar-corner{background:var(--bg-secondary);-webkit-appearance:none}.sidebar::-webkit-scrollbar-thumb{background-color:var(--brand-primary);border-radius:4px;border:2px solid var(--bg-secondary);-webkit-appearance:none}.sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--text-hover)}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu .menu-item a,.sidebar-menu .submenu a{color:var(--text-primary);text-decoration:none;font-weight:bold;padding:8px 12px;border-radius:5px;display:block;transition:color 0.2s ease-in,text-decoration 0.2s ease-in}.sidebar-menu .menu-item a:hover,.sidebar-menu .submenu a:hover{color:var(--text-hover);text-decoration:underline}.sidebar-menu .menu-item a.active{color:var(--text-inverse);background-color:var(--brand-primary-transp)}.sidebar-menu .submenu .keyword-submenu li a{font-size:14px;font-weight:normal;padding:6px 10px;color:var(--text-primary);transition:color 0.2s ease-in,background-color 0.2s ease-in}.sidebar-menu .submenu .keyword-submenu li a:hover{color:var(--text-hover);background-color:var(--brand-hover)}.folder-toggle{display:inline-block;margin-bottom:5px;position:relative;width:100%;box-sizing:border-box;color:var(--text-primary);font-weight:bold;cursor:pointer;padding-left:22px;padding-right:3px;transition:transform 0.2s ease-in}.folder-toggle{display:inline-block;margin-bottom:5px;position:relative;color:var(--text-primary);font-weight:bold;cursor:pointer;padding-left:22px;padding-right:3px;transition:transform 0.2s ease-in}.folder-toggle:hover .folder-toggle-label::before{background-image:none;background-clip:border-box;-webkit-background-clip:border-box;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}.folder-toggle:hover{background-image:linear-gradient(to right,transparent 1%,var(--text-hover) 10%,transparent 95%);background-repeat:no-repeat;background-size:100% 100%;color:var(--text-hover-contrast)}.folder-toggle-label::before{content:"▶ ";font-family:'Nunito Sans',system-ui,sans-serif;position:absolute;left:0;top:50%;transform:translateY(-50%);transition:transform 0.2s ease-in;color:inherit}.folder-toggle.active .folder-toggle-label::before{transform:translateY(-50%) rotate(90deg)}.sidebar-menu .submenu{height:0;overflow:hidden;list-style-type:none;transition:height 0.3s ease}.sidebar-menu .submenu.visible{height:auto;padding-left:20px}.sidebar-menu .submenu .keyword-submenu{margin-left:15px;list-style-type:none}.hamburger-menu{display:none;position:absolute;top:0px;right:15px;z-index:11;background-color:var(--surface-default);padding:10px;border-radius:5px;box-shadow:1px 1px 4px var(--shadow-hue);cursor:pointer;border:solid 1px var(--border-color);font:inherit;color:inherit;outline:none}.hamburger-menu:hover{box-shadow:0 4px 6px var(--shadow-hue);color:var(--brand-hover);background-color:var(--bg-quinary);border-color:var(--brand-hover)}.sidebar-title{text-decoration:none;color:var(--brand-primary);font-size:1.25em;font-weight:bold;padding:10px 10px 10px 15px;border-left:4px solid var(--brand-primary);margin:0 6px 10px 0;display:block;line-height:1.5;word-wrap:break-word;border-radius:0 10px 10px 0;transition:background-color 0.2s ease-in,color 0.2s ease-in}.sidebar-title:hover{background-color:var(--brand-primary);color:var(--brand-primary-compliment)}.sidebar-menu .menu-item a:focus,.sidebar-menu .submenu a:focus,.folder-toggle:focus{outline:2px dashed var(--brand-primary);outline-offset:4px}@media (max-width:1023px){.hamburger-menu{display:block}.content-wrapper{transition:margin-left 0.3s ease-in-out}}@media (min-width:1024px){.sidebar{left:-20px}.overlay{display:none}.hamburger-menu{display:none}.content-wrapper{margin-left:250px;transition:margin-left 0.3s ease-in-out}}.keyword-list{list-style:none;padding-left:0;margin:0}.keyword-list .menu-item.parent-menu{margin-bottom:0.5em}.keyword-list .menu-item.parent-menu .folder-toggle{display:block}.keyword-list .menu-item.parent-menu .submenu{display:none;padding-left:1em;margin:0}.keyword-list .menu-item.parent-menu .submenu.visible{display:block}.dgcv-doc-page{background:var(--bg-primary);background-color:var(--bg-primary)}.documentation-container{position:relative;display:flex;align-items:flex-start;flex-wrap:nowrap;margin:20px;gap:20px}.documentation-content{flex:1;padding:20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 8px var(--shadow-hue);color:var(--text-primary);overflow:visible;height:auto}.content-wrapper{flex-grow:0;flex-shrink:1;flex-basis:auto;padding:15px;overflow-x:hidden;overflow-y:hidden;height:auto;width:100%}#readme-container{padding:15px;background-color:var(--surface-default);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1em;line-height:1.6;height:auto;max-height:none;overflow:visible}.documentation-content h1,.documentation-content h2,.documentation-content h3,.documentation-content h4,.documentation-content h5,.documentation-content h6,#readme-container h1,#readme-container h2,#readme-container h3,#readme-container h4,#readme-container h5,#readme-container h6{color:var(--text-primary);font-weight:bold;margin-top:20px;margin-bottom:10px;text-transform:none}.content-container p a{color:var(--text-resting-link);text-decoration:none;font-weight:bold}.content-container p a:hover{color:var(--text-hover);text-decoration:underline}.summary-container{padding:15px;margin-bottom:20px;font-size:1.1em;line-height:1.5;color:var(--text-primary)}.summary-container a{color:var(--text-resting-link);text-decoration:underline;font-weight:bold}#readme-header{color:var(--text-hover);font-weight:bold;font-size:1.5em}html,body{overflow-y:auto;overflow-x:hidden;height:auto;margin:0}#readme-container a{color:var(--text-resting-link2);text-decoration:underline}#readme-container a:visited{color:var(--text-resting-link2)}.code-highlight{font-family:'Source Code Pro',monospace;font-size:0.95em;background-color:inherit;border:1px solid var(--border-color);padding:0.1em 0.3em;border-radius:3px;color:var(--text-resting-link2);text-decoration:none!important;font-weight:bold;display:inline-block}.code-highlight-italics{font-family:'Source Code Pro',monospace;font-weight:bold;font-style:italic}a .code-highlight{text-decoration:none}a:hover .code-highlight{background-color:inherit;text-decoration:none;box-shadow:0 0 4px var(--shadow-hue)}html,body{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary);background-color:var(--bg-secondary);color:var(--text-primary);font-family:'Nunito Sans',system-ui,sans-serif;overflow-x:hidden}main{flex:1}.banner-strip{position:relative;overflow:visible;background-image:linear-gradient(var(--overlay-hue),var(--overlay-hue)),image-set(url('/assets/images/banner.avif') type('image/avif'),url('/assets/images/banner.webp') type('image/webp'),url('/assets/images/banner.jpeg') type('image/jpeg'));background-blend-mode:normal;background-size:cover;background-position:center}.site-nav{overflow:visible}#theme-toggle{margin-left:1em}#hamburger-toggle{display:none;background:none;color:var(--text-title);font-size:large;border:1px solid var(--text-title);border-radius:4px;cursor:pointer}#hamburger-toggle:hover,#hamburger-toggle:focus{box-shadow:0 4px 6px var(--shadow-hue);color:var(--text-hover);border-color:var(--text-hover)}.header-top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0.5em 1em}.RAI-nav-list{list-style:none;display:flex;gap:1.5em;margin:0;padding:0}.RAI-nav-list a{text-decoration:none;color:var(--text-title);font-family:'Caveat',system-ui,sans-serif;font-size:20px;font-weight:400}.site-nav #theme-toggle{display:none}@media (max-width:768px){.site-nav .RAI-nav-list{display:none}#hamburger-toggle{display:inline-block}.site-nav.open .RAI-nav-list{display:flex;flex-direction:column;background:var(--bg-secondary);position:absolute;z-index:20;top:100%;right:1em;padding:1em;border:1px solid var(--border-color);border-radius:4px}.site-nav.open .RAI-nav-list li{padding:0.5em 1em;background:var(--bg-secondary);border-radius:4px;margin-bottom:0.5em;transition:background 0.2s}.site-nav.open .RAI-nav-list li:hover{background:var(--bg-hover)}.site-nav.open .RAI-nav-list a{color:var(--text-primary);display:block;width:100%;height:100%}.site-nav.open #theme-toggle{display:block;margin:1em auto 0}}a{color:var(--text-resting-link);text-decoration:none}a.inverse_link{color:var(--text-resting_inverse_link);text-decoration:none}a:hover,a:focus{text-decoration:underline;color:var(--text-hover)}#theme-toggle{background-color:var(--bg-quinary)!important;transition:box-shadow 0.2s ease,color 0.2s ease,border-color 0.2s ease}#theme-toggle:hover,#theme-toggle:focus{box-shadow:0 4px 6px var(--shadow-hue);color:var(--brand-hover)!important;border-color:var(--brand-hover)!important}#RAI-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:19}#RAI-nav-overlay.active{display:block}#full-header{background-blend-mode:multiply}.RAI-content-wrapper{flex:1;overflow-x:hidden;overflow-y:auto;color:var(--text-primary);padding:0 1em}.RAI-content-full-page{background-color:var(--surface-default);margin:2rem auto;padding:2rem;max-width:1200px;border-radius:8px;border:0.5px solid var(--border-color)}.RAI-content-wrapper a{color:var(--text-resting-link);text-decoration:underline}.RAI-content-wrapper a:hover,.RAI-content-wrapper a:focus{color:var(--text-hover)}.RAI-nav-link{color:var(--text-title);text-decoration:none}.RAI-nav-link:hover{color:var(--text-hover);text-decoration:underline}.RAI-h1{font-size:2.5rem;line-height:1.2;margin:1rem 0;color:var(--text-primary);font-weight:700;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h2{font-size:2rem;line-height:1.3;margin:0.75rem 0;color:var(--text-secondary);font-weight:600;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h3{font-size:1.75rem;line-height:1.35;margin:0.75rem 0;color:var(--text-primary);font-weight:600;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h4{font-size:1.5rem;line-height:1.4;margin:0.5rem 0;color:var(--text-primary);font-weight:500;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h5{font-size:1.25rem;line-height:1.4;margin:0.5rem 0;color:var(--text-primary);font-weight:500;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-h6{font-size:1rem;line-height:1.5;margin:0.5rem 0;color:var(--text-primary);font-weight:400;font-family:'Nunito Sans',system-ui,sans-serif}.RAI-button{display:inline-block;padding:0.5em 1em;border-radius:9999px;border:1px solid var(--button-primary);background:var(--button-primary-compliment);color:var(--button-primary);font-weight:normal;text-decoration:none;transition:background-color 0.2s,color 0.2s;align-self:flex-start}.RAI-button:hover,.RAI-button:focus{background:var(--button-primary);color:var(--button-primary-compliment)}#dgcv-label{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.95em;background-color:var(--glass-pane);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:0.1em;border-radius:0.25em;letter-spacing:0.02em;font-feature-settings:"liga" off;border:1px solid var(--glass-edge)}.inline-code{font-family:'Source Code Pro',monospace;font-weight:400;font-size:0.95em;background-color:var(--glass-pane);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:0.1em;border-radius:0.25em;letter-spacing:0.02em;font-feature-settings:"liga" off;border:1px solid var(--glass-edge)}