:root { /* Dark Theme (Default) - Slightly lighter */ --color-bg-primary: #1b1d27; /* Much darker primary background */ --color-bg-secondary: #2d303f; /* Darker secondary background */ --color-bg-tertiary: #2c3041; /* Darker tertiary */ --color-bg-header: #10121b; /* Darker header */ --color-bg-note: rgba(30, 32, 40, 0.85); /* Slightly darker note background */ --color-bg-hover: rgba(120, 140, 255, 0.12); /* More visible hover */ --color-bg-note-dark: rgba(40, 35, 30, 0.85); /* Slightly darker note box */ --color-text-primary: #a5a5a5; /* Brighter text */ --color-text-secondary: #bfc8d8; /* Lighter secondary text */ --color-text-accent: #7ecbff; /* Brighter accent */ --color-text-light: #ffffff; --color-border-primary: #23263a; /* Stronger border for contrast */ --color-border-accent: #3a7bd5; /* Brighter accent border */ --color-link: #7ecbff; --color-link-hover: #ffffff; /* Shadow and transparency values - unchanged */ --shadow-small: 0 2px 5px rgba(0, 0, 0, 0.3); --shadow-medium: 0 3px 8px rgba(0, 0, 0, 0.5); --shadow-large: 0 4px 12px rgba(0, 0, 0, 0.6); /* Common opacity values */ --opacity-sidenav: 0.85; /* Increased opacity for better contrast */ /* Font families with improved Inter setup */ --font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-family-code: 'JetBrains Mono', 'Monaco', 'Cascadia Code', monospace; --font-family-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; /* Responsive margins - unchanged */ --margin-left: 20%; --margin-xlarge: 10%; --margin-large: 8%; --margin-medium: 8%; --margin-small: 5%; /* Scrollbar colors */ --color-scrollbar-track: rgba(20, 22, 28, 0.8); --color-scrollbar-thumb-start: #4c5260; --color-scrollbar-thumb-end: #323642; --color-scrollbar-thumb-hover-start: #5a606e; --color-scrollbar-thumb-hover-end: #4c5260; --color-scrollbar-shadow: rgba(90, 96, 110, 0.3); --color-scrollbar-shadow-hover: rgba(90, 96, 110, 0.5); /* New variables for gradients, shadows, and navigation accent */ --gradient-header: linear-gradient(135deg, var(--color-bg-header) 0%, var(--color-bg-secondary) 70%, var(--color-bg-header-accent) 100%); --color-bg-header-accent: #2a2620; --color-logo-gradient: linear-gradient(120deg, #5caaff, #a0e8ff, #ffffff); --color-text-subTitle: #4a576f; /* Lighter subtitle text */ --color-nav-underline: #b0a890; --color-nav-underline-glow: rgba(176, 168, 144, 0.6); --color-nav-hover-bg: var(--color-bg-hover); --color-nav-hover-text: #ffffff; --color-nav-hover-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); --color-inline-code: #3498db; /* Heading colors */ --color-heading-h1: #8fc6ff; --color-heading-h2: #b3e0ff; --color-heading-h3: #c9e6ff; --color-heading-h1-border: #8fc6ff; --color-heading-h2-border: #b3e0ff; } [data-theme="light"] { --color-bg-primary: #e0e0e0; --color-bg-secondary: #b6b6b6; --color-bg-tertiary: #b6b6b6; --color-bg-header: #d3d3d3; --color-bg-note: rgba(215, 228, 245, 0.75); --color-bg-hover: rgba(100, 120, 200, 0.1); --color-bg-note-dark: rgba(235, 240, 250, 0.7); --color-text-primary: #151720; --color-text-secondary: #2a2e40; --color-text-accent: #3050b0; --color-text-light: #2a2e40; --color-border-primary: #496cb3; --color-border-accent: #1d46ee; --color-link: #3050b0; --color-link-hover: #4060c0; /* Shadow values adjusted for light theme */ --shadow-small: 0 2px 5px rgba(0, 0, 0, 0.15); --shadow-medium: 0 3px 8px rgba(0, 0, 0, 0.2); --shadow-large: 0 4px 12px rgba(0, 0, 0, 0.25); /* Common opacity values */ --opacity-sidenav: 0.92; /* Scrollbar colors */ --color-scrollbar-track: rgba(220, 225, 240, 0.8); --color-scrollbar-thumb-start: #5c75d9; --color-scrollbar-thumb-end: #a0b0e0; --color-scrollbar-thumb-hover-start: #3050b0; --color-scrollbar-thumb-hover-end: #5c75d9; --color-scrollbar-shadow: rgba(48, 80, 176, 0.2); --color-scrollbar-shadow-hover: rgba(48, 80, 176, 0.4); /* New variables for gradients, shadows, and navigation accent */ --gradient-header: linear-gradient(135deg, var(--color-bg-header) 0%, var(--color-bg-secondary) 70%, var(--color-bg-header-accent) 100%); --color-bg-header-accent: #f5e9d2; --color-logo-gradient: linear-gradient(120deg, #225a9e, #3578c7, #70aaff); --color-nav-underline: #e0cfa0; --color-nav-underline-glow: rgba(224, 207, 160, 0.4); --color-nav-hover-bg: var(--color-bg-hover); --color-nav-hover-text: var(--color-text-primary); --color-nav-hover-shadow: 0 4px 8px rgba(48, 80, 176, 0.15); /* Heading colors for light theme */ --color-heading-h1: #225a9e; --color-heading-h2: #3578c7; --color-heading-h3: #4a90e2; --color-heading-h1-border: #225a9e; --color-heading-h2-border: #3578c7; } html { background-color: var(--color-bg-primary); height: 100%; scroll-behavior: smooth; } body { color: var(--color-text-primary); font-family: var(--font-family-primary); margin: 0; padding: 0; height: 100%; display: flex; flex-direction: column; font-size: 16px; line-height: 1.65; /* Increased for better Inter readability */ font-weight: 500; /* Medium weight for substantial feel */ letter-spacing: 0.015em; /* Slightly more spacing for better readability */ font-feature-settings: "cv02", "cv03", "cv04", "cv11"; /* Better Inter alternates */ transition: background-color 0.3s ease, color 0.3s ease; } a { color: var(--color-link); text-decoration: none; } a:hover { color: var(--color-link-hover); text-decoration: underline; } header { background: var(--gradient-header); box-shadow: var(--shadow-medium); } .header-box { padding: 1em; margin-left: var(--margin-left); min-height: 5em; display: flex; flex-direction: row; justify-content: start; align-items: center; margin-bottom: 0%; position: relative; padding: 0 0; } .header-right { width: auto; margin-left: 10em; display: flex; justify-content: space-between; align-items: center; } .logo { font-size: 2.5em; font-weight: 600; background: var(--color-logo-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: var(--shadow-small); transition: all 0.3s ease; } .subTitle { position: relative; left: -5.5rem; top: 1.7rem; color: var(--color-text-subTitle); text-wrap: nowrap;; } .logo:hover { transform: scale(1.03); filter: brightness(1.1); text-decoration: none; } header nav { display: flex; flex-direction: row; align-items: center; gap: 1.2rem; } nav { display: flex; align-items: center; } header nav a { position: relative; color: var(--color-text-primary); font-weight: 500; padding: 0.6em 1em; border-radius: 6px; transition: all 0.25s ease-in-out; letter-spacing: 0.02em; } header nav a:hover { color: var(--color-nav-hover-text); background-color: var(--color-nav-hover-bg); transform: translateY(-2px); box-shadow: var(--color-nav-hover-shadow); text-decoration: none; } header nav a::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background-color: var(--color-nav-underline); transition: width 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s, background-color 0.3s; transform: translateX(-50%); box-shadow: 0 0 6px var(--color-nav-underline-glow); pointer-events: none; } header nav a:hover::after { width: 80%; } .dropdown { position: relative; display: flex; flex-wrap: wrap; flex-direction: column; } .dropdown-content { display: flex; flex-direction: column; position: absolute; overflow: hidden; top: 100%; /* Position below the dropdown */ left: 0; /* Align left edge */ min-width: 160px; background-color: var(--color-bg-secondary); box-shadow: var(--shadow-medium); z-index: 1; border-radius: 8px; max-height: 0px; transition: all 1.5s ease; } .dropdown:hover .dropdown-content { max-height: 200px; } header.collapsible { cursor: pointer; position: relative; } header.collapsible::after { content: '\25BC'; /* Downward arrow */ position: absolute; right: 0; font-size: 0.8em; color: var(--color-text-light); } header.collapsible.collapsed::after { content: '\25B6'; /* Rightward arrow */ } h2.collapsible, h3.collapsible { cursor: pointer; position: relative; } h2.collapsible::before, h3.collapsible::before { content: ''; margin-right: 0; width: 0; display: none; } h2.collapsible.collapsed::before, h3.collapsible.collapsed::before { content: ''; display: none; } footer { padding-left: var(--margin-left); background-color: var(--color-bg-header); color: var(--color-text-primary); padding-top: 1em; padding-bottom: 1em; } main { flex: 1; position: relative; } /* Side navigation styles */ .reference-container { display: block; /* Change from flex since sidebar is now fixed */ margin-top: 2em; margin-left: var(--margin-left); position: relative; /* Ensure the container doesn't interfere with sticky positioning */ overflow: visible; height: auto; } .side-nav { width: 200px; min-width: 200px; padding-left: 0; overflow-y: auto; border-right: none; position: fixed; top: 7em; /* Account for header height (5em) + spacing (2em) */ left: var(--margin-left); max-height: calc(100vh - 9em); /* Account for header + top spacing */ z-index: 10; /* Ensure proper stacking context */ transform: translateZ(0); will-change: transform; } .side-nav ul { list-style-type: none; padding-left: 0.5em; margin-top: 0.5em; } .side-nav li { margin-bottom: 0.5em; } .side-nav a { color: var(--color-text-primary); text-decoration: none; padding: 0.5em 1em;; } .side-nav a:hover, .side-nav a.active { background: linear-gradient(90deg, var(--color-border-accent) 0 6px, var(--color-bg-hover) 6px 100%); font-weight: bold; border-radius: 4px; color: var(--color-link-hover); text-decoration: none; transition: background 0.2s, color 0.2s; } .side-nav a.active { background: linear-gradient(90deg, var(--color-border-accent) 0 6px, var(--color-bg-hover) 6px 100%); font-weight: bold; border-radius: 4px; color: var(--color-link-hover); text-decoration: none; transition: background 0.2s, color 0.2s; } .side-nav-h2 { color: var(--color-text-primary); font-weight: bold; } .side-nav-h3 { color: var(--color-text-primary); padding-left: 1em; font-size: 0.9em; } .side-nav-h4 { margin-top: 0; margin-bottom: 0.5em; font-size: 0.75em; } .content-wrapper { flex: 1; max-width: 70%; margin-left: 220px; /* Account for fixed sidebar width + gap */ border-left: 2px solid var(--color-border-accent); padding-left: 1.5em; padding-bottom: 20vh; /* Allow last section to scroll to top */ } /* Heading styles */ h1, h2, h3, h4, h5, h6 { margin-top: 1.5em; margin-bottom: 0.8em; color: var(--color-text-secondary); font-family: var(--font-family-heading); font-weight: 600; line-height: 1.3; } h1 { font-size: 2.2em; color: var(--color-heading-h1); font-weight: 700; text-shadow: 0 1px 4px rgba(143,198,255,0.08); letter-spacing: 0.01em; border-bottom: 1.5px solid var(--color-heading-h1-border); padding-bottom: 0.3em; } h2 { font-size: 1.8em; color: var(--color-heading-h2); font-weight: 600; text-shadow: 0 1px 2px rgba(179,224,255,0.07); letter-spacing: 0.005em; border-bottom: 1px solid var(--color-heading-h2-border); padding-bottom: 0.2em; } h3 { font-size: 1.4em; color: var(--color-heading-h3); font-weight: 600; text-shadow: 0 1px 1px rgba(201,230,255,0.06); letter-spacing: 0.005em; } h4 { font-size: 1.2em; } p { margin-bottom: 1.2em; } /* List styling for better readability */ ul, ol { margin: 1em 0 1.5em 0; padding-left: 2em; } li { margin-bottom: 0.5em; } /* Add better spacing between sections */ main > section { margin-bottom: 2em; } /* Improve table styling if tables are used */ table { border-collapse: collapse; width: 100%; margin: 1.5em 0; overflow-x: auto; display: block; } th, td { padding: 0.75em 1em; border: 1px solid var(--color-border-primary); } th { background-color: var(--color-bg-secondary); font-weight: bold; } /* Note boxes */ .note { background: linear-gradient(to right, rgba(60, 50, 40, 0.7), rgba(50, 45, 40, 0.55)); border-left: 4px solid var(--color-border-accent); padding: 1em 1.2em; margin: 1.8em 0; border-radius: 0 8px 8px 0; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15); } .note p:last-child { margin-bottom: 0; } /* Enhanced note component styles */ .note-title { margin-top: 0; margin-bottom: 0.8em; font-size: 1.1em; font-weight: 600; color: var(--color-text-accent); border-bottom: 1px solid rgba(126, 203, 255, 0.3); padding-bottom: 0.3em; } /* Note type variations */ .note-warning { background: linear-gradient(to right, rgba(80, 60, 30, 0.7), rgba(70, 55, 30, 0.55)); border-left-color: #f39c12; } .note-warning .note-title { color: #f39c12; border-bottom-color: rgba(243, 156, 18, 0.3); } .note-info { background: linear-gradient(to right, rgba(30, 60, 80, 0.7), rgba(25, 55, 75, 0.55)); border-left-color: #3498db; } .note-info .note-title { color: #3498db; border-bottom-color: rgba(52, 152, 219, 0.3); } .note-success { background: linear-gradient(to right, rgba(30, 80, 40, 0.7), rgba(25, 75, 35, 0.55)); border-left-color: #27ae60; } .note-success .note-title { color: #27ae60; border-bottom-color: rgba(39, 174, 96, 0.3); } .note-danger { background: linear-gradient(to right, rgba(80, 30, 30, 0.7), rgba(75, 25, 25, 0.55)); border-left-color: #e74c3c; } .note-danger .note-title { color: #e74c3c; border-bottom-color: rgba(231, 76, 60, 0.3); } /* Image styling */ img { max-width: 100%; height: auto; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } /* Code styling */ code, pre { font-family: var(--font-family-code); font-size: 0.9em; } /* Block code styling */ .custom-code-block { background: linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%); border: 1px solid var(--color-border-primary); border-radius: 8px; padding: 1.2em; margin: 1.5em 0; overflow-x: auto; box-shadow: var(--shadow-small); position: relative; } .custom-code-block code { background: none; padding: 0; border: none; border-radius: 0; font-size: 0.85em; line-height: 1.5; color: var(--color-text-secondary); } /* Inline code styling */ code.custom-inline-code { background: var(--color-bg-secondary) !important; border: 1px solid var(--color-border-primary); border-radius: 4px; padding: 0.2em 0.4em; font-size: 0.85em; color: var(--color-inline-code) !important; font-weight: 500; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); display: inline; white-space: nowrap; font-family: var(--font-family-code) !important; } /* Variable highlighting within inline code */ .inline-var { color: var(--color-text-accent); font-weight: 600; background: rgba(126, 203, 255, 0.1); padding: 0.1em 0.2em; border-radius: 2px; border: 1px solid rgba(126, 203, 255, 0.2); } /* Prism.js compatibility - override default styles */ .custom-code-block .token.variable { color: var(--color-text-accent) !important; } .custom-code-block .token.string { color: #a3d977 !important; } .custom-code-block .token.keyword { color: #ff7aa3 !important; } .custom-code-block .token.function { color: #78dce8 !important; } .custom-code-block .token.comment { color: #727072 !important; font-style: italic; } /* Custom Scrollbar - Enhanced version */ ::-webkit-scrollbar { width: 12px; height: 12px; } ::-webkit-scrollbar-track { background: var(--color-scrollbar-track); border-radius: 10px; box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.4); } ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, var(--color-scrollbar-thumb-start), var(--color-scrollbar-thumb-end)); border-radius: 10px; border: 2px solid var(--color-scrollbar-track); box-shadow: 0 0 3px var(--color-scrollbar-shadow); transition: all 0.3s ease; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(to bottom, var(--color-scrollbar-thumb-hover-start), var(--color-scrollbar-thumb-hover-end)); border-width: 1px; box-shadow: 0 0 5px var(--color-scrollbar-shadow-hover); } ::-webkit-scrollbar-corner { background: var(--color-bg-header); } /* Firefox scrollbar styling */ * { scrollbar-width: thin; scrollbar-color: var(--color-border-accent) var(--color-scrollbar-track); } /* Responsive layout adjustments */ @media screen and (max-width: 1500px) { :root { --margin-left: var(--margin-xlarge); } } /* Responsive layout adjustments */ @media screen and (max-width: 1200px) { :root { --margin-left: var(--margin-large); } } @media screen and (max-width: 900px) { :root { --margin-left: var(--margin-small); } .side-nav { display: none; } .content-wrapper { margin-left: 0; max-width: 100%; } .reference-container { margin-left: var(--margin-small); } } /* Mobile responsive styles */ @media screen and (max-width: 768px) { :root { --margin-left: 1em; } .side-nav { display: none; /* Hide side navigation on mobile devices */ } .content-wrapper { width: 100%; /* Make content take full width */ margin-left: 0; max-width: 100%; } .reference-container { margin-left: 1em; } main { margin-left: 5%; margin-right: 5%; padding-left: 5%; padding-right: 5%; } header { padding-left: 5%; padding-right: 5%; flex-direction: column; align-items: center; min-height: auto; padding-top: 1em; padding-bottom: 1em; } header nav { margin-left: 0; margin-top: 1em; flex-wrap: wrap; justify-content: center; } } .table-no-style { border-collapse: collapse; gap: 0px; } .table-no-style > tr,td { border: none; padding: 0px; padding-left: 1rem; margin: none; } /* Theme Toggle Button */ .theme-toggle { background: none; border: none; color: var(--color-text-primary); cursor: pointer; font-size: 1.2rem; margin-left: 15px; padding: 5px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background-color: var(--color-bg-tertiary); transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } .theme-toggle:hover { background-color: var(--color-bg-hover); transform: translateY(-2px); box-shadow: 0 4px 8px rgba(100, 130, 255, 0.3); } .theme-toggle svg { width: 20px; height: 20px; fill: var(--color-text-primary); transition: all 0.3s ease; } .theme-toggle:hover svg { fill: var(--color-text-accent); }