2024-10-28 21:36:15 +05:30

385 lines
9.0 KiB
CSS

/* Import custom fonts */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');
/* Custom Properties */
:root {
/* Color Palette */
--ifm-color-primary: #4360DF;
--ifm-color-primary-dark: #3D57CC;
--ifm-color-primary-darker: #3751BF;
--ifm-color-primary-darkest: #2F44A6;
--ifm-color-primary-light: #5B75E6;
--ifm-color-primary-lighter: #7288EC;
--ifm-color-primary-lightest: #8A9BF2;
/* Enhanced Secondary Colors */
--status-purple: #887AF9;
--status-blue: #51D0F0;
--status-green: #51D0A7;
--status-yellow: #FFD506;
--status-orange: #FF8F6B;
--status-pink: #FF6B8F;
/* Neutral Colors with Alpha Support */
--status-gray-100: hsla(210, 33%, 98%, 1);
--status-gray-200: hsla(210, 25%, 95%, 1);
--status-gray-300: hsla(214, 24%, 89%, 1);
--status-gray-400: hsla(215, 12%, 64%, 1);
--status-gray-500: hsla(215, 10%, 47%, 1);
--status-gray-600: hsla(215, 14%, 34%, 1);
--status-gray-700: hsla(215, 22%, 21%, 1);
/* Typography */
--ifm-font-family-base: 'Inter', system-ui, -apple-system;
--ifm-heading-font-family: 'Space Grotesk', var(--ifm-font-family-base);
--ifm-font-size-base: 15px;
--ifm-h1-font-size: 2.5rem;
--ifm-h2-font-size: 2rem;
--ifm-h3-font-size: 1.5rem;
--ifm-code-font-size: 90%;
--ifm-line-height-base: 1.7;
/* Spacing & Layout */
--ifm-navbar-height: 4rem;
--ifm-navbar-padding-vertical: 0.75rem;
--ifm-container-width-xl: 1400px;
--content-padding: clamp(1rem, 5vw, 3rem);
/* Effects */
--shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
/* Animations */
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* Dark Mode Overrides */
[data-theme='dark'] {
--ifm-color-primary: #5B75E6;
--ifm-color-primary-dark: #4360DF;
--ifm-background-color: #0A0A0C;
--ifm-background-surface-color: #151519;
/* Dark mode specific shadows */
--shadow-sm: 0 2px 4px rgba(0,0,0,0.2);
--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.3), 0 2px 4px -1px rgba(0,0,0,0.2);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.3), 0 4px 6px -2px rgba(0,0,0,0.2);
}
/* Base background colors */
html,
html body {
background: #ffffff !important;
}
html[data-theme='dark'],
html[data-theme='dark'] body {
background: #0A0A0C !important;
}
/* Light mode gradient background */
html::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
radial-gradient(circle at 0% 0%, rgba(67, 96, 223, 0.2) 0%, transparent 50%),
radial-gradient(circle at 100% 0%, rgba(136, 122, 249, 0.2) 0%, transparent 50%),
radial-gradient(circle at 100% 100%, rgba(81, 208, 240, 0.2) 0%, transparent 50%),
radial-gradient(circle at 0% 100%, rgba(81, 208, 167, 0.2) 0%, transparent 50%);
pointer-events: none;
z-index: 0;
}
/* Dark mode gradient background */
html[data-theme='dark']::before {
background:
radial-gradient(circle at 0% 0%, rgba(67, 96, 223, 0.2) 0%, transparent 50%),
radial-gradient(circle at 100% 0%, rgba(136, 122, 249, 0.2) 0%, transparent 50%),
radial-gradient(circle at 100% 100%, rgba(81, 208, 240, 0.2) 0%, transparent 50%),
radial-gradient(circle at 0% 100%, rgba(81, 208, 167, 0.2) 0%, transparent 50%);
}
/* Ensure content appears above the gradient */
#__docusaurus {
position: relative;
z-index: 1;
}
/* Remove any competing background styles */
.main-wrapper,
[class*='docPage_'],
[class*='docMainContainer_'] {
background: transparent !important;
}
/* Fix for code block visibility */
[class*='codeBlockContainer_'] {
background-color: #f6f7f8 !important;
}
[class*='codeBlockContent_'] {
background-color: #f6f7f8 !important;
}
[class*='codeBlockLines_'] {
color: #374151 !important;
}
[data-theme='dark'] [class*='codeBlockContainer_'],
[data-theme='dark'] [class*='codeBlockContent_'] {
background-color: #1e1e1e !important;
}
[data-theme='dark'] [class*='codeBlockLines_'] {
color: #e5e7eb !important;
}
:not(pre) > code {
background-color: #f6f7f8 !important;
color: #374151 !important;
padding: 0.2rem 0.4rem !important;
border-radius: 4px !important;
}
[data-theme='dark'] :not(pre) > code {
background-color: #1e1e1e !important;
color: #e5e7eb !important;
}
/* Global Typography Refinements */
html {
font-size: var(--ifm-font-size-base);
letter-spacing: -0.01em;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--ifm-heading-font-family);
letter-spacing: -0.02em;
font-weight: 600;
}
/* Enhanced Navbar */
.navbar {
background: rgba(255, 255, 255, 0.8);
border-bottom: 1px solid rgba(229, 231, 235, 0.5);
animation: navbarFadeIn 0.5s ease-out;
}
[data-theme='dark'] .navbar {
background: rgba(10, 10, 12, 0.8);
border-bottom: 1px solid rgba(38, 38, 42, 0.5);
}
/* Enhanced Card Styling */
.card {
border: 1px solid var(--status-gray-200);
border-radius: 16px;
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(8px);
transition: var(--transition-normal);
}
[data-theme='dark'] .card {
background: rgba(21, 21, 25, 0.6);
border-color: var(--status-gray-700);
}
.card:hover {
transform: translateY(-4px) scale(1.01);
box-shadow: var(--shadow-lg);
}
/* Button Enhancements */
.button {
border-radius: 12px;
font-weight: 500;
transition: var(--transition-fast);
position: relative;
overflow: hidden;
}
.button::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 120%;
height: 120%;
background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
transform: translate(-50%, -50%) scale(0);
transition: transform var(--transition-fast);
pointer-events: none;
}
.button:hover::after {
transform: translate(-50%, -50%) scale(1);
}
/* Hub Button Styling */
.hub-button {
background: linear-gradient(135deg, var(--ifm-color-primary) 0%, var(--status-purple) 100%) !important;
color: white !important;
padding: 0.4rem 1.2rem !important;
border-radius: 12px !important;
font-weight: 500 !important;
font-size: 0.9rem !important;
transition: var(--transition-normal) !important;
box-shadow: 0 4px 12px rgba(67, 96, 223, 0.2);
position: relative;
overflow: hidden;
margin-right: 16px;
margin-left: 10px;
}
.hub-button::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.1) 100%);
transition: var(--transition-normal);
opacity: 0;
}
.hub-button:hover {
transform: translateY(-2px);
box-shadow: 0 8px 16px rgba(67, 96, 223, 0.3);
}
.hub-button:hover::before {
opacity: 1;
}
/* Table Enhancements */
table {
border-collapse: separate;
border-spacing: 0;
border-radius: 12px;
overflow: hidden;
box-shadow: var(--shadow-sm);
}
th, td {
border: 1px solid var(--status-gray-200);
background: rgba(255, 255, 255, 0.5);
backdrop-filter: blur(4px);
}
[data-theme='dark'] th,
[data-theme='dark'] td {
border-color: var(--status-gray-700);
background: rgba(21, 21, 25, 0.5);
}
/* Animations */
@keyframes navbarFadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes contentFadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Main content animation */
main {
animation: contentFadeIn 0.5s ease-out;
}
/* Sidebar refinements */
.menu {
font-size: 0.95rem;
padding: var(--content-padding);
border-right: none !important;
}
/* Menu item styling */
.menu__link {
border-radius: 8px;
transition: var(--transition-fast);
margin: 2px 0;
}
.menu__link:hover {
background: rgba(67, 96, 223, 0.08);
transform: translateX(4px);
}
[data-theme='dark'] .menu__link:hover {
background: rgba(67, 96, 223, 0.15);
}
.menu__link--active {
background: rgba(67, 96, 223, 0.1) !important;
font-weight: 500;
}
[data-theme='dark'] .menu__link--active {
background: rgba(67, 96, 223, 0.2) !important;
}
/* Remove all sidebar borders */
.main-wrapper > div,
aside,
nav.menu,
.theme-doc-sidebar-container,
div[class*='docSidebarContainer'],
div[class*='sidebarViewport'] {
border-right: none !important;
}
/* TOC refinements */
.table-of-contents {
font-size: 0.9rem;
padding: var(--content-padding);
}
.table-of-contents__link:hover {
background: rgba(67, 96, 223, 0.1);
border-radius: 4px;
}
/* Loading state animations */
.loading {
position: relative;
}
.loading::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, var(--ifm-color-primary), var(--status-purple));
animation: loadingProgress 1s infinite;
}
@keyframes loadingProgress {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(100%);
}
}