:root {
	--bg-shade1: rgba(255,255,255,1.00);
	--bg-shade2: rgba(245,245,245,1.00);
	--bg-shade3: rgba(245,245,245,0.50);
	--bg-shade4: rgba(205,205,205,0.10);
	--text-shade1: rgba(0,0,0,1.00);
	--text-shade2: rgba(0,0,0,0.75);
	--text-shade3: rgba(0,0,0,0.50);
	--text-shade4: rgba(0,0,0,0.25);
	--link-shade1: rgba(17,0,170,1.0);
	--link-shade2: rgba(35,17,188,1.0);
	--link-shade3: rgba(35,17,188,0.5);
	--shadow-shade1: rgba(0,0,0,0.25);
	--shadow-shade2: rgba(0,0,0,0.10);
	--highlight-shade1: rgba(0,0,0,1.00);
	--highlight-shade2: rgba(0,0,0,0.25);
	--highlight-shade3: rgba(0,0,0,0.10);
	--highlight-shade4: rgba(0,0,0,0.05);
	--grad: linear-gradient(180deg, #000000, #222222);
	--clear: rgba(0,0,0,0);
	
	/* Button-specific variables */
	--button-bg: var(--bg-shade2);
	--button-text: var(--text-shade1);
	--button-border: rgba(0, 0, 0, 0.25);
}

/* Light Theme */
[data-theme="light"] {
	--bg-shade1: rgba(255,255,255,1.00);
	--bg-shade2: rgba(245,245,245,1.00);
	--bg-shade3: rgba(245,245,245,0.25);
	--bg-shade4: rgba(205,205,205,0.10);
	--text-shade1: rgba(0,0,0,1.00);
	--text-shade2: rgba(0,0,0,0.75);
	--text-shade3: rgba(0,0,0,0.50);
	--text-shade4: rgba(0,0,0,0.25);
	--link-shade1: rgba(17,0,170,1.0);
	--link-shade2: rgba(35,17,188,1.0);
	--link-shade3: rgba(35,17,188,0.5);
	--shadow-shade1: rgba(0,0,0,0.25);
	--shadow-shade2: rgba(0,0,0,0.10);
	--highlight-shade1: rgba(0,0,0,1.00);
	--highlight-shade2: rgba(0,0,0,0.25);
	--highlight-shade3: rgba(0,0,0,0.10);
	--highlight-shade4: rgba(0,0,0,0.05);
	/* Additional styles for light mode */
}

/* Dark Theme */
[data-theme="dark"] {
    --bg-shade1: rgba(0,0,0,1.00);
    --bg-shade2: rgba(20,20,20,1.00);
    --bg-shade3: rgba(40,40,40,0.25);
    --bg-shade4: rgba(80,80,80,0.10);
    --text-shade1: rgba(255,255,255,1.00);
    --text-shade2: rgba(255,255,255,0.75);
    --text-shade3: rgba(255,255,255,0.50);
    --text-shade4: rgba(255,255,255,0.25);
    --link-shade1: rgb(127, 169, 255);
    --link-shade2: rgba(17,0,170,1.0);
    --link-shade3: rgba(17,0,170,0.5);
    --shadow-shade1: rgba(255,255,255,0.25);
    --shadow-shade2: rgba(255,255,255,0.10);
    --highlight-shade1: rgba(255,255,255,1.00);
    --highlight-shade2: rgba(255,255,255,0.25);
    --highlight-shade3: rgba(255,255,255,0.10);
    --highlight-shade4: rgba(255,255,255,0.05);
    /* Additional styles for dark mode */
}

html {
	color-scheme: light dark;
	scroll-behavior: smooth;

	--bg-shade1: rgba(255,255,255,1.00);
	--bg-shade2: rgba(245,245,245,1.00);
	--bg-shade3: rgba(245,245,245,0.25);
	--bg-shade4: rgba(205,205,205,0.10);
	--text-shade1: rgba(0,0,0,1.00);
	--text-shade2: rgba(0,0,0,0.75);
	--text-shade3: rgba(0,0,0,0.50);
	--text-shade4: rgba(0,0,0,0.25);
	--link-shade1: rgba(17,0,170,1.0);
	--link-shade2: rgba(35,17,188,1.0);
	--link-shade3: rgba(35,17,188,0.5);
	--shadow-shade1: rgba(0,0,0,0.25);
	--shadow-shade2: rgba(0,0,0,0.10);
	--highlight-shade1: rgba(0,0,0,1.00);
	--highlight-shade2: rgba(0,0,0,0.25);
	--highlight-shade3: rgba(0,0,0,0.10);
	--highlight-shade4: rgba(0,0,0,0.05);

	font-family: Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	overflow-x: hidden;
	background-color: transparent !important;
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
	html {
		--bg-shade1: rgba(0,0,0,1.00);
		--bg-shade2: rgba(10,10,10,1.00);
		--bg-shade3: rgba(10,10,10,0.25);
		--bg-shade4: rgba(10,10,10,0.10);
		--text-shade1: rgba(255,255,255,1.00);
		--text-shade2: rgba(255,255,255,0.75);
		--text-shade3: rgba(255,255,255,0.50);
		--text-shade4: rgba(255,255,255,0.25);
		--link-shade1: rgb(127, 169, 255);
		--link-shade2: rgba(17,0,170,1.0);
		--link-shade3: rgba(17,0,170,0.5);
		--shadow-shade1: rgba(255,255,255,0.25);
		--shadow-shade2: rgba(255,255,255,0.10);
		--highlight-shade1: rgba(255,255,255,1.00);
		--highlight-shade2: rgba(255,255,255,0.25);
		--highlight-shade3: rgba(255,255,255,0.10);
		--highlight-shade4: rgba(255,255,255,0.05);
		
		/* Dark mode button-specific variables */
		--button-bg: var(--bg-shade1);
		--button-text: var(--text-shade1);
		--button-border: rgba(255, 255, 255, 0.25);
	}
}

/* Global scrollbar hiding for all elements */
* {
    -ms-overflow-style: none !important;  /* IE and Edge */
    scrollbar-width: none !important;     /* Firefox */
}

/* Hide scrollbars for WebKit browsers (Chrome, Safari, Opera) */
::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Additional WebKit scrollbar parts that might still appear */
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track,
::-webkit-scrollbar-button,
::-webkit-scrollbar-track-piece,
::-webkit-scrollbar-corner,
::-webkit-resizer {
    display: none !important;
    background: transparent !important;
}

body {
	font-family: Helvetica, sans-serif;
	padding: 0px !important;
	margin: 0px !important;
	line-height: 1.9;
	color: var(--text-shade1);
	/*text-shadow: 1px 1px 2px var(--bg-shade2);*/
	background-size: cover;
	/*background-color: var(--bg-shade3) !important;*/
	/*box-shadow:40px 40px 118px 0 rgba(0, 255, 255, 0.7) inset, 0 60px 120px 0 rgba(255, 255, 255, 0.2) inset, 4px 4px 118px 0 rgba(0, 110, 255, 0.8);*/ 
	transition: background-color 0.25s ease, color 0.25s ease;
	transition: box-shadow 0.5s ease, border 0.5s ease;
}

body.light {
	/*background-color: var(--bg-shade4) !important;*/
	/*background-image: linear-gradient(120deg, rgb(255, 255, 255), rgb(203, 203, 248));*/
	/*box-shadow:10px 10px 110px 0 rgb(0, 255, 255) inset, 0 10px 110px 0 rgba(135, 0, 255, 0.2) inset, 4px 40px 120px 0 rgba(255, 0, 183, 0.4);*/
	color: var(--text-shade1);
}

body.dark {
	/*background-image: linear-gradient(120deg, #000000, #460fb3);*/
	/*box-shadow:10px 10px 110px 0 rgba(255, 0, 255, 0.2) inset, 0 10px 110px 0 rgba(255, 205, 0, 0.2) inset, 4px 40px 120px 0 rgba(110, 110, 110, 0.4);*/
	color: var(--text-shade1);
}

/*body.dark:not(.transparent) {
	background-color: var(--bg-shade4) !important;
	background-image: url('https://kyre.ai/img/downtown.jpg');
}*/

.standalone-mode.dark-mode {
    --bg-shade2: rgba(15, 15, 15, 1.00) !important; /* Solid dark background */
	--bg-shade3: rgba(0, 0, 0, 0.25) !important; /* Solid dark background */
	body {
		background-color: black !important;
	}
}

.standalone-mode.light-mode {
    --bg-shade2: rgba(255, 255, 255, 1.00) !important; /* Solid dark background */
	--bg-shade3: rgba(255, 255, 255, 1.00) !important; /* Solid dark background */
	body {
		background-color: white !important;
	}
}

.iframe-mode {
	#toggle-button {
		visibility: hidden !important;
	}
	/*	.topbar {
		display: none !important;
	}
	.activitybar {
		display: none !important;
	}
	.bottombar {
		display: none !important;
	}*/
}

.iframe-mode.dark-mode {
    --bg-shade2: rgba(0, 0, 0, 0.0) !important; /* Translucent background */
	--bg-shade3: rgba(0, 0, 0, 0.0) !important; /* Translucent background */
}

.iframe-mode.light-mode {
    --bg-shade2: rgba(255, 255, 255, 0.00) !important; /* Translucent background */
	--bg-shade3: rgba(255, 255, 255, 1.00) !important; /* Translucent background */
}

/* Light mode (common for both contexts) */
/*html.light-mode {
    --bg-shade1: rgba(255, 255, 255, 1.0); /* Bright background */
/*}*/

.light-mode {
	/*background-color: var(--bg-shade4) !important;*/
	color: var(--text-shade1);
}

.dark-mode {
	/*background-color: var(--bg-shade4) !important;*/
	color: var(--text-shade1);
}

.bold { font-weight:bold; }

.bottom-align { margin-top: auto !important; /* Pushes these elements to the bottom */ }
  
/*.hide-small { display: none !important }*/

/*.hide-medium { display: none !important }*/

/*.hide-large { display: none !important }*/

div {
	/*background-color: var(--bg-shade2);*/
	padding: 0px !important;
	margin: 0px !important;
	transition: background-color 0.25s ease, color 0.25s ease;
	transition: box-shadow 0.50s ease, border 0.50s ease;
}

/*div:hover {*/
	/*font-family: Helvetica, sans-serif;*/
	/*background-color: var(--bg-shade2);*/
	/*box-shadow: 0 4px 8px var(--shadow-shade1), 0 2px 4px var(--shadow-shade1);*/
/*}*/

/* Grouping all heading elements */
h1, h2, h3, h4, h5, h6 {
	color: inherit;
	transition: color 0.50s ease;
}
  
a {
	color: var(--link-shade1);
	text-decoration: none;
	transition: color 0.50s ease;
}

a:hover {
	text-decoration: underline;
}

[title] {
	position: relative;
	z-index: 2000;
}

[title]:after {
	content: attr(title);
	position: absolute;
	padding-left: 8px;
	padding-right: 8px;
	padding-top: 4px;
	padding-bottom: 4px;
	left: calc(100% + 12px);
	bottom: 10%;
	font-size: 18px;
	font-weight: bold;
	background-color: var(--bg-shade1);
	width: max-content;
	display: none;
	opacity: 0;
	transition-duration: opacity 0.25s ease-in-out;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	box-shadow: 0 2px 5px var(--shadow-shade1);
}

[title]:hover:after {
	display: block;
	opacity: 1;
}


textarea {
	font-family: Helvetica, sans-serif;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.5;
	resize: none;
	-webkit-appearance: none; /* Remove default styling on iOS */
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	background-color: var(--bg-shade4) !important;
    color: var(--text-shade1) !important;
    border: 1px solid var(--text-shade2);
    font-size: 16px;
	/*overflow: hidden;*/
}

textarea::placeholder {
	color: var(--text-shade1);
	opacity: 1; /* Firefox */
}

.chat-response-container {
	overflow-y: scroll !important;
}

.chat-response-container::-webkit-scrollbar {
	display: none !important;
}

.chat-response {
	overflow-y: scroll !important;
}

.chat-response::-webkit-scrollbar {
	display: none !important;
}

.search-textarea {
	color: white !important;
}

.search-textarea::placeholder {
	color: white !important;
}

.response-container {
	overflow-y: hidden !important;
}

.response-container::-webkit-scrollbar {
	display: none !important;
}

.response-window {
	overflow-y: scroll !important;
}

.response-window::-webkit-scrollbar {
	display: none !important;
}


/* --- Tooltip Styling Specific to the Vertical Dock --- */

/* General wrapper for dock tooltips if you use the 'tooltip' class on the span */
#dock .tooltip {
    position: relative; /* Establishes a positioning context for the absolute tooltiptext */
    display: inline-block; /* Or 'block' if each icon takes full width of its slot */
}

/* The actual tooltip text, styled for appearing to the left */
#dock .tooltip .tooltipleft {
    visibility: hidden;
    opacity: 0;
    
    position: absolute;
    z-index: 1010; /* Ensure it's above the dock (1001) and other elements */
    
    /* Positioning to the left of the icon (parent .tooltip span) */
    top: 50%; /* Vertically center relative to the icon */
    right: calc(100% + 8px); /* Place it 8px to the left of the icon's container */
    transform: translateY(-50%); /* Fine-tune vertical centering */
    
    width: max-content; /* Let content determine width */
    min-width: 80px;
    max-width: 200px; /* Prevent excessively wide tooltips */
    
    background-color: var(--bg-shade1); /* Use theme variable for background */
    color: var(--text-shade1);       /* Use theme variable for text */
    border: 1px solid var(--highlight-shade3);
    border-radius: 6px;
    padding: 6px 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    
    text-align: center;
    white-space: normal; /* Allow text to wrap */
    
    pointer-events: none; /* Tooltip itself shouldn't be interactive */
    transition: opacity 0.2s ease-in-out, visibility 0s linear 0.2s; /* Delay visibility change */
}

/* Arrow for the tooltipleft, pointing from the tooltip body to the icon */
#dock .tooltip .tooltipleft::after {
    content: "";
    position: absolute;
    top: 50%; /* Align with the vertical center of the tooltip body */
    left: 100%; /* Attach to the right edge of the tooltip body */
    transform: translateY(-50%); /* Fine-tune vertical centering of the arrow */
    
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent transparent var(--bg-shade1); /* Arrow pointing left */
    /* For a border effect on the arrow itself, a more complex setup or SVG might be needed */
}

/* Show the tooltip on hover of the parent .tooltip span */
#dock .tooltip:hover .tooltipleft {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s; /* Show immediately on hover */
}

.tooltip .tooltipabove {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -60px;
}

.tooltip .tooltipabove::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltipabove {
	visibility: visible;
}

.tooltip .tooltipaboverightedge {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 100%;
	margin-left: -90px;
}

.tooltip .tooltipaboverightedge::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 70%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltipaboverightedge {
	visibility: visible;
}

.tooltip .tooltipaboveleftedge {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -60px;
}

.tooltip .tooltipaboveleftedge::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltipaboveleftedge {
	visibility: visible;
}

.tooltip .tooltipbelow {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 50%;
	margin-left: -60px;
}

.tooltip .tooltipbelow::after {
	content: '';
	position: absolute;
	top: -10px;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
	transform: translateX(-50%) rotate(180deg);
}

.tooltip:hover .tooltipbelow {
	visibility: visible;
	z-index: 1000;
}

.tooltip .tooltipbelowrightedge {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 100%;
	margin-left: -90px;
}

.tooltip .tooltipbelowrightedge::after {
	content: '';
	position: absolute;
	top: -10px;
	left: 70%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
	transform: translateX(-50%) rotate(180deg);
}

.tooltip:hover .tooltipbelowrightedge {
	visibility: visible;
	z-index: 1000;
}

.tooltip .tooltipbelowleftedge {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 100%;
	margin-left: -30px;
}

.tooltip .tooltipbelowleftedge::after {
	content: '';
	position: absolute;
	top: -10px;
	left: 30%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
	transform: translateX(-50%) rotate(180deg);
}

.tooltip:hover .tooltipbelowleftedge {
	visibility: visible;
}

.tooltip .tooltipright {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: -5px;
	left: 110%;
}

.tooltip .tooltipright::after {
	content: "";
	position: absolute;
	top: 14px;
	left: -8px;
	margin-top: -5px;
	border-width: 8px;
	border-style: solid;
	border-color: transparent black transparent transparent;
	transform: translateX(-50%) rotate(0deg);
}
  
.tooltip:hover .tooltipright {
	visibility: visible;
}

.tooltip .tooltipleft {
	visibility: hidden;
	width: 120px;
	background-color: black;
	color: #fff;
	text-shadow: none !important;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	position: absolute;
	z-index: 1;
	top: -5px;
	right: 110%;
}

.tooltip .tooltipleft::after {
	content: "";
	position: absolute;
	top: 14px;
	right: -23px;
	margin-top: -5px;
	border-width: 8px;
	border-style: solid;
	border-color: transparent black transparent transparent;
	transform: translateX(-50%) rotate(180deg);
}
  
.tooltip:hover .tooltipleft {
	visibility: visible;
}




/*.homescreen-links {
	position: absolute;
}

.top-screens {
	position: absolute;
	top: 90px;
	left: 65px;
}*/



button {
	height: 30px;
	background-color: var(--bg-shade1);
	color: var(--text-shade1);
	border-radius: 8px;
	border: 1px solid var(--text-shade2);
	font-size: 12px;
	font-weight: bold;
	transition: 0.25s ease;
	cursor: pointer;
}
  
button:hover {
	box-shadow: 0 2px 5px var(--shadow-shade1);
}
  
select {
    padding: 8px 12px;
    /* Remove fixed height to allow content + padding to determine size */
    /* height: 30px; */ 
    background-color: var(--bg-shade1);
    color: var(--text-shade1);
    border-radius: 8px;
    border: 1px solid var(--text-shade2);
    font-size: 12px;
    font-weight: bold;
    transition: 0.25s ease;
    cursor: pointer;
    box-sizing: border-box; /* Include padding and border in element's total width and height */
    /* Add flex properties for better vertical alignment */
    display: inline-flex;
    align-items: center;
    /* Remove default appearance for more control */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* Add custom dropdown arrow if desired later */
}

/* Restore hover effect if it was removed */
select:hover {
    box-shadow: 0 2px 5px var(--shadow-shade1);
}

iframe {
	background-color: transparent !important;
}

iframe::-webkit-scrollbar {
	display: none;
}

/* Tablet/Medium screens - 2 across */
@media screen and (max-width: 1000px) {
    /* Hide bottom-right bottombar links on smaller screens */
    #bottombar-terms,
    #bottombar-privacy, 
    #bottombar-help,
    #bottombar-settings {
        display: none !important;
    }
    
	.ui-hud {
		grid-template-columns: auto 1fr !important;
        grid-template-rows: auto 1fr auto;
        height: auto;
    }
	.hide-medium { display: none !important }
	.row { flex-direction: column; }
	.dock { width: calc(100vw - 60px); }
	.subscription-row {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
	}
	.subscription-card {
		min-width: 300px !important;
		max-width: calc(50% - 20px) !important;
		flex: 1 1 calc(50% - 20px);
	}
	.subscription-footer {
		margin-top: 10px !important;
	}
	.subscription-footer p {
		font-size: 12px !important;
	}
}


@media screen and (min-width: 1000px) {
    #vox-orb {
        --orb-size: 430px !important;
    }
}

/* Small tablets - 1 across */
@media screen and (max-width: 670px) {
	.subscription-row {
		flex-direction: column;
		gap: 0px;
	}
	.subscription-card {
		min-width: 280px !important;
		max-width: none !important;
		flex: none;
	}
}

/* Hide Menu button on desktop and homescreen pages */
body[data-page="desktop"] #topbar-menu,
body[data-page="homescreen"] #topbar-menu,
body.desktop-mode #topbar-menu,
body.homescreen-mode #topbar-menu {
    display: none !important;
}

/* Alternative selector for pages using ui-hud layout */
.ui-hud #topbar-menu {
    display: none !important;
}

/* Hide bottom-right bottombar links on desktop and homescreen pages */
body[data-page="desktop"] #bottombar-terms,
body[data-page="desktop"] #bottombar-privacy,
body[data-page="desktop"] #bottombar-help,
body[data-page="desktop"] #bottombar-settings,
body[data-page="homescreen"] #bottombar-terms,
body[data-page="homescreen"] #bottombar-privacy,
body[data-page="homescreen"] #bottombar-help,
body[data-page="homescreen"] #bottombar-settings,
body.desktop-mode #bottombar-terms,
body.desktop-mode #bottombar-privacy,
body.desktop-mode #bottombar-help,
body.desktop-mode #bottombar-settings,
body.homescreen-mode #bottombar-terms,
body.homescreen-mode #bottombar-privacy,
body.homescreen-mode #bottombar-help,
body.homescreen-mode #bottombar-settings {
    display: none !important;
}

/* Alternative selector for pages using ui-hud layout */
.ui-hud #bottombar-terms,
.ui-hud #bottombar-privacy,
.ui-hud #bottombar-help,
.ui-hud #bottombar-settings {
    display: none !important;
}

/* Responsive Design for Phones */
@media screen and (max-width: 625px) {
    .ui-app {
        grid-template-columns: auto 0px 1fr 0px !important;
        grid-template-rows: auto 1fr auto;
    }
    
    /* Maintain proper width for column positions */
    .main-content[data-position="left"],
    .main-content[data-position="right"] {
        max-width: 350px !important;
    }
    
    .ui-hud {
        grid-template-columns: auto 1fr !important;
        grid-template-rows: auto 1fr auto;
    }
    
    .hide-small { display: none !important }
    .dock {
        display: none !important;
        width: calc(100vw - 60px); 
    }
    
    .subscription-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .subscription-card {
        min-width: 280px !important;
    }
    
    #filter-container {
        flex-direction: column;
        /* Adding gap property to reduce space between the elements */
        gap: 5px;
    }
    
    #filter-container > div {
        width: 100%;
        margin-bottom: 5px; /* Reducing from 10px to 5px */
    }
}


#main-container {
	display: flex;
    flex-direction: row;
	/*height: 100%;*/
	/*height: 100vh !important;*/
	height: 100svh !important;
	/*max-height: 100%;*/
	overflow-x: hidden;
}

.ui-app {
	display: grid;
    /* Default state: sidebars collapsed (0 width for columns 2 and 4) */
    grid-template-columns: 40px 0 1fr 0;
    grid-template-rows: auto calc(100svh - 60px) auto;
    position: relative;
	height: 100svh !important;
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    margin: 0px auto;
    padding: 0px;
    box-sizing: border-box;
    background-color: var(--bg-shade2) !important;
    /* Animate the change in grid columns for smooth sidebar transitions */
    transition: grid-template-columns 0.25s ease-in-out;
}

/* State modifier: Left sidebar is open */
.ui-app.left-sidebar-is-open {
    grid-template-columns: 40px 310px 1fr 0;
}

/* State modifier: Right sidebar is open */
.ui-app.right-sidebar-is-open {
    grid-template-columns: 40px 0 1fr 600px;
}

/* State modifier: Both sidebars are open */
.ui-app.left-sidebar-is-open.right-sidebar-is-open {
    grid-template-columns: 40px 310px 1fr 600px;
}

.ui-hud {
	display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr auto;
    position: relative;
	/*height: 400px;*/
	/*height: 100%;*/
	height: 100svh !important;
	/*max-height: 100%;*/
	max-height: 100svh !important;
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    margin: 0px auto;
    padding: 0px;
    box-sizing: border-box;
    background-color: var(--bg-shade3) !important;
}

#canvas-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap; /* Important */
    scroll-snap-type: x mandatory; /* optional if you want snapping */
}

#canvas-scroll {
    display: inline-flex;
    align-items: stretch;
    height: 100%;
    min-width: 500vw; /* Start with 5x screen width, can grow dynamically */
    background-color: var(--bg-shade3);
}

.topbar {
    grid-column: 1 / -1;
    grid-row: 1;
    display: flex;
    align-items: center;
    height: 30px;
    width: 100%;
    font-size: 10px !important;
    padding: 0px !important;
    background-color: var(--bg-shade2) !important;
    border-bottom: 1px solid var(--bg-shade2) !important;
    position: sticky;
    top: 0;
    overflow: hidden;
}

.topbar-container {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 1060;
    height: 100%;
    overflow: hidden;
}

#topbar-auth, #topbar-user-account {
    height: 100%;
    display: flex;
    align-items: center;
}

#topbar-auth button, #topbar-user-account button,
.topbar-item {
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    line-height: 26px !important;
    padding: 0 12px !important;
    margin: 2px 0 !important;
    display: flex;
    align-items: center;
}

.topbar:first-child {
    padding-left: 38px !important;
}

.topbar:last-child {
    padding-right: 38px !important;
}

.topbar::-webkit-scrollbar {
	display: none;
}

.topbar-container::-webkit-scrollbar {
    display: none;
}

#topbar-auth {
    margin-left: auto;
	padding-right: 38px !important;
}

.topbar-item {
    margin: 0 15px;
    font-size: 10px;
	font-weight: bold;
    color: var(--text-shade3);
	text-decoration: none !important;
}

.topbar-item:hover {
	color: var(--text-shade1) !important;
}

.topbar-item-active {
	color: var(--text-shade1) !important;
}

.nav-item-container {
    display: flex;
    align-items: left;
}












.hover-underline {
	display: inline-block;
	position: relative;
}
  
.hover-underline::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: var(--text-shade1);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
  
.hover-underline:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.hover-underline-inverted {
	display: inline-block;
	position: relative;
}
  
.hover-underline-inverted::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: var(--bg-shade2);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
  
.hover-underline-inverted:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.hover-underline-homescreen-menu {
	display: inline-block;
	position: relative;
}
  
.hover-underline-homescreen-menu::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: -2px;
	left: 0;
	background-color: var(--text-shade1);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
  
.hover-underline-homescreen-menu:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.hover-underline-signup-hero {
	display: inline-block;
	position: relative;
}
  
.hover-underline-signup-hero::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	color: white;
	height: 2px;
	bottom: 10px;
	left: 0;
	background-color: white;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
  
.hover-underline-signup-hero:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.hover-underline-signup-tags {
	display: inline-block;
	position: relative;
}

.hover-underline-signup-tags::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	color: white;
	height: 2px;
	bottom: -3px;
	left: 0;
	background-color: white;
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
  
.hover-underline-signup-tags:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.trigger {
    cursor: pointer;
    /*padding: 10px 20px;*/
}

#topsheet {
    position: fixed;
    top: -520px; /* Start out of view - moved further up to prevent shadow bleed */
    left: 0;
    width: 100%;
    height: 500px; /* Increased height to accommodate 480px content + padding */
	background-color: var(--bg-shade1);
	box-shadow: 0 4px 6px var(--shadow-shade1);
    transition: top 0.25s ease;
    z-index: 1050;
    display: flex; /* Layout for columns */
    padding: 20px;
    overflow: hidden; /* Prevent scrolling - content should fit in 500px height */
}

/* Blur overlay for topsheet - copied from reasoning-main.js */
.topsheet-blur-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg-shade4);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 1049;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.topsheet-blur-overlay.visible {
    display: block;
    opacity: 1;
}



body.iframe-mode.dark-mode #topsheet {
    box-shadow: none;
	background-color: var(--bg-shade3);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

#bottomsheet {
    position: fixed;
    top: calc(100svh + 20px); /* Start out of view - moved further down to prevent shadow bleed */
    left: 0;
    width: 100%;
    height: 250px;
    background-color: var(--bg-shade2);
    box-shadow: 0 -4px 6px var(--shadow-shade1);
    transition: top 0.25s ease;
    z-index: 1050;
    display: flex; /* Layout for columns */
    padding: 20px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

body.iframe-mode.dark-mode #bottomsheet {
    box-shadow: none;
}

.topsheet-menu-links {
    display: flex;
    justify-content: space-between;
    width: 100%;
	padding-left: 80px !important;
	padding-right: 40px !important;
	padding-top: 50px !important;
	color: var(--link-shade1) !important;
}

.bottomsheet-menu-links {
    display: flex;
    justify-content: space-between;
    width: 100%;
	padding-left: 80px !important;
	padding-right: 40px !important;
	padding-top: 10px !important;
	color: var(--link-shade1) !important;
}

.menu-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--text-shade1);
}

.menu-column h1 {
    font-size: 15px;
    margin-bottom: 10px;
    color: var(--text-shade1);
}

.menu-column h2 {
    font-size: 14px;
    margin-bottom: 10px;
    color: var(--text-shade1);
}

.menu-column h3 {
    font-size: 12px;
    margin-bottom: 10px;
    color: var(--text-shade1);
}

.menu-column h4 {
    font-size: 11px;
    margin-bottom: 10px;
    color: var(--text-shade1);
}

.menu-column a {
    color: var(--text-shade2);
    font-size: 11px;
	font-weight: bold;
    transition: color 0.25s ease;
}

.menu-column a:hover {
    color: var(--text-shade1);
}


.topsheet-menu-link {
    color: var(--link-shade1) !important;
	text-decoration: none !important;
	/*pointer-events: none;*/
}

.bottomsheet-menu-link {
    color: var(--link-shade1) !important;
	text-decoration: none !important;
	/*pointer-events: none;*/
}










.activitybar {
	grid-column: 1;
    grid-row: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: left;
	position: sticky;
	top: 0;
	left: 0;
	overflow-y: auto;
	height: calc(100svh - 62px);
	width: 40px;
	background-color: var(--bg-shade2) !important;
	border-right: 1px solid var(--highlight-shade3);
	transition: width 0.3s ease;
	z-index: 1000;
}

.activitybar::-webkit-scrollbar {
    display: none;
}

.activitybar-element {
	position: relative;
	margin-left: 1px !important;
	margin-bottom: 8px !important;
	border-left: 3px solid transparent;
	display: flex;
	align-items: center;
	padding-left: 8px !important;
	white-space: nowrap;
	overflow: hidden;
}

.activitybar-text {
    color: var(--text-shade2);
    font-size: 14px;
    font-weight: 600;
    position: absolute;
    left: 48px; /* Fixed position from left edge of activitybar */
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block;
    white-space: nowrap;
    letter-spacing: 0.01em;
    transform: translateX(-10px);
    user-select: none;
}

.activitybar[style*="width: 250px"] .activitybar-text {
    opacity: 1;
    transform: translateX(0);
}

.activitybar-element:not(.activitybar-inactive):hover .activitybar-text {
    color: var(--text-shade1);
    transform: translateX(4px);
}

.activitybar-selected .activitybar-text {
    color: var(--text-shade1);
    font-weight: 700;
}

.activitybar-element:not(.activitybar-inactive):hover {
	border-left: 3px solid var(--link-shade1);
}

.activitybar-element:not(.activitybar-inactive) .activitybar-icon {
    color: var(--text-shade2);
}

.activitybar-element:not(.activitybar-inactive) .activitybar-icon:hover {
    color: var(--text-shade1) !important;
	text-shadow: 0px 0px 8px var(--shadow-shade1);
}

.activitybar-element:first-child {
    margin-top: 2px !important;
}

.activitybar-selected {
    border-left: 3px solid var(--link-shade1);
}

.activitybar-selected .activitybar-icon {
    color: var(--text-shade1) !important;
}

.activitybar-inactive .activitybar-icon {
    color: var(--text-shade4) !important;
	cursor: default;
}

.activitybar-inactive {
    cursor: default;
}

.activitybar-icon {
	color: var(--text-shade4);
    font-size: 20px;
    text-decoration: none !important;
    transition: text-shadow 0.3s ease, color 0.3s ease;
	min-width: 20px;
}

.sidebar-left {
	grid-column: 2;
    grid-row: 2;
	justify-content: space-between; /* Pushes bottom icons down */
	text-align: left;
	position: sticky;
    top: 0;
	height: calc(100svh - 62px);
	/* width is now controlled by the parent grid */
	overflow-x: hidden;
	overflow-y: auto;
	margin: 0px !important;
	color: var(--text-shade1);
	border-right: 1px solid var(--highlight-shade3);
	/* transition is now on the parent grid */
	z-index: 100;
}
  
.sidebar-left::-webkit-scrollbar {
    display: none;
}

#exe-sidebar {
    height: 100%;
    overflow-y: auto;
    padding: 1.65rem !important;
    background-color: var(--background-shade1);
    color: var(--text-shade1);
}

#exe-sidebar .menu-section {
    margin: 14px 0 15px 0 !important; /* Added !important to enforce folder spacing */
    opacity: 0;
    animation: cascadeIn 0.15s ease forwards;
}

@keyframes cascadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#exe-sidebar .section-header {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    margin: 2px 0;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    color: var(--text-shade2);
    font-size: 14px;
    font-weight: 600;
}

#exe-sidebar .section-header:hover {
    background-color: var(--background-shade2);
    color: var(--text-shade1);
    transform: translateX(4px);
    box-shadow: none;
}

#exe-sidebar .section-header i {
    width: 16px;
    text-align: center;
    margin-right: 12px;
    font-size: 16px;
    transition: transform 0.2s ease;
}

#exe-sidebar .section-header:hover i {
    transform: scale(1.1);
}

#exe-sidebar .section-header .fa-chevron-down,
#exe-sidebar .section-header .fa-chevron-right {
    margin-left: auto;
    margin-right: 0;
    font-size: 12px;
    opacity: 0.6;
}

#exe-sidebar .section-content {
    margin: 6px 0 !important;
    margin-left: 16px !important; /* Reduced from 28px */
    display: none;
    animation: slideIn 0.15s ease forwards;
}

#exe-sidebar .section-content.expanded {
    display: block;
}

#exe-sidebar .menu-item {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    padding-left: 12px !important; /* Reset to base padding */
    margin: 6px 0 !important;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    color: var(--text-shade2);
    font-size: 14px;
	font-weight: 400;
    opacity: 0;
    animation: cascadeIn 0.1s ease forwards;
    position: relative;
}

#exe-sidebar .menu-item:nth-child(1) { animation-delay: 0.02s; }
#exe-sidebar .menu-item:nth-child(2) { animation-delay: 0.04s; }
#exe-sidebar .menu-item:nth-child(3) { animation-delay: 0.06s; }
#exe-sidebar .menu-item:nth-child(4) { animation-delay: 0.08s; }
#exe-sidebar .menu-item:nth-child(5) { animation-delay: 0.10s; }
#exe-sidebar .menu-item:nth-child(6) { animation-delay: 0.12s; }
#exe-sidebar .menu-item:nth-child(7) { animation-delay: 0.14s; }
#exe-sidebar .menu-item:nth-child(8) { animation-delay: 0.16s; }
#exe-sidebar .menu-item:nth-child(9) { animation-delay: 0.18s; }
#exe-sidebar .menu-item:nth-child(10) { animation-delay: 0.20s; }
#exe-sidebar .menu-item:nth-child(11) { animation-delay: 0.22s; }
#exe-sidebar .menu-item:nth-child(12) { animation-delay: 0.24s; }
#exe-sidebar .menu-item:nth-child(13) { animation-delay: 0.26s; }
#exe-sidebar .menu-item:nth-child(14) { animation-delay: 0.28s; }
#exe-sidebar .menu-item:nth-child(15) { animation-delay: 0.30s; }
#exe-sidebar .menu-item:nth-child(16) { animation-delay: 0.32s; }
#exe-sidebar .menu-item:nth-child(17) { animation-delay: 0.34s; }
#exe-sidebar .menu-item:nth-child(18) { animation-delay: 0.36s; }
#exe-sidebar .menu-item:nth-child(19) { animation-delay: 0.38s; }
#exe-sidebar .menu-item:nth-child(20) { animation-delay: 0.40s; }
#exe-sidebar .menu-item:nth-child(21) { animation-delay: 0.42s; }
#exe-sidebar .menu-item:nth-child(22) { animation-delay: 0.44s; }
#exe-sidebar .menu-item:nth-child(23) { animation-delay: 0.46s; }
#exe-sidebar .menu-item:nth-child(24) { animation-delay: 0.48s; }
#exe-sidebar .menu-item:nth-child(25) { animation-delay: 0.50s; }
#exe-sidebar .menu-item:nth-child(26) { animation-delay: 0.52s; }
#exe-sidebar .menu-item:nth-child(27) { animation-delay: 0.54s; }
#exe-sidebar .menu-item:nth-child(28) { animation-delay: 0.56s; }
#exe-sidebar .menu-item:nth-child(29) { animation-delay: 0.58s; }
#exe-sidebar .menu-item:nth-child(30) { animation-delay: 0.60s; }
#exe-sidebar .menu-item:nth-child(31) { animation-delay: 0.62s; }
#exe-sidebar .menu-item:nth-child(32) { animation-delay: 0.64s; }
#exe-sidebar .menu-item:nth-child(33) { animation-delay: 0.66s; }
#exe-sidebar .menu-item:nth-child(34) { animation-delay: 0.68s; }
#exe-sidebar .menu-item:nth-child(35) { animation-delay: 0.70s; }

#exe-sidebar .menu-item:hover {
    background-color: var(--background-shade2);
    transform: translateX(4px);
    color: var(--text-shade1);
    box-shadow: none;
}

#exe-sidebar .menu-item.active {
    color: var(--text-shade1);
    font-weight: 800;
    background-color: var(--background-shade2);
    position: relative;
}

#exe-sidebar .menu-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 3px;
    background: var(--link-shade1);
    transform-origin: top;
    animation: slideInBar 0.15s ease forwards;
}

#exe-sidebar .menu-item i {
    width: 16px;
    text-align: center;
    margin-right: 12px;
    font-size: 16px;
    transition: transform 0.2s ease;
}

#exe-sidebar .menu-item:hover i {
    transform: scale(1.1);
}

.main-content {
    grid-column: 3;
    grid-row: 2;
    justify-content: space-between;
    text-align: left;
    position: sticky;
    top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    height: calc(100svh - 62px);
    width: 100%; /* Will fill the grid column */
    padding: 0px !important;
    border-right: 1px solid var(--highlight-shade3);
    /* removed transition, as it's no longer needed here */
}

.main-content::-webkit-scrollbar {
    display: none;
}

.sidebar-right {
	grid-column: 4 / 5;
    grid-row: 2;
	justify-content: space-between; /* Pushes bottom icons down */
	text-align: left;
	position: sticky;
    top: 0; /* Sticks at the top of the viewport */
    overflow-y: auto;
	height: calc(100svh - 62px);
	/* width is now controlled by the parent grid */
	overflow-x: hidden;
	margin: 0px !important;
	color: var(--text-shade1);
	/* transition is now on the parent grid */
}

.sidebar-right::-webkit-scrollbar {
    display: none;
}

.sidebar-vmverbose {
	overflow-y: hidden !important;
}

.sidebar-vmverbose::-webkit-scrollbar {
	display: none !important;
}







.bottombar {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    align-items: center;
    height: 30px;
	color: var(--text-shade2);
    background-color: var(--bg-shade2) !important;
    padding: 0px;
    border-top: 1px solid var(--highlight-shade3) !important;
    border-bottom: 1px solid var(--highlight-shade3) !important;
    position: sticky;
    bottom: 0;
    z-index: 1100;
}

.bottombar::-webkit-scrollbar {
    display: none;
}

.bottombar-item {
    font-size: 10px;
	margin: 0 15px;
    white-space: nowrap; /* Prevents line breaks */
}

.bottombar-item:nth-last-child(4) {
    margin-left: auto;
}



















.row {
	display: flex;
	justify-content: space-between;
}
  
.row-header {
	display: flex;
	height: 30px;
	font-size: 14px;
	font-weight: bold;
	padding: 0px;
	/*border-bottom: 1px solid var(--highlight-shade2);*/
	padding-left: 4px !important;
	margin-left: 12px !important;
	margin-right: 12px !important;
}
  
.row-footer {
	display: flex;
	text-align: right !important;
	height: 50px;
	font-size: 14px;
	font-weight: bold;
	padding-top: 10px !important;
	border-bottom: 0px solid var(--bg-shade4);
	padding-left: 4px !important;
	margin-left: 4px !important;
	margin-right: 12px !important;
}
  
.row-footer button {
	/*padding: 10px !important;*/
	margin-left: 12px !important;
}
  
.row-data {
	display: flex;
	height: 40px;
	font-size: 12px;
	padding: 0px;
	border-top: 0px solid var(--bg-shade4);
	padding-left: 0px !important;
	margin-left: 12px !important;
	margin-right: 12px !important;
}

.row-data:hover {
	/*background-color: var(--bg-shade2);*/
	box-shadow: 0 2px 5px var(--shadow-shade1);
}
  
.column {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: left;
	background-color: transparent;
	color: var(--text-shade1);
	/*font-size: 12px;*/
	padding: 4px !important;
	/*margin: 8px;*/
	/*border-radius: 0px;*/
	border: 0px solid var(--highlight-shade4);
	transition: border 0.25s ease;
}

/*.column:hover {
	background-color: var(--bg-shade2);
	border: 1px solid var(--highlight-shade1);
}*/

.button {
	color: var(--text-shade2);
	background-color: var(--bg-shade1);
	border: 0.25px solid var(--text-shade2);
	border-radius: 8px;
	font-size: 10px;
	font-weight: bold;
	margin: 0px;
	transition: background-color 0.25s ease, color 0.25s ease;
	transition: box-shadow 0.50s ease, border 0.50s ease;
}
  
.button:hover {
	color: var(--text-shade1);
	border: 0.25px solid var(--text-shade1);
	box-shadow: 0 2px 5px var(--shadow-shade1);
}

.transparent {
	background-color: transparent !important;
}

.border {
	border: 1px solid var(--shadow-shade1);
}


/*.raised-hover:hover {
	box-shadow: 0 2px 5px var(--shadow-shade1);
}*/


.raised-hover:hover {
	transition: box-shadow 0.50s ease;
	box-shadow: 0 8px 12px var(--shadow-shade1);
}


















.nav-item-container {
    position: relative;
    display: inline-block;
}

.notification-badge {
    position: absolute;
    top: -5px;
    right: 3px;
    background-color: rgba(205, 0, 0, 0.85);
    color: white;
    /*font-size: 8px;*/
	font-size: 0.75rem;
    padding: 2px 2px;
    font-weight: normal;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
	z-index: 10; /* Ensures it appears above other elements */
    visibility: hidden;
}

.notification-badge.visible {
    visibility: visible; /* Make the badge visible when required */
}















.popover {
    position: absolute;
    z-index: 9999;
    padding: 0px;
	color: white;
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /*border: 1px solid red;*/
    border-radius: 15px;
    box-shadow: 0 0px 20px rgba(255, 255, 255, 0.5);
    opacity: 0;
    pointer-events: none;
	transition-delay: 0.1s;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.popover.hidden {
    display: none;
    opacity: 0;
    pointer-events: none;
}

.popover.visible {
    display: block;
    opacity: 1;
    pointer-events: auto;
}

.popover[data-position="above"] {
    transform: translateY(-100%);
}

.popover[data-position="below"] {
    transform: translateY(20px);
}

.popover[data-position="left"] {
    transform: translateX(-100%);
}

.popover[data-position="right"] {
    transform: translateX(20px);
}
















.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw !important;
    height: 100svh !important;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-window {
    background: rgba(255, 255, 255, 1.0);
    border-radius: 15px;
    padding: 20px;
	font-size: 14px;
	font-weight: bold;
    text-align: center;
	color: rgba(0, 0, 0, 1.0);
	min-height: 150px;
    min-width: 200px;
	max-width: 400px;
    width: 80%;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

#modal-message {
    font-size: 14px;
    margin-bottom: 20px;
}

#modal-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
}














#clock {
    text-align: right;
}

#clock .date {
	text-align: right;
    font-size: 12px;
    margin-bottom: 0px;
    font-weight: lighter;
	color: rgba(255, 255, 255, 1.0);
}

#clock .time {
	text-align: right;
    font-size: 12px;
    font-weight: lighter;
	color: rgba(255, 255, 255, 1.0);
	/*font-family: Arial, sans-serif;
	font-family: Verdana, sans-serif;
	font-family: Tahoma, sans-serif;
	font-family: 'Trebuchet MS', sans-serif;
	font-family: 'Times New Roman', serif;
	font-family: Georgia, serif;
	font-family: Garamond, serif;
	font-family: 'Courier New', monospace;
	font-family: 'Brush Script MT', cursive;
	font-family: 'Courier New', Courier, monospace;*/
}
















.calendar-container {
	width: 200px;
	height: 200px;
	border: 1px solid var(--highlight-shade2);
	display: flex;
	flex-direction: column;
	border-radius: 10px;
}

/* Header styles */
.calendar-header {
	text-align: center;
	font-weight: bold;
	padding: 5px;
	background-color: var(--bg-shade1);
}

/* Grid for dates */
.calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-template-rows: auto;
	gap: 2px;
	flex: 1;
}

/* Date cell styles */
.calendar-cell {
	text-align: center;
	padding: 5px;
	cursor: pointer;
	font-size: 12px;
}

.calendar-cell:hover {
	background-color: var(--bg-shade2);
}

.calendar-cell.active {
	background-color: var(--highlight-shade2);
	color: var(--bg-shade1);
	font-weight: bold;
}

/* Interactive menu styles */
.calendar-menu {
	position: absolute;
	padding: 15px !important;
	background: var(--bg-shade1);
	border: 1px solid var(--highlight-shade2);
	z-index: 10;
	display: none;
	width: 150px;
	border-radius: 10px;
}

















.grid-container-header {
	display: flex;
	flex-direction: column;
	/*justify-content: space-between;*/
	text-align: left;
	position: sticky;
	top: 0;
    padding: 5px;
	background: transparent;
	box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
    gap: 5px;
    padding: 5px;
	background: transparent;
	box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.grid-item {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	background: transparent;
    /*box-shadow: 0px 0px 2px rgba(255, 255, 255, 0.15);*/
	/*border: 2px solid var(--text-shade2);*/
    border-radius: 4px;
    transition: transform 0.2s ease;
	cursor: pointer;
}

.grid-item:hover {
	color: var(--text-shade1) !important;
    transform: scale(1.04);
}

.grid-item a {
	color: var(--text-shade2);
}

.grid-item a:hover {
	color: var(--text-shade1);
}











.dock-controller {
    position: absolute;
    bottom: 250px;
    left: 110px;
	opacity: 1.0;
	transition: opacity 1.25s ease;
}

.dock {
    position: fixed;
    bottom: -60px;
    left: 50%;
    height: 68px;
    /*width: calc(100vw - 180px);*/
    /*width: auto;*/
	width: 900px;
    transform: translateX(-50%);
    display: flex;
    justify-content: center; /* Horizontally center items */
    align-items: center;    /* Vertically center items */
    gap: 15px;
	border: 0px solid rgba(255, 255, 255, 0.25);
    border-radius: 20px;
    padding: 10px 20px;
	background-color: rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	transition: bottom 0.5s ease;
}

.dock-item {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	display: flex !important; /* Ensure this is flex */
	align-items: center !important; /* Ensure this is active */
	justify-content: center !important; /* Ensure this is active */
	transition: transform 0.5s ease;
	cursor: pointer;
}

/* Revised FA icon styling within dock-item with !important */
.dock-item > i.fa,
.dock-item > i[class^="fa-"],
.dock-item > i[class*=" fa-"] {
    font-size: 20px !important;
    line-height: 1 !important;
    text-align: center !important;
    width: auto !important; /* Allow natural width, centered by parent */
    height: auto !important; /* Allow natural height */
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important; /* Or block, but inline-block is usually fine for FA */
}

/* Ensure this more specific selector (if used for tooltipped items) also gets the aggressive overrides */
#dock .tooltip .dock-item > i.fa,
#dock .tooltip .dock-item > i[class^="fa-"],
#dock .tooltip .dock-item > i[class*=" fa-"] {
    font-size: 20px !important;
    line-height: 1 !important;
    text-align: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important; /* Or block */
}

.dock-item-extended {
	width: 240px;
	height: 40px;
	/*background: rgba(255, 255, 255, 0.25);*/
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.5s ease;
	cursor: pointer;
}

.dock-item:hover, .dock-item-extended:hover {
	/*color: var(--text-shade1);*/
	transform: scale(1.25);
}
















.footer {
	/*background-color: var(--bg-shade1);*/
	color: var(--text-shade1);
	margin-top: 10px;
	margin-left: 12px;
	margin-right: 12px;
	padding: 12px 0;
	font-size: 10px;
  }

  .footer .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 12px;
  }

  .footer-section {
	flex: 1 1 100px;
	margin: 10px;
  }
  
  .footer-section h5 {
	font-size: 12px;
	font-weight: bold;
	/*color: var(--highlight-shade2);*/
	margin-bottom: 10px;
	border-bottom: 1px solid var(--highlight-shade3);
  }
  
  .footer-section ul {
	list-style: none;
	padding: 0;
  }
  
  .footer-section ul li {
	margin-bottom: 5px;
  }
  
  .footer-section ul li a {
	text-decoration: none;
	color: var(--text-shade2);
  }
  
  .footer-section ul li a:hover {
	text-decoration: underline;
	color: var(--text-shade1) !important;
  }
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.hero {
	height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/*background-image: url('https://kyre.ai/img/downtown.jpg');*/
	background-size: cover;
	background-color: var(--bg-shade4);
	background-position: center;
	color: var(--text-shade1);
	padding: 0px !important;
	margin: 0px !important;
}
  
.hero h1 {
	color: #FFD700; /* Gold color for better contrast */
}
  















.desktop {
	position: relative;
	width: 100vw;
	height: 100vh;
}

.icon {
	width: 80px;
	height: 80px;
	background-color: #ffffff;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	margin: 10px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.icon img {
	width: 50%;
}

.icon-label {
	margin-top: 8px;
	font-size: 12px;
}

.window {
	position: absolute;
	display: grid;
	grid-template-rows: 50px 1fr 30px !important;
	flex-direction: column;
	width: 500px;
	height: 281px;
	border: 1px solid var(--highlight-shade3);
	/*border-radius: 20px;*/
	overflow: visible;
	text-align: left;
	/*background-color: var(--bg-shade3) !important;*/
	box-shadow: 0px 0px 20px var(--shadow-shade1);
    backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
/*	transition-duration: 0.5s;*/
/*	transition: top 0.5s ease, left 0.5s ease, width 0.5s ease, height 0.5s ease, transform 0.25s ease, border-radius 0.5s ease;*/
/*transition: none;*/
}

/*.window.dragging {
	transition: none !important;
}*/

.window::-webkit-scrollbar {
	display: none;
}

body.standalone-mode.dark-mode .window {
	background-color: rgba(0, 0, 0, 0.0) !important;
}

.window-header {
	background: var(--bg-shade3) !important;
	color: var(--text-shade1);
	/*color: rgba(255, 255, 255, 1.0);*/
	padding: 0px !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
	margin: 0px !important;
	height: 50px !important;
	/*border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom: 1px solid var(--highlight-shade2);*/
	cursor: grab;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

body.standalone-mode.dark-mode .window-header {
	background: var(--bg-shade4);
}

.window-header .window-control-button {
	height: 50px !important;
	font-size: 15px;
	cursor: pointer;
}

.window-header .window-close-button {
	height: 50px !important;
	font-size: 15px;
	cursor: pointer;
}

.window-content {
	position: relative;
	top: 0px;
	height: 100%;
	color: var(--text-shade1);
	padding: 20px !important;
	border-top: 1px solid var(--highlight-shade3) !important;
	border-bottom: 1px solid var(--highlight-shade3) !important;
	flex-grow: 1;
	overflow-x: hidden !important; /* Prevent horizontal expansion */
    overflow-y: auto !important;   /* Allow vertical scrolling */
	display: flex;
	flex-direction: column;
	align-items: flex-start; /* Changed from center to flex-start */
	width: 100%;
	box-sizing: border-box;
}

.window-content > div {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start; /* Changed from center to flex-start */
	text-align: left; /* Changed from center to left */
	margin-bottom: 20px;
}

.window-content > div img {
	width: auto;
	max-width: 300px;
	height: auto;
	margin-bottom: 10px;
	border-radius: 8px;
}

.window-content > div a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: inherit;
	font-size: 14px;
	margin-top: 8px;
}

/*.window-content.dragging {
	transition: none !important;
}*/

.window-content::-webkit-scrollbar {
    display: none;
}

.window-content div {
	display: block; /* Ensure div elements take full width and stack vertically */
	margin-bottom: 2px; /* Add spacing between elements */
}

.window-content span {
	display: block; /* Ensure span elements stack vertically if required */
	text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.15);
}

.window-content a {
	display: inline-block; /* For links to avoid being inline with text */
}

.window-content iframe {
	position: absolute;
	top: 0px;
	left: 0;
/*	padding-bottom: 56.25%;*/
	width: 100%;
	height: 100%;
	border-bottom: 1px solid var(--highlight-shade3) !important;
}

.window-footer {
	position: relative;
	bottom: 0;
	background: var(--bg-shade3);
	color: var(--text-shade1);
	padding: 0px !important;
	margin: 0px !important;
	height: 30px !important;
/*	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;*/
	border-top: 1px solid var(--highlight-shade3) !important;
	cursor: grab;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


body.standalone-mode.dark-mode .window-footer {
	background: var(--bg-shade4);
}

.window-resize-handle {
	position: absolute;
	right: 11px;
	bottom: 4px;
	color: var(--text-shade1) !important;
    /*position: absolute;*/
    /*bottom: 12px;*/
    /*right: 8px;*/
    /*height: 20px;*/
    /*width: 20px;*/
    /*background-color: transparent; /* or a subtle color */
    cursor: nwse-resize;
}


.folder {
	cursor: pointer;
	padding-top: 12px !important;
	padding-left: 32px !important;
	margin-top: 12px !important;
	display: flex;
	align-items: center;
}

.file {
	cursor: pointer;
	padding-top: 12px !important;
	padding-left: 32px !important;
	margin-top: 12px !important;
	display: flex;
	align-items: center;
}






.reveal {
	position: relative;
	transform: translateY(200px);
	opacity: 0;
	transition: 0.4s ease;
}

.reveal.active {
	transform: translateY(0px);
	opacity: 1;
}

.radius-15 {
	border-radius: 15px;
}





.box__bg {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: 12px;
  border: 2px solid #0000;
  border-radius: 15px;
  background: linear-gradient(var(--bg-shade1), var(--bg-shade1)) padding-box, linear-gradient(
        var(--angle),
        #FFCC00,
        #FF00FF
      ) border-box;
  animation: 10s rotate linear infinite;
  transition: 0.3s;
  transition-timing-function: ease-in-out;
  color: var(--text-shade1);
}

.box__bg:hover {
	text-decoration:underline;
	border: 5px solid #0000;
	scale: 1.0;
	color: var(--text-shade1);
}

.box-static {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: 12px;
  border: 2px solid #0000;
  border-radius: 15px;
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, linear-gradient(
        var(--angle),
        #FFCC00,
        #FF00FF
      ) border-box;
  animation: 10s rotate linear infinite;
  transition: 0.3s;
  transition-timing-function: ease-in-out;
}

.box-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: 12px;
  border: 2px solid #0000;
  border-radius: 15px;
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, linear-gradient(
        var(--angle),
        #FFCC00,
        #FF00FF
      ) border-box;
  animation: 10s rotate linear infinite;
  transition: 0.3s;
  transition-timing-function: ease-in-out;
  color: #333333;
}

.box-button:hover {
	text-decoration:underline;
	border: 5px solid #0000;
	scale: 1.0;
	color: #000000;
}

.outline-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	text-decoration: none;
	apect-ratio: 1;
	font-size: 1.25rem;
	color: #7A7A7A;
	background: rgba(255, 255, 255, 1.0);
	border: 1px solid rgba(255, 205, 0, 0.2);
	transition: color 0.5s ease-in-out;
}

.outline-button:hover {
	color: rgba(255, 255, 255, 1.0);
	--fill: 100%;
}

.outline-button::after {
	position: absolute;
	z-index: -1;
	content: '';
	inset: -2px;
	border-radius: inherit;
	background: conic-gradient( gold var(--fill), transparent var(--fill), transparent 60deg, transparent 180deg );
	transition: --fill 0.8s;
}

@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@property --fill {
	syntax: '<percentage>';
	inherits: true;
	initial-value: 0%;
}

@keyframes rotate {
  to {
    --angle: 360deg;
  }
}

  










.section {
	align-items: center;
	margin-bottom: 3em;
}
.section-content {
	border-radius: 8px;
/*	box-shadow: 0 0 10px rgba(0,0,0,0.05);*/
	padding: 1.5em;
	margin-top: 1em;
}
.section ul {
	list-style-type: disc;
	margin-left: 20px;
}
.pricing-table {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	margin-top: 1em;
}
.pricing-plan {
	border: 1px solid var(--highlight-shade2);
	border-radius: 8px;
	flex: 1 1 300px;
	max-width: 300px;
	padding: 1em;
	text-align: center;
}
.pricing-plan h4 {
	margin: 0.5em 0;
	font-size: 1.1em;
}
.pricing-plan p {
	margin: 0.5em 0;
	font-size: 0.95em;
	color: #555;
}
.pricing-plan strong {
	display: block;
	margin: 0.5em 0;
	font-size: 1.2em;
/*	color: #333;*/
}
.pricing-plan ul {
	list-style-type: none;
	padding: 0;
	margin: 1em 0;
}
.pricing-plan ul li {
	margin: 0.5em 0;
}
.note {
	font-size: 0.9em;
/*	color: #888;*/
	margin-top: 1em;
}
/*@media (max-width: 700px) {
	.pricing-table {
		flex-direction: column;
		align-items: center;
	}
}*/





.location-section {
	margin-bottom: 2em;
}
.location-item {
	border-radius: 8px;
	box-shadow: 0 0 10px rgba(0,0,0,0.05);
	padding: 1em 1.5em;
	margin-bottom: 1em;
}
.map-link {
	display: block;
	color: #0066cc;
	text-decoration: none;
	margin-top: 1em;
}
.map-link:hover {
	text-decoration: underline;
}
.map-iframe {
	width: 100%;
	height: 300px;
	border: 0;
	margin-top: 1em;
}













.agent-section-content {
    visibility: visible
}

.agent-section-content::-webkit-scrollbar {
    display: none;
}


.loader {
	border: 3px solid var(--bg-shade1);
	border-radius: 50%;
	border-top: 3px solid var(--highlight-shade1);
	width: 40px;
	height: 40px;
	-webkit-animation: spin 2s linear infinite; /* Safari */
	animation: spin 2s linear infinite;
}
  
/* Safari */
@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}
  
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}


























.subscription-table {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 20px;
	/*background: var(--bg-shade3);*/
}

.subscription-row {
	display: flex;
	justify-content: center;
	gap: 0px;
	flex-wrap: wrap;
}

.subscription-card {
	flex: 1;
	/*min-width: calc(25% - 30px);*/
	min-width: 280px !important;
	width: 350px;
	/*justify-content: space-between;*/
	align-items: center;
	box-sizing: border-box;
	padding: 12px 18px 18px 2px !important;
	margin: 12px 24px 18px 2px !important;
	text-align: center;
	background: var(--bg-shade2);
	border: 1px solid var(--text-shade3);
	border-radius: 10px;
	/*box-shadow: 0px 4px 6px var(--shadow-shade1);*/
	transition: background 1.5s ease-in-out, scale 0.75s ease-in-out, box-shadow 0.25s ease-in-out;
}

.subscription-card:hover {
	box-shadow: 0px 5px 10px var(--shadow-shade1);
	background: var(--bg-shade1);
	scale: 1.02;
}
  
.subscription-card div {
	justify-content: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
  
.subscription-card h2 {
	font-size: 21px;
	font-weight: bold;
}
  
.subscription-card h3 {
	font-size: 29px;
	color: var(--highlight-shade1);
}
  
.subscription-card p {
	font-size: 14px;
	color: var(--text-shade2);
}
  
.subscription-card ul {
	list-style: none;
	justify-content: center !important;
	/*padding: 0px;*/
	margin-left: auto !important;
	margin-right: auto !important;
	/*margin: 10px 0 0;*/
}
  
.subscription-card ul li {
	text-align: left;
	font-size: 15px;
	font-weight: lighter;
	color: var(--text-shade1);
}
  
.stripe-button, .contact-button {
	margin-top: 10px;
	padding: 10px 20px;
	background: var(--button-bg);
	color: var(--button-text);
	border: none;
	border-radius: 5px;
	cursor: pointer;
}
  
.subscription-footer {
	padding: 20px;
	/*background: var(--bg-shade2);*/
	text-align: center;
	font-weight: normal;
	/*border-radius: 10px;*/
	/*box-shadow: 0px 4px 6px var(--shadow-shade1);*/
}










.halo {
	position: absolute;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: transparent;
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.25);
	pointer-events: none;
	transform: translate(-50%, -50%);
	animation: pulse 8s infinite ease-in-out;
}


@keyframes pulse {
	0% {
		box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
	}
	50% {
		box-shadow: 0 0 40px rgba(255, 225, 205, 0.85);
	}
	100% {
		box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
	}
}



@keyframes banner-pulse {
    0% {
        background-color: var(--highlight-shade3);
    }
    50% {
        background-color: var(--highlight-shade2);
    }
    100% {
        background-color: var(--highlight-shade3);
    }
}



.recommended-banner {
    position: relative;
    top: 115px;
    left: -180px;
    width: 500px;
    height: 30px;
    background: rgb(255, 195, 0, 0.5);
    transform: rotate(-25deg);
    transform-origin: 0 0;
    text-align: center;
    color: white;
    font-size: 12px;
    font-weight: bold;
    text-shadow: 0 0 10px var(--highlight-shade3);
    line-height: 30px;
    overflow: hidden;
}

/* Swipe Animation */
.recommended-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: white;
    animation: slide 10s ease-in-out infinite;
}

@keyframes slide {
    0% {
        left: -100%;
    }
    5% {
        left: -100%;
    }
    10% {
        left: 100%;
    }
    95% {
        left: 100%;
    }
    100% {
        left: -100%;
    }
}




.interactive {
	visibility: visible;
}

.no-scrollbar::-webkit-scrollbar {
	display: none;
}


@keyframes ripple {
    0% {
        transform: scale(1);
        background-color: black;
    }
    50% {
        transform: scale(2);
        background-color: #3498db;
    }
    100% {
        transform: scale(1);
        background-color: black;
    }
}

.point {
    position: absolute;
    width: 3px; /* Example size, adjust as needed */
    height: 3px;
    /*border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.25);*/
    animation-fill-mode: forwards;
}








.shell-module {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

.shell-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

.shell {
	background-color: var(--bg-shade1);
	color: var(--text-shade1);
	flex-grow: 1;
	font-family: monospace;
	overflow-y: auto;
	padding: 0px;
	font-size: 21px;
	white-space: pre-wrap;
}

.shell-input {
	background: var(--bg-shade1);
	border: none;
	font-family: monospace;
	color: var(--text-shade1);
	padding: 0px;
	font-size: 21px;
    line-height: 21px;
    font-weight: 600;
	outline: none;
	width: 100%;
}



.tree-item { margin: 5px; padding: 5px; }
.tree-directory { font-weight: bold; cursor: pointer; border: 1px solid #ccc; border-radius: 5px; margin: 5px !important; padding: 5px !important; display: inline-block; }
.tree-file { margin: 5px 0; padding: 5px 10px; border: 1px solid #ddd; border-radius: 3px; display: inline-block; }
.hidden { display: none; }

.visible { display: block; }


















.metrics {
	display: flex;
	gap: 20px;
}
.metric {
	text-align: center;
}
.metric .value {
	font-size: 18px;
	font-weight: bold;
}


.account-info, .trade-section, .order-summary {
	margin: 20px 0;
}
.account-info div, .trade-section div, .order-summary div {
	margin: 10px 0;
}
.account-info {
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}
.account-info div span {
	font-weight: bold;
}
.trade-section {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 20px;
}
.trade-form {
	width: 48%;
	background: var(--bg-shade2);
	margin: 20px;
	padding: 20px;
	/*border-radius: 8px;*/
	/*box-shadow: 0 2px 4px var(--shadow-shade1);*/
}
.trade-form input, .trade-form button {
	width: 80%;
	margin: 10px 0;
	padding: 10px;
	border: 1px solid var(--text-shade3);
	border-radius: 5px;
	font-size: 16px;
	transition: 0.25s ease !important;
}
.trade-form button.buy {
	background: rgba(23, 161, 32, 1.0);
	color: var(--text-shade1);
	cursor: pointer;
	border: none;
}
.trade-form button.sell {
	background: rgba(161, 23, 32, 1.0);
}
.order-summary {
	margin-top: 20px;
}


















.panel {
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	padding: 20px;
}
.panel h2 {
	margin: 0 0 10px 0;
}
.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
	gap: 5px;
}
.agent {
	height: 50px;
	border-radius: 5px;
	text-align: center;
	line-height: 50px;
	color: white;
	font-weight: bold;
}
.agent.green {
	background-color: #27ae60;
}
.agent.red {
	background-color: #e74c3c;
}
.agent.blue {
	background-color: #3498db;
}
.chart {
	height: 200px;
	background-color: #ecf0f1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	color: #7f8c8d;
	border-radius: 10px;
}
.notifications {
	overflow-y: auto;
	height: 300px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.notification {
	background: #ffeaa7;
	padding: 10px;
	border-radius: 5px;
	font-size: 14px;
}














.summary-section {
	margin: 20px 0;
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}
.summary-section div {
	margin: 10px 0;
	display: flex;
	justify-content: space-between;
	font-size: 18px;
}
.summary-section div span {
	font-weight: bold;
}
table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}
table th, table td {
	padding: 10px;
	text-align: center;
	border: 1px solid var(--text-shade2);
}
table th {
	background-color: transparent !important;
	font-weight: 600;
}
.achievement-banner {
	text-align: center;
	background-color: #2ecc71;
	color: white;
	padding: 15px;
	margin: 20px 0;
	border-radius: 5px;
	font-size: 20px;
	font-weight: bold;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.achievement-banner .highlight {
	color: #f39c12;
}
.expandable-row {
	display: none;
}
.expandable-row.open {
	display: table-row;
}
.expand-button {
	cursor: pointer;
	color: #3498db;
}

















#control-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
    padding: 0 20px;
    background-color: var(--bg-shade2);
    /*border-bottom: 0px solid var(--highlight-shade2);*/
    /*box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);*/
}

#control-bar label {
    margin: 5px 10px 10px 0px;
    font-size: 14px;
    font-weight: bold;
}

#market-dates-dropdown {
    height: 36px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 4px 8px;
    background-color: #fff;
    outline: none;
}

#chart-container {
    position: relative;
    width: 100%;
    height: calc(100vh - 80px);
    overflow: hidden;
}

#chartCanvas {
    width: 100%;
    height: calc(100vh - 94px);
    display: block;
    position: absolute;
    top: 31px;
    left: 0px;
}

#control-bar {
    height: 80px;
    position: relative;
    z-index: 1;
}


















.schedule-block {
	background-color: #ffffff;
	border: 1px solid #ddd;
	border-radius: 10px;
	padding: 15px 15px 15px 15px !important;
	margin-bottom: 10px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	width: 80%;
	max-width: 400px;
  }

  .schedule-block .schedule-header {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
  }

  .schedule-block .schedule-header .schedule-icon {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #0077cc;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	font-weight: bold;
	margin-right: 10px;
  }

  .schedule-block .schedule-header .schedule-title {
	font-size: 16px;
	font-weight: bold;
	color: #333;
  }

  .schedule-block .schedule-details {
	font-size: 14px;
	color: #444;
	margin-bottom: 5px;
  }

  .schedule-block .schedule-team-members {
	font-size: 12px;
	color: #555;
	margin-bottom: 10px;
  }

  .schedule-block .schedule-team-members a {
	color: #0077cc;
	text-decoration: none;
	margin-right: 5px;
  }

  .schedule-block .schedule-team-members a:hover {
	text-decoration: underline;
  }

  .schedule-block .schedule-scoring {
	margin-top: 10px;
	font-size: 12px;
	color: #444;
  }

  .schedule-block .schedule-scoring label {
	margin-right: 10px;
	display: inline-block;
  }













.x_card {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	width: calc(100% - 20px);
	max-width: 600px;
	padding: 20px;
	box-sizing: border-box;
}
.x_card-header {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
.x_card-header img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	margin-right: 10px;
}
.x_card-title {
	font-size: 1.5em;
	font-weight: bold;
	margin: 0;
}
.x_card-description {
	margin: 10px 0;
	color: #555;
}
.x_model-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 15px 0;
}
.x_model-tags span {
	background-color: #f0f0f0;
	border-radius: 5px;
	padding: 5px 10px;
	font-size: 0.9em;
}
.x_footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9em;
	color: #777;
}
.x_footer span {
	display: flex;
	align-items: center;
	gap: 5px;
}
.x_footer i {
	font-style: normal;
}










.stock-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	border-bottom: 1px solid #333;
}
.stock-row:last-child {
	border-bottom: none;
}
.stock-symbol {
	font-size: 18px;
	font-weight: bold;
}
.stock-company-name {
	font-size: 14px;
	color: #bbb;
}
.stock-chart {
	width: 100px;
	height: 30px;
	background: #444;
	position: relative;
}
.stock-chart canvas {
	position: absolute;
	top: 0;
	left: 0;
}
.stock-price {
	font-size: 18px;
	text-align: right;
}
.stock-percent-change {
	font-size: 14px;
	text-align: right;
}
.stock-positive {
	color: #4caf50;
}
.stock-negative {
	color: #f44336;
}












.toggle {
	position: relative;
	width: 40px;
	height: 20px;
	background-color: #ddd;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.toggle::before {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	background-color: #fff;
	border-radius: 50%;
	transition: transform 0.3s ease;
}

.toggle.active {
	background-color: #4caf50;
}

.toggle.active::before {
	transform: translateX(20px);
}












.socket-status {
    position: fixed;
    top: 10px;
    right: 10px;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 12px;
    transition: all 0.3s;
}

.socket-status.connected {
    background: var(--success-shade1);
    color: white;
}

.socket-status.connecting {
    background: var(--warning-shade1);
    color: black;
}

.socket-status.disconnected,
.socket-status.error {
    background: var(--error-shade1);
    color: white;
}

.sync-control {
    background: var(--bg-shade2);
    border-radius: 8px;
    padding: 15px;
    margin: 10px;
    width: 200px;
}

.sync-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.sync-value {
    color: var(--highlight-shade1);
    font-weight: bold;
}

.sync-slider {
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--bg-shade1);
    border-radius: 2px;
    outline: none;
}

/* Webkit (Chrome, Safari, newer Edge) */
.sync-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--highlight-shade1);
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 0 0 2px var(--bg-shade1);
}

/* Firefox */
.sync-slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: none;
    border-radius: 50%;
    background: var(--highlight-shade1);
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 0 0 2px var(--bg-shade1);
}

/* Track styling */
.sync-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    background: var(--bg-shade1);
    border-radius: 2px;
    border: none;
}

.sync-slider::-moz-range-track {
    width: 100%;
    height: 4px;
    background: var(--bg-shade1);
    border-radius: 2px;
    border: none;
}

/* Performance state colors for both browsers */
.sync-slider.optimal::-webkit-slider-thumb {
    background: var(--success-shade1);
}
.sync-slider.optimal::-moz-range-thumb {
    background: var(--success-shade1);
}

.sync-slider.warning::-webkit-slider-thumb {
    background: var(--warning-shade1);
}
.sync-slider.warning::-moz-range-thumb {
    background: var(--warning-shade1);
}

.sync-slider.critical::-webkit-slider-thumb {
    background: var(--error-shade1);
}
.sync-slider.critical::-moz-range-thumb {
    background: var(--error-shade1);
}

.sync-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 12px;
    color: var(--text-shade2);
}

.sync-indicator {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.sync-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--highlight-shade1);
}

.sync-pulse.pulse {
    animation: pulse-animation 1s cubic-bezier(0.4, 0, 0.6, 1);
}

@keyframes pulse-animation {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.5;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.performance-recommendation {
    margin-top: 10px;
    padding: 8px;
    border-radius: 4px;
    background: var(--bg-shade3);
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s;
}

.performance-recommendation.hidden {
    display: none;
}

.performance-recommendation i {
    color: var(--warning-shade1);
}

.team-metrics {
	display: flex;
    gap: 20px;
    padding: 15px;
}

.metric {
    padding: 10px;
    border-radius: 4px;
}

.metric-title {
    font-size: 12px;
    color: var(--text-shade2);
}

.metric-value {
    font-size: 24px;
    color: var(--text-shade1);
}

.sync-control {
    background: var(--bg-shade2);
    border-radius: 8px;
    padding: 15px;
    margin: 10px;
    width: 200px;
}

/* ... rest of the CSS we discussed earlier ... */

.share-btn {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    background: var(--bg-shade3);
    color: var(--text-shade1);
    cursor: pointer;
    transition-duration: 0.5s;
    width: 240px;  /* Match the URL button width */
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.share-btn:hover {
    background: var(--bg-shade2);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.share-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px !important;
    width: 100%;
    align-items: center;
}



.messaging-test-container {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
    overflow-y: auto;
}

.message-container {
    height: calc(100% - 250px);
    overflow-y: auto;
    padding: 10px;
}

.message-input-group {
    display: flex;
    gap: 10px;
}

.message-input-group textarea {
    flex: 1;
    min-height: 60px;
    padding: 10px;
    border: 1px solid var(--highlight-shade2);
    border-radius: 4px;
    background: var(--bg-shade2);
    color: var(--text-shade1);
}

.message-input-group button {
    padding: 0 20px;
    background: var(--bg-shade2);
    border: 1px solid var(--highlight-shade2);
    border-radius: 4px;
    color: var(--text-shade1);
    cursor: pointer;
}

.message-options {
    display: flex;
    gap: 10px;
}

.message-options select {
    padding: 5px 10px;
    border: 1px solid var(--highlight-shade2);
    border-radius: 4px;
    background: var(--bg-shade2);
    color: var(--text-shade1);
}

#message-status {
    font-size: 14px;
    height: 20px;
}




.channel-badge {
     background: var(--bg-shade3);
     color: var(--text-shade2);
     padding: 0px;
     border-radius: 12px;
     font-size: 12px;
     margin-right: 8px;
}

.message {
     margin: 20px 20px 0px 20px !important;
     padding: 20px !important;
     border: 1px solid var(--highlight-shade2);
	 border-radius: 10px;
}

.message-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 5px;
}

.message-meta {
     display: flex;
     align-items: center;
     color: var(--text-shade2);
     font-size: 12px;
}

.sender {
     font-weight: bold;
	 font-size: 14px;
     color: var(--text-shade1);
}

.message-content {
     color: var(--text-shade1);
     line-height: 1.4;
}

/* Custom sidebar colors */
.sidebar {
    background-color: none !important; /* Override background */
}

.section-title {
    color: var(--text-shade1) !important; /* Override section title color */
}

.section-header:hover {
    background-color: var(--bg-shade4) !important; /* Override hover background */
	transition-duration: 0.50s ease;
	box-shadow: 0 2px 4px var(--shadow-shade1);
}

.subsection {
    color: var(--text-shade1) !important; /* Override subsection text color */
}

.subsection:hover {
    background-color: var(--bg-shade4) !important; /* Override subsection hover background */
    color: var(--text-shade1) !important; /* Override subsection hover text color */
	transition-duration: 0.50s ease;
	box-shadow: 0 2px 4px var(--shadow-shade1);
}

.section-badge {
    background-color: var(--bg-shade3) !important; /* Override badge background */
    color: var(--text-shade1) !important; /* Override badge text color */
}


















/* Compute Marketplace Styles */

#compute-marketplace {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

#projects-container {
    width: 100%;
    box-sizing: border-box;
}

.compute-project-card {
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

.compute-project-card:hover {
    transform: translateY(-5px);
}

.layout-btn {
    background: var(--bg-shade2);
    color: var(--text-shade2);
    border: 1px solid var(--bg-shade3);
    transition: all 0.2s ease;
}

.layout-btn:hover {
    background: var(--bg-shade1);
}

.layout-btn.active {
    background: var(--highlight-shade3);
    color: var(--text-shade1);
    border: 1px solid var(--highlight-shade2);
}

/* Modal styles */
#modal-overlay {
    background-color: var(--bg-shade4);
    backdrop-filter: blur(3px);
    transition: all 0.3s ease;
}

#modal-window {
    box-shadow: 0 10px 25px var(--highlight-shade4);
    max-height: 90vh;
    overflow-y: auto;
	border-radius: 15px;
}

#select-project-btn {
    transition: all 0.2s ease;
}

#select-project-btn:hover {
    background: var(--highlight-shade2);
    transform: translateY(-2px);
}

#cancel-btn {
    transition: all 0.2s ease;
}

#cancel-btn:hover {
    background: var(--bg-shade2);
    transform: translateY(-2px);
}

.btn-gentle {
    display: inline-flex;
    align-items: center;
    background-color: var(--bg-shade1);
    border: 1px solid var(--highlight-shade3);
    color: var(--text-shade2);
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: lighter;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    outline: none !important;
    box-shadow: none !important;
}

.btn-gentle:hover {
    border-color: var(--text-shade1);
    color: var(--text-shade1);
}

.btn-gentle i {
    margin-right: 8px;
    font-size: 12px;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    background-color: var(--link-shade1);
    color: white;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
    outline: none !important;
    box-shadow: none !important;
}

.btn-primary:hover {
    background-color: var(--link-shade2);
}

.btn-primary i {
    margin-right: 8px;
}

/* =====================
   Form Elements
   ===================== */

/* Remove default browser focus outline (often blue) */
button:focus,
select:focus {
    outline: none;
    /* Optional accessibility alternative: */
    /* box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); */
}

/* Style select dropdowns for consistency */
select {
    padding: 8px 12px;
    /* Remove fixed height to allow content + padding to determine size */
    /* height: 30px; */ 
    background-color: var(--bg-shade1);
    color: var(--text-shade1);
    border-radius: 8px;
    border: 1px solid var(--text-shade2);
    font-size: 12px;
    font-weight: bold;
    transition: 0.25s ease;
    cursor: pointer;
    box-sizing: border-box; /* Include padding and border in element's total width and height */
    /* Add flex properties for better vertical alignment */
    display: inline-flex;
    align-items: center;
    /* Remove default appearance for more control */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* Add custom dropdown arrow if desired later */
}

/* Restore hover effect if it was removed */
select:hover {
    box-shadow: 0 2px 5px var(--shadow-shade1);
}

/* Styles for refactored window content items */
.window-content-item {
    display: flex;
    flex-direction: column; /* Stack main content and details vertically */
    align-items: flex-start; /* Left-align all children */
    padding: 10px 15px 15px 15px !important; /* Explicitly set bottom padding to 15px and add !important */
    margin: 5px 0; /* Vertical margin between items */
    border-bottom: 1px solid var(--highlight-shade3); /* Optional separator */
    width: calc(100% - 60px); /* Take full width minus padding */
    min-width: 0 !important; /* Allow shrinking below intrinsic content width */
}

.window-item-main {
    display: flex !important; /* Ensure flex is applied */
    flex-direction: row !important; /* Ensure children are in a row */
    align-items: center !important; /* Vertically align icon and name */
    margin-bottom: 8px; /* Space below the main icon/name line */
}

.window-item-name-container { /* New rule */
    display: inline-flex !important; /* Ensure inline-flex is applied */
    flex-direction: row !important; /* Ensure children are in a row */
    align-items: center !important;  /* Vertically align icon and text within this container */
}

.window-item-icon {
    margin-right: 8px; /* Space between icon and name */
    font-size: 1.8em !important; /* Increased by 50% from 1.2em */
    color: var(--text-shade2);
}

.window-item-name {
    font-size: 1.3em !important; /* Larger name for emphasis */
    font-weight: 600;
    color: var(--text-shade1);
    cursor: pointer;
    text-decoration: none !important; /* Remove default underline */
    width: max-content !important; /* Make the element only as wide as its text content */
    overflow-wrap: break-word !important; /* Ensure text wraps if max-width is hit */
    max-width: 100% !important; /* Ensure it doesn't overflow its name-container if content is very long */
}

.window-item-name:hover {
    text-decoration: underline;
}

.window-item-details {
    padding-left: 30px; /* Indent details under the icon */
    width: 100%;
    overflow-x: hidden !important; /* Prevent children from expanding this container horizontally */
    box-sizing: border-box !important; /* Ensure padding is included in the 100% width */
    min-width: 0 !important; /* Allow shrinking below intrinsic content width */
}

.window-item-title {
    font-size: 14px;
    font-weight: bold; /* e.g., Artist Name */
    color: var(--text-shade1);
    margin-bottom: 4px;
    overflow-wrap: break-word !important; /* Ensure text wraps */
    /* word-break: break-all !important; */ /* Removed for conventional wrapping */
    white-space: normal !important; /* Ensure normal white-space handling */
    max-width: 100% !important; /* Ensure it doesn't overflow .window-item-details */
    box-sizing: border-box !important; /* Correct width calculation */
}

.window-item-body {
    font-size: 13px;
    color: var(--text-shade2); /* e.g., Section Description */
    margin-bottom: 6px;
    line-height: 1.4;
    overflow-wrap: break-word !important; /* Ensure text wraps */
    max-width: 100% !important; /* Ensure it doesn't overflow .window-item-details */
    /* word-break: break-all !important; */ /* Removed for conventional wrapping */
}

.window-item-more-link-container {
    margin-top: 5px;
}

.window-item-more-link {
    font-size: 12px;
    font-weight: bold;
    color: var(--link-shade1);
    text-decoration: none;
    cursor: pointer;
}

.window-item-more-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

.window-item-image {
    display: block;
    margin: 10px auto;
    max-width: 80%; /* Adjusted for better fit */
    height: auto;
    object-fit: cover;
    border-radius: 4px; /* Softer corners */
}

/* Styles for the 'connect...' contextual menu */
.more-menu {
    /* position, display, background, border, z-index are set by JS for dynamic positioning */
    /* but we can add some defaults here if needed, or ensure they are overridden by JS */
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    min-width: 160px; /* Ensure a decent width */
}

.more-menu-item {
    display: block;
    padding: 8px 12px;
    color: var(--text-shade1);
    text-decoration: none;
    font-size: 13px;
    cursor: pointer;
    border-bottom: 1px solid var(--highlight-shade3);
}

.more-menu-item:last-child {
    border-bottom: none;
}

.more-menu-item:hover {
    background-color: var(--highlight-shade2);
    color: var(--primary-accent);
}

.more-menu-item i {
    margin-right: 8px;
    color: var(--primary-accent-muted); /* Or inherit for text color */
}

.more-menu-item:hover i {
    color: var(--primary-accent);
}

/* Styles for items WITH an image */
.window-content-item.has-image .window-item-main {
    display: block !important; /* Ensure this container allows children to stack as blocks */
}

.window-content-item.has-image .window-item-image {
    display: block !important; /* Make the image a block element */
    max-width: 370px !important; 
    height: auto !important;
    margin-left: 0 !important; /* Align to the left */
    margin-right: auto !important; /* Allow it to not stretch if parent is wider */
    margin-bottom: 8px !important; /* Space below image before the title */
}

.window-content-item.has-image .window-item-name-container {
    display: flex !important; /* Keep icon and name side-by-side */
    align-items: center !important;
    /* overflow: hidden; */ /* Not needed if image is not floated */
    width: 100% !important; /* Allow it to take full width */
}

.window-content-item.has-image .window-item-name {
    width: auto !important; 
    white-space: normal !important;
}

.window-content-item.has-image .window-item-details {
    /* clear: left; */ /* Not needed if image is not floated */
    padding-left: 0 !important; 
    margin-top: 8px !important; /* Consistent margin */
}

.window-item-main {
    display: flex !important; /* Ensure flex is applied */
    flex-direction: row !important; /* Ensure children are in a row */
    align-items: center !important; /* Vertically align icon and name */
    margin-bottom: 8px; /* Space below the main icon/name line */
}

.markdown-card {
    padding: 40px 32px !important;
    background: var(--bg-shade2, #fff);
    border-radius: 20px;
    box-shadow: 0 6px 32px var(--shadow-shade2);
    box-sizing: border-box;
    margin: 48px auto;
    max-width: 800px;
}

