:root{--bg-color:#fff;--text-color:#333;--bg-alt-color:#f4f4f4;--border-color:#ccc;--link-color:#06c;--link-hover-color:#004c99;--header-bg:#333;--header-text:#fff;--sidebar-bg:#eaeaea;--sidebar-link-active-bg:#555;--sidebar-link-active-text:#fff;--code-bg:#2d2d2d;--code-text:#f1f1f1;--inline-code-bg:#eee;--button-bg:#e0e0e0;--button-hover-bg:#d0d0d0;--button-active-bg:#bbb}body[data-theme="dark"]{--bg-color:#1a1a1a;--text-color:#e0e0e0;--bg-alt-color:#2b2b2b;--border-color:#555;--link-color:#66b3ff;--link-hover-color:#9cf;--header-bg:#111;--header-text:#e0e0e0;--sidebar-bg:#333;--sidebar-link-active-bg:#ccc;--sidebar-link-active-text:#1a1a1a;--code-bg:#1e1e1e;--code-text:#d4d4d4;--inline-code-bg:#444;--button-bg:#444;--button-hover-bg:#555;--button-active-bg:#666}body[data-theme="high-contrast"]{--bg-color:#000;--text-color:#fff;--bg-alt-color:#111;--border-color:#fff;--link-color:#ff0;--link-hover-color:#fd0;--header-bg:#000;--header-text:#fff;--sidebar-bg:#111;--sidebar-link-active-bg:#ff0;--sidebar-link-active-text:#000;--code-bg:#000;--code-text:#fff;--inline-code-bg:#333;--button-bg:#eee;--button-hover-bg:#fff;--button-active-bg:#ff0}body{font-family:sans-serif;margin:0;line-height:1.6;background-color:var(--bg-alt-color);color:var(--text-color);transition:background-color .3s ease , color .3s ease}.container{max-width:1200px;margin:20px auto;background-color:var(--bg-color);box-shadow:0 0 10px rgba(0,0,0,.1);padding:15px;border:1px solid var(--border-color);transition:background-color .3s ease , border-color .3s ease}.main-header{background-color:var(--header-bg);color:var(--header-text);padding:10px 20px;margin-bottom:15px;transition:background-color .3s ease , color .3s ease}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.header-content h1{margin:0 15px 0 0}.theme-switcher button{background-color:var(--button-bg);color:var(--text-color);border:1px solid var(--border-color);padding:5px 10px;margin-left:5px;cursor:pointer;border-radius:5px;font-size:1.2em;line-height:1;transition:background-color .2s ease , border-color .2s ease , box-shadow .2s ease}.theme-switcher button:hover{background-color:var(--button-hover-bg)}.theme-switcher button.active{background-color:var(--button-active-bg);border-color:var(--text-color);box-shadow:0 0 5px rgba(0,0,0,.2)}body[data-theme="dark"] .theme-switcher button.active{box-shadow:0 0 5px rgba(255,255,255,.3)}body[data-theme="high-contrast"] .theme-switcher button.active{border-color:var(--bg-color);color:var(--bg-color);box-shadow:none}.main-layout{display:flex;gap:20px}.sidebar{flex:0 0 220px;background-color:var(--sidebar-bg);padding:15px;border-right:1px solid var(--border-color);min-height:400px;transition:background-color .3s ease , border-color .3s ease}.sidebar nav ul{list-style:none;padding:0;margin:0}.sidebar nav ul li{margin-bottom:10px}.sidebar nav ul li a{text-decoration:none;color:var(--text-color);display:block;padding:5px 10px;border-radius:4px;transition:background-color .3s ease , color .3s ease}.sidebar nav ul li a:hover{background-color:rgba(0,0,0,.1)}body[data-theme="dark"] .sidebar nav ul li a:hover{background-color:rgba(255,255,255,.1)}body[data-theme="high-contrast"] .sidebar nav ul li a:hover{background-color:var(--link-color);color:var(--bg-color)}.sidebar nav ul li a.active{background-color:var(--sidebar-link-active-bg);color:var(--sidebar-link-active-text);font-weight:bold}.sidebar nav ul .submenu{list-style:none;padding-left:20px;margin-top:5px}.sidebar nav ul .submenu li{margin-bottom:5px}.sidebar nav ul .submenu li a{font-size:.9em;padding:3px 8px}.sidebar nav ul .submenu li a.active{background-color:var(--sidebar-link-active-bg);opacity:.8;color:var(--sidebar-link-active-text)}body[data-theme="high-contrast"] .sidebar nav ul .submenu li a.active{opacity:1}.content{flex:1;padding:15px;background-color:var(--bg-color);transition:background-color .3s ease}.content h1,.content h2,.content h3{color:var(--text-color);margin-bottom:15px;transition:color .3s ease}.content p{margin-bottom:1em}.content a{color:var(--link-color);text-decoration:none;transition:color .3s ease}.content a:hover{color:var(--link-hover-color);text-decoration:underline}.content img,.content video,.content iframe{max-width:100%;height:auto;margin-bottom:1em;display:block;border:1px solid var(--border-color);border-radius:4px;transition:border-color .3s ease}.content pre{background-color:var(--code-bg);color:var(--code-text);padding:15px;border-radius:5px;overflow-x:auto;font-family:monospace;white-space:pre;margin-bottom:1em;border:1px solid var(--border-color);transition:background-color .3s ease , color .3s ease , border-color .3s ease}.content code{font-family:monospace;background-color:var(--inline-code-bg);color:var(--text-color);padding:2px 4px;border-radius:3px;transition:background-color .3s ease , color .3s ease}body[data-theme="dark"] .content code{color:#f0f0f0}body[data-theme="high-contrast"] .content code{color:#000;background-color:#ddd}.content pre code{background-color:transparent;padding:0;color:inherit}.main-footer{text-align:center;margin-top:20px;padding:15px;border-top:1px solid var(--border-color);font-size:.9em;color:var(--text-color);opacity:.8;transition:border-color .3s ease , color .3s ease}.error-404{text-align:center;padding:40px 15px}.error-404 h1{font-size:3em;margin-bottom:10px;color:var(--link-color)}.error-404 p{font-size:1.2em;margin-bottom:20px}.error-404 a{display:inline-block;padding:10px 20px;background-color:var(--link-color);color:var(--bg-color);border-radius:5px;text-decoration:none;transition:background-color .3s ease}body[data-theme="high-contrast"] .error-404 a{color:var(--bg-color)}.error-404 a:hover{background-color:var(--link-hover-color);text-decoration:none}#backToTopBtn{position:fixed;bottom:20px;right:20px;background-color:var(--sidebar-link-active-bg);color:var(--sidebar-link-active-text);border:none;border-radius:50%;width:45px;height:45px;font-size:20px;line-height:45px;text-align:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease , visibility .3s ease , background-color .3s ease;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,.2)}#backToTopBtn.show{opacity:.8;visibility:visible}#backToTopBtn:hover{opacity:1}body[data-theme="high-contrast"] #backToTopBtn{box-shadow:0 0 0 2px var(--sidebar-link-active-text)}