@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Rajdhani:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root > * {
    --md-text-font: "Inter", sans-serif;
    --md-code-font: "JetBrains Mono", monospace;

    --ic-bg: #05070A;
    --ic-bg-elevated: #0B0E14;
    --ic-bg-elevated-2: #10141D;
    --ic-border: rgba(0, 210, 255, 0.12);
    --ic-border-strong: rgba(0, 210, 255, 0.28);

    --ic-text: #E2E8F0;
    --ic-text-muted: #94A3B8;
    --ic-text-faint: #5B6577;

    --ic-accent: #00D2FF;
    --ic-accent-deep: #0055FF;
    --ic-accent-gradient: linear-gradient(135deg, #0055FF, #00D2FF);

    --ic-success: #00E6A0;
    --ic-warning: #FFB800;
    --ic-danger: #FF4D6A;
    --ic-info: #00D2FF;

    --ic-radius-sm: 4px;
    --ic-radius-md: 8px;
    --ic-radius-lg: 14px;

    --md-default-bg-color: var(--ic-bg);
    --md-default-fg-color: var(--ic-text);
    --md-primary-fg-color: var(--ic-accent);
    --md-accent-fg-color: var(--ic-accent);
    --md-typeset-color: var(--ic-text);
    --md-typeset-a-color: var(--ic-accent);
    --md-code-bg-color: var(--ic-bg-elevated);
    --md-footer-bg-color: var(--ic-bg);
    --md-footer-bg-color--dark: var(--ic-bg);
}

* {
    scroll-behavior: smooth;
}

body, .md-main, .md-container {
    background-color: var(--ic-bg) !important;
}

::selection {
    background: rgba(0, 210, 255, 0.25);
    color: #FFFFFF;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(0, 210, 255, 0.18);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 210, 255, 0.35);
}

.md-header {
    background: linear-gradient(180deg, rgba(10,14,20,0.85), rgba(5,7,10,0.7));
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid var(--ic-border) !important;
    box-shadow: none !important;
}

.md-header__title {
    font-family: 'Rajdhani', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

.md-header__title .md-header__topic {
    background: var(--ic-accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.md-header__button, .md-header__option svg {
    color: var(--ic-text-muted) !important;
    transition: color 0.2s ease;
}
.md-header__button:hover {
    color: var(--ic-accent) !important;
}

.md-tabs {
    background: rgba(5, 7, 10, 0.6) !important;
    border-bottom: 1px solid var(--ic-border) !important;
}
.md-tabs__link {
    color: var(--ic-text-muted) !important;
    font-weight: 500 !important;
    font-size: 0.74rem !important;
    letter-spacing: 0.4px !important;
    transition: color 0.2s ease;
}
.md-tabs__link:hover, .md-tabs__link--active {
    color: var(--ic-accent) !important;
}
.md-tabs__item {
    position: relative;
}

.md-sidebar {
    background-color: transparent !important;
}
.md-sidebar__scrollwrap::before,
.md-sidebar__scrollwrap::after {
    display: none !important;
    background: transparent !important;
}

.md-nav {
    background-color: transparent !important;
}
.md-nav__title {
    color: var(--ic-text-faint) !important;
    font-family: 'Rajdhani', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
}
.md-nav__link {
    color: var(--ic-text-muted) !important;
    border-radius: var(--ic-radius-sm);
    transition: color 0.18s ease, background-color 0.18s ease;
}
.md-nav__link:hover {
    color: var(--ic-accent) !important;
    background-color: rgba(0, 210, 255, 0.06);
}
.md-nav__link--active {
    color: var(--ic-accent) !important;
    font-weight: 600;
    text-shadow: 0 0 10px rgba(0, 210, 255, 0.3);
}
.md-nav__item .md-nav__link--active {
    border-left: 2px solid var(--ic-accent);
    padding-left: calc(0.6rem - 2px);
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
    font-family: 'Rajdhani', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

.md-typeset h1 {
    background: var(--ic-accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--ic-border);
    margin-bottom: 1.4rem;
}

.md-typeset h2 {
    border-bottom: 1px solid var(--ic-border);
    padding-bottom: 0.4rem;
    margin-top: 2.2rem;
}

.md-typeset a {
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 210, 255, 0.25);
    transition: border-color 0.2s ease, color 0.2s ease;
}
.md-typeset a:hover {
    color: #FFFFFF;
    border-bottom-color: var(--ic-accent);
}

.md-typeset p, .md-typeset li {
    color: var(--ic-text);
    line-height: 1.7;
    font-size: 0.65rem;
}

.md-typeset pre, .md-typeset code {
    background-color: var(--ic-bg-elevated) !important;
    border: 1px solid var(--ic-border) !important;
    color: var(--ic-text) !important;
    border-radius: var(--ic-radius-md) !important;
}

.md-typeset pre {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}

.md-typeset pre > code {
    border: none !important;
}

.md-clipboard {
    color: var(--ic-text-faint) !important;
}
.md-clipboard:hover {
    color: var(--ic-accent) !important;
}

.md-typeset .highlight .filename {
    background-color: var(--ic-bg-elevated-2) !important;
    color: var(--ic-text-muted) !important;
    border: 1px solid var(--ic-border) !important;
    border-bottom: none !important;
    border-radius: var(--ic-radius-md) var(--ic-radius-md) 0 0 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.7rem !important;
}

.md-typeset table:not([class]) {
    background-color: var(--ic-bg-elevated) !important;
    border: 1px solid var(--ic-border) !important;
    border-radius: var(--ic-radius-md);
    overflow: hidden;
}
.md-typeset table:not([class]) th {
    background-color: var(--ic-bg-elevated-2) !important;
    color: var(--ic-text) !important;
    font-family: 'Rajdhani', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    font-size: 0.78rem !important;
    border-bottom: 1px solid var(--ic-border-strong) !important;
}
.md-typeset table:not([class]) td {
    border-top: 1px solid var(--ic-border) !important;
    color: var(--ic-text-muted) !important;
}
.md-typeset table:not([class]) tr:hover td {
    background-color: rgba(0, 210, 255, 0.03) !important;
}

.md-typeset .admonition,
.md-typeset details {
    background-color: var(--ic-bg-elevated) !important;
    border: 1px solid var(--ic-border) !important;
    border-left: 3px solid var(--ic-accent) !important;
    border-radius: var(--ic-radius-md) !important;
    box-shadow: none !important;
}
.md-typeset .admonition-title,
.md-typeset summary {
    background-color: var(--ic-bg-elevated-2) !important;
    font-family: 'Rajdhani', sans-serif !important;
    letter-spacing: 0.5px !important;
}
.md-typeset .admonition-title::before,
.md-typeset summary::before {
    background-color: var(--ic-accent) !important;
}

.md-typeset .admonition.warning,
.md-typeset .admonition.caution {
    border-left-color: var(--ic-warning) !important;
}
.md-typeset .admonition.warning > .admonition-title::before,
.md-typeset .admonition.caution > .admonition-title::before {
    background-color: var(--ic-warning) !important;
}

.md-typeset .admonition.danger,
.md-typeset .admonition.failure {
    border-left-color: var(--ic-danger) !important;
}
.md-typeset .admonition.danger > .admonition-title::before,
.md-typeset .admonition.failure > .admonition-title::before {
    background-color: var(--ic-danger) !important;
}

.md-typeset .admonition.success,
.md-typeset .admonition.tip {
    border-left-color: var(--ic-success) !important;
}
.md-typeset .admonition.success > .admonition-title::before,
.md-typeset .admonition.tip > .admonition-title::before {
    background-color: var(--ic-success) !important;
}

.md-typeset blockquote {
    border-left: 3px solid var(--ic-border-strong) !important;
    color: var(--ic-text-muted) !important;
}

.md-search__input {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--ic-border) !important;
    color: #FFFFFF !important;
    border-radius: var(--ic-radius-sm) !important;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.md-search__input:focus {
    border-color: var(--ic-border-strong) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
}
.md-search__input::placeholder {
    color: var(--ic-text-faint) !important;
}
.md-search__icon svg {
    fill: var(--ic-text-faint) !important;
}

.md-search-result__meta {
    background-color: var(--ic-bg-elevated-2) !important;
    color: var(--ic-text-faint) !important;
}
.md-search-result__article {
    border-bottom: 1px solid var(--ic-border) !important;
}
.md-search-result mark {
    background-color: rgba(0, 210, 255, 0.2) !important;
    color: #FFFFFF !important;
}

.md-typeset .md-button {
    background: var(--ic-accent-gradient) !important;
    border: none !important;
    color: #03121A !important;
    font-weight: 600 !important;
    border-radius: var(--ic-radius-sm) !important;
    transition: filter 0.2s ease, transform 0.15s ease;
}
.md-typeset .md-button:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}
.md-typeset .md-button--secondary {
    background: transparent !important;
    border: 1px solid var(--ic-border-strong) !important;
    color: var(--ic-accent) !important;
}

.md-footer {
    background-color: var(--ic-bg) !important;
    border-top: 1px solid var(--ic-border) !important;
}
.md-footer-meta {
    background-color: var(--ic-bg) !important;
}
.md-footer__link {
    color: var(--ic-text-muted) !important;
    transition: color 0.2s ease;
}
.md-footer__link:hover {
    color: var(--ic-accent) !important;
}

.md-source, .md-header__button[for="__search"] + label {
    display: none !important;
}

.md-typeset .tabbed-set {
    border-radius: var(--ic-radius-md);
    overflow: hidden;
    border: 1px solid var(--ic-border);
}
.md-typeset .tabbed-labels {
    background-color: var(--ic-bg-elevated-2) !important;
}
.md-typeset .tabbed-labels > label {
    color: var(--ic-text-muted) !important;
    font-weight: 500 !important;
}
.md-typeset .tabbed-set > input:checked + label {
    color: var(--ic-accent) !important;
}
.md-typeset .tabbed-set > input:checked + label::before {
    background-color: var(--ic-accent) !important;
}
.md-typeset .tabbed-content {
    background-color: var(--ic-bg) !important;
}

.md-typeset hr {
    border-color: var(--ic-border) !important;
}

.md-content__inner::before {
    height: 0;
}

::-moz-selection {
    background: rgba(0, 210, 255, 0.25);
    color: #FFFFFF;
}