/* Theme base styles */
html[data-theme=dark] {
    background-color: hsl(var(--b1, 0 0% 5%));
    color: hsl(var(--bc, 0 0% 90%))
}

body {
    background-color: inherit;
    color: inherit
}

/* Component and utility styles */
*,
:after,
:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

*,
:after,
:before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:after,
:before {
    --tw-content: ""
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

h1,
h2,
h3 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

strong {
    font-weight: bolder
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button {
    text-transform: none
}

button {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

summary {
    display: list-item
}

h1,
h2,
h3,
p {
    margin: 0
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

button {
    cursor: pointer
}

img,
svg {
    display: block;
    vertical-align: middle
}

img {
    max-width: 100%;
    height: auto
}

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

:root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")
}

:root {
    background-color: var(--root-bg, var(--color-base-100));
    color: var(--color-base-content)
}

:root {
    scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000
}

:root {
    --color-primary: #80FF00;
    --color-primary-content: #0A0A0A;
    --color-secondary: #40E0D0;
    --color-secondary-content: #0A0A0A;
    --color-accent: #80FF00;
    --color-accent-content: #0A0A0A;
    --color-neutral: #3A3A3A;
    --color-neutral-content: #E5E7EB;
    --color-base-100: #0D0D0D;
    --color-base-200: #1A1A1A;
    --color-base-300: #262626;
    --color-base-content: #E5E7EB;
    --color-cta-primary: #80FF00;
    --color-cta-primary-content: #0A0A0A;
    --color-cta-secondary: #1A1A1A;
    --color-cta-secondary-content: #E5E7EB;
    --color-border-default: #2A2A2A;
    --color-border-decorative: #80FF00;
    --color-info: #3ABFF8;
    --color-info-content: #002B47;
    --color-success: #4ADE80;
    --color-success-content: #003320;
    --color-warning: #FFB300;
    --color-warning-content: #3D2000;
    --color-error: #FF5757;
    --color-error-content: #470000;
    --border-none: 0;
    --border-thin: 1px;
    --border-medium: 2px;
    --border-thick: 3px;
    --shadow-none: none;
    --shadow-small: 0 2px 6px rgba(0, 0, 0, .4);
    --shadow-medium: 0 4px 12px rgba(0, 0, 0, .5);
    --shadow-large: 0 8px 24px rgba(0, 0, 0, .6);
    --shadow-xl: 0 16px 40px rgba(0, 0, 0, .7);
    --shadow-card: 0 4px 16px rgba(0, 0, 0, .5);
    --shadow-button: 0 4px 12px rgba(128, 255, 0, .25);
    --shadow-header: 0 2px 8px rgba(0, 0, 0, .6);
    --shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .7);
    --radius-sharp: 0;
    --radius-rounded: 12px;
    --radius-pill: 50px;
    --font-display: system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-body: system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --font-weight-heading: 700;
    --font-weight-button: 600;
    --font-weight-label: 500;
    --card-background: #1A1A1A;
    --card-background-hover: #262626;
    --card-border-color: #2A2A2A;
    --card-border-thickness: 1px;
    --card-shadow: 0 4px 16px rgba(0, 0, 0, .5);
    --card-radius: 12px;
    --button-primary-bg: #80FF00;
    --button-primary-text: #0A0A0A;
    --button-primary-border: transparent;
    --button-primary-border-width: 0;
    --button-primary-shadow: 0 4px 12px rgba(128, 255, 0, .25);
    --button-primary-hover-bg: #73E600;
    --button-primary-hover-text: #0A0A0A;
    --button-primary-hover-border: transparent;
    --button-secondary-bg: transparent;
    --button-secondary-text: #E5E7EB;
    --button-secondary-border: #E5E7EB;
    --button-secondary-border-width: 1px;
    --button-secondary-shadow: none;
    --button-secondary-hover-bg: #1A1A1A;
    --button-secondary-hover-text: #E5E7EB;
    --button-secondary-hover-border: #80FF00;
    --button-radius: 8px;
    --button-font-weight: 600;
    --button-transition: all .2s ease;
    --link-color: #E5E7EB;
    --link-hover-color: #80FF00;
    --link-opacity: .7;
    --link-hover-opacity: 1;
    --icon-color: #80FF00;
    --icon-size: 1.25rem;
    --transition-fast: .2s;
    --transition-medium: .3s;
    --transition-slow: .5s;
    --focus-outline-width: 2px;
    --focus-outline-color: #80FF00;
    --focus-outline-offset: 2px;
    --overlay-gradient: linear-gradient(to top, rgba(26, 26, 26, .8), rgba(26, 26, 26, .4), transparent)
}

@media (prefers-color-scheme:dark) {
    :root {
        --color-primary: #80FF00;
        --color-primary-content: #0A0A0A;
        --color-secondary: #40E0D0;
        --color-secondary-content: #0A0A0A;
        --color-accent: #80FF00;
        --color-accent-content: #0A0A0A;
        --color-neutral: #3A3A3A;
        --color-neutral-content: #E5E7EB;
        --color-base-100: #0D0D0D;
        --color-base-200: #1A1A1A;
        --color-base-300: #262626;
        --color-base-content: #E5E7EB;
        --color-cta-primary: #80FF00;
        --color-cta-primary-content: #0A0A0A;
        --color-cta-secondary: #1A1A1A;
        --color-cta-secondary-content: #E5E7EB;
        --color-border-default: #2A2A2A;
        --color-border-decorative: #80FF00;
        --color-info: #3ABFF8;
        --color-info-content: #002B47;
        --color-success: #4ADE80;
        --color-success-content: #003320;
        --color-warning: #FFB300;
        --color-warning-content: #3D2000;
        --color-error: #FF5757;
        --color-error-content: #470000;
        --border-none: 0;
        --border-thin: 1px;
        --border-medium: 2px;
        --border-thick: 3px;
        --shadow-none: none;
        --shadow-small: 0 2px 6px rgba(0, 0, 0, .4);
        --shadow-medium: 0 4px 12px rgba(0, 0, 0, .5);
        --shadow-large: 0 8px 24px rgba(0, 0, 0, .6);
        --shadow-xl: 0 16px 40px rgba(0, 0, 0, .7);
        --shadow-card: 0 4px 16px rgba(0, 0, 0, .5);
        --shadow-button: 0 4px 12px rgba(128, 255, 0, .25);
        --shadow-header: 0 2px 8px rgba(0, 0, 0, .6);
        --shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .7);
        --radius-sharp: 0;
        --radius-rounded: 12px;
        --radius-pill: 50px;
        --font-display: system-ui, -apple-system, "Segoe UI", sans-serif;
        --font-body: system-ui, -apple-system, "Segoe UI", sans-serif;
        --font-weight-light: 300;
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-black: 900;
        --font-weight-heading: 700;
        --font-weight-button: 600;
        --font-weight-label: 500;
        --card-background: #1A1A1A;
        --card-background-hover: #262626;
        --card-border-color: #2A2A2A;
        --card-border-thickness: 1px;
        --card-shadow: 0 4px 16px rgba(0, 0, 0, .5);
        --card-radius: 12px;
        --button-primary-bg: #80FF00;
        --button-primary-text: #0A0A0A;
        --button-primary-border: transparent;
        --button-primary-border-width: 0;
        --button-primary-shadow: 0 4px 12px rgba(128, 255, 0, .25);
        --button-primary-hover-bg: #73E600;
        --button-primary-hover-text: #0A0A0A;
        --button-primary-hover-border: transparent;
        --button-secondary-bg: transparent;
        --button-secondary-text: #E5E7EB;
        --button-secondary-border: #E5E7EB;
        --button-secondary-border-width: 1px;
        --button-secondary-shadow: none;
        --button-secondary-hover-bg: #1A1A1A;
        --button-secondary-hover-text: #E5E7EB;
        --button-secondary-hover-border: #80FF00;
        --button-radius: 8px;
        --button-font-weight: 600;
        --button-transition: all .2s ease;
        --link-color: #E5E7EB;
        --link-hover-color: #80FF00;
        --link-opacity: .7;
        --link-hover-opacity: 1;
        --icon-color: #80FF00;
        --icon-size: 1.25rem;
        --transition-fast: .2s;
        --transition-medium: .3s;
        --transition-slow: .5s;
        --focus-outline-width: 2px;
        --focus-outline-color: #80FF00;
        --focus-outline-offset: 2px;
        --overlay-gradient: linear-gradient(to top, rgba(26, 26, 26, .8), rgba(26, 26, 26, .4), transparent)
    }
}

.container {
    width: 100%
}

@media (min-width:640px) {
    .container {
        max-width: 640px
    }
}

@media (min-width:768px) {
    .container {
        max-width: 768px
    }
}

@media (min-width:1024px) {
    .container {
        max-width: 1024px
    }
}

@media (min-width:1280px) {
    .container {
        max-width: 1280px
    }
}

@media (min-width:1536px) {
    .container {
        max-width: 1536px
    }
}

.prose {
    color: var(--tw-prose-body);
    max-width: 65ch
}

.prose :where(p):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose :where([class~=lead]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-lead);
    font-size: 1.25em;
    line-height: 1.6;
    margin-top: 1.2em;
    margin-bottom: 1.2em
}

.prose :where(a):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-links);
    text-decoration: underline;
    font-weight: 500
}

.prose :where(strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-bold);
    font-weight: 600
}

.prose :where(a strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(blockquote strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(thead th strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(ol):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: decimal;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em
}

.prose :where(ol[type=A]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: upper-alpha
}

.prose :where(ol[type=a]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: lower-alpha
}

.prose :where(ol[type=A s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: upper-alpha
}

.prose :where(ol[type=a s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: lower-alpha
}

.prose :where(ol[type=I]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: upper-roman
}

.prose :where(ol[type=i]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: lower-roman
}

.prose :where(ol[type=I s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: upper-roman
}

.prose :where(ol[type=i s]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: lower-roman
}

.prose :where(ol[type="1"]):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: decimal
}

.prose :where(ul):not(:where([class~=not-prose], [class~=not-prose] *)) {
    list-style-type: disc;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-inline-start: 1.625em
}

.prose :where(ol>li):not(:where([class~=not-prose], [class~=not-prose] *))::marker {
    font-weight: 400;
    color: var(--tw-prose-counters)
}

.prose :where(ul>li):not(:where([class~=not-prose], [class~=not-prose] *))::marker {
    color: var(--tw-prose-bullets)
}

.prose :where(dt):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.25em
}

.prose :where(hr):not(:where([class~=not-prose], [class~=not-prose] *)) {
    border-color: var(--tw-prose-hr);
    border-top-width: 1px;
    margin-top: 3em;
    margin-bottom: 3em
}

.prose :where(blockquote):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 500;
    font-style: italic;
    color: var(--tw-prose-quotes);
    border-inline-start-width: .25rem;
    border-inline-start-color: var(--tw-prose-quote-borders);
    quotes: "“" "”" "‘" "’";
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-inline-start: 1em
}

.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose], [class~=not-prose] *)):before {
    content: open-quote
}

.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose], [class~=not-prose] *)):after {
    content: close-quote
}

.prose :where(h1):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 800;
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: .8888889em;
    line-height: 1.1111111
}

.prose :where(h1 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 900;
    color: inherit
}

.prose :where(h2):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 700;
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333
}

.prose :where(h2 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 800;
    color: inherit
}

.prose :where(h3):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: .6em;
    line-height: 1.6
}

.prose :where(h3 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 700;
    color: inherit
}

.prose :where(h4):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: .5em;
    line-height: 1.5
}

.prose :where(h4 strong):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 700;
    color: inherit
}

.prose :where(img):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(picture):not(:where([class~=not-prose], [class~=not-prose] *)) {
    display: block;
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(video):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(kbd):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 500;
    font-family: inherit;
    color: var(--tw-prose-kbd);
    box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);
    font-size: .875em;
    border-radius: .3125rem;
    padding-top: .1875em;
    padding-inline-end: .375em;
    padding-bottom: .1875em;
    padding-inline-start: .375em
}

.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-code);
    font-weight: 600;
    font-size: .875em
}

.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *)):before {
    content: "`"
}

.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *)):after {
    content: "`"
}

.prose :where(a code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(h1 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(h2 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit;
    font-size: .875em
}

.prose :where(h3 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit;
    font-size: .9em
}

.prose :where(h4 code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(blockquote code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(thead th code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: inherit
}

.prose :where(pre):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-pre-code);
    background-color: var(--tw-prose-pre-bg);
    overflow-x: auto;
    font-weight: 400;
    font-size: .875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: .375rem;
    padding-top: .8571429em;
    padding-inline-end: 1.1428571em;
    padding-bottom: .8571429em;
    padding-inline-start: 1.1428571em
}

.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *)) {
    background-color: transparent;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit
}

.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *)):before {
    content: none
}

.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *)):after {
    content: none
}

.prose :where(table):not(:where([class~=not-prose], [class~=not-prose] *)) {
    width: 100%;
    table-layout: auto;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: 1em;
    line-height: 1.75;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(26, 26, 26, 0.8), rgba(13, 13, 13, 0.95));
    border: 1px solid rgba(128, 255, 0, 0.15);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), 0 0 40px rgba(128, 255, 0, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.03)
}

.prose :where(thead):not(:where([class~=not-prose], [class~=not-prose] *)) {
    border-bottom: none;
    background: linear-gradient(135deg, rgba(128, 255, 0, 0.12) 0%, rgba(64, 224, 208, 0.08) 100%);
    position: relative
}

.prose :where(thead):not(:where([class~=not-prose], [class~=not-prose] *))::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 1rem;
    right: 1rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(128, 255, 0, 0.4), rgba(64, 224, 208, 0.3), transparent)
}

.prose :where(thead th):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: #80FF00;
    font-weight: 700;
    font-size: 0.85em;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    vertical-align: bottom;
    padding: 1em 1.25em;
    white-space: nowrap;
    text-shadow: 0 0 20px rgba(128, 255, 0, 0.15)
}

.prose :where(tbody tr):not(:where([class~=not-prose], [class~=not-prose] *)) {
    border-bottom: 1px solid rgba(128, 255, 0, 0.06);
    transition: background-color 0.25s ease, border-color 0.25s ease
}

.prose :where(tbody tr:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    border-bottom-width: 0
}

.prose :where(tbody tr:nth-child(even)):not(:where([class~=not-prose], [class~=not-prose] *)) {
    background-color: rgba(128, 255, 0, 0.02)
}

.prose :where(tbody tr):not(:where([class~=not-prose], [class~=not-prose] *)):hover {
    background-color: rgba(128, 255, 0, 0.06);
    border-color: rgba(128, 255, 0, 0.12)
}

.prose :where(tbody td):not(:where([class~=not-prose], [class~=not-prose] *)) {
    vertical-align: middle;
    color: var(--color-base-content)
}

.prose :where(tbody td:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-weight: 500;
    color: rgba(229, 231, 235, 0.95)
}

.prose :where(tfoot):not(:where([class~=not-prose], [class~=not-prose] *)) {
    border-top: none;
    background: linear-gradient(135deg, rgba(128, 255, 0, 0.06) 0%, rgba(64, 224, 208, 0.04) 100%);
    position: relative
}

.prose :where(tfoot):not(:where([class~=not-prose], [class~=not-prose] *))::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1rem;
    right: 1rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(128, 255, 0, 0.3), rgba(64, 224, 208, 0.2), transparent)
}

.prose :where(tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) {
    vertical-align: top;
    font-weight: 600;
    color: rgba(229, 231, 235, 0.8)
}

.prose :where(th, td):not(:where([class~=not-prose], [class~=not-prose] *)) {
    text-align: start
}

.prose :where(figure>*):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose :where(figcaption):not(:where([class~=not-prose], [class~=not-prose] *)) {
    color: var(--tw-prose-captions);
    font-size: .875em;
    line-height: 1.4285714;
    margin-top: .8571429em
}

.prose {
    --tw-prose-body: #374151;
    --tw-prose-headings: #111827;
    --tw-prose-lead: #4b5563;
    --tw-prose-links: #111827;
    --tw-prose-bold: #111827;
    --tw-prose-counters: #6b7280;
    --tw-prose-bullets: #d1d5db;
    --tw-prose-hr: #e5e7eb;
    --tw-prose-quotes: #111827;
    --tw-prose-quote-borders: #e5e7eb;
    --tw-prose-captions: #6b7280;
    --tw-prose-kbd: #111827;
    --tw-prose-kbd-shadows: 17 24 39;
    --tw-prose-code: #111827;
    --tw-prose-pre-code: #e5e7eb;
    --tw-prose-pre-bg: #1f2937;
    --tw-prose-th-borders: #d1d5db;
    --tw-prose-td-borders: #e5e7eb;
    --tw-prose-invert-body: #d1d5db;
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: #9ca3af;
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: #9ca3af;
    --tw-prose-invert-bullets: #4b5563;
    --tw-prose-invert-hr: #374151;
    --tw-prose-invert-quotes: #f3f4f6;
    --tw-prose-invert-quote-borders: #374151;
    --tw-prose-invert-captions: #9ca3af;
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: 255 255 255;
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: #d1d5db;
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: #4b5563;
    --tw-prose-invert-td-borders: #374151;
    font-size: 1.0625rem;
    line-height: 1.75
}

.prose :where(picture>img):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose :where(li):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: .5em;
    margin-bottom: .5em
}

.prose :where(ol>li):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-start: .375em
}

.prose :where(ul>li):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-start: .375em
}

.prose :where(.prose>ul>li p):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose :where(dl):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose :where(dd):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: .5em;
    padding-inline-start: 1.625em
}

.prose :where(hr+*):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h2+*):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h3+*):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h4+*):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(thead th:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-start: 1.25em
}

.prose :where(thead th:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-end: 1.25em
}

.prose :where(tbody td, tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-top: 0.875em;
    padding-inline-end: 1.25em;
    padding-bottom: 0.875em;
    padding-inline-start: 1.25em
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-start: 1.25em
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    padding-inline-end: 1.25em
}

.prose :where(figure):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(.prose>:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(.prose>:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
    margin-bottom: 0
}

.prose-invert {
    --tw-prose-body: var(--tw-prose-invert-body);
    --tw-prose-headings: var(--tw-prose-invert-headings);
    --tw-prose-lead: var(--tw-prose-invert-lead);
    --tw-prose-links: var(--tw-prose-invert-links);
    --tw-prose-bold: var(--tw-prose-invert-bold);
    --tw-prose-counters: var(--tw-prose-invert-counters);
    --tw-prose-bullets: var(--tw-prose-invert-bullets);
    --tw-prose-hr: var(--tw-prose-invert-hr);
    --tw-prose-quotes: var(--tw-prose-invert-quotes);
    --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
    --tw-prose-captions: var(--tw-prose-invert-captions);
    --tw-prose-kbd: var(--tw-prose-invert-kbd);
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
    --tw-prose-code: var(--tw-prose-invert-code);
    --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
    --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
    --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
    --tw-prose-td-borders: var(--tw-prose-invert-td-borders)
}

.navbar {
    display: flex;
    width: 100%;
    align-items: center;
    padding: .5rem;
    min-height: 4rem
}

.link {
    cursor: pointer;
    text-decoration-line: underline
}

.link:focus {
    --tw-outline-style: none;
    outline-style: none
}

@media (forced-colors:active) {
    .link:focus {
        outline: 2px solid transparent;
        outline-offset: 2px
    }
}

.link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px
}

.link-hover {
    text-decoration-line: none
}

@media (hover:hover) {
    .link-hover:hover {
        text-decoration-line: underline
    }
}

.btn {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    text-align: center;
    vertical-align: middle;
    outline-offset: 2px;
    webkit-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding-inline: var(--btn-p);
    color: var(--btn-fg);
    --tw-prose-links: var(--btn-fg);
    height: var(--size);
    font-size: var(--fontsize, .875rem);
    font-weight: 600;
    outline-color: var(--btn-color, var(--color-base-content));
    transition-property: color, background-color, border-color, box-shadow;
    transition-timing-function: cubic-bezier(0, 0, .2, 1);
    transition-duration: .2s;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-color: var(--btn-bg);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--btn-noise);
    border-width: var(--border);
    border-style: solid;
    border-color: var(--btn-border);
    text-shadow: 0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));
    touch-action: manipulation;
    box-shadow: 0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
    --size: calc(var(--size-field, .25rem) * 10);
    --btn-bg: var(--btn-color, var(--color-base-200));
    --btn-fg: var(--color-base-content);
    --btn-p: 1rem;
    --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
    --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
    --btn-noise: var(--fx-noise)
}

.prose .btn {
    text-decoration-line: none
}

@media (hover:hover) {
    .btn:hover {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%)
    }
}

.btn:focus-visible,
.btn:has(:focus-visible) {
    outline-width: 2px;
    outline-style: solid;
    isolation: isolate
}

.btn:active:not(.btn-active) {
    translate: 0 .5px;
    --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
    --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
    --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)
}

.btn:is(:disabled, [disabled], .btn-disabled):not(.btn-link, .btn-ghost) {
    background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
    box-shadow: none
}

.btn:is(:disabled, [disabled], .btn-disabled) {
    pointer-events: none;
    --btn-border: #0000;
    --btn-noise: none;
    --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000)
}

@media (hover:hover) {
    .btn:is(:disabled, [disabled], .btn-disabled):hover {
        pointer-events: none;
        background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
        --btn-border: #0000;
        --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000)
    }
}

.btn:is(input[type=checkbox], input[type=radio]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.btn:is(input[type=checkbox], input[type=radio]):after {
    content: attr(aria-label)
}

.btn:where(input:checked:not(.filter .btn)) {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content);
    isolation: isolate
}

.btn-primary {
    --btn-color: var(--color-primary);
    --btn-fg: var(--color-primary-content)
}

.btn-outline:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled, :checked) {
    --btn-shadow: "";
    --btn-bg: #0000;
    --btn-fg: var(--btn-color);
    --btn-border: var(--btn-color);
    --btn-noise: none
}

@media (hover:none) {
    .btn-outline:hover:not(.btn-active, :active, :focus-visible, :disabled, [disabled], .btn-disabled, :checked) {
        --btn-shadow: "";
        --btn-bg: #0000;
        --btn-fg: var(--btn-color);
        --btn-border: var(--btn-color);
        --btn-noise: none
    }
}

.btn-sm {
    --fontsize: .75rem;
    --btn-p: .75rem;
    --size: calc(var(--size-field, .25rem) * 8)
}

.sticky {
    position: sticky
}

.top-0 {
    top: 0
}

.z-40 {
    z-index: 40
}

.mx-2 {
    margin-left: .5rem;
    margin-right: .5rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.hidden {
    display: none
}

.h-5 {
    height: 1.25rem
}

.max-h-8 {
    max-height: 2rem
}

.min-h-screen {
    min-height: 100vh
}

.w-5 {
    width: 1.25rem
}

.w-auto {
    width: auto
}

.w-full {
    width: 100%
}

.max-w-5xl {
    max-width: 64rem
}

.flex-none {
    flex: none
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-2 {
    gap: .5rem
}

.border-b {
    border-bottom-width: 1px
}

.border-base-300 {
    border-color: var(--color-base-300)
}

.bg-base-100 {
    background-color: var(--color-base-100)
}

.bg-base-300 {
    background-color: var(--color-base-300)
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pb-16 {
    padding-bottom: 4rem
}

.pb-8 {
    padding-bottom: 2rem
}

.pt-12 {
    padding-top: 3rem
}

.pt-16 {
    padding-top: 4rem
}

.pt-8 {
    padding-top: 2rem
}

.text-center {
    text-align: center
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.font-bold {
    font-weight: 700
}

.text-base-content {
    color: var(--color-base-content)
}

.opacity-70 {
    opacity: .7
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

:root .prose {
    --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
    --tw-prose-headings: var(--color-base-content);
    --tw-prose-lead: var(--color-base-content);
    --tw-prose-links: var(--color-base-content);
    --tw-prose-bold: var(--color-base-content);
    --tw-prose-counters: var(--color-base-content);
    --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-quotes: var(--color-base-content);
    --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-code: var(--color-base-content);
    --tw-prose-pre-code: var(--color-neutral-content);
    --tw-prose-pre-bg: var(--color-neutral);
    --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-td-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-kbd: color-mix(in oklab, var(--color-base-content) 80%, #0000)
}

:root .prose :where(code):not(pre>code) {
    background-color: var(--color-base-200);
    border-radius: var(--radius-selector);
    border: var(--border) solid var(--color-base-300);
    padding-inline: .5em;
    font-weight: inherit
}

:root .prose :where(code):not(pre>code):after,
:root .prose :where(code):not(pre>code):before {
    display: none
}

.hover\:text-primary:hover {
    color: var(--color-primary)
}

@media (min-width:390px) {
    .min-\[390px\]\:block {
        display: block
    }
}

@media (min-width:768px) {
.md\:max-h-10 {
        max-height: 2.5rem
    }
.md\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
}

/* Missing utilities */
.w-9 {
    width: 2.25rem
}

.h-9 {
    height: 2.25rem
}

.gap-1 {
    gap: .25rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.mb-2 {
    margin-bottom: .5rem
}

.hover\:bg-base-300:hover {
    background-color: var(--color-base-300)
}

.border-base-content\/20 {
    border-color: color-mix(in oklab, var(--color-base-content) 20%, transparent)
}

.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.opacity-50 {
    opacity: .5
}

.text-6xl {
    font-size: 3.75rem;
    line-height: 1
}

/* Custom overrides */
body {
    background-color: var(--color-base-100);
    color: var(--color-base-content);
    font-family: var(--font-body, system-ui, -apple-system, sans-serif)
}

:focus-visible {
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--color-primary)
}

h1,
h2,
h3 {
    font-weight: 600;
    font-family: var(--font-display, system-ui, -apple-system, sans-serif);
    font-weight: var(--font-weight-heading, 700)
}

.btn,
button {
    font-weight: var(--font-weight-button, 600)
}

.btn {
    font-weight: 500
}

.btn-primary {
    transition-property: transform;
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .2s
}

.btn-primary:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.button {
    cursor: pointer
}

.navbar-blur {
    background-color: var(--color-base-100);
    --tw-bg-opacity: .9;
    --tw-backdrop-blur: blur(12px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.navbar {
    padding: 0
}

.prose table {
    margin-top: 2rem;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 100%;
    display: table;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(26, 26, 26, 0.8), rgba(13, 13, 13, 0.95));
    border: 1px solid rgba(128, 255, 0, 0.15);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), 0 0 40px rgba(128, 255, 0, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px)
}

.prose {
    overflow-x: hidden
}

/* Increased prose font sizes */
article.prose {
    font-size: 1.1875rem;
    line-height: 1.8;
}

article.prose :where(h2):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-size: 1.75em;
}

article.prose :where(h3):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-size: 1.375em;
}

article.prose :where(h4):not(:where([class~=not-prose], [class~=not-prose] *)) {
    font-size: 1.15em;
}

@media (min-width: 768px) {
    article.prose {
        font-size: 1.25rem;
    }
    article.prose :where(h2):not(:where([class~=not-prose], [class~=not-prose] *)) {
        font-size: 1.875em;
    }
    article.prose :where(h3):not(:where([class~=not-prose], [class~=not-prose] *)) {
        font-size: 1.5em;
    }
    article.prose :where(h4):not(:where([class~=not-prose], [class~=not-prose] *)) {
        font-size: 1.25em;
    }
}

/* ===== Table responsive mobile layout ===== */
@media (max-width:640px) {
    .prose table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: -moz-max-content;
        width: max-content;
        max-width: 100%;
        border-radius: 10px
    }

    .prose td,
    .prose th {
        white-space: nowrap;
        padding: 0.65rem 0.85rem;
        font-size: 0.95rem;
        line-height: 1.5rem
    }

    .prose thead th {
        font-size: 0.8rem;
        padding: 0.75rem 0.85rem
    }
}

/* ===== Table custom scrollbar ===== */
.prose table::-webkit-scrollbar {
    height: 6px
}

.prose table::-webkit-scrollbar-track {
    border-radius: 6px;
    background-color: rgba(26, 26, 26, 0.6)
}

.prose table::-webkit-scrollbar-thumb {
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(128, 255, 0, 0.3), rgba(64, 224, 208, 0.3))
}

.prose table::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(90deg, rgba(128, 255, 0, 0.5), rgba(64, 224, 208, 0.5))
}
.button[data-astro-cid-pxxnplno] {
    display: inline-flex;
    height: 2.5rem;
    align-items: center;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: var(--button-radius, var(--radius-rounded, .5rem));
    font-weight: var(--button-font-weight, var(--font-weight-button, 600));
    transition: var(--button-transition, background-color var(--transition-fast, .2s) ease, color var(--transition-fast, .2s) ease, border-color var(--transition-fast, .2s) ease, transform var(--transition-fast, .2s) ease, box-shadow var(--transition-fast, .2s) ease)
}

.button[data-astro-cid-pxxnplno].btn-primary {
    background-color: var(--button-primary-bg, var(--color-primary, var(--color-primary)));
    color: var(--button-primary-text, var(--color-primary-content, var(--color-primary-content)));
    border: var(--button-primary-border-width, 0) solid var(--button-primary-border, transparent);
    box-shadow: var(--button-primary-shadow, var(--shadow-button, 0 2px 4px 0 rgba(0, 0, 0, .1)))
}

.button[data-astro-cid-pxxnplno].btn-primary:hover {
    background-color: var(--button-primary-hover-bg, var(--button-primary-bg, var(--color-primary, var(--color-primary))));
    color: var(--button-primary-hover-text, var(--button-primary-text, var(--color-primary-content, var(--color-primary-content))));
    border-color: var(--button-primary-hover-border, var(--button-primary-border, transparent))
}

.button[data-astro-cid-pxxnplno].btn-outline.btn-primary {
    background-color: var(--button-secondary-bg, transparent);
    color: var(--button-secondary-text, var(--color-secondary, var(--color-secondary)));
    border: var(--button-secondary-border-width, 2px) solid var(--button-secondary-border, var(--color-secondary, var(--color-secondary)));
    box-shadow: var(--button-secondary-shadow, none)
}

.button[data-astro-cid-pxxnplno].btn-outline.btn-primary:hover {
    background-color: var(--button-secondary-hover-bg, var(--button-secondary-bg, transparent));
    color: var(--button-secondary-hover-text, var(--button-secondary-text, var(--color-secondary, var(--color-secondary))));
    border-color: var(--button-secondary-hover-border, var(--button-secondary-border, var(--color-secondary, var(--color-secondary))))
}

.button[data-astro-cid-pxxnplno].btn-sm {
    height: 2rem;
    padding-left: .75rem;
    padding-right: .75rem;
    font-size: .875rem;
    line-height: 1.25rem
}

.button[data-astro-cid-pxxnplno].btn-wide-padding {
    padding-left: 3rem;
    padding-right: 3rem;
    text-transform: capitalize;
    animation: pulse-scale 2s cubic-bezier(.4, 0, .6, 1) infinite
}

@keyframes pulse-scale {

    0%,
    to {
        transform: scale(1)
    }

    50% {
        transform: scale(1.05)
    }
}

header[data-astro-cid-3ef6ksr2] {
    transition: box-shadow .3s ease
}

img[data-astro-cid-3ef6ksr2] {
    -o-object-fit: contain;
    object-fit: contain
}

.logo-link[data-astro-cid-3ef6ksr2] {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .2s
}

.logo-link[data-astro-cid-3ef6ksr2]:hover {
    opacity: .8
}

.logo-link[data-astro-cid-3ef6ksr2]:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.logo-link[data-astro-cid-3ef6ksr2]:focus-visible {
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--color-primary)
}

.dropdown-content[data-astro-cid-xunylqyc] {
    border-width: 1px;
    border-color: var(--color-base-300)
}

.dropdown-content[data-astro-cid-xunylqyc] li[data-astro-cid-xunylqyc] {
    margin: 0;
    padding: 0
}

.dropdown-content[data-astro-cid-xunylqyc] li[data-astro-cid-xunylqyc] a[data-astro-cid-xunylqyc].active {
    background-color: var(--color-primary);
    color: var(--color-primary-content)
}

.dropdown-content[data-astro-cid-xunylqyc] li[data-astro-cid-xunylqyc] a[data-astro-cid-xunylqyc]:hover:not(.active) {
    background-color: var(--color-base-300)
}

.link-hover[data-astro-cid-sz7xmlte] {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .2s
}

.link-hover[data-astro-cid-sz7xmlte]:hover {
    opacity: .8
}

.faq-container[data-astro-cid-al2ca2vr]>[data-astro-cid-al2ca2vr]:not([hidden])~[data-astro-cid-al2ca2vr]:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.faq-item[data-astro-cid-al2ca2vr] {
    border-radius: .5rem;
    padding: 1rem
}

@media (min-width:768px) {
    .faq-item[data-astro-cid-al2ca2vr] {
        padding: 1.5rem
    }
}

.faq-item[data-astro-cid-al2ca2vr] {
    transition: background-color .2s ease;
    background-color: var(--card-background, var(--color-base-200, var(--color-base-200)));
    border: var(--card-border-thickness, var(--border-thin, 1px)) solid var(--card-border-color, var(--color-border-default, var(--color-base-300)));
    box-shadow: var(--card-shadow, var(--shadow-card, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)));
    border-radius: var(--card-radius, var(--radius-rounded, .5rem))
}

.faq-item[data-astro-cid-al2ca2vr]:hover {
    background-color: var(--card-background-hover, var(--color-base-300, var(--color-base-300)))
}

.faq-question[data-astro-cid-al2ca2vr] {
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500
}

@media (min-width:768px) {
    .faq-question[data-astro-cid-al2ca2vr] {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

.faq-question[data-astro-cid-al2ca2vr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.faq-question[data-astro-cid-al2ca2vr]::-webkit-details-marker {
    display: none
}

.faq-question[data-astro-cid-al2ca2vr]:focus {
    outline: 0
}

.faq-question[data-astro-cid-al2ca2vr]:focus-visible {
    outline: var(--focus-outline-width, 2px) solid var(--focus-outline-color, var(--color-primary, var(--color-primary)));
    outline-offset: var(--focus-outline-offset, 2px)
}

.faq-toggle-icon[data-astro-cid-al2ca2vr] {
    margin-left: 1rem;
    color: var(--icon-color, var(--color-primary, var(--color-primary)));
    transition: transform var(--transition-fast, .2s)
}

.faq-icon[data-astro-cid-al2ca2vr] {
    height: 1.5rem;
    width: 1.5rem
}

.faq-answer[data-astro-cid-al2ca2vr] {
    margin-top: 1rem
}

.faq-content[data-astro-cid-al2ca2vr] {
    color: var(--tw-prose-body);
    max-width: 65ch
}

.faq-content[data-astro-cid-al2ca2vr] {
    --tw-prose-body: #374151;
    --tw-prose-headings: #111827;
    --tw-prose-lead: #4b5563;
    --tw-prose-links: #111827;
    --tw-prose-bold: #111827;
    --tw-prose-counters: #6b7280;
    --tw-prose-bullets: #d1d5db;
    --tw-prose-hr: #e5e7eb;
    --tw-prose-quotes: #111827;
    --tw-prose-quote-borders: #e5e7eb;
    --tw-prose-captions: #6b7280;
    --tw-prose-kbd: #111827;
    --tw-prose-kbd-shadows: 17 24 39;
    --tw-prose-code: #111827;
    --tw-prose-pre-code: #e5e7eb;
    --tw-prose-pre-bg: #1f2937;
    --tw-prose-th-borders: #d1d5db;
    --tw-prose-td-borders: #e5e7eb;
    --tw-prose-invert-body: #d1d5db;
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: #9ca3af;
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: #9ca3af;
    --tw-prose-invert-bullets: #4b5563;
    --tw-prose-invert-hr: #374151;
    --tw-prose-invert-quotes: #f3f4f6;
    --tw-prose-invert-quote-borders: #374151;
    --tw-prose-invert-captions: #9ca3af;
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: 255 255 255;
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: #d1d5db;
    --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
    --tw-prose-invert-th-borders: #4b5563;
    --tw-prose-invert-td-borders: #374151;
    font-size: 1rem;
    line-height: 1.75
}

.faq-content[data-astro-cid-al2ca2vr] {
    --tw-prose-body: var(--tw-prose-invert-body);
    --tw-prose-headings: var(--tw-prose-invert-headings);
    --tw-prose-lead: var(--tw-prose-invert-lead);
    --tw-prose-links: var(--tw-prose-invert-links);
    --tw-prose-bold: var(--tw-prose-invert-bold);
    --tw-prose-counters: var(--tw-prose-invert-counters);
    --tw-prose-bullets: var(--tw-prose-invert-bullets);
    --tw-prose-hr: var(--tw-prose-invert-hr);
    --tw-prose-quotes: var(--tw-prose-invert-quotes);
    --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
    --tw-prose-captions: var(--tw-prose-invert-captions);
    --tw-prose-kbd: var(--tw-prose-invert-kbd);
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
    --tw-prose-code: var(--tw-prose-invert-code);
    --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
    --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
    --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
    --tw-prose-td-borders: var(--tw-prose-invert-td-borders)
}

.faq-content[data-astro-cid-al2ca2vr] {
    max-width: none
}

:root .faq-content[data-astro-cid-al2ca2vr] {
    --tw-prose-body: color-mix(in oklab, var(--color-base-content) 80%, #0000);
    --tw-prose-headings: var(--color-base-content);
    --tw-prose-lead: var(--color-base-content);
    --tw-prose-links: var(--color-base-content);
    --tw-prose-bold: var(--color-base-content);
    --tw-prose-counters: var(--color-base-content);
    --tw-prose-bullets: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-hr: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-quotes: var(--color-base-content);
    --tw-prose-quote-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-captions: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-code: var(--color-base-content);
    --tw-prose-pre-code: var(--color-neutral-content);
    --tw-prose-pre-bg: var(--color-neutral);
    --tw-prose-th-borders: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --tw-prose-td-borders: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --tw-prose-kbd: color-mix(in oklab, var(--color-base-content) 80%, #0000)
}

.faq-content[data-astro-cid-al2ca2vr] {
    color: var(--color-base-content);
    opacity: .9
}

/* Fix FAQ h3 inside summary inheriting prose heading styles */
.faq-question[data-astro-cid-al2ca2vr] h3 {
    margin: 0 !important;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: inherit;
}

.game-grid[data-astro-cid-j22sn5ol] {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, 1fr)
}

@media (max-width:767px) {
    .game-grid[data-astro-cid-j22sn5ol] {
        gap: .5rem;
        grid-template-columns: repeat(2, 1fr)
    }

    .game-grid[data-astro-cid-j22sn5ol] .game-item[data-astro-cid-j22sn5ol]:nth-child(n+5) {
        display: none
    }

    .game-name[data-astro-cid-j22sn5ol] {
        font-size: .75rem;
        margin-top: .125rem;
        margin-bottom: .125rem;
        line-height: 1.1rem
    }

    .provider-name[data-astro-cid-j22sn5ol] {
        font-size: .625rem;
        line-height: .875rem
    }

    .game-info[data-astro-cid-j22sn5ol] {
        padding: .25rem .375rem
    }
}

@media (min-width:768px) {
    .game-grid[data-astro-cid-j22sn5ol] {
        grid-template-columns: repeat(4, 1fr);
        gap: .75rem
    }
}

.game-item[data-astro-cid-j22sn5ol] {
    display: flex;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    flex-direction: column
}

.game-item[data-astro-cid-j22sn5ol]:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.game-item[data-astro-cid-j22sn5ol] {
    overflow: hidden;
    border-radius: .375rem;
    background-color: var(--color-base-200);
    transition: transform var(--transition-medium, .3s) ease, box-shadow var(--transition-medium, .3s) ease;
    box-shadow: var(--card-shadow, var(--shadow-card, 0 2px 4px 0 rgba(0, 0, 0, .1)))
}

.game-item[data-astro-cid-j22sn5ol]:hover {
    box-shadow: 0 10px 30px hsl(var(--b3) / .3)
}

.game-image-wrapper[data-astro-cid-j22sn5ol] {
    position: relative;
    flex-shrink: 0;
    overflow: hidden;
    border-top-left-radius: .375rem;
    border-top-right-radius: .375rem;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background-color: var(--color-base-200);
    aspect-ratio: 1/1
}

.game-image[data-astro-cid-j22sn5ol] {
    margin: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.game-overlay[data-astro-cid-j22sn5ol] {
    position: absolute;
    inset: 0;
    opacity: 0;
    background: var(--overlay-gradient, linear-gradient(to top, rgba(26, 26, 26, .8), rgba(26, 26, 26, .4), transparent));
    transition: opacity var(--transition-medium, .3s)
}

.game-item[data-astro-cid-j22sn5ol]:hover .game-overlay[data-astro-cid-j22sn5ol] {
    opacity: 1
}

.game-info[data-astro-cid-j22sn5ol] {
    border-bottom-right-radius: .375rem;
    border-bottom-left-radius: .375rem;
    padding: .25rem .5rem;
    text-align: center;
    background-color: var(--card-background, var(--color-base-200, var(--color-base-200)));
    border: var(--card-border-thickness, var(--border-thin, 1px)) solid var(--card-border-color, var(--color-border-default, var(--color-base-300)));
    border-top: none;
    color: var(--color-base-content, var(--color-base-content))
}

.game-name[data-astro-cid-j22sn5ol] {
    margin-top: .25rem;
    margin-bottom: .125rem;
    display: block;
    font-size: .9375rem;
    line-height: 1.25rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    color: var(--color-base-content, var(--color-base-content));
    transition: color var(--transition-medium, .3s);
    font-weight: 600
}

.game-item[data-astro-cid-j22sn5ol]:hover .game-name[data-astro-cid-j22sn5ol] {
    color: var(--link-hover-color, var(--color-primary, var(--color-primary)))
}

.provider-name[data-astro-cid-j22sn5ol] {
    display: block;
    font-size: .75rem;
    line-height: 1rem;
    color: var(--color-base-content, var(--color-base-content));
    opacity: .85;
    font-weight: 500;
    margin-bottom: .125rem
}

.toc-container[data-astro-cid-xvrfupwn] {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: .75rem;
    background-color: var(--color-base-200);
    --tw-bg-opacity: .5;
    padding: 1.25rem;
    background-color: var(--card-background, var(--color-base-200, var(--color-base-200)));
    border: var(--card-border-thickness, var(--border-thin, 1px)) solid var(--card-border-color, var(--color-border-default, var(--color-base-300)));
    box-shadow: var(--card-shadow, var(--shadow-card, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)));
    border-radius: var(--card-radius, var(--radius-rounded, .5rem))
}

.toc-header[data-astro-cid-xvrfupwn] {
    display: flex;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    align-items: center;
    gap: .5rem
}

.toc-header[data-astro-cid-xvrfupwn]::-webkit-details-marker {
    display: none
}

.toc-header[data-astro-cid-xvrfupwn]:focus {
    outline: 0
}

.toc-header[data-astro-cid-xvrfupwn]:focus-visible {
    outline: var(--focus-outline-width, 2px) solid var(--focus-outline-color, var(--color-primary, var(--color-primary)));
    outline-offset: var(--focus-outline-offset, 2px);
    border-radius: .5rem
}

.toc-icon[data-astro-cid-xvrfupwn] {
    height: 1.25rem;
    width: 1.25rem;
    color: var(--icon-color, var(--color-primary, var(--color-primary)));
    width: var(--icon-size, 1.25rem);
    height: var(--icon-size, 1.25rem)
}

.toc-title[data-astro-cid-xvrfupwn] {
    flex: 1 1 0%;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
    letter-spacing: .05em;
    color: var(--color-base-content)
}

.toc-toggle-icon[data-astro-cid-xvrfupwn] {
    height: 1.25rem;
    width: 1.25rem;
    color: var(--icon-color, var(--color-primary, var(--color-primary)));
    width: var(--icon-size, 1.25rem);
    height: var(--icon-size, 1.25rem);
    transition: transform var(--transition-fast, .2s)
}

.toc-list[data-astro-cid-xvrfupwn]>[data-astro-cid-xvrfupwn]:not([hidden])~[data-astro-cid-xvrfupwn]:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem * var(--tw-space-y-reverse))
}

.toc-item[data-astro-cid-xvrfupwn] {
    list-style-type: none
}

.toc-link[data-astro-cid-xvrfupwn] {
    display: block;
    padding-top: .25rem;
    padding-bottom: .25rem;
    color: var(--link-color, var(--color-base-content, var(--color-base-content)));
    opacity: var(--link-opacity, .7);
    transition: color var(--transition-fast, .2s), opacity var(--transition-fast, .2s)
}

.toc-link[data-astro-cid-xvrfupwn]:hover {
    color: var(--link-hover-color, var(--color-primary, var(--color-primary)));
    opacity: var(--link-hover-opacity, 1);
    --tw-translate-x: .25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

html {
    scroll-behavior: smooth
}

h2[id],
h3[id] {
    scroll-margin-top: 5rem
}

@media (max-width:768px) {
    .toc-container[data-astro-cid-xvrfupwn] {
        margin-left: .5rem;
        margin-right: .5rem;
        padding: 1rem
    }

    .toc-title[data-astro-cid-xvrfupwn] {
        font-size: .875rem;
        line-height: 1.25rem
    }

    h2[id],
    h3[id] {
        scroll-margin-top: 4rem
    }
}

.hero-section[data-astro-cid-bbe6dxrz]>[data-astro-cid-bbe6dxrz]:not([hidden])~[data-astro-cid-bbe6dxrz]:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
}

/* Hero Banner */
.hero-banner {
    position: relative;
    overflow: hidden;
    min-height: 340px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #0D0D0D 0%, #1a1a2e 50%, #16213e 100%);
}

.hero-banner::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 55%;
    background: url('/_astro/hero.webp') center right / cover no-repeat;
    mask-image: linear-gradient(to right, transparent 0%, black 30%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 30%);
    pointer-events: none;
}

.hero-banner-content {
    position: relative;
    z-index: 1;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.hero-banner-inner {
    max-width: 50%;
}

.hero-banner-inner h1 {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 1rem;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.hero-banner-inner p {
    font-size: 1.125rem;
    line-height: 1.6;
    color: rgba(229, 231, 235, 0.85);
    margin: 0 0 1.5rem;
    max-width: 480px;
}

.hero-cta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.hero-banner .hero-cta .btn {
    font-size: 1.125rem;
    padding: 0.875rem 2.5rem;
    height: auto;
    min-height: 3.25rem;
}

@media (min-width: 768px) {
    .hero-banner {
        min-height: 400px;
    }
    .hero-banner-inner h1 {
        font-size: 3.5rem;
    }
    .hero-banner-inner p {
        font-size: 1.25rem;
    }
}

@media (max-width: 767px) {
    .hero-banner::after {
        width: 100%;
        opacity: 0.25;
        mask-image: none;
        -webkit-mask-image: none;
    }
    .hero-banner-inner {
        max-width: 100%;
        text-align: center;
    }
    .hero-banner-inner h1 {
        font-size: 2.25rem;
    }
    .hero-cta {
        justify-content: center;
    }
}

.provider-grid[data-astro-cid-lwbgaoef] {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, 1fr)
}

@media (max-width:767px) {
    .provider-grid[data-astro-cid-lwbgaoef] {
        gap: 1rem;
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:768px) {
    .provider-grid[data-astro-cid-lwbgaoef] {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem
    }
}

.provider-item[data-astro-cid-lwbgaoef] {
    display: flex;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    flex-direction: column
}

.provider-item[data-astro-cid-lwbgaoef]:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.provider-item[data-astro-cid-lwbgaoef] {
    overflow: hidden;
    border-radius: .5rem;
    background-color: var(--color-base-200);
    transition: transform var(--transition-medium, .3s) ease, box-shadow var(--transition-medium, .3s) ease;
    box-shadow: var(--card-shadow, var(--shadow-card, 0 2px 4px 0 rgba(0, 0, 0, .1)))
}

.provider-item[data-astro-cid-lwbgaoef]:hover {
    box-shadow: var(--shadow-large, 0 10px 30px hsl(var(--b3) / .3))
}

.provider-image-wrapper[data-astro-cid-lwbgaoef] {
    position: relative;
    flex-shrink: 0;
    overflow: hidden;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    background-color: var(--color-base-200);
    aspect-ratio: 16/9
}

.provider-image[data-astro-cid-lwbgaoef] {
    margin: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.provider-overlay[data-astro-cid-lwbgaoef] {
    position: absolute;
    inset: 0;
    opacity: 0;
    background: var(--overlay-gradient, linear-gradient(to top, rgba(26, 26, 26, .8), rgba(26, 26, 26, .4), transparent));
    transition: opacity var(--transition-medium, .3s)
}

.provider-item[data-astro-cid-lwbgaoef]:hover .provider-overlay[data-astro-cid-lwbgaoef] {
    opacity: 1
}

.provider-info[data-astro-cid-lwbgaoef] {
    border-bottom-right-radius: .5rem;
    border-bottom-left-radius: .5rem;
    padding: .5rem;
    text-align: center;
    background-color: var(--card-background, var(--color-base-200, var(--color-base-200)));
    border: var(--card-border-thickness, var(--border-thin, 1px)) solid var(--card-border-color, var(--color-border-default, var(--color-base-300)));
    border-top: none
}

.provider-name[data-astro-cid-lwbgaoef] {
    margin-top: .5rem;
    margin-bottom: .5rem;
    display: block;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 600;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    color: var(--link-color, var(--color-base-content, var(--color-base-content)));
    transition: color var(--transition-medium, .3s)
}

.provider-item[data-astro-cid-lwbgaoef]:hover .provider-name[data-astro-cid-lwbgaoef] {
    color: var(--link-hover-color, var(--color-primary, var(--color-primary)))
}

@media (max-width:767px) {
    .provider-name[data-astro-cid-lwbgaoef] {
        font-size: .875rem
    }
}

/* Cookie Banner */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--color-base-200, #1f2937);
    border-top: 1px solid var(--color-base-300, #374151);
    padding: 1rem 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    box-shadow: 0 -4px 12px rgba(0,0,0,.3);
}
.cookie-banner.hidden {
    display: none;
}
.cookie-banner p {
    margin: 0;
    font-size: 1rem !important;
    line-height: 1.5;
    opacity: .85;
    text-align: center;
    flex: 1 1 300px;
}
.cookie-banner button {
    flex-shrink: 0;
    font-size: 1rem !important;
    padding: 0.625rem 1.5rem !important;
    height: auto !important;
    min-height: 2.75rem !important;
}

/* Mobile menu */
.mobile-menu {
    position: fixed;
    top: 49px;
    left: 0;
    right: 0;
    background-color: var(--color-base-200);
    border-bottom: 1px solid var(--color-base-300);
    z-index: 39;
    box-shadow: var(--shadow-dropdown);
}

.mobile-menu-link {
    display: block;
    padding: 0.75rem 1rem;
    color: var(--color-base-content);
    opacity: 0.8;
    font-size: 0.9375rem;
    border-radius: 8px;
    transition: all 200ms ease;
}

.mobile-menu-link:hover {
    opacity: 1;
    background-color: var(--color-base-300);
    color: var(--color-primary);
}

/* Desktop nav: hidden on mobile, flex on md+ */
.nav-desktop {
    display: none;
    align-items: center;
    gap: 1.75rem;
}

.nav-desktop a {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-base-content);
    opacity: 0.75;
    transition: color 200ms ease, opacity 200ms ease;
    white-space: nowrap;
}

.nav-desktop a:hover {
    opacity: 1;
    color: var(--color-primary);
}

/* Hamburger: visible on mobile, hidden on md+ */
.hamburger-btn {
    display: flex;
}

@media (min-width: 768px) {
    .nav-desktop {
        display: flex;
    }
    .hamburger-btn {
        display: none !important;
    }
    .mobile-menu {
        display: none !important;
    }
}

/* ===== Force table overrides — must win over Astro CSS loaded after ===== */
article.prose table {
    font-size: 1.0625rem !important;
    line-height: 1.6 !important;
    display: table !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 12px !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    min-width: 100% !important;
    background: linear-gradient(145deg, rgba(26, 26, 26, 0.8), rgba(13, 13, 13, 0.95)) !important;
    border: 1px solid rgba(128, 255, 0, 0.15) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), 0 0 40px rgba(128, 255, 0, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.03) !important
}

@media (max-width:640px) {
    article.prose table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        width: -moz-max-content !important;
        width: max-content !important;
        max-width: 100% !important
    }
}

article.prose thead {
    background: linear-gradient(135deg, rgba(128, 255, 0, 0.12) 0%, rgba(64, 224, 208, 0.08) 100%) !important;
    border-bottom: none !important
}

article.prose thead th {
    color: #80FF00 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 1em 1.25em !important;
    border-bottom: none !important;
    text-shadow: 0 0 20px rgba(128, 255, 0, 0.15) !important
}

article.prose tbody tr {
    border-bottom: 1px solid rgba(128, 255, 0, 0.06) !important;
    transition: background-color 0.25s ease !important
}

article.prose tbody tr:last-child {
    border-bottom: none !important
}

article.prose tbody tr:nth-child(even) {
    background-color: rgba(128, 255, 0, 0.02) !important
}

article.prose tbody tr:hover {
    background-color: rgba(128, 255, 0, 0.06) !important
}

article.prose td {
    font-size: 1.0625rem !important;
    line-height: 1.6 !important;
    padding: 0.875em 1.25em !important;
    color: var(--color-base-content) !important;
    vertical-align: middle !important
}

article.prose th {
    font-size: 0.9rem !important;
    line-height: 1.6 !important
}

article.prose tbody td:first-child {
    font-weight: 500 !important;
    color: rgba(229, 231, 235, 0.95) !important
}
