/*
* LittleLink
* https://littlelink.io
* Free to use under the MIT license
* http://www.opensource.org/licenses/mit-license.php
*/

/* Base Typography Settings
–––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
	font-size:16px;
}

/* Sidebar Toggle Button (Mobile) */
.sidebar-toggle {
	display:none;
	position:fixed;
	top:var(--spacing-m);
	left:var(--spacing-m);
	width:3rem;
	height:3rem;
	border-radius:0.5rem;
	border:1px solid #e0e0e0;
	background-color:#ffffff;
	cursor:pointer;
	z-index:1001;
	box-shadow:0 2px 8px rgba(0,0,0,0.1);
	transition:all 0.3s ease;
	box-sizing:border-box;
	align-items:center;
	justify-content:center;
}

.sidebar-toggle:hover {
	background-color:#f5f5f5;
	border-color:#2457F5;
}

.sidebar-toggle-icon {
	font-size:1.5rem;
	line-height:1;
}

/* Theme Toggle
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.theme-toggle {
	width:2.5rem;
	height:2.5rem;
	border-radius:0.5rem;
	border:1px solid #e0e0e0;
	background-color:transparent;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.25rem;
	transition:all 0.2s ease;
	box-sizing:border-box;
	padding:0;
	flex-shrink:0;
}

.theme-toggle:hover {
	background-color:#e8e8e8;
	border-color:#2457F5;
}

.theme-toggle:active {
	transform:scale(0.95);
}

.theme-toggle-icon {
	display:block;
	line-height:1;
}

/* Main Wrapper for Sidebar Layout
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.main-wrapper {
	display:flex;
	flex-direction:row;
	min-height:100vh;
	width:100%;
	margin:0;
	padding:0;
	box-sizing:border-box;
}

/* Sidebar
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.sidebar {
	width:250px;
	min-width:200px;
	padding:0;
	background-color:#f5f5f5;
	border-right:1px solid #e0e0e0;
	position:sticky;
	top:0;
	height:100vh;
	overflow-y:auto;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}

.sidebar h2 {
	margin:0;
	padding:var(--spacing-m) var(--spacing-m) var(--spacing-xs) var(--spacing-m);
	font-size:var(--scale-2);
	font-weight:700;
	text-align:center;
}

.sidebar-description {
	margin:0;
	padding:0 var(--spacing-m) var(--spacing-m) var(--spacing-m);
	font-size:var(--scale-0);
	color:#666666;
	text-align:center;
	line-height:1.5;
}

/* View Mode Toggle */
.view-mode-toggle {
	padding:0 var(--spacing-m) var(--spacing-m) var(--spacing-m);
	flex-shrink:0;
	display:flex;
	gap:var(--spacing-xs);
	align-items:stretch;
}

.view-mode-btn {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:var(--spacing-xs);
	flex:1;
	padding:var(--spacing-xs) var(--spacing-s);
	font-size:var(--scale-0);
	font-weight:600;
	background-color:transparent;
	color:#666666;
	border:1px solid #e0e0e0;
	border-radius:0.5rem;
	cursor:pointer;
	transition:all 0.2s ease;
	box-sizing:border-box;
}

.view-mode-btn:hover {
	background-color:#e8e8e8;
	border-color:#e0e0e0;
}

.view-mode-btn.active {
	background-color:#2457F5;
	border-color:#2457F5;
	color:#ffffff;
}

.view-mode-icon {
	font-size:1rem;
	line-height:1;
}

.view-mode-text {
	font-size:var(--scale-0);
}

/* Category Dropdown (Mobile) */
.category-dropdown {
	display:none;
	width:100%;
	max-width:100%;
	padding:var(--spacing-s) var(--spacing-m);
	font-size:var(--scale-0);
	font-weight:600;
	font-family:"Outfit",system-ui,sans-serif;
	background-color:#ffffff;
	color:#1a1a1a;
	border:1px solid #e0e0e0;
	border-radius:0.5rem;
	cursor:pointer;
	margin:0 var(--spacing-m) var(--spacing-m) var(--spacing-m);
	box-sizing:border-box;
}

.category-nav {
	display:flex;
	flex-direction:column;
	gap:calc(var(--spacing-xs) * 0.5);
	flex:1;
	justify-content:flex-start;
	align-items:stretch;
	padding:0 var(--spacing-m);
	min-height:0;
	margin-bottom:var(--spacing-s);
}

.category-btn {
	display:block;
	width:100%;
	padding:var(--spacing-s) var(--spacing-m);
	font-size:calc(var(--scale-0) * 1);
	font-weight:600;
	text-align:left;
	background-color:transparent;
	color:#1a1a1a;
	border:1px solid transparent;
	border-radius:0.5rem;
	cursor:pointer;
	transition:all 0.2s ease;
	box-sizing:border-box;
}

.category-btn:hover {
	background-color:#e8e8e8;
}

.category-btn.active {
	background-color:#2457F5;
	color:#ffffff;
	border-color:#2457F5;
}

.category-btn.active:hover {
	background-color:#083BDA;
	color:#ffffff;
}

/* Category Groups and Subcategories */
.category-group {
	margin-bottom:0;
}

.category-parent {
	position:relative;
}

.category-parent::after {
	content:'▶';
	position:absolute;
	right:var(--spacing-s);
	font-size:0.75rem;
	transition:transform 0.2s ease;
}

.category-parent.expanded::after {
	transform:rotate(90deg);
}

.subcategory-nav {
	max-height:0;
	overflow:hidden;
	transition:max-height 0.3s ease;
	margin-left:var(--spacing-m);
	margin-top:var(--spacing-xs);
}

.category-group.expanded .subcategory-nav {
	max-height:500px;
}

.subcategory-btn {
	display:block;
	width:100%;
	padding:var(--spacing-xs) var(--spacing-s);
	font-size:0.875rem;
	font-weight:500;
	text-align:left;
	background-color:transparent;
	color:#666666;
	border:1px solid transparent;
	border-radius:0.375rem;
	cursor:pointer;
	transition:all 0.2s ease;
	box-sizing:border-box;
	margin-bottom:var(--spacing-xs);
}

.subcategory-btn:hover {
	background-color:#e8e8e8;
	color:#2457F5;
}

.subcategory-btn.active {
	background-color:#e0e8ff;
	color:#2457F5;
	border-color:#2457F5;
}

/* Sidebar Footer */
.sidebar footer {
	margin-top:auto;
	margin-bottom:0;
	padding:var(--spacing-m) var(--spacing-m) var(--spacing-xl) var(--spacing-m);
	font-size:calc(var(--scale-0) * 0.85);
	line-height:1.3;
	text-align:left;
	border-top:1px solid #e0e0e0;
	flex-shrink:0;
}

/* Pyramid Container */
.pyramid-container {
	position:relative;
	width:100%;
	flex:1;
	max-width:none;
	text-align:center;
	margin:0;
	padding:3rem var(--spacing-m) 0 var(--spacing-m);
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
}

.pyramid-content {
	width:100%;
	max-width:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
}

.pyramid-stack {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	width:100%;
	max-width:100%;
	margin:var(--spacing-xl) auto;
	padding:0;
	box-sizing:border-box;
	gap:0.5rem;
}

.pyramid-row {
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:0.75rem;
	width:100%;
	margin:0 auto;
}

.pyramid-stack .button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:3rem;
	padding:0.75rem 1rem;
	font-size:1.125rem;
	font-weight:700;
	text-decoration:none;
	white-space:normal;
	background-color:var(--button-background,transparent);
	color:var(--button-text,#000000);
	border:var(--button-border,none);
	border-radius:0.5rem;
	cursor:pointer;
	box-sizing:border-box;
	margin:0;
	text-align:center;
	line-height:1.3;
	transition:transform 0.2s ease, box-shadow 0.2s ease;
	width:18.75rem;
	flex-shrink:0;
}

.pyramid-stack .button:hover {
	transform:translateY(-2px);
	box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

/* Responsive pyramid */
@media (max-width:768px) {
	.pyramid-stack .button {
		width:100% !important;
		max-width:18.75rem;
	}
	.pyramid-row {
		flex-direction:column;
	}
}

/* Home button styling */
.category-btn.home-btn {
	background-color:#2457F5;
	color:#ffffff;
	border-color:#2457F5;
	margin-bottom:0.5rem;
}

.category-btn.home-btn:hover {
	background-color:#083BDA;
	color:#ffffff;
}

.category-btn.home-btn.active {
	background-color:#083BDA;
}

/* Last button with rajan.DEV link - different styling */
.category-btn.home-btn:last-of-type {
	background-color:#dc2626;
	border-color:#dc2626;
	color:#ffffff;
	margin-top:auto;
	margin-bottom:0;
	font-size:calc(var(--scale-0) * 1.15);
}

.category-btn.home-btn:last-of-type:hover {
	background-color:#dc2626;
	border-color:#dc2626;
	color:#ffffff;
}

.category-btn.home-btn:last-of-type a {
	color:inherit;
	text-decoration:none;
	display:block;
	width:100%;
	height:100%;
}

.category-btn.home-btn:last-of-type:hover a {
	color:inherit;
}

:root.theme-dark .category-btn.home-btn {
	background-color:#4899F7;
	color:#ffffff;
	border-color:#4899F7;
}

:root.theme-dark .category-btn.home-btn:hover {
	background-color:#7AB8FF;
	color:#ffffff;
}

:root.theme-dark .category-btn.home-btn.active {
	background-color:#7AB8FF;
}

:root.theme-dark .category-btn.home-btn:last-of-type {
	background-color:#dc2626;
	border-color:#dc2626;
	color:#ffffff;
}

:root.theme-dark .category-btn.home-btn:last-of-type:hover {
	background-color:#dc2626;
	border-color:#dc2626;
	color:#ffffff;
}

:root.theme-dark .category-btn.home-btn:last-of-type a {
	color:#ffffff;
}

:root.theme-dark .category-btn.home-btn:last-of-type:hover a {
	color:#ffffff;
}

/* Button Stack - List View (default) */
.button-stack {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:1rem;
	width:100%;
	max-width:100%;
	margin:0 auto;
	padding:0 var(--spacing-m);
	box-sizing:border-box;
}

/* Button Stack - Grid View */
.button-stack.grid-view {
	display:grid !important;
	flex-direction:unset;
	align-items:unset;
	grid-template-columns:repeat(3,1fr);
	justify-items:start;
	row-gap:1rem;
	column-gap:0.25rem;
	width:80%;
	margin:0 auto;
	padding:0;
}

.button-stack.grid-view .button {
	width:100%;
	max-width:280px;
	margin-bottom:0;
}

.button-stack .button {
	margin-bottom:0;
}

/* Responsive Grid */
@media (max-width:1024px) {
	.button-stack.grid-view {
		grid-template-columns:1fr;
		width:80%;
		margin:0 auto;
		padding:0;
	}
	.button-stack.grid-view .button {
		max-width:100%;
	}
}

@media (max-width:768px) {
	.button-stack.grid-view {
		grid-template-columns:1fr;
		width:100%;
		column-gap:0.5rem;
		padding:0 var(--spacing-m);
	}
	.button-stack.grid-view .button {
		max-width:100%;
	}
}

@media (max-width:480px) {
	.button-stack.grid-view {
		grid-template-columns:1fr;
		width:100%;
		padding:0 var(--spacing-m);
	}
	.button-stack.grid-view .button {
		max-width:100%;
	}
}

/* Section Description */
.column .section-description {
	margin-left:auto !important;
	margin-right:auto !important;
	margin-top:0;
	margin-bottom:var(--spacing-l);
	padding-left:var(--spacing-m);
	padding-right:var(--spacing-m);
	padding-top:0;
	padding-bottom:0;
	font-size:var(--scale-1);
	line-height:1.6;
	color:#666666;
	text-align:center !important;
	max-width:37.5rem;
	width:100%;
	box-sizing:border-box;
	display:block;
	clear:both;
}

/* Content Separator */
.content-separator {
	border:none;
	border-top:1px solid #e0e0e0;
	width:100%;
	max-width:37.5rem;
	margin:var(--spacing-xl) auto;
	padding:0;
}

/* Subcategory Tabs */
.subcategory-tabs {
	margin-top:var(--spacing-l);
	margin-bottom:var(--spacing-xl);
	border-bottom:2px solid #e0e0e0;
	width:100%;
	max-width:37.5rem;
	margin-left:auto;
	margin-right:auto;
}

.tabs-header {
	display:flex;
	gap:0;
	border-bottom:2px solid #e0e0e0;
	margin-bottom:var(--spacing-m);
}

.tab-btn {
	padding:var(--spacing-s) var(--spacing-l);
	font-size:var(--scale-1);
	font-weight:600;
	background-color:transparent;
	color:#666666;
	border:none;
	border-bottom:3px solid transparent;
	cursor:pointer;
	transition:all 0.2s ease;
	box-sizing:border-box;
	position:relative;
	bottom:-2px;
}

.tab-btn:hover {
	background-color:#f5f5f5;
}

.tab-btn.active {
	color:#2457F5;
	border-bottom-color:#2457F5;
	background-color:transparent;
}

.tab-content {
	padding:var(--spacing-m) 0;
}

.tab-pane {
	display:none;
}

.tab-pane.active {
	display:block;
}

.tab-pane h3 {
	font-size:var(--scale-2);
	font-weight:700;
	margin-bottom:var(--spacing-s);
	color:#1a1a1a;
}

.tab-pane p {
	font-size:var(--scale-1);
	line-height:1.6;
	color:#666666;
	margin:0;
}

/* Grid
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .container {
	position:relative;
	width:100%;
	flex:1;
	max-width:none;
    text-align:center;
	margin:0;
	padding:3rem var(--spacing-m) 0 var(--spacing-m);
	box-sizing:border-box;
}
.container-left {
	position:relative;
	width:100%;
	max-width:37.5rem;
	text-align:left;
	margin:0 auto;
	padding:0 1.25rem;
	box-sizing:border-box;
}
.container-left p {
	margin-bottom: 1rem;  				/* 16px space between paragraphs */
  }
.column {
	position:center;
	width:100%;
	float:center;
	box-sizing:border-box;
}
/* For devices larger than 400px */
  @media (min-width:25rem) {            /* 400px */
    .container {
	width:85%;
	padding-left:0;
	padding-right:0;
}
}/* For devices larger than 550px */
  @media (min-width:34.375rem) {        /* 550px */
    .container {
	width:80%;
}
.column,.columns {
	margin-left:0;
}
.column:first-child,.columns:first-child {
	margin-left:0;
}
}

/* Base Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  body {
	margin:0;
	padding:0;
	background-color:#ffffff;
	color:#1a1a1a;
	font-family:"Outfit",system-ui,sans-serif;
	font-size:1.125rem;     				/* 18px */
    font-weight:400;
	line-height:1.6;
}

/* Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  h1 {
	margin:0 0 0.5rem 0;
	font-size:3rem;         		/* 48px */
    font-weight:800;
	line-height:1;
	letter-spacing:0;
	word-wrap:break-word;
	overflow-wrap:break-word;
	hyphens:auto;           		/* Delete this to remove automatic hyphen on line break */
}
.container p {
	margin:0 0 2rem 0;
}

/* Base Typography Settings
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Base size - 16px browser default */
:root {
  font-size:16px;           /* Using a 1.25 modular scale for typography */
  --scale-0:1rem;           /* 16px */
  --scale-1:1.25rem;        /* 20px */
  --scale-2:1.563rem;       /* 25px */
  --scale-3:1.953rem;       /* 31px */
  --scale-4:2.441rem;       /* 39px */
  --scale-5:3.052rem;       /* 49px */

  /* Spacing units */
  --spacing-xs:0.5rem;      /* 8px */
  --spacing-s:1rem;         /* 16px */
  --spacing-m:1.5rem;       /* 24px */
  --spacing-l:2rem;         /* 32px */
  --spacing-xl:3rem;        /* 48px */
  --spacing-xxl:4rem;       /* 64px */
}

/* Avatar */
.avatar {
	width: 8rem;             /* 128px */
	height: 8rem;
	border-radius: 50%;
	object-fit: cover;
	background-position: center;
	margin-bottom: var(--spacing-l);
	margin-left: auto;
	margin-right: auto;
	display: block;
  }

/* Typography Scale */
h1 {
	margin:0 0 var(--spacing-m) 0;
	font-size:var(--scale-5);           /* ~49px */
  	font-weight:800;
	line-height:1.1;
	letter-spacing:-0.02em;
	word-wrap:break-word;
	overflow-wrap:break-word;
}
body {
	font-size:var(--scale-1);           /* 20px */
  	line-height:1.6;
}
.container p {
	margin:0 0 var(--spacing-xl) 0;
	font-size:var(--scale-1);
	line-height:1.6;
}

/* Container spacing */
.container {
	padding:var(--spacing-xl) var(--spacing-m) 0 var(--spacing-m);
	text-align:center;
}

/* Footer */
footer {
	margin:var(--spacing-xxl) 0;            /* 4rem (64px) top and bottom */
    font-size:var(--scale-0);
}

/* Responsive adjustments */
@media (max-width:34.375rem) {              /* 550px */
  h1 {
	font-size:var(--scale-4);
}
body {
	font-size:var(--scale-0);
}
.container p {
	font-size:var(--scale-0);
}
.avatar {
	margin-bottom:var(--spacing-m);
}
footer {
	margin:var(--spacing-xl) 0;         	/* 3rem (48px) top and bottom */
}
}

/* Links
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  a {
	color:#2457F5;
	text-decoration:underline;
}
a:hover {
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:18.75rem;             	/* 300px */
 	min-height:3rem;                /* 48px */
  	padding:0.75rem 1rem;         	/* 12px ; 16px */
  	font-size:1.125rem;           	/* 18px */
  	font-weight:700;
	text-decoration:none;
	white-space:normal;
  	background-color:var(--button-background,transparent);
	color:var(--button-text,#000000);
	border:var(--button-border,none);
	border-radius:0.5rem;
	cursor:pointer;
	box-sizing:border-box;
	hyphens:auto;               	/* Delete this to remove automatic hyphen on line break */
  	margin-bottom:1rem;
	text-align:center;
	line-height:1.3;
}

/* Icons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.icon {
	width:1.25rem;
	height:1.25rem;
	margin-right:0.5rem;
	flex-shrink:0;
}

/* Avatar
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
.avatar {
	width: 8rem;             /* 128px */
	height: 8rem;
	object-fit: cover;
	background-position: center;
	margin-bottom: var(--spacing-l);
  }

   /* Modifier for no avatar rounding */
   .avatar--none {
	border-radius: 0%;
  }

  /* Modifier for rounded avatar */
  .avatar--rounded {
	border-radius: 50%;
  }

  /* Modifier for slightly rounded corners */
  .avatar--soft {
	border-radius: 0.5rem;   /* 8px rounded corners */
  }

/* Theme System
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Light theme is default above */

/* Dark theme */
:root.theme-dark {
	color-scheme:dark;
}
:root.theme-dark :focus-visible {
	outline: 2px solid #4899F7;
	outline-offset: 2px;
  }
:root.theme-dark body {
	background-color:#121212;
	color:#ffffff;
}
:root.theme-dark a:not(.button) {
	color:#4899F7;
}
:root.theme-dark a:not(.button):hover {
}
:root.theme-dark .sidebar {
	background-color:#1e1e1e;
	border-right-color:#333333;
}
:root.theme-dark .sidebar h2 {
	color:#ffffff;
}
:root.theme-dark .sidebar-description {
	color:#cccccc;
}
:root.theme-dark .category-btn {
	color:#ffffff;
}
:root.theme-dark .category-btn:hover {
	background-color:#333333;
	color:#4899F7;
}
:root.theme-dark .category-btn.active {
	background-color:#4899F7;
	color:#ffffff;
}
:root.theme-dark .category-btn.active:hover {
	background-color:#7AB8FF;
}
:root.theme-dark .sidebar footer {
	border-top-color:#333333;
}
:root.theme-dark .theme-toggle {
	background-color:transparent;
	border-color:#333333;
	color:#ffffff;
}
:root.theme-dark .theme-toggle:hover {
	background-color:#333333;
	border-color:#4899F7;
}
:root.theme-dark .sidebar-toggle {
	background-color:#1e1e1e;
	border-color:#333333;
	color:#ffffff;
}
:root.theme-dark .sidebar-toggle:hover {
	background-color:#2e2e2e;
	border-color:#4899F7;
}
:root.theme-dark .subcategory-btn {
	color:#cccccc;
}
:root.theme-dark .subcategory-btn:hover {
	background-color:#333333;
	color:#4899F7;
}
:root.theme-dark .subcategory-btn.active {
	background-color:#1a2d4d;
	color:#4899F7;
	border-color:#4899F7;
}
:root.theme-dark .view-mode-btn {
	color:#cccccc;
	border-color:#333333;
}
:root.theme-dark .view-mode-btn:hover {
	background-color:#333333;
	border-color:#4899F7;
	color:#4899F7;
}
:root.theme-dark .view-mode-btn.active {
	background-color:#4899F7;
	border-color:#4899F7;
	color:#ffffff;
}
:root.theme-dark .category-dropdown {
	background-color:#1e1e1e;
	color:#ffffff;
	border-color:#333333;
}
:root.theme-dark .category-dropdown option {
	background-color:#1e1e1e;
	color:#ffffff;
}
:root.theme-dark .section-description {
	color:#cccccc;
}
:root.theme-dark .content-separator {
	border-top-color:#333333;
}
:root.theme-dark .subcategory-tabs {
	border-bottom-color:#333333;
}
:root.theme-dark .tabs-header {
	border-bottom-color:#333333;
}
:root.theme-dark .tab-btn {
	color:#cccccc;
}
:root.theme-dark .tab-btn:hover {
	color:#4899F7;
	background-color:#2e2e2e;
}
:root.theme-dark .tab-btn.active {
	color:#4899F7;
	border-bottom-color:#4899F7;
}
:root.theme-dark .tab-pane h3 {
	color:#ffffff;
}
:root.theme-dark .tab-pane p {
	color:#cccccc;
}

/* Auto theme */
:root.theme-auto {
	color-scheme:light dark;
}
@media (prefers-color-scheme:dark) {
	:root.theme-auto body {
	background-color:#121212;
	color:#ffffff;
}
:root.theme-auto :focus-visible {
    outline: 2px solid #4899F7;
    outline-offset: 2px;
  }
:root.theme-auto a:not(.button) {
	color:#4899F7;
}
:root.theme-auto a:not(.button):hover {
}
:root.theme-auto .sidebar {
	background-color:#1e1e1e;
	border-right-color:#333333;
}
:root.theme-auto .sidebar h2 {
	color:#ffffff;
}
:root.theme-auto .sidebar-description {
	color:#cccccc;
}
:root.theme-auto .category-btn {
	color:#ffffff;
}
:root.theme-auto .category-btn:hover {
	background-color:#333333;
	color:#4899F7;
}
:root.theme-auto .category-btn.active {
	background-color:#4899F7;
	color:#ffffff;
}
:root.theme-auto .category-btn.active:hover {
	background-color:#7AB8FF;
}
:root.theme-auto .sidebar footer {
	border-top-color:#333333;
}
@media (prefers-color-scheme:dark) {
	:root.theme-auto .category-btn.home-btn:last-of-type {
		background-color:#dc2626;
		border-color:#dc2626;
		color:#ffffff;
	}
	:root.theme-auto .category-btn.home-btn:last-of-type:hover {
		background-color:#dc2626;
		border-color:#dc2626;
		color:#ffffff;
	}
	:root.theme-auto .category-btn.home-btn:last-of-type a {
		color:#ffffff;
	}
	:root.theme-auto .category-btn.home-btn:last-of-type:hover a {
		color:#ffffff;
	}
}
@media (prefers-color-scheme:dark) {
	:root.theme-auto .theme-toggle {
		background-color:transparent;
		border-color:#333333;
		color:#ffffff;
	}
	:root.theme-auto .theme-toggle:hover {
		background-color:#333333;
		border-color:#4899F7;
	}
	:root.theme-auto .sidebar-toggle {
		background-color:#1e1e1e;
		border-color:#333333;
		color:#ffffff;
	}
	:root.theme-auto .sidebar-toggle:hover {
		background-color:#2e2e2e;
		border-color:#4899F7;
	}
	:root.theme-auto .subcategory-btn {
		color:#cccccc;
	}
	:root.theme-auto .subcategory-btn:hover {
		background-color:#333333;
		color:#4899F7;
	}
	:root.theme-auto .subcategory-btn.active {
		background-color:#1a2d4d;
		color:#4899F7;
		border-color:#4899F7;
	}
	:root.theme-auto .section-description {
		color:#cccccc;
	}
	:root.theme-auto .content-separator {
		border-top-color:#333333;
	}
	:root.theme-auto .subcategory-tabs {
		border-bottom-color:#333333;
	}
	:root.theme-auto .tabs-header {
		border-bottom-color:#333333;
	}
	:root.theme-auto .tab-btn {
		color:#cccccc;
	}
	:root.theme-auto .tab-btn:hover {
		color:#4899F7;
		background-color:#2e2e2e;
	}
	:root.theme-auto .tab-btn.active {
		color:#4899F7;
		border-bottom-color:#4899F7;
	}
	:root.theme-auto .tab-pane h3 {
		color:#ffffff;
	}
	:root.theme-auto .tab-pane p {
		color:#cccccc;
	}
	:root.theme-auto .view-mode-btn {
		color:#cccccc;
		border-color:#333333;
	}
	:root.theme-auto .view-mode-btn:hover {
		background-color:#333333;
		border-color:#4899F7;
		color:#4899F7;
	}
	:root.theme-auto .view-mode-btn.active {
		background-color:#4899F7;
		border-color:#4899F7;
		color:#ffffff;
	}
	:root.theme-auto .category-dropdown {
		background-color:#1e1e1e;
		color:#ffffff;
		border-color:#333333;
	}
	:root.theme-auto .category-dropdown option {
		background-color:#1e1e1e;
		color:#ffffff;
	}
}

/* Button Text Color Override
    –––––––––––––––––––––––––––––––––––––––––––––––––– */
    .button:hover,button:hover {
	color:var(--button-text);
}

/* Responsive Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  @media (max-width:34.375rem) {            /* 550px */
    h1 {
	font-size:2rem;                         /* 32px */
	}
	body {
	font-size:1rem;                    		/* 16px */
	}
}

/* Privacy Page Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
nav {
	margin:var(--spacing-l) 0;
	text-align:left;
}
section {
	margin:var(--spacing-xl) 0;
	text-align:left;
}
h2 {
	font-size:var(--scale-3);
	font-weight:700;
	margin-bottom:var(--spacing-m);
}
h3 {
	font-size:var(--scale-2);
	font-weight:600;
	margin:var(--spacing-l) 0 var(--spacing-s) 0;
}
ul {
	list-style:none;
	padding:0;
	margin:0 0 var(--spacing-m) 0;
}
ul li {
	margin-bottom:var(--spacing-xs);
}

/* Privacy page specific responsive adjustments */
  @media (max-width:34.375rem) {
	h2 {
	font-size:var(--scale-2);
	}
	h3 {
	font-size:var(--scale-1);
	}
	section {
	margin:var(--spacing-l) 0;
	}
}

/* Responsive Sidebar
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width:1023px) {
	.sidebar-toggle {
		display:flex;
	}
	.main-wrapper {
		flex-direction:column;
		position:relative;
	}
	.sidebar {
		width:280px;
		height:100vh;
		position:fixed;
		top:0;
		left:0;
		padding:var(--spacing-m);
		border-right:1px solid #e0e0e0;
		justify-content:flex-start;
		transform:translateX(-100%);
		transition:transform 0.3s ease;
		z-index:1000;
		overflow-y:auto;
		box-shadow:2px 0 8px rgba(0,0,0,0.1);
	}
	.sidebar.expanded {
		transform:translateX(0);
	}
	.sidebar-overlay {
		position:fixed;
		top:0;
		left:0;
		width:100vw;
		height:100vh;
		background-color:rgba(0,0,0,0.5);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s ease;
		z-index:999;
	}
	.sidebar-overlay.active {
		opacity:1;
		pointer-events:all;
	}
	.sidebar h2 {
		font-size:var(--scale-1);
		margin-bottom:var(--spacing-s);
		padding:var(--spacing-s) var(--spacing-m);
		text-align:center;
	}
	.view-mode-toggle {
		padding:0 var(--spacing-m) var(--spacing-s) var(--spacing-m);
		gap:var(--spacing-xs);
	}
	.view-mode-btn {
		font-size:0.875rem;
		padding:var(--spacing-xs);
		flex:1;
	}
	.theme-toggle {
		width:2.5rem;
		height:auto;
		font-size:1rem;
	}
	.category-dropdown {
		display:block;
		width:calc(100% - 2 * var(--spacing-m));
		max-width:calc(100% - 2 * var(--spacing-m));
		box-sizing:border-box;
		margin:0 var(--spacing-m);
	}
	.category-nav {
		display:none;
	}
	.sidebar footer {
		text-align:center;
		margin-top:var(--spacing-m);
		padding:var(--spacing-m);
	}
	.container {
		padding:var(--spacing-l) var(--spacing-m) 0 var(--spacing-m);
	}
	.tabs-header {
		flex-wrap:wrap;
	}
	.tab-btn {
		flex:1;
		min-width:100px;
		padding:var(--spacing-xs) var(--spacing-s);
		font-size:var(--scale-0);
	}
	.tab-content {
		padding:var(--spacing-s) 0;
	}
	.button-stack {
		padding:0;
		width:100%;
		max-width:100%;
		display:flex;
		flex-direction:column;
		align-items:center;
	}
	.button-stack .button {
		width:100%;
		max-width:100%;
	}
	.container {
		padding:var(--spacing-l) var(--spacing-m) 0 var(--spacing-m);
		width:100%;
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		align-items:center;
	}
	.section-description {
		font-size:var(--scale-0);
		padding:0 var(--spacing-s);
	}
}

@media (max-width:480px) {
	.sidebar {
		padding:var(--spacing-s);
	}
	.sidebar h2 {
		font-size:var(--scale-0);
		padding:var(--spacing-xs) var(--spacing-s);
	}
	.view-mode-toggle {
		padding:0 var(--spacing-s) var(--spacing-xs) var(--spacing-s);
		gap:0.5rem;
	}
	.view-mode-btn {
		font-size:0.75rem;
		padding:0.5rem;
		flex:1;
	}
	.view-mode-icon {
		font-size:0.875rem;
	}
	.view-mode-text {
		font-size:0.75rem;
	}
	.theme-toggle {
		width:2rem;
		height:2rem;
		font-size:0.875rem;
	}
	.category-nav {
		padding:var(--spacing-xs) var(--spacing-s);
		gap:calc(0.5rem * 0.5);
	}
	.category-btn {
		min-width:100px;
		font-size:calc(0.75rem * 1.25);
		padding:0.5rem 0.75rem;
	}
	.container {
		padding:var(--spacing-m) var(--spacing-s) 0 var(--spacing-s);
		width:100%;
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		align-items:center;
	}
	.button-stack {
		width:100%;
		max-width:100%;
		padding:0 var(--spacing-s);
	}
	.avatar {
		width:6rem;
		height:6rem;
	}
	h1 {
		font-size:var(--scale-3);
	}
	.subcategory-tabs {
		margin-top:var(--spacing-m);
		margin-bottom:var(--spacing-l);
	}
	.section-description {
		font-size:var(--scale-0);
		margin-bottom:var(--spacing-m);
		padding:0 var(--spacing-s);
	}
	.tab-btn {
		font-size:0.75rem;
		padding:var(--spacing-xs);
		min-width:80px;
	}
	.theme-toggle {
		width:2rem;
		height:2rem;
		font-size:1rem;
		top:0.5rem;
		right:0.5rem;
	}
}

:root.theme-dark .sidebar {
	border-bottom-color:#333333;
}
:root.theme-auto .sidebar {
	border-bottom-color:#333333;
}

/* Font Face Definitions
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:400;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:600;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:700;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg');
}
@font-face {
	font-display:swap;
	font-family:'Open Sans';
	font-style:normal;
	font-weight:800;
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot');
	src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg');
}
