@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300..900;1,14..32,300..900&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Color+Emoji&display=swap');

/* ==========================================================================
   MATERIAL DESIGN 3 EXPRESSIVE - CORE DESIGN TOKENS
   ========================================================================== */

@view-transition {
    navigation: auto;
}

::view-transition-old(root) {
    animation: m3-slide-out 0.3s cubic-bezier(0.2, 0, 0, 1) forwards;
}

::view-transition-new(root) {
    animation: m3-slide-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes m3-slide-out {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-16px); }
}

@keyframes m3-slide-in {
    from { opacity: 0; transform: translateX(16px); }
    to { opacity: 1; transform: translateX(0); }
}

html[data-view-transition-type="to-home"]::view-transition-old(root) {
    animation: m3-fade-out-up 0.28s cubic-bezier(0.2, 0, 0, 1) forwards;
}

html[data-view-transition-type="to-home"]::view-transition-new(root) {
    animation: m3-fade-in-up 0.32s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

html[data-view-transition-type="from-home"]::view-transition-old(root) {
    animation: m3-fade-out-down 0.28s cubic-bezier(0.2, 0, 0, 1) forwards;
}

html[data-view-transition-type="from-home"]::view-transition-new(root) {
    animation: m3-fade-in-down 0.32s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

html[data-view-transition-type="same-category"]::view-transition-old(root) {
    animation: m3-scale-out 0.22s cubic-bezier(0.2, 0, 0, 1) forwards;
}

html[data-view-transition-type="same-category"]::view-transition-new(root) {
    animation: m3-scale-in 0.26s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes m3-fade-out-up {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-24px); }
}

@keyframes m3-fade-in-up {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes m3-fade-out-down {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(24px); }
}

@keyframes m3-fade-in-down {
    from { opacity: 0; transform: translateY(-24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes m3-scale-out {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(0.97); }
}

@keyframes m3-scale-in {
    from { opacity: 0; transform: scale(0.97); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px) scale(0.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

:root {
    /* --- Pure Monochrome Palettes (Primary, Secondary, Tertiary: Neutral Grayscale) --- */
    --primary-0: #000000;
    --primary-10: #121212;
    --primary-20: #1c1c1c;
    --primary-30: #262626;
    --primary-40: #383838;
    --primary-50: #525252;
    --primary-60: #707070;
    --primary-70: #8e8e8e;
    --primary-80: #b0b0b0;
    --primary-90: #e0e0e0;
    --primary-95: #f0f0f0;
    --primary-99: #fafafa;
    --primary-100: #ffffff;

    --secondary-0: #000000;
    --secondary-10: #141414;
    --secondary-20: #202020;
    --secondary-30: #2c2c2c;
    --secondary-40: #404040;
    --secondary-50: #585858;
    --secondary-60: #757575;
    --secondary-70: #949494;
    --secondary-80: #b5b5b5;
    --secondary-90: #e2e2e2;
    --secondary-95: #f2f2f2;
    --secondary-99: #fbfbfb;
    --secondary-100: #ffffff;

    --tertiary-0: #000000;
    --tertiary-10: #141414;
    --tertiary-20: #202020;
    --tertiary-30: #2c2c2c;
    --tertiary-40: #404040;
    --tertiary-50: #585858;
    --tertiary-60: #757575;
    --tertiary-70: #949494;
    --tertiary-80: #b5b5b5;
    --tertiary-90: #e2e2e2;
    --tertiary-95: #f2f2f2;
    --tertiary-99: #fbfbfb;
    --tertiary-100: #ffffff;

    /* --- Error Palette (Subtle Neutral / Muted Crimson) --- */
    --error-0: #000000;
    --error-10: #2b0b0b;
    --error-20: #441414;
    --error-30: #601c1c;
    --error-40: #802626;
    --error-50: #a33333;
    --error-60: #c24b4b;
    --error-70: #dc6a6a;
    --error-80: #f09595;
    --error-90: #f9cece;
    --error-95: #fde8e8;
    --error-99: #fff8f8;
    --error-100: #ffffff;

    /* --- Neutral & Neutral Variant --- */
    --neutral-0: #000000;
    --neutral-4: #080808;
    --neutral-6: #0d0d0d;
    --neutral-10: #141414;
    --neutral-12: #171717;
    --neutral-17: #1c1c1c;
    --neutral-20: #202020;
    --neutral-22: #242424;
    --neutral-24: #282828;
    --neutral-30: #333333;
    --neutral-40: #4a4a4a;
    --neutral-50: #666666;
    --neutral-60: #808080;
    --neutral-70: #9e9e9e;
    --neutral-80: #bfbfbf;
    --neutral-87: #dedede;
    --neutral-90: #e5e5e5;
    --neutral-92: #ebebeb;
    --neutral-94: #f0f0f0;
    --neutral-95: #f5f5f5;
    --neutral-96: #f7f7f7;
    --neutral-98: #fafafa;
    --neutral-99: #fcfcfc;
    --neutral-100: #ffffff;

    --neutral-variant-0: #000000;
    --neutral-variant-10: #141414;
    --neutral-variant-20: #202020;
    --neutral-variant-30: #2e2e2e;
    --neutral-variant-40: #424242;
    --neutral-variant-50: #5c5c5c;
    --neutral-variant-60: #787878;
    --neutral-variant-70: #969696;
    --neutral-variant-80: #b8b8b8;
    --neutral-variant-90: #dbdbdb;
    --neutral-variant-95: #eeeeee;
    --neutral-variant-99: #fafafa;
    --neutral-variant-100: #ffffff;

    /* --- Pure Monochrome Default / Light Theme Roles --- */
    --primary: #000000;
    --on-primary: #ffffff;
    --primary-container: #ebebeb;
    --on-primary-container: #111111;
    --primary-fixed: #e5e5e5;
    --primary-fixed-dim: #d4d4d4;
    --on-primary-fixed: #000000;
    --on-primary-fixed-variant: #333333;

    --secondary: #262626;
    --on-secondary: #ffffff;
    --secondary-container: #f0f0f0;
    --on-secondary-container: #1f1f1f;
    --secondary-fixed: #ebebeb;
    --secondary-fixed-dim: #dadada;
    --on-secondary-fixed: #141414;
    --on-secondary-fixed-variant: #383838;

    --tertiary: #404040;
    --on-tertiary: #ffffff;
    --tertiary-container: #f0f0f0;
    --on-tertiary-container: #1f1f1f;
    --tertiary-fixed: #ebebeb;
    --tertiary-fixed-dim: #dadada;
    --on-tertiary-fixed: #141414;
    --on-tertiary-fixed-variant: #383838;

    --error: var(--error-40);
    --on-error: var(--error-100);
    --error-container: var(--error-90);
    --on-error-container: var(--error-10);

    /* M3 Surface Hierarchy (Monochrome Light) */
    --surface: #ffffff;
    --surface-scrolled: rgba(255, 255, 255, 0.82);
    --on-surface: #111111;
    --on-surface-variant: #666666;

    --surface-dim: #e8e8e8;
    --surface-bright: #ffffff;
    --surface-container-lowest: #ffffff;
    --surface-container-low: #f8f8f8;
    --surface-container: #f2f2f2;
    --surface-container-high: #ececec;
    --surface-container-highest: #e4e4e4;

    --surface-tint: #000000;
    --surface-variant: #eeeeee;

    --inverse-surface: #171717;
    --inverse-on-surface: #ffffff;
    --inverse-primary: #ffffff;

    --outline: rgba(0, 0, 0, 0.16);
    --outline-variant: rgba(0, 0, 0, 0.08);
    --ambient-glow: rgba(0, 0, 0, 0.04);

    /* --- Elevation Shadows (Ambient + Key) --- */
    --shadow-0: none;
    --shadow-1: 0px 1px 3px 1px rgba(29, 27, 32, 0.08), 0px 1px 2px 0px rgba(29, 27, 32, 0.05);
    --shadow-2: 0px 2px 6px 2px rgba(29, 27, 32, 0.10), 0px 1px 2px 0px rgba(29, 27, 32, 0.06);
    --shadow-3: 0px 4px 12px 3px rgba(29, 27, 32, 0.10), 0px 1px 3px 0px rgba(29, 27, 32, 0.08);
    --shadow-4: 0px 6px 16px 4px rgba(29, 27, 32, 0.12), 0px 2px 4px 0px rgba(29, 27, 32, 0.08);
    --shadow-5: 0px 8px 24px 6px rgba(29, 27, 32, 0.14), 0px 4px 6px 0px rgba(29, 27, 32, 0.10);

    /* --- Typography Fonts --- */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Color Emoji', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', 'SFMono', 'Monaco', monospace;

    /* --- M3 Expressive Typography Tokens (Baseline + Emphasized) --- */
    --text-display-l: 3.5rem;      /* 56px */
    --text-display-m: 2.8rem;      /* 45px */
    --text-display-s: 2.25rem;     /* 36px */
    --text-headline-l: 2rem;       /* 32px */
    --text-headline-m: 1.75rem;    /* 28px */
    --text-headline-s: 1.5rem;     /* 24px */
    --text-title-l: 1.375rem;      /* 22px */
    --text-title-m: 1rem;          /* 16px */
    --text-title-s: 0.875rem;      /* 14px */
    --text-body-l: 1rem;           /* 16px */
    --text-body-m: 0.875rem;       /* 14px */
    --text-body-s: 0.75rem;        /* 12px */
    --text-label-l: 0.875rem;      /* 14px */
    --text-label-m: 0.75rem;       /* 12px */
    --text-label-s: 0.6875rem;     /* 11px */

    /* Emphasized weights */
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;

    /* --- M3 Expressive Shape Tokens --- */
    --shape-none: 0;
    --shape-xs: 0.25rem;           /* 4px */
    --shape-s: 0.5rem;             /* 8px */
    --shape-m: 0.75rem;            /* 12px */
    --shape-l: 1rem;               /* 16px */
    --shape-xl: 1.25rem;           /* 20px */
    --shape-2xl: 1.5rem;           /* 24px */
    --shape-3xl: 1.75rem;          /* 28px */
    --shape-4xl: 2rem;             /* 32px */
    --shape-full: 9999px;

    /* --- M3 Expressive Motion Physics Tokens --- */
    --motion-spring-fast-spatial: cubic-bezier(0.2, 0, 0, 1);
    --motion-spring-default-spatial: cubic-bezier(0.22, 1, 0.36, 1);
    --motion-spring-bounce: cubic-bezier(0.34, 1.45, 0.64, 1);
    --motion-spring-snappy: cubic-bezier(0.18, 0.9, 0.2, 1);
    --motion-spring-fast-effect: cubic-bezier(0.2, 0, 0, 1);
    --motion-spring-default-effect: cubic-bezier(0.3, 0, 0.2, 1);

    --motion-duration-short-1: 100ms;
    --motion-duration-short-2: 150ms;
    --motion-duration-short-3: 200ms;
    --motion-duration-medium-1: 250ms;
    --motion-duration-medium-2: 300ms;
    --motion-duration-medium-3: 350ms;
    --motion-duration-long-1: 400ms;
    --motion-duration-long-2: 500ms;

    --transition-quick: var(--motion-duration-short-2) var(--motion-spring-fast-effect);
    --transition-standard: var(--motion-duration-medium-1) var(--motion-spring-default-spatial);
    --transition-bounce: var(--motion-duration-medium-2) var(--motion-spring-bounce);

    /* --- Spacing Tokens --- */
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-28: 7rem;
    --space-32: 8rem;
}

/* ==========================================================================
   DARK THEME (Auto detection & Explicit Toggle)
   ========================================================================== */

@media (prefers-color-scheme: dark) {
    :root {
        --primary: #ffffff;
        --on-primary: #000000;
        --primary-container: #222222;
        --on-primary-container: #ffffff;
        --primary-fixed: #e5e5e5;
        --primary-fixed-dim: #b0b0b0;
        --on-primary-fixed: #000000;
        --on-primary-fixed-variant: #262626;

        --secondary: #e0e0e0;
        --on-secondary: #000000;
        --secondary-container: #1a1a1a;
        --on-secondary-container: #e0e0e0;
        --secondary-fixed: #e2e2e2;
        --secondary-fixed-dim: #b5b5b5;
        --on-secondary-fixed: #141414;
        --on-secondary-fixed-variant: #2c2c2c;

        --tertiary: #b0b0b0;
        --on-tertiary: #000000;
        --tertiary-container: #181818;
        --on-tertiary-container: #ffffff;
        --tertiary-fixed: #e2e2e2;
        --tertiary-fixed-dim: #b5b5b5;
        --on-tertiary-fixed: #141414;
        --on-tertiary-fixed-variant: #2c2c2c;

        --error: var(--error-80);
        --on-error: var(--error-20);
        --error-container: var(--error-30);
        --on-error-container: var(--error-90);

        /* Pinchana-style Pure Pitch-Black & Deep Charcoal Hierarchy (Dark) */
        --surface: #050505;
        --surface-scrolled: rgba(5, 5, 5, 0.82);
        --on-surface: #ffffff;
        --on-surface-variant: #9e9e9e;

        --surface-dim: #080808;
        --surface-bright: #242424;
        --surface-container-lowest: #000000;
        --surface-container-low: #0a0a0a;
        --surface-container: #101010;
        --surface-container-high: #161616;
        --surface-container-highest: #1f1f1f;

        --surface-tint: #ffffff;
        --surface-variant: #1a1a1a;

        --inverse-surface: #ffffff;
        --inverse-on-surface: #000000;
        --inverse-primary: #000000;

        --outline: rgba(255, 255, 255, 0.16);
        --outline-variant: rgba(255, 255, 255, 0.08);
        --ambient-glow: rgba(255, 255, 255, 0.08);

        --shadow-1: 0px 1px 3px 1px rgba(0, 0, 0, 0.5), 0px 1px 2px 0px rgba(0, 0, 0, 0.35);
        --shadow-2: 0px 2px 6px 2px rgba(0, 0, 0, 0.5), 0px 1px 2px 0px rgba(0, 0, 0, 0.35);
        --shadow-3: 0px 4px 12px 3px rgba(0, 0, 0, 0.5), 0px 1px 3px 0px rgba(0, 0, 0, 0.35);
        --shadow-4: 0px 6px 16px 4px rgba(0, 0, 0, 0.55), 0px 2px 4px 0px rgba(0, 0, 0, 0.4);
        --shadow-5: 0px 8px 24px 6px rgba(0, 0, 0, 0.6), 0px 4px 6px 0px rgba(0, 0, 0, 0.45);
    }
}

/* Explicit Theme Overrides */
[data-theme="light"] {
    --primary: #000000;
    --on-primary: #ffffff;
    --primary-container: #ebebeb;
    --on-primary-container: #111111;

    --secondary: #262626;
    --on-secondary: #ffffff;
    --secondary-container: #f0f0f0;
    --on-secondary-container: #1f1f1f;

    --tertiary: #404040;
    --on-tertiary: #ffffff;
    --tertiary-container: #f0f0f0;
    --on-tertiary-container: #1f1f1f;

    --error: var(--error-40);
    --on-error: var(--error-100);
    --error-container: var(--error-90);
    --on-error-container: var(--error-10);

    --surface: #ffffff;
    --surface-scrolled: rgba(255, 255, 255, 0.82);
    --on-surface: #111111;
    --on-surface-variant: #666666;

    --surface-dim: #e8e8e8;
    --surface-bright: #ffffff;
    --surface-container-lowest: #ffffff;
    --surface-container-low: #f8f8f8;
    --surface-container: #f2f2f2;
    --surface-container-high: #ececec;
    --surface-container-highest: #e4e4e4;

    --surface-tint: #000000;
    --surface-variant: #eeeeee;

    --inverse-surface: #171717;
    --inverse-on-surface: #ffffff;
    --inverse-primary: #ffffff;

    --outline: rgba(0, 0, 0, 0.16);
    --outline-variant: rgba(0, 0, 0, 0.08);
    --ambient-glow: rgba(0, 0, 0, 0.04);

    --shadow-0: none;
    --shadow-1: 0px 1px 3px 1px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.04);
    --shadow-2: 0px 2px 6px 2px rgba(0, 0, 0, 0.08), 0px 1px 2px 0px rgba(0, 0, 0, 0.04);
    --shadow-3: 0px 4px 12px 3px rgba(0, 0, 0, 0.08), 0px 1px 3px 0px rgba(0, 0, 0, 0.06);
    --shadow-4: 0px 6px 16px 4px rgba(0, 0, 0, 0.10), 0px 2px 4px 0px rgba(0, 0, 0, 0.06);
    --shadow-5: 0px 8px 24px 6px rgba(0, 0, 0, 0.12), 0px 4px 6px 0px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] {
    --primary: #ffffff;
    --on-primary: #000000;
    --primary-container: #222222;
    --on-primary-container: #ffffff;

    --secondary: #e0e0e0;
    --on-secondary: #000000;
    --secondary-container: #1a1a1a;
    --on-secondary-container: #e0e0e0;

    --tertiary: #b0b0b0;
    --on-tertiary: #000000;
    --tertiary-container: #181818;
    --on-tertiary-container: #ffffff;

    --error: var(--error-80);
    --on-error: var(--error-20);
    --error-container: var(--error-30);
    --on-error-container: var(--error-90);

    --surface: #050505;
    --surface-scrolled: rgba(5, 5, 5, 0.82);
    --on-surface: #ffffff;
    --on-surface-variant: #9e9e9e;

    --surface-dim: #080808;
    --surface-bright: #242424;
    --surface-container-lowest: #000000;
    --surface-container-low: #0a0a0a;
    --surface-container: #101010;
    --surface-container-high: #161616;
    --surface-container-highest: #1f1f1f;

    --surface-tint: #ffffff;
    --surface-variant: #1a1a1a;

    --inverse-surface: #ffffff;
    --inverse-on-surface: #000000;
    --inverse-primary: #000000;

    --outline: rgba(255, 255, 255, 0.16);
    --outline-variant: rgba(255, 255, 255, 0.08);
    --ambient-glow: rgba(255, 255, 255, 0.08);

    --shadow-1: 0px 1px 3px 1px rgba(0, 0, 0, 0.5), 0px 1px 2px 0px rgba(0, 0, 0, 0.35);
    --shadow-2: 0px 2px 6px 2px rgba(0, 0, 0, 0.5), 0px 1px 2px 0px rgba(0, 0, 0, 0.35);
    --shadow-3: 0px 4px 12px 3px rgba(0, 0, 0, 0.5), 0px 1px 3px 0px rgba(0, 0, 0, 0.35);
    --shadow-4: 0px 6px 16px 4px rgba(0, 0, 0, 0.55), 0px 2px 4px 0px rgba(0, 0, 0, 0.4);
    --shadow-5: 0px 8px 24px 6px rgba(0, 0, 0, 0.6), 0px 4px 6px 0px rgba(0, 0, 0, 0.45);
}

/* ==========================================================================
   BASE & RESET STYLES
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: auto;
    font-size: 16px;
}

body {
    font-family: var(--font-sans);
    font-size: var(--text-body-l);
    font-weight: var(--weight-regular);
    line-height: 1.55;
    color: var(--on-surface);
    background-color: var(--surface);
    min-height: 100vh;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color var(--motion-duration-short-3) var(--motion-spring-fast-effect),
                color var(--motion-duration-short-3) var(--motion-spring-fast-effect);
}

body.page-home {
    overscroll-behavior-y: none;
}

::selection {
    background: var(--primary-container);
    color: var(--on-primary-container);
}

/* Scrollbars */
::-webkit-scrollbar {
    width: 0.625rem;
    height: 0.625rem;
}

::-webkit-scrollbar-track {
    background: var(--surface);
}

::-webkit-scrollbar-thumb {
    background: var(--outline-variant);
    border-radius: var(--shape-full);
    border: 2px solid var(--surface);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--outline);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--outline-variant) var(--surface);
}

/* ==========================================================================
   M3 EXPRESSIVE FLOATING THEME TOGGLE
   ========================================================================== */

.theme-toggle {
    position: fixed;
    top: var(--space-5);
    right: var(--space-5);
    z-index: 100;
    width: 3rem;
    height: 3rem;
    border-radius: 2rem;
    background: var(--surface-container-high);
    border: 1px solid var(--outline-variant);
    color: var(--on-surface);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-2);
    transition: border-radius var(--motion-duration-medium-1) var(--motion-spring-default-spatial),
                transform var(--motion-duration-medium-2) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                box-shadow var(--motion-duration-medium-1) var(--motion-spring-default-spatial),
                border-color var(--motion-duration-short-2) var(--motion-spring-fast-effect);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.theme-toggle iconify-icon {
    transition: transform var(--motion-duration-medium-2) var(--motion-spring-bounce);
}

.theme-toggle:hover {
    border-radius: var(--shape-l);
    background: var(--surface-container-highest);
    border-color: var(--primary);
    color: var(--primary);
    box-shadow: var(--shadow-3);
}

.theme-toggle:active {
    transform: scale(0.92) rotate(-8deg);
    box-shadow: var(--shadow-1);
}

/* ==========================================================================
   LAYOUT CONTAINERS & HOMEPAGE SPLIT LAYOUT
   ========================================================================== */

.container {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: 0 var(--space-6) var(--space-16);
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Split Layout Base (Mobile & Tablet default: single column stacked) */
.home-split-layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.profile-sidebar {
    width: 100%;
    min-width: 0;
}

.content-pane {
    width: 100%;
    min-width: 0;
}

.profile-bio {
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
    line-height: 1.5;
    margin: var(--space-1) 0 var(--space-2);
    text-align: center;
    max-width: 480px;
}

/* Profile Card Main Content & Footer inside Card */
.profile-card-main {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
}

.profile-card-footer {
    width: 100%;
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--outline-variant);
    position: relative;
    z-index: 1;
}

.profile-card-footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-2);
    width: 100%;
}

.profile-card-footer-content .footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    font-size: var(--text-label-m);
}

.profile-card-footer-content .copyright {
    font-size: var(--text-label-s);
    color: var(--on-surface-variant);
    opacity: 0.75;
    white-space: nowrap;
}

/* ==========================================================================
   M3 EXPRESSIVE HERO SECTION
   ========================================================================== */

.header {
    padding: var(--space-10) 0 var(--space-8);
}

.header-content {
    position: relative;
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    padding: var(--space-10) var(--space-8);
    border-radius: var(--shape-4xl);
    box-shadow: var(--shadow-1);
    overflow: hidden;
    transition: border-color var(--motion-duration-medium-1) var(--motion-spring-fast-effect),
                box-shadow var(--motion-duration-medium-2) var(--motion-spring-default-spatial);
}

/* Expressive subtle top ambient glow */
.header-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 140px;
    background: radial-gradient(circle at 50% 0%, var(--ambient-glow, rgba(255, 255, 255, 0.08)) 0%, transparent 70%);
    opacity: 0.35;
    pointer-events: none;
    z-index: 0;
}

.hero-layout {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-5);
}

/* M3 Expressive Avatar: Tactile squircle shape */
.hero-layout .avatar {
    width: 7.5rem;
    height: 7.5rem;
    border-radius: 36%;
    object-fit: cover;
    background: var(--surface-container-highest);
    box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px var(--outline-variant), var(--shadow-2);
    transition: transform var(--motion-duration-medium-2) var(--motion-spring-bounce),
                border-radius var(--motion-duration-medium-2) var(--motion-spring-bounce),
                box-shadow var(--motion-duration-medium-1) var(--motion-spring-default-spatial);
    cursor: pointer;
}

.hero-layout .avatar:hover {
    box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--primary), var(--shadow-3);
}

.hero-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
}

/* Emphasized Display typography for Hero title */
.hero-text h1 {
    font-size: var(--text-display-s);
    font-weight: var(--weight-extrabold);
    line-height: 1.15;
    color: var(--on-surface);
    letter-spacing: -0.02em;
}

.hero-text .tagline {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-body-m);
    font-weight: var(--weight-medium);
    color: var(--on-surface-variant);
    padding: var(--space-1) var(--space-4);
    background: var(--surface-container-high);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-full);
}

.social-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    width: 100%;
    margin-top: var(--space-3);
}

/* ==========================================================================
   M3 EXPRESSIVE BUTTON SYSTEM
   ========================================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--font-sans);
    font-size: var(--text-label-l);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.015em;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    height: 2.625rem;
    padding: 0 var(--space-5);
    border-radius: 1.5rem;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transform: translateZ(0);
    background: var(--surface-container-high);
    color: var(--on-surface);
    box-shadow: var(--shadow-0);
    transition: border-radius var(--motion-duration-medium-1) var(--motion-spring-default-spatial),
                transform var(--motion-duration-short-3) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                box-shadow var(--motion-duration-short-3) var(--motion-spring-default-spatial),
                border-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                color var(--motion-duration-short-2) var(--motion-spring-fast-effect);
}

/* M3 State Layer Overlay */
.btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: currentColor;
    opacity: 0;
    border-radius: inherit;
    transition: opacity var(--motion-duration-short-2) linear;
    z-index: -1;
    pointer-events: none;
}

.btn:hover {
    border-radius: var(--shape-m);
    background: var(--surface-container-highest);
    box-shadow: var(--shadow-1);
}

.btn:hover::after {
    opacity: 0.08;
}

.btn:active {
    transform: scale(0.96);
    box-shadow: var(--shadow-0);
}

.btn:active::after {
    opacity: 0.16;
}

.btn iconify-icon {
    font-size: 1.125rem;
    flex-shrink: 0;
}

/* M3 Filled Button (Primary) */
.btn-primary {
    background: var(--primary) !important;
    color: var(--on-primary) !important;
    border: 1px solid transparent !important;
    box-shadow: var(--shadow-1);
}

.btn-primary:hover {
    filter: brightness(0.92);
    box-shadow: var(--shadow-2);
}

.btn-primary:active {
    transform: scale(0.96);
    box-shadow: var(--shadow-1);
}

.btn-primary iconify-icon {
    color: var(--on-primary) !important;
}

/* M3 Filled Tonal Button (Secondary) */
.btn-secondary {
    background: var(--secondary-container) !important;
    color: var(--on-secondary-container) !important;
    border: 1px solid var(--outline-variant) !important;
}

.btn-secondary:hover {
    background: var(--surface-container-highest) !important;
    border-color: var(--outline) !important;
    box-shadow: var(--shadow-1);
}

.btn-secondary iconify-icon {
    color: var(--on-secondary-container) !important;
}

/* M3 Outlined Button */
.btn-outlined {
    background: transparent !important;
    color: var(--on-surface) !important;
    border: 1px solid var(--outline) !important;
}

.btn-outlined:hover {
    background: var(--surface-container-low) !important;
    border-color: var(--on-surface) !important;
}

/* Small Button Variant */
.btn-small {
    height: 2.125rem;
    padding: 0 var(--space-3);
    font-size: var(--text-label-m);
    gap: var(--space-1);
    border-radius: 1.5rem;
}

.btn-small:hover {
    border-radius: var(--shape-s);
}

.btn-small iconify-icon {
    font-size: 1rem;
}

/* M3 Icon-only button support */
.btn-small.btn-icon,
.btn-icon {
    width: 2.125rem;
    padding: 0;
    justify-content: center;
    border-radius: 1.5rem;
}

.btn-small.btn-icon:hover,
.btn-icon:hover {
    border-radius: var(--shape-s);
}

/* Wide Button Variant (used for profile card and links page) */
.btn-wide,
.linktree-buttons .btn,
.profile-sidebar .social-links .btn {
    width: 100%;
    height: 2.875rem;
    padding: 0 var(--space-5);
    font-size: var(--text-label-l);
    justify-content: center;
    gap: var(--space-3);
    border-radius: 1.5rem;
}

.btn-wide:hover,
.linktree-buttons .btn:hover,
.profile-sidebar .social-links .btn:hover {
    border-radius: var(--shape-m);
}

.btn-wide iconify-icon,
.linktree-buttons .btn iconify-icon,
.profile-sidebar .social-links .btn iconify-icon {
    font-size: 1.25rem;
}

/* ==========================================================================
   MAIN CONTENT & SECTION HEADERS
   ========================================================================== */

.main {
    padding-bottom: var(--space-12);
}

.projects-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
    text-align: center;
}

.section-header h2 {
    font-size: var(--text-headline-m);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    letter-spacing: -0.01em;
}

/* ==========================================================================
   M3 EXPRESSIVE FILTER CHIPS
   ========================================================================== */

.filter-nav {
    display: inline-flex;
    gap: var(--space-2);
    flex-wrap: wrap;
    justify-content: center;
    padding: var(--space-1);
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-full);
    width: fit-content;
}

.filter-btn {
    background: transparent;
    color: var(--on-surface-variant);
    border: 1px solid transparent;
    padding: 0 var(--space-4);
    font-family: var(--font-sans);
    font-weight: var(--weight-semibold);
    font-size: var(--text-label-l);
    cursor: pointer;
    border-radius: 2rem;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    height: 2.375rem;
    transition: border-radius var(--motion-duration-medium-1) var(--motion-spring-default-spatial),
                transform var(--motion-duration-short-3) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                border-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                box-shadow var(--motion-duration-short-3) var(--motion-spring-default-spatial);
    user-select: none;
}

.filter-btn iconify-icon {
    font-size: 1.125rem;
    transition: transform var(--motion-duration-short-3) var(--motion-spring-bounce);
}

.filter-btn:hover {
    border-radius: var(--shape-m);
    background: var(--surface-container-high);
    color: var(--on-surface);
}

.filter-btn:active {
    transform: scale(0.95);
}

/* M3 Active Filter Chip */
.filter-btn.active {
    background: var(--secondary-container);
    color: var(--on-secondary-container);
    border-color: transparent;
    box-shadow: var(--shadow-1);
    font-weight: var(--weight-bold);
}

.filter-btn.active iconify-icon {
    color: var(--on-secondary-container);
}

/* ==========================================================================
   M3 EXPRESSIVE PROJECTS SHOWCASE (TOOLBAR, BENTO HERO & CARDS CATALOG)
   ========================================================================== */

.projects-section {
    display: flex;
    flex-direction: column;
}

.featured-showcase {
    order: 1;
}

.projects-catalog {
    order: 2;
}

.hero-scroll-cue {
    display: none;
}

/* Showcase Section Header */
.showcase-section-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    font-size: var(--text-title-s);
    font-weight: var(--weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--on-surface-variant);
}

.showcase-section-header .header-accent-icon {
    color: var(--on-surface);
    font-size: 1.25rem;
}

.catalog-live-count {
    margin-left: auto;
    font-size: var(--text-label-m);
    text-transform: none;
    letter-spacing: normal;
    font-weight: var(--weight-medium);
    color: var(--on-surface-variant);
    background: var(--surface-container-high);
    padding: 0.15rem 0.6rem;
    border-radius: var(--shape-full);
    border: 1px solid var(--outline-variant);
}

/* ==========================================================================
   BENTO HERO SHOWCASE (FLAGSHIP PROJECTS)
   ========================================================================== */

.featured-showcase {
    margin-bottom: var(--space-10);
    transition: opacity var(--transition-standard);
}

.bento-hero-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: var(--space-5);
}

.bento-card {
    position: relative;
    border-radius: var(--shape-3xl);
    padding: var(--space-6);
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    box-shadow: var(--shadow-1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

.bento-card-unified-pinchana {
    position: relative;
    overflow: hidden;
    background: #050505;
    border-color: var(--outline);
}

.bento-card-unified-pinchana::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('pinchana/screencapture-pinchana.png');
    background-size: cover;
    background-position: center 30%;
    background-repeat: no-repeat;
    z-index: 0;
    opacity: 0.85;
}

.bento-card-unified-pinchana::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(5, 5, 5, 0.1) 0%,
        rgba(5, 5, 5, 0.25) 30%,
        rgba(5, 5, 5, 0.75) 55%,
        rgba(5, 5, 5, 0.94) 80%,
        rgba(5, 5, 5, 0.98) 100%
    );
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    mask-image: linear-gradient(to bottom, transparent 0%, transparent 35%, black 65%, black 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 35%, black 65%, black 100%);
    z-index: 1;
    pointer-events: none;
}

.bento-card-unified-pinchana .bento-card-header,
.bento-card-unified-pinchana .bento-card-content,
.bento-card-unified-pinchana .bento-card-actions {
    position: relative;
    z-index: 2;
}

.bento-card-unified-pinchana {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: var(--shadow-1) !important;
    transition: none !important;
}

.bento-card-unified-pinchana:hover {
    background: #050505 !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: var(--shadow-1) !important;
    transform: none !important;
}

.bento-card-unified-pinchana .badge-featured {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.bento-card-unified-pinchana .bento-icon {
    border: 1.5px solid rgba(255, 255, 255, 0.2);
}

.bento-card-unified-pinchana .bento-title {
    color: #ffffff;
}

.bento-card-unified-pinchana .bento-tagline {
    color: #a0a0a0;
}

.bento-card-unified-pinchana .bento-desc {
    color: rgba(255, 255, 255, 0.9);
}

.bento-card-unified-pinchana .platform-item {
    background: rgba(20, 20, 20, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.bento-card-unified-pinchana .platform-item:hover {
    background: rgba(20, 20, 20, 0.85);
    border-color: rgba(255, 255, 255, 0.12);
}

.bento-card-unified-pinchana .platform-name {
    color: #ffffff;
}

.bento-card-unified-pinchana .platform-desc {
    color: rgba(255, 255, 255, 0.7);
}

.bento-card-unified-pinchana .platform-icon-wrap {
    background: #181818;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.bento-card-unified-pinchana .btn-primary {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ffffff !important;
}

.bento-card-unified-pinchana .btn-primary iconify-icon {
    color: #000000 !important;
}

.bento-card-unified-pinchana .btn-primary:hover {
    background: #e8e8e8 !important;
    border-color: #e8e8e8 !important;
    color: #000000 !important;
}

.bento-card-unified-pinchana .btn-secondary {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.bento-card-unified-pinchana .btn-secondary iconify-icon {
    color: #ffffff !important;
}

.bento-card-unified-pinchana .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #ffffff !important;
}

/* 3-Platform summary grid inside the unified Pinchana card */
.pinchana-platforms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--space-3);
    margin: var(--space-4) 0 var(--space-5);
    user-select: none;
    -webkit-user-select: none;
}

.platform-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background: var(--surface-container-high);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-xl);
    user-select: none;
    -webkit-user-select: none;
    transition: background-color var(--transition-quick),
                border-color var(--transition-quick),
                box-shadow var(--transition-quick);
}

.platform-item:hover {
    background: var(--surface-container-highest);
    border-color: var(--outline);
    box-shadow: var(--shadow-1);
}

.platform-icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--shape-l);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex-shrink: 0;
    border: 1px solid var(--outline-variant);
}

.platform-icon-web {
    background: var(--surface-container-highest);
    color: var(--on-surface);
}

.platform-icon-bot {
    background: var(--surface-container-highest);
    color: var(--on-surface);
}

.platform-icon-app {
    background: var(--surface-container-highest);
    color: var(--on-surface);
}

.platform-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.platform-name {
    font-size: var(--text-label-l);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
}

.platform-desc {
    font-size: var(--text-body-s);
    color: var(--on-surface-variant);
    line-height: 1.3;
}

.sidebar-pinchana-card {
    display: none;
}

.bento-card-pinchana {
    background: radial-gradient(circle at 90% 10%, var(--ambient-glow, rgba(255, 255, 255, 0.05)) 0%, transparent 60%),
                var(--surface-container-low);
    border-color: var(--outline-variant);
}

.bento-card-mobile {
    background: radial-gradient(circle at 90% 10%, var(--ambient-glow, rgba(255, 255, 255, 0.05)) 0%, transparent 60%),
                var(--surface-container-low);
    border-color: var(--outline-variant);
}

.bento-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.bento-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

.m3-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0.25rem 0.625rem;
    border-radius: var(--shape-full);
    font-size: var(--text-label-s);
    font-weight: var(--weight-bold);
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.badge-featured {
    background: var(--surface-container-highest);
    color: var(--on-surface);
    border: 1px solid var(--outline);
}

.badge-teal {
    background: var(--surface-container-high);
    color: var(--on-surface-variant);
    border: 1px solid var(--outline-variant);
}

.badge-type {
    background: var(--surface-container-highest);
    color: var(--on-surface-variant);
    border: 1px solid var(--outline-variant);
}

.bento-icon {
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 22%;
    object-fit: cover;
    box-shadow: var(--shadow-2);
    border: 1.5px solid var(--outline);
    background: #000000;
    flex-shrink: 0;
}

.bento-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.bento-title {
    font-size: var(--text-headline-s);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    margin-bottom: var(--space-1);
    letter-spacing: -0.01em;
}

.bento-tagline {
    font-size: var(--text-label-l);
    font-weight: var(--weight-semibold);
    color: var(--on-surface-variant);
    margin-bottom: var(--space-3);
}

.bento-card-mobile .bento-tagline {
    color: var(--secondary);
}

.bento-desc {
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
    line-height: 1.55;
    margin-bottom: var(--space-4);
}

.bento-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
}

.highlight-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0.25rem 0.625rem;
    border-radius: var(--shape-m);
    font-size: var(--text-label-m);
    font-weight: var(--weight-medium);
    background: var(--surface-container-high);
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
}

.highlight-chip iconify-icon {
    color: var(--primary);
    font-size: 1rem;
}

.bento-card-mobile .highlight-chip iconify-icon {
    color: var(--secondary);
}

.bento-card-actions {
    display: flex;
    gap: var(--space-3);
    align-items: center;
    flex-wrap: wrap;
    margin-top: auto;
}

/* ==========================================================================
   M3 EXPRESSIVE CARDS CATALOG GRID
   ========================================================================== */

.projects-catalog {
    margin-bottom: var(--space-10);
}

.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.m3-project-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    padding: var(--space-5);
    box-shadow: var(--shadow-0);
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    overflow: hidden;
}

.m3-card-header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

.project-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--shape-xl);
    object-fit: cover;
    background: var(--surface-container-highest);
    border: 1px solid var(--outline-variant);
    flex-shrink: 0;
    box-shadow: var(--shadow-1);
}

.project-tonal-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--shape-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--shadow-1);
    border: 1px solid var(--outline-variant);
}

.project-tonal-icon.tonal-primary,
.project-tonal-icon.tonal-secondary,
.project-tonal-icon.tonal-tertiary {
    background: var(--surface-container-high);
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
}

.m3-card-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
    flex: 1;
}

.m3-card-title-wrap h3 {
    font-size: var(--text-title-m);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.01em;
    margin: 0;
}

.project-tag {
    font-size: var(--text-label-s);
    font-weight: var(--weight-bold);
    color: var(--on-surface-variant);
    background: var(--surface-container-highest);
    border: 1px solid var(--outline-variant);
    padding: 0.125rem 0.5rem;
    border-radius: var(--shape-full);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    width: fit-content;
    margin-top: 0.125rem;
}

.m3-card-body {
    flex: 1;
    margin-bottom: var(--space-4);
}

.m3-card-body .project-desc {
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.m3-card-footer {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: auto;
    padding-top: var(--space-3);
    border-top: 1px solid var(--outline-variant);
    flex-wrap: wrap;
}

/* Collapsible Archived Projects Section */
.archived-projects-section {
    margin-top: var(--space-4);
    padding-top: var(--space-6);
    border-top: 1px dashed var(--outline-variant);
}

.archived-projects-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--shape-xl);
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    cursor: pointer;
    list-style: none;
    user-select: none;
    -webkit-user-select: none;
    transition: background-color var(--transition-quick),
                border-color var(--transition-quick),
                box-shadow var(--transition-standard);
}

.archived-projects-summary::-webkit-details-marker,
.archived-projects-summary::marker {
    display: none;
    content: "";
}

.archived-projects-summary:hover {
    background: var(--surface-container);
    border-color: var(--outline);
    box-shadow: var(--shadow-1);
}

.archived-summary-left {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-title-s);
    font-weight: var(--weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--on-surface-variant);
}

.archived-summary-left .header-accent-icon {
    color: var(--on-surface);
    font-size: 1.25rem;
}

.archived-summary-left .catalog-live-count {
    margin-left: var(--space-2);
}

.archived-toggle-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--shape-full);
    background: var(--surface-container-high);
    border: 1px solid var(--outline-variant);
    color: var(--on-surface-variant);
    transition: transform var(--transition-standard),
                background-color var(--transition-quick),
                color var(--transition-quick);
}

.archived-projects-summary:hover .archived-toggle-indicator {
    background: var(--surface-container-highest);
    color: var(--on-surface);
}

.archived-chevron {
    font-size: 1.25rem;
    display: block;
    transition: transform 0.25s cubic-bezier(0.2, 0, 0, 1);
}

.archived-projects-section[open] .archived-chevron {
    transform: rotate(180deg);
}

.archived-projects-content {
    margin-top: var(--space-5);
    animation: archivedFadeIn 0.25s ease-out;
}

.archived-cards-grid {
    margin-bottom: 0;
}

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


/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer {
    padding: var(--space-8) 0;
    margin-top: auto;
    border-top: 1px solid var(--outline-variant);
}

.footer-content {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 var(--space-6);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
}

.footer-links {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.footer-separator {
    color: var(--outline-variant);
    opacity: 0.7;
}

.link-a {
    color: var(--primary);
    text-decoration: none;
    font-weight: var(--weight-semibold);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--shape-s);
    transition: background-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                color var(--motion-duration-short-2) var(--motion-spring-fast-effect);
}

.link-a:hover {
    background: var(--primary-container);
    color: var(--on-primary-container);
    text-decoration: none;
}

/* ==========================================================================
   TYPOGRAPHY & CONTENT SECTIONS (Documentation, Legal, Subpages)
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-sans);
    font-weight: var(--weight-bold);
    line-height: 1.25;
    color: var(--on-surface);
}

p {
    margin-bottom: var(--space-4);
}

.page-header {
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--outline-variant);
}

.page-header h1 {
    font-size: var(--text-headline-l);
    font-weight: var(--weight-extrabold);
    margin-bottom: var(--space-2);
    color: var(--on-surface);
    letter-spacing: -0.015em;
}

.page-header p {
    color: var(--on-surface-variant);
    margin-bottom: 0;
    font-size: var(--text-body-l);
}

.content-section {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    padding: var(--space-6) var(--space-8);
    margin-bottom: var(--space-5);
    box-shadow: var(--shadow-0);
    transition: border-color var(--motion-duration-short-3) var(--motion-spring-fast-effect);
}

.content-section h2 {
    font-size: var(--text-title-l);
    font-weight: var(--weight-bold);
    margin-bottom: var(--space-3);
    color: var(--on-surface);
}

.content-section h3 {
    font-size: var(--text-title-m);
    font-weight: var(--weight-semibold);
    margin-top: var(--space-6);
    margin-bottom: var(--space-2);
    color: var(--on-surface);
}

.content-section p {
    color: var(--on-surface-variant);
    line-height: 1.6;
    margin-bottom: var(--space-3);
}

.content-section ul {
    margin-left: var(--space-5);
    margin-bottom: var(--space-4);
    color: var(--on-surface-variant);
}

.content-section li {
    margin-bottom: var(--space-2);
    line-height: 1.6;
}

.content-section a {
    color: var(--primary);
    text-decoration: none;
    font-weight: var(--weight-semibold);
}

.content-section a:hover {
    text-decoration: underline;
}

/* M3 Info Callout Box */
.info-box {
    background: var(--primary-container);
    color: var(--on-primary-container);
    padding: var(--space-4) var(--space-5);
    border-radius: var(--shape-xl);
    margin-bottom: var(--space-4);
    border: 1px solid transparent;
}

.info-box p {
    margin-bottom: var(--space-2);
    color: var(--on-primary-container);
}

.info-box p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   PINCHANA & MOBILE SPECIAL COMPONENTS
   ========================================================================== */

.pinchana-banner {
    margin-top: var(--space-6);
    margin-bottom: var(--space-6);
}

.pinchana-banner-image {
    width: 100%;
    border-radius: var(--shape-4xl);
    box-shadow: var(--shadow-3);
    border: 1px solid var(--outline-variant);
}

.pinchana-hero {
    background: var(--tertiary-container);
    border-radius: var(--shape-4xl);
    padding: var(--space-8) var(--space-10);
    margin-bottom: var(--space-8);
    color: var(--on-tertiary-container);
    box-shadow: var(--shadow-2);
    border: 1px solid var(--outline-variant);
}

.pinchana-hero h1 {
    color: var(--on-tertiary-container);
    font-size: var(--text-headline-m);
    font-weight: var(--weight-extrabold);
    margin-bottom: var(--space-2);
}

.pinchana-hero p {
    color: var(--on-tertiary-container);
    font-size: var(--text-body-l);
    opacity: 0.9;
}

.pinchana-video {
    width: 100%;
    max-width: 600px;
    border-radius: var(--shape-3xl);
    box-shadow: var(--shadow-3);
    border: 1px solid var(--outline-variant);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.card {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    transition: transform var(--motion-duration-medium-1) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) var(--motion-spring-fast-effect),
                box-shadow var(--motion-duration-medium-1) var(--motion-spring-default-spatial);
}

.card:hover {
    background: var(--surface-container);
    box-shadow: var(--shadow-2);
    border-color: var(--outline);
}

.card h3 {
    font-size: var(--text-title-m);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.card p {
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
    line-height: 1.55;
    margin-bottom: 0;
}

.features-grid .card {
    text-align: center;
    background: var(--surface-container-low);
}

.features-grid .card-header {
    flex-direction: column;
    align-items: center;
}

.features-grid .card-title-wrap {
    align-items: center;
}

.features-grid iconify-icon {
    font-size: 2rem;
    color: var(--primary);
    margin-bottom: var(--space-2);
}

.platform-list {
    list-style: none;
    padding: 0;
}

.platform-list li {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--outline-variant);
}

.platform-list li:last-child {
    border-bottom: none;
}

.platform-list iconify-icon {
    color: var(--primary);
    font-size: 1.25rem;
}

/* Modern Image Viewer (Lightbox) */
.image-viewer-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s cubic-bezier(0.2, 0, 0, 1);
    user-select: none;
    -webkit-user-select: none;
}

.image-viewer-modal.is-active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}

.image-viewer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 10, 0.9);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 1;
    cursor: zoom-out;
}

/* Toolbar */
.image-viewer-toolbar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: max(env(safe-area-inset-top), 1rem) 1.5rem 0.75rem;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    gap: 1rem;
}

.image-viewer-meta {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.image-viewer-counter {
    font-size: 0.85rem;
    font-weight: var(--weight-bold);
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 0.25rem 0.65rem;
    border-radius: var(--shape-full);
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

.image-viewer-title {
    font-size: 0.875rem;
    font-weight: var(--weight-medium);
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 45vw;
}

.image-viewer-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.image-viewer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--shape-full);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ffffff;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.18s cubic-bezier(0.2, 0, 0, 1);
}

.image-viewer-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.28);
    transform: scale(1.06);
}

.image-viewer-btn:active:not(:disabled) {
    transform: scale(0.94);
}

.image-viewer-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.image-viewer-btn.image-viewer-close:hover {
    background: rgba(255, 80, 80, 0.25);
    border-color: rgba(255, 80, 80, 0.45);
    color: #ff6b6b;
}

/* Stage & Canvas */
.image-viewer-stage {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0 1rem;
    width: 100%;
}

.image-viewer-canvas {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: none;
}

.image-viewer-img {
    max-width: calc(100vw - 4rem);
    max-height: calc(100vh - 11rem);
    object-fit: contain;
    border-radius: var(--shape-l);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65);
    transition: transform 0.18s cubic-bezier(0.2, 0, 0, 1), opacity 0.18s ease;
    cursor: zoom-in;
    transform-origin: center center;
    will-change: transform;
    border: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    user-select: none;
    -webkit-user-select: none;
}

.image-viewer-canvas.is-zoomed .image-viewer-img {
    cursor: grab;
    max-width: none;
    max-height: none;
}

.image-viewer-canvas.is-dragging .image-viewer-img {
    cursor: grabbing;
    transition: none;
}

/* Navigation Arrows */
.image-viewer-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--shape-full);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.2, 0, 0, 1);
}

.image-viewer-nav.prev {
    left: 1.5rem;
}

.image-viewer-nav.next {
    right: 1.5rem;
}

.image-viewer-nav:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.35);
    transform: translateY(-50%) scale(1.08);
}

.image-viewer-nav:disabled {
    opacity: 0.18;
    cursor: not-allowed;
    pointer-events: none;
}

/* Bottom Caption */
.image-viewer-footer {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    padding: 0.75rem 1.5rem max(env(safe-area-inset-bottom), 1.25rem);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    min-height: 2.75rem;
}

.image-viewer-caption {
    font-size: 0.925rem;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 0.45rem 1.15rem;
    border-radius: var(--shape-full);
    border: 1px solid rgba(255, 255, 255, 0.12);
    max-width: min(760px, 90vw);
    text-align: center;
    line-height: 1.4;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.image-viewer-caption:empty {
    display: none;
}

/* Backwards compatibility for legacy modal */
.documentation-image-modal {
    display: none !important;
}

.documentation-content img,
.content-section img {
    max-width: 100%;
    height: auto;
    display: block;
    cursor: zoom-in;
    border-radius: var(--shape-xl);
    border: 1px solid var(--outline-variant);
    border-left: none;
    transition: transform var(--motion-duration-short-3) var(--motion-spring-bounce),
                box-shadow var(--motion-duration-short-3) var(--motion-spring-default-spatial);
}

.documentation-content img:hover,
.content-section img:hover {
    box-shadow: var(--shadow-3);
}

@media (max-width: 768px) {
    .image-viewer-nav {
        display: none;
    }
    .image-viewer-title {
        display: none;
    }
    .image-viewer-toolbar {
        padding: max(env(safe-area-inset-top), 0.75rem) 1rem 0.5rem;
    }
    .image-viewer-btn {
        width: 2.25rem;
        height: 2.25rem;
    }
    .image-viewer-img {
        max-width: calc(100vw - 1.5rem);
        max-height: calc(100vh - 9rem);
    }
}

/* ==========================================================================
   ENHANCED MARKDOWN RENDERER STYLES (GFM + CUSTOM DIRECTIVES)
   ========================================================================== */

/* Inline code formatting */
.documentation-content :not(pre) > code,
.content-section :not(pre) > code {
    font-family: var(--font-mono);
    font-size: 0.875em;
    padding: 0.2em 0.45em;
    border-radius: var(--shape-s);
    background: var(--surface-container-highest);
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
    word-break: break-word;
}

/* Keyboard keys (<kbd>) */
.documentation-content kbd,
.content-section kbd {
    font-family: var(--font-mono);
    font-size: 0.8em;
    padding: 0.15em 0.45em;
    background: var(--surface-container-high);
    color: var(--on-surface);
    border: 1px solid var(--outline);
    border-bottom: 2px solid var(--outline);
    border-radius: var(--shape-s);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

/* Header Permalinks */
.documentation-content h1,
.documentation-content h2,
.documentation-content h3,
.documentation-content h4,
.documentation-content h5,
.documentation-content h6 {
    position: relative;
    scroll-margin-top: calc(var(--ios-nav-height, 44px) + env(safe-area-inset-top) + 24px);
}

.headerlink {
    color: var(--on-surface-variant);
    opacity: 0;
    margin-left: 0.45rem;
    font-size: 0.85em;
    text-decoration: none !important;
    transition: opacity var(--motion-duration-short-2) ease, color var(--motion-duration-short-2) ease;
}

h1:hover > .headerlink,
h2:hover > .headerlink,
h3:hover > .headerlink,
h4:hover > .headerlink,
h5:hover > .headerlink,
h6:hover > .headerlink,
.headerlink:focus {
    opacity: 0.65;
}

.headerlink:hover {
    opacity: 1 !important;
    color: var(--primary) !important;
}

/* GitHub Alerts / Callouts */
.markdown-alert {
    border-radius: var(--shape-xl);
    padding: var(--space-4) var(--space-5);
    margin: var(--space-4) 0;
    border: 1px solid var(--alert-border, var(--outline-variant));
    background: var(--alert-bg, var(--surface-container-low));
    position: relative;
    overflow: hidden;
}

.markdown-alert-title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: var(--weight-bold);
    font-size: 0.925rem;
    color: var(--alert-color, var(--primary));
    margin-bottom: var(--space-2);
    letter-spacing: 0.01em;
}

.markdown-alert-title iconify-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.markdown-alert-content {
    font-size: 0.9375rem;
    color: var(--on-surface);
    line-height: 1.62;
}

.markdown-alert-content > *:last-child,
.markdown-alert-content p:last-child {
    margin-bottom: 0;
}

/* Alert Themes: Dark & Default */
.markdown-alert-note {
    --alert-color: #58a6ff;
    --alert-bg: rgba(56, 139, 253, 0.07);
    --alert-border: rgba(56, 139, 253, 0.25);
}

.markdown-alert-tip {
    --alert-color: #3fb950;
    --alert-bg: rgba(63, 185, 80, 0.07);
    --alert-border: rgba(63, 185, 80, 0.25);
}

.markdown-alert-important {
    --alert-color: #bc8cff;
    --alert-bg: rgba(163, 113, 247, 0.07);
    --alert-border: rgba(163, 113, 247, 0.25);
}

.markdown-alert-warning {
    --alert-color: #d29922;
    --alert-bg: rgba(210, 153, 34, 0.07);
    --alert-border: rgba(210, 153, 34, 0.25);
}

.markdown-alert-caution {
    --alert-color: #f85149;
    --alert-bg: rgba(248, 81, 73, 0.07);
    --alert-border: rgba(248, 81, 73, 0.25);
}

/* Alert Themes: Explicit Light Mode */
[data-theme="light"] .markdown-alert-note {
    --alert-color: #0969da;
    --alert-bg: rgba(9, 105, 218, 0.06);
    --alert-border: rgba(9, 105, 218, 0.22);
}

[data-theme="light"] .markdown-alert-tip {
    --alert-color: #1a7f37;
    --alert-bg: rgba(26, 127, 55, 0.06);
    --alert-border: rgba(26, 127, 55, 0.22);
}

[data-theme="light"] .markdown-alert-important {
    --alert-color: #8250df;
    --alert-bg: rgba(130, 80, 223, 0.06);
    --alert-border: rgba(130, 80, 223, 0.22);
}

[data-theme="light"] .markdown-alert-warning {
    --alert-color: #9a6700;
    --alert-bg: rgba(154, 103, 0, 0.06);
    --alert-border: rgba(154, 103, 0, 0.22);
}

[data-theme="light"] .markdown-alert-caution {
    --alert-color: #cf222e;
    --alert-bg: rgba(207, 34, 46, 0.06);
    --alert-border: rgba(207, 34, 46, 0.22);
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) .markdown-alert-note {
        --alert-color: #0969da;
        --alert-bg: rgba(9, 105, 218, 0.06);
        --alert-border: rgba(9, 105, 218, 0.22);
    }
    :root:not([data-theme="dark"]) .markdown-alert-tip {
        --alert-color: #1a7f37;
        --alert-bg: rgba(26, 127, 55, 0.06);
        --alert-border: rgba(26, 127, 55, 0.22);
    }
    :root:not([data-theme="dark"]) .markdown-alert-important {
        --alert-color: #8250df;
        --alert-bg: rgba(130, 80, 223, 0.06);
        --alert-border: rgba(130, 80, 223, 0.22);
    }
    :root:not([data-theme="dark"]) .markdown-alert-warning {
        --alert-color: #9a6700;
        --alert-bg: rgba(154, 103, 0, 0.06);
        --alert-border: rgba(154, 103, 0, 0.22);
    }
    :root:not([data-theme="dark"]) .markdown-alert-caution {
        --alert-color: #cf222e;
        --alert-bg: rgba(207, 34, 46, 0.06);
        --alert-border: rgba(207, 34, 46, 0.22);
    }
}

/* Code Block Wrapper & Header */
.code-block-wrapper {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-xl);
    margin: var(--space-4) 0;
    overflow: hidden;
    box-shadow: var(--shadow-1);
    position: relative;
}

.code-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--surface-container-high);
    border-bottom: 1px solid var(--outline-variant);
    padding: 0.45rem 0.85rem;
    font-size: 0.75rem;
    font-weight: var(--weight-semibold);
    color: var(--on-surface-variant);
    user-select: none;
}

.code-block-lang {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    letter-spacing: 0.05em;
    font-family: var(--font-mono);
}

.code-block-lang iconify-icon {
    font-size: 1rem;
    color: var(--primary);
}

.code-copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    color: var(--on-surface-variant);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-m);
    padding: 0.25rem 0.55rem;
    font-size: 0.75rem;
    font-family: var(--font-sans);
    font-weight: var(--weight-medium);
    cursor: pointer;
    transition: background var(--motion-duration-short-2) ease,
                color var(--motion-duration-short-2) ease,
                border-color var(--motion-duration-short-2) ease;
}

.code-copy-btn:hover {
    background: var(--surface-container-highest);
    color: var(--on-surface);
    border-color: var(--outline);
}

.code-copy-btn.copied {
    background: rgba(63, 185, 80, 0.12);
    color: #3fb950;
    border-color: rgba(63, 185, 80, 0.4);
}

.code-block-wrapper .highlight,
.code-block-wrapper pre {
    margin: 0;
    padding: 0.85rem 1rem;
    overflow-x: auto;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    line-height: 1.55;
    background: transparent !important;
}

.code-block-wrapper pre code {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    white-space: pre;
}

/* Syntax Highlighting Tokens (Dark / Default) */
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kr, .highlight .kc { color: #ff7b72; font-weight: var(--weight-medium); }
.highlight .kt { color: #ff7b72; }
.highlight .s, .highlight .s1, .highlight .s2, .highlight .se, .highlight .sd, .highlight .si { color: #a5d6ff; }
.highlight .nb, .highlight .nc, .highlight .nf, .highlight .nn { color: #d2a8ff; }
.highlight .c, .highlight .c1, .highlight .cm, .highlight .cp { color: #8b949e; font-style: italic; }
.highlight .m, .highlight .mi, .highlight .mf, .highlight .mh, .highlight .mo { color: #79c0ff; }
.highlight .o, .highlight .ow { color: #ff7b72; }
.highlight .p { color: #c9d1d9; }
.highlight .na, .highlight .nt { color: #7ee787; }
.highlight .nd { color: #ffa657; }
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi { color: #79c0ff; }
.highlight .ge { font-style: italic; }
.highlight .gs { font-weight: var(--weight-bold); }

/* Syntax Highlighting Tokens (Light Theme) */
[data-theme="light"] .highlight .k,
[data-theme="light"] .highlight .kd,
[data-theme="light"] .highlight .kn,
[data-theme="light"] .highlight .kr,
[data-theme="light"] .highlight .kc { color: #cf222e; }
[data-theme="light"] .highlight .kt { color: #cf222e; }
[data-theme="light"] .highlight .s,
[data-theme="light"] .highlight .s1,
[data-theme="light"] .highlight .s2,
[data-theme="light"] .highlight .se,
[data-theme="light"] .highlight .sd,
[data-theme="light"] .highlight .si { color: #0a3069; }
[data-theme="light"] .highlight .nb,
[data-theme="light"] .highlight .nc,
[data-theme="light"] .highlight .nf,
[data-theme="light"] .highlight .nn { color: #8250df; }
[data-theme="light"] .highlight .c,
[data-theme="light"] .highlight .c1,
[data-theme="light"] .highlight .cm,
[data-theme="light"] .highlight .cp { color: #6e7781; }
[data-theme="light"] .highlight .m,
[data-theme="light"] .highlight .mi,
[data-theme="light"] .highlight .mf,
[data-theme="light"] .highlight .mh,
[data-theme="light"] .highlight .mo { color: #0550ae; }
[data-theme="light"] .highlight .o,
[data-theme="light"] .highlight .ow { color: #cf222e; }
[data-theme="light"] .highlight .p { color: #24292f; }
[data-theme="light"] .highlight .na,
[data-theme="light"] .highlight .nt { color: #116329; }
[data-theme="light"] .highlight .nd { color: #953800; }
[data-theme="light"] .highlight .nv { color: #0550ae; }

@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) .highlight .k,
    :root:not([data-theme="dark"]) .highlight .kd,
    :root:not([data-theme="dark"]) .highlight .kn,
    :root:not([data-theme="dark"]) .highlight .kr,
    :root:not([data-theme="dark"]) .highlight .kc { color: #cf222e; }
    :root:not([data-theme="dark"]) .highlight .kt { color: #cf222e; }
    :root:not([data-theme="dark"]) .highlight .s,
    :root:not([data-theme="dark"]) .highlight .s1,
    :root:not([data-theme="dark"]) .highlight .s2,
    :root:not([data-theme="dark"]) .highlight .se,
    :root:not([data-theme="dark"]) .highlight .sd,
    :root:not([data-theme="dark"]) .highlight .si { color: #0a3069; }
    :root:not([data-theme="dark"]) .highlight .nb,
    :root:not([data-theme="dark"]) .highlight .nc,
    :root:not([data-theme="dark"]) .highlight .nf,
    :root:not([data-theme="dark"]) .highlight .nn { color: #8250df; }
    :root:not([data-theme="dark"]) .highlight .c,
    :root:not([data-theme="dark"]) .highlight .c1,
    :root:not([data-theme="dark"]) .highlight .cm,
    :root:not([data-theme="dark"]) .highlight .cp { color: #6e7781; }
    :root:not([data-theme="dark"]) .highlight .m,
    :root:not([data-theme="dark"]) .highlight .mi,
    :root:not([data-theme="dark"]) .highlight .mf,
    :root:not([data-theme="dark"]) .highlight .mh,
    :root:not([data-theme="dark"]) .highlight .mo { color: #0550ae; }
    :root:not([data-theme="dark"]) .highlight .o,
    :root:not([data-theme="dark"]) .highlight .ow { color: #cf222e; }
    :root:not([data-theme="dark"]) .highlight .p { color: #24292f; }
    :root:not([data-theme="dark"]) .highlight .na,
    :root:not([data-theme="dark"]) .highlight .nt { color: #116329; }
    :root:not([data-theme="dark"]) .highlight .nd { color: #953800; }
    :root:not([data-theme="dark"]) .highlight .nv { color: #0550ae; }
}

/* Responsive GFM Tables */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: var(--space-5) 0;
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-xl);
    box-shadow: var(--shadow-0);
}

.table-responsive table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    text-align: left;
}

.table-responsive th {
    background: var(--surface-container-high);
    color: var(--on-surface);
    font-weight: var(--weight-bold);
    padding: 0.75rem 1rem;
    border-bottom: 2px solid var(--outline-variant);
    white-space: nowrap;
}

.table-responsive td {
    padding: 0.75rem 1.15rem;
    border-bottom: 1px solid var(--outline-variant);
    color: var(--on-surface-variant);
    vertical-align: middle;
}

.table-responsive td code,
.table-responsive th code {
    white-space: nowrap;
    word-break: normal;
    display: inline-block;
    vertical-align: middle;
}

.table-responsive th:first-child,
.table-responsive td:first-child {
    white-space: nowrap;
}

.table-responsive th:last-child,
.table-responsive td:last-child {
    padding-right: 1.5rem;
}

.table-responsive tr:nth-child(even) td {
    background: var(--surface-container-lowest);
}

.table-responsive tr:last-child td {
    border-bottom: none;
}

/* Task Lists (Checklists) */
.documentation-content ul.task-list,
.content-section ul.task-list {
    list-style-type: none;
    padding-left: 0.25rem;
    margin: var(--space-3) 0;
}

.documentation-content li.task-list-item,
.content-section li.task-list-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
    line-height: 1.5;
}

.documentation-content li.task-list-item input[type="checkbox"],
.content-section li.task-list-item input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.2rem;
    border-radius: var(--shape-s);
    accent-color: var(--primary);
    cursor: default;
    flex-shrink: 0;
}

/* Custom Markdown Badges */
.markdown-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    font-weight: var(--weight-semibold);
    padding: 0.15rem 0.6rem;
    border-radius: var(--shape-full);
    line-height: 1.4;
    vertical-align: middle;
    margin: 0 0.2rem;
    border: 1px solid transparent;
}

.markdown-badge iconify-icon {
    font-size: 0.875rem;
}

.markdown-badge-primary {
    background: var(--primary-container);
    color: var(--on-primary-container);
    border-color: var(--primary);
}

.markdown-badge-secondary {
    background: var(--secondary-container);
    color: var(--on-secondary-container);
    border-color: var(--outline-variant);
}

.markdown-badge-success {
    background: rgba(63, 185, 80, 0.14);
    color: #3fb950;
    border-color: rgba(63, 185, 80, 0.35);
}

.markdown-badge-warning {
    background: rgba(210, 153, 34, 0.14);
    color: #d29922;
    border-color: rgba(210, 153, 34, 0.35);
}

.markdown-badge-error {
    background: var(--error-container);
    color: var(--on-error-container);
    border-color: var(--error);
}

/* Custom Markdown Button Groups */
.markdown-button-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin: var(--space-4) 0;
}

.markdown-button-group p {
    display: contents;
}

.markdown-button-group .btn {
    max-width: 100%;
}

@media (max-width: 600px) {
    .markdown-button-group {
        flex-direction: column;
        align-items: stretch;
    }

    .markdown-button-group .btn {
        width: 100%;
        height: auto;
        min-height: 2.625rem;
        padding: 0.65rem 1.15rem;
        white-space: normal;
        text-align: center;
        line-height: 1.35;
    }
}

/* Custom Markdown Card Directives */
.markdown-card {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    padding: var(--space-5) var(--space-6);
    margin: var(--space-5) 0;
    box-shadow: var(--shadow-1);
}

.markdown-card-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-4);
    border-bottom: 1px solid var(--outline-variant);
}

.markdown-card-header h3 {
    margin: 0;
    font-size: var(--text-title-m);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
}

.markdown-card-header iconify-icon {
    color: var(--primary);
    font-size: 1.35rem;
}

.markdown-card-body > *:last-child,
.markdown-card-body p:last-child {
    margin-bottom: 0;
}

/* Standalone Inline Icons */
.markdown-inline-icon {
    display: inline-block;
    vertical-align: -0.15em;
    width: 1.15em;
    height: 1.15em;
}

/* Collapsible Details / Summary */
.documentation-content details,
.content-section details {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-xl);
    padding: var(--space-4) var(--space-5);
    margin: var(--space-4) 0;
    transition: background var(--motion-duration-short-2) ease,
                border-color var(--motion-duration-short-2) ease;
}

.documentation-content details[open],
.content-section details[open] {
    background: var(--surface-container);
}

.documentation-content summary,
.content-section summary {
    cursor: pointer;
    font-weight: var(--weight-semibold);
    color: var(--on-surface);
    user-select: none;
    outline: none;
    font-size: 0.95rem;
    padding: 0.15rem 0;
    transition: color 0.15s ease;
}

.documentation-content summary:hover,
.content-section summary:hover {
    color: var(--primary);
}

.documentation-content details[open] summary,
.content-section details[open] summary {
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--outline-variant);
}

.documentation-content details ul,
.content-section details ul {
    margin: var(--space-3) 0 var(--space-2) var(--space-5);
    padding-left: 0.25rem;
}

.documentation-content details li,
.content-section details li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
    color: var(--on-surface-variant);
}

.documentation-content details li:last-child,
.content-section details li:last-child {
    margin-bottom: 0;
}

.documentation-content details li strong,
.content-section details li strong {
    color: var(--on-surface);
}

/* Footnotes */
.documentation-content .footnote,
.content-section .footnote {
    border-top: 1px solid var(--outline-variant);
    margin-top: var(--space-8);
    padding-top: var(--space-4);
    font-size: 0.85rem;
    color: var(--on-surface-variant);
}

.documentation-content .footnote hr,
.content-section .footnote hr {
    display: none;
}

/* ==========================================================================
   MARKDOWN CAROUSEL STYLES
   ========================================================================== */

.markdown-carousel {
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    margin: var(--space-6) 0;
    overflow: hidden;
    box-shadow: var(--shadow-1);
    position: relative;
    display: flex;
    flex-direction: column;
}

.markdown-carousel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-5);
    background: var(--surface-container-high);
    border-bottom: 1px solid var(--outline-variant);
    user-select: none;
}

.markdown-carousel-title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--text-title-s);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
}

.markdown-carousel-title iconify-icon {
    font-size: 1.25rem;
    color: var(--primary);
}

.markdown-carousel-counter {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: var(--weight-semibold);
    color: var(--on-surface-variant);
    background: var(--surface-container-highest);
    border: 1px solid var(--outline-variant);
    padding: 0.2rem 0.55rem;
    border-radius: var(--shape-full);
}

.markdown-carousel-viewport {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    outline: none;
}

.markdown-carousel-viewport::-webkit-scrollbar {
    display: none;
}

.markdown-carousel-slide {
    flex: 0 0 100%;
    min-width: 100%;
    scroll-snap-align: start;
    box-sizing: border-box;
    padding: var(--space-5) var(--space-6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 220px;
}

.markdown-carousel-slide > *:first-child {
    margin-top: 0;
}

.markdown-carousel-slide > *:last-child {
    margin-bottom: 0;
}

.markdown-carousel-slide p:has(img) {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.markdown-carousel-slide img {
    max-width: 100%;
    max-height: 460px;
    object-fit: contain;
    margin: 0 auto;
    border-radius: var(--shape-xl);
    border: 1px solid var(--outline-variant);
    box-shadow: var(--shadow-2);
    cursor: zoom-in;
    transition: transform var(--motion-duration-short-3) var(--motion-spring-bounce),
                box-shadow var(--motion-duration-short-3) var(--motion-spring-default-spatial);
}

.markdown-carousel-slide img:hover {
    box-shadow: var(--shadow-3);
}

.markdown-carousel-slide em,
.markdown-carousel-slide figcaption {
    display: block;
    text-align: center;
    font-size: var(--text-body-s);
    color: var(--on-surface-variant);
    margin-top: var(--space-2);
}

.markdown-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-5);
    background: var(--surface-container-high);
    border-top: 1px solid var(--outline-variant);
    gap: var(--space-3);
    user-select: none;
}

.markdown-carousel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--shape-full);
    background: var(--surface-container-highest);
    color: var(--on-surface);
    border: 1px solid var(--outline-variant);
    cursor: pointer;
    transition: transform var(--motion-duration-short-2) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) ease,
                color var(--motion-duration-short-2) ease,
                border-color var(--motion-duration-short-2) ease,
                opacity var(--motion-duration-short-2) ease;
}

.markdown-carousel-btn:hover:not(:disabled) {
    background: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
    transform: scale(1.06);
}

.markdown-carousel-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none;
}

.markdown-carousel-dots {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.markdown-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--shape-full);
    background: var(--outline);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: width var(--motion-duration-short-3) var(--motion-spring-bounce),
                background-color var(--motion-duration-short-2) ease;
}

.markdown-carousel-dot:hover {
    background: var(--on-surface-variant);
}

.markdown-carousel-dot.active {
    width: 24px;
    background: var(--primary);
}

@media (max-width: 600px) {
    .markdown-carousel-slide {
        padding: var(--space-4);
        min-height: 180px;
    }
    .markdown-carousel-slide img {
        max-height: 300px;
    }
}

/* ==========================================================================
   LINKTREE / LINKS PAGE
   ========================================================================== */

.linktree-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-10) 0;
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
}

.linktree-layout .avatar {
    width: 6.5rem;
    height: 6.5rem;
    border-radius: 36%;
    margin-bottom: var(--space-4);
    box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px var(--outline-variant), var(--shadow-2);
    transition: transform var(--motion-duration-medium-2) var(--motion-spring-bounce),
                border-radius var(--motion-duration-medium-2) var(--motion-spring-bounce);
}

.linktree-layout .avatar:hover {
    box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--primary), var(--shadow-3);
}

.linktree-layout h1 {
    font-size: var(--text-headline-m);
    font-weight: var(--weight-extrabold);
    margin-bottom: var(--space-2);
}

.linktree-layout .tagline {
    color: var(--on-surface-variant);
    margin-bottom: var(--space-8);
    text-align: center;
    font-size: var(--text-body-m);
}

.linktree-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: 100%;
}

.linktree-btn {
    width: 100%;
    height: 2.875rem;
    padding: 0 var(--space-5);
    font-size: var(--text-label-l);
    justify-content: center;
    gap: var(--space-3);
    border-radius: 1.5rem;
}

.linktree-btn:hover {
    border-radius: var(--shape-m);
}

.linktree-separator {
    width: 100%;
    height: 1px;
    background: var(--outline-variant);
    margin: var(--space-4) 0;
    opacity: 0.6;
}

.twitch-embed {
    width: 100%;
    margin-top: var(--space-8);
    border-radius: var(--shape-2xl);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    box-shadow: var(--shadow-3);
    border: 1px solid var(--outline-variant);
    background: var(--neutral-4);
}

.twitch-embed iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* ==========================================================================
   PATREON EMBED & DONATE PAGE
   ========================================================================== */

.patreon-embed-container {
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
}

.patreon-embed-card {
    background: var(--surface-container);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-3xl);
    overflow: hidden;
    box-shadow: var(--shadow-2);
    transition: border-color var(--motion-duration-short-3) ease,
                box-shadow var(--motion-duration-short-3) ease;
}

.patreon-embed-card:hover {
    border-color: var(--outline);
    box-shadow: var(--shadow-3);
}

.patreon-embed-cover {
    width: 100%;
    height: 180px;
    position: relative;
    overflow: hidden;
    background: var(--surface-container-high);
}

.patreon-embed-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.patreon-embed-cover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.65) 100%);
}

.patreon-embed-body {
    padding: var(--space-6) var(--space-8) var(--space-8);
    position: relative;
}

@media (max-width: 640px) {
    .patreon-embed-body {
        padding: var(--space-5) var(--space-4) var(--space-6);
    }
}

.patreon-avatar-wrapper {
    position: relative;
    display: inline-block;
    margin-top: -84px;
    margin-bottom: var(--space-4);
}

.patreon-avatar {
    width: 96px;
    height: 96px;
    border-radius: var(--shape-full);
    border: 4px solid var(--surface-container);
    box-shadow: var(--shadow-3);
    object-fit: cover;
    display: block;
    background: var(--surface-container-high);
}

.patreon-avatar-badge {
    position: absolute;
    bottom: 2px;
    right: 2px;
    background: #FF424D;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: var(--shape-full);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--surface-container);
    box-shadow: var(--shadow-1);
}

.patreon-meta {
    margin-bottom: var(--space-6);
}

.patreon-creator-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-1);
}

.patreon-creator-title h2 {
    font-size: var(--text-headline-m);
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    margin: 0;
}

.patreon-handle {
    font-size: var(--text-body-m);
    color: var(--on-surface-variant);
    margin-bottom: var(--space-3);
}

.patreon-bio {
    font-size: var(--text-body-l);
    color: var(--on-surface);
    line-height: 1.6;
    margin-bottom: var(--space-4);
}

.patreon-stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-6);
}

.patreon-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: 0.35rem 0.75rem;
    border-radius: var(--shape-full);
    background: var(--surface-container-high);
    border: 1px solid var(--outline-variant);
    font-size: var(--text-label-m);
    font-weight: var(--weight-medium);
    color: var(--on-surface-variant);
}

.patreon-tiers-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
    margin-bottom: var(--space-6);
}

@media (max-width: 600px) {
    .patreon-tiers-grid {
        grid-template-columns: 1fr;
    }
}

.patreon-tier-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--space-4);
    background: var(--surface-container-low);
    border: 1px solid var(--outline-variant);
    border-radius: var(--shape-2xl);
    text-decoration: none;
    color: inherit;
    transition: border-color var(--motion-duration-short-2) ease,
                background-color var(--motion-duration-short-2) ease,
                box-shadow var(--motion-duration-short-2) ease;
}

.patreon-tier-card:hover {
    background: var(--surface-container-highest);
    border-color: var(--outline);
    box-shadow: var(--shadow-1);
}

.patreon-tier-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--space-1);
}

.patreon-tier-name {
    font-weight: var(--weight-bold);
    color: var(--on-surface);
    font-size: var(--text-body-m);
}

.patreon-tier-price {
    font-weight: var(--weight-bold);
    color: var(--primary);
    font-size: var(--text-title-m);
}

.patreon-tier-price span {
    font-size: var(--text-label-s);
    font-weight: normal;
    color: var(--on-surface-variant);
}

.patreon-tier-desc {
    font-size: var(--text-body-s);
    color: var(--on-surface-variant);
    margin-top: var(--space-1);
    line-height: 1.4;
}

.patreon-tier-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--text-label-m);
    font-weight: var(--weight-medium);
    color: var(--primary);
    margin-top: var(--space-3);
}

.patreon-actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: stretch;
    margin-top: var(--space-6);
}

.patreon-btn-main {
    background: #FF424D !important;
    color: #ffffff !important;
    border: 1px solid transparent !important;
    font-weight: var(--weight-bold);
    box-shadow: 0 4px 14px rgba(255, 66, 77, 0.35);
}

.patreon-btn-main:hover {
    background: #e0323c !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(255, 66, 77, 0.45);
}

.patreon-btn-main iconify-icon {
    color: #ffffff !important;
}

.patreon-btn-secondary {
    border-color: var(--outline-variant) !important;
}

/* Screenshot Slider */
.screenshot-slider-container {
    position: relative;
    margin: var(--space-8) -5vw;
    width: calc(100% + 10vw);
    overflow: hidden;
    padding: var(--space-4) 0;
}

.splide__track {
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    padding: var(--space-4) 0;
}

.screenshot-item {
    flex: 0 0 240px;
    scroll-snap-align: center;
    cursor: zoom-in;
    transition: transform var(--motion-duration-short-3) var(--motion-spring-bounce);
    border-radius: var(--shape-3xl);
    overflow: hidden;
    box-shadow: var(--shadow-2);
    border: 1px solid var(--outline-variant);
}

.screenshot-item:hover {
    box-shadow: var(--shadow-3);
}

.screenshot-item img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 574 / 1280;
    object-fit: cover;
}

.screenshot-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 2000;
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
    padding: var(--space-4);
    backdrop-filter: blur(8px);
}

.screenshot-modal.show {
    display: flex;
}

.screenshot-modal-content {
    max-width: 100%;
    max-height: 95vh;
    width: auto;
    height: auto;
    aspect-ratio: 574 / 1280;
    object-fit: contain;
    border-radius: var(--shape-3xl);
    box-shadow: var(--shadow-5);
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.mb-3 { margin-bottom: var(--space-3); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-6 { margin-bottom: var(--space-6); }
.mb-8 { margin-bottom: var(--space-8); }
.mb-12 { margin-bottom: var(--space-12); }
.mt-2 { margin-top: var(--space-2); }
.mt-4 { margin-top: var(--space-4); }
.mt-6 { margin-top: var(--space-6); }
.mt-8 { margin-top: var(--space-8); }
.mt-10 { margin-top: var(--space-10); }

.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.flex-wrap { flex-wrap: wrap; }
.gap-2 { gap: var(--space-2); }
.gap-4 { gap: var(--space-4); }
.gap-6 { gap: var(--space-6); }

/* Error Page Centering Utility */
.error-page-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    text-align: center;
    width: 100%;
    padding: var(--space-10) 0;
}

.error-page-wrapper .content-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 520px;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

.loading-hidden {
    display: none;
}

body.pinchana-main .footer {
    display: none;
}

/* ==========================================================================
   iOS-STYLE STICKY NAVIGATION BAR & LARGE TITLE COLLAPSE ANIMATION
   ========================================================================== */

.ios-nav-bar {
    position: sticky;
    top: 0;
    z-index: 45;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% + 2 * var(--space-6));
    margin-left: calc(-1 * var(--space-6));
    margin-right: calc(-1 * var(--space-6));
    padding: calc(env(safe-area-inset-top, 0px) + var(--space-3)) var(--space-6) var(--space-3);
    box-sizing: border-box;
    background: transparent;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    border-bottom: 1px solid transparent;
    margin-bottom: var(--space-5);
    transition: background-color 0.25s ease,
                border-color 0.25s ease,
                backdrop-filter 0.25s ease,
                -webkit-backdrop-filter 0.25s ease,
                box-shadow 0.25s ease;
}

.ios-nav-bar.is-scrolled {
    background: var(--surface-scrolled);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom-color: var(--outline-variant);
    box-shadow: var(--shadow-1);
}

.ios-nav-left {
    display: flex;
    align-items: center;
    min-width: 5rem;
    z-index: 2;
}

.ios-nav-back {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--text-label-l);
    font-weight: var(--weight-medium);
    text-decoration: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.ios-nav-back iconify-icon {
    font-size: 1.25rem;
    transition: transform var(--transition-quick);
}

.ios-nav-back:hover iconify-icon {
    transform: translateX(-3px);
}

/* Collapsed Back button (icon-only) when title needs extra room to avoid truncation */
.ios-nav-bar.hide-back-text .ios-nav-back span,
.ios-nav-bar.hide-back-text .ios-nav-back .ios-nav-back-text {
    display: none;
}

.ios-nav-bar.hide-back-text .ios-nav-back {
    width: 2.125rem;
    height: 2.125rem;
    padding: 0;
    justify-content: center;
}

.ios-nav-bar.hide-back-text .ios-nav-left {
    min-width: auto;
}

.ios-nav-bar.hide-back-text .ios-nav-right {
    min-width: 2.125rem;
}

.ios-nav-title {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
    font-size: var(--text-title-m);
    font-weight: var(--weight-semibold);
    color: var(--on-surface);
    opacity: 0;
    transform: translateY(6px) scale(0.95);
    pointer-events: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 var(--space-2);
    z-index: 1;
    transition: opacity 0.26s cubic-bezier(0.2, 0.9, 0.3, 1),
                transform 0.26s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.ios-nav-bar.is-scrolled .ios-nav-title {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.ios-nav-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 5rem;
    z-index: 2;
}

.page-large-title {
    transition: opacity 0.25s ease,
                transform 0.25s ease;
}

body.nav-title-active .page-large-title {
    opacity: 0.25;
    transform: scale(0.985);
}

/* ==========================================================================
   RESPONSIVE DESIGN (M3 Window Size Classes: Compact & Medium)
   ========================================================================== */

/* Mobile Section Navigation Switcher (hidden on desktop) */
.mobile-header-bar {
    display: none;
}
.mobile-section-nav {
    display: none;
}

@media (max-width: 1023px) {
    html:has(body.page-home) {
        height: 100%;
        height: 100dvh;
        overflow: hidden;
    }

    body.page-home {
        height: 100%;
        height: 100dvh;
        overflow: hidden;
    }

    body.page-home .container {
        height: 100%;
        height: 100dvh;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
        padding: 0;
        margin: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .theme-toggle {
        top: calc(env(safe-area-inset-top, 0px) + var(--space-3));
        right: calc(env(safe-area-inset-right, 0px) + var(--space-3));
        width: 2.5rem;
        height: 2.5rem;
    }

    /* Mobile iOS Nav Bar Overrides */
    .ios-nav-bar {
        width: calc(100% + 2 * var(--space-6));
        margin-left: calc(-1 * var(--space-6));
        margin-right: calc(-1 * var(--space-6));
        padding-left: calc(var(--space-6) + env(safe-area-inset-left, 0px));
        padding-right: calc(3.4rem + env(safe-area-inset-right, 0px)); /* space for theme toggle */
    }

    .ios-nav-left {
        min-width: auto;
    }

    .ios-nav-right {
        min-width: 1.25rem;
    }

    .ios-nav-title {
        font-size: 0.95rem;
    }

    .ios-nav-bar.hide-back-text .ios-nav-right {
        min-width: 0;
    }

    /* Mobile Header Bar & Navigation */
    .mobile-header-bar {
        display: flex;
        align-items: center;
        width: 100%;
        flex-shrink: 0;
        padding: calc(env(safe-area-inset-top, 0px) + var(--space-3)) var(--space-3) var(--space-2);
        padding-right: calc(3.15rem + env(safe-area-inset-right, 0px)); /* space for theme toggle */
        background: var(--surface);
        z-index: 50;
        box-sizing: border-box;
    }

    .mobile-section-nav {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 3px;
        background: var(--surface-container-low);
        border: 1px solid var(--outline-variant);
        padding: 0.2rem;
        border-radius: var(--shape-full);
        box-sizing: border-box;
        box-shadow: var(--shadow-1);
    }

    .mobile-nav-pill {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.28rem;
        padding: 0.42rem 0.45rem;
        border-radius: var(--shape-full);
        border: none;
        background: transparent;
        color: var(--on-surface-variant);
        font-family: var(--font-sans);
        font-size: 0.78rem;
        font-weight: var(--weight-semibold);
        cursor: pointer;
        transition: background-color var(--transition-quick),
                    color var(--transition-quick),
                    box-shadow var(--transition-quick);
        user-select: none;
        -webkit-user-select: none;
        -webkit-tap-highlight-color: transparent;
        white-space: nowrap;
        min-width: 0;
    }

    .mobile-nav-pill span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-nav-pill.active {
        background: var(--surface-container-highest);
        color: var(--on-surface);
        box-shadow: var(--shadow-1);
    }

    .mobile-nav-pill iconify-icon {
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .mobile-nav-count {
        font-size: 0.68rem;
        font-weight: var(--weight-bold);
        padding: 0.05rem 0.32rem;
        border-radius: var(--shape-full);
        background: var(--surface-container-high);
        color: var(--on-surface-variant);
        flex-shrink: 0;
        margin-left: 0.1rem;
    }

    .mobile-nav-pill.active .mobile-nav-count {
        background: var(--surface-container);
        color: var(--on-surface);
    }

    /* Swipeable Paginated Container */
    body.page-home .home-split-layout {
        flex: 1;
        min-height: 0;
        width: 100%;
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
    }

    body.page-home .home-split-layout::-webkit-scrollbar {
        display: none;
    }

    /* Promote nested panes inside content-pane to direct flex children */
    body.page-home .content-pane {
        display: contents;
    }

    body.page-home .content-pane .main {
        display: contents;
        padding-bottom: 0;
    }

    body.page-home .content-pane .projects-section {
        display: contents;
    }

    /* Common Swipe Pane Settings */
    .mobile-swipe-pane {
        flex: 0 0 100%;
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        height: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    /* Pane 1: Main (Profile Sidebar) */
    body.page-home .profile-sidebar {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        padding: var(--space-2) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom, 20px));
        display: flex;
        flex-direction: column;
    }

    body.page-home .profile-sidebar .header {
        padding: 0;
        margin: auto 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    body.page-home .profile-sidebar .header-content {
        width: 100%;
        max-width: 480px;
        padding: var(--space-6) var(--space-4);
        border-radius: var(--shape-3xl);
    }

    /* Pane 2: Featured Showcase (Pinchana) */
    body.page-home .content-pane .featured-showcase {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        margin: 0 !important;
        padding: var(--space-2) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom, 20px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        display: flex;
        flex-direction: column;
    }

    body.page-home .featured-showcase .bento-hero-grid {
        margin: auto 0;
        width: 100%;
        max-width: 480px;
        align-self: center;
    }

    body.page-home .bento-card-unified-pinchana {
        height: auto !important;
        min-height: unset !important;
        padding: var(--space-6) var(--space-5) var(--space-5);
        background: var(--surface-container-low) !important;
        border: 1px solid var(--outline-variant) !important;
        border-radius: var(--shape-3xl);
        box-shadow: var(--shadow-1) !important;
        color: var(--on-surface) !important;
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }

    body.page-home .bento-card-unified-pinchana::before,
    body.page-home .bento-card-unified-pinchana::after {
        display: none !important;
    }

    body.page-home .bento-card-unified-pinchana .bento-card-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0;
    }

    body.page-home .bento-card-unified-pinchana .bento-icon {
        width: 3.25rem;
        height: 3.25rem;
        object-fit: contain;
        border-radius: var(--shape-m);
        background: transparent;
        padding: 0;
    }

    body.page-home .bento-card-unified-pinchana .bento-title {
        font-size: var(--text-headline-m);
        color: var(--on-surface);
        margin: 0 0 var(--space-1);
    }

    body.page-home .bento-card-unified-pinchana .bento-tagline {
        font-size: var(--text-body-m);
        color: var(--on-surface-variant);
        margin: 0 0 var(--space-2);
        font-weight: var(--weight-medium);
    }

    body.page-home .bento-card-unified-pinchana .bento-desc {
        font-size: var(--text-body-s);
        line-height: 1.45;
        color: var(--on-surface-variant);
        margin: 0 0 var(--space-3);
    }

    /* Simplified Horizontal Platform Chips for Portrait */
    body.page-home .bento-card-unified-pinchana .pinchana-platforms-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-2);
        margin: 0 0 var(--space-2);
    }

    body.page-home .bento-card-unified-pinchana .platform-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        padding: 0.5rem 0.4rem;
        background: var(--surface-container-high);
        border: 1px solid var(--outline-variant);
        border-radius: var(--shape-full);
        box-shadow: none;
        transition: none;
    }

    body.page-home .bento-card-unified-pinchana .platform-item:hover {
        transform: none;
        background: var(--surface-container-high);
    }

    body.page-home .bento-card-unified-pinchana .platform-icon-wrap {
        width: 1.35rem;
        height: 1.35rem;
        font-size: 1rem;
        border-radius: var(--shape-full);
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    body.page-home .bento-card-unified-pinchana .platform-info {
        display: flex;
        align-items: center;
    }

    body.page-home .bento-card-unified-pinchana .platform-name {
        font-size: 0.78rem;
        font-weight: var(--weight-semibold);
        color: var(--on-surface);
        white-space: nowrap;
    }

    body.page-home .bento-card-unified-pinchana .platform-desc {
        display: none !important;
    }

    body.page-home .bento-card-unified-pinchana .bento-card-actions {
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        margin-top: var(--space-1);
        width: 100%;
    }

    body.page-home .bento-card-unified-pinchana .bento-card-actions .btn {
        width: 100%;
        border-radius: 1.5rem;
        justify-content: center;
    }

    /* Pane 3: Projects Catalog (independent internal scrollable content) */
    body.page-home .content-pane .projects-catalog {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        margin: 0 !important;
        padding: var(--space-2) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom, 28px));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        scrollbar-width: thin;
        max-width: 680px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-scroll-cue {
        display: none !important;
    }

    .hero-layout .avatar {
        width: 6rem;
        height: 6rem;
    }

    .hero-text h1 {
        font-size: var(--text-headline-l);
    }

    .section-header h2 {
        font-size: var(--text-headline-s);
    }

    .filter-nav {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: var(--space-1);
    }

    .filter-nav::-webkit-scrollbar {
        display: none;
    }

    .filter-btn {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .bento-hero-grid {
        grid-template-columns: 1fr;
    }

    .cards-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .bento-card {
        padding: var(--space-5);
    }

    .pinchana-platforms-grid {
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        margin: var(--space-3) 0 0;
    }

    .platform-item {
        padding: var(--space-3);
    }

    .footer-content {
        flex-direction: column;
        gap: var(--space-3);
        text-align: center;
    }

    .content-section {
        padding: var(--space-5) var(--space-4);
        border-radius: var(--shape-xl);
    }

    .pinchana-hero {
        padding: var(--space-6) var(--space-4);
        border-radius: var(--shape-2xl);
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .pinchana-banner-image {
        border-radius: var(--shape-2xl);
    }
}

@media (max-width: 480px) {
    .theme-toggle {
        top: var(--space-3);
        right: var(--space-3);
        width: 2.25rem;
        height: 2.25rem;
    }

    .ios-nav-title {
        font-size: 0.9rem;
    }

    .hero-text h1 {
        font-size: var(--text-headline-m);
    }

    .social-links {
        flex-direction: column;
        width: 100%;
    }

    .social-links .btn {
        width: 100%;
    }

    .bento-card-actions {
        flex-direction: column;
        width: 100%;
    }

    .bento-card-actions .btn {
        width: 100%;
    }

    .m3-card-footer {
        flex-wrap: wrap;
        width: 100%;
    }

    .m3-card-footer .btn {
        flex: 1;
        min-width: fit-content;
    }
}

/* ==========================================================================
   PC / DESKTOP LAYOUT (M3 Window Size Class: Expanded & Large >= 1024px)
   Homepage 30/70 Split: Left Profile Sidebar Card & Right Showcase Content
   ========================================================================== */

@media (min-width: 1024px) {
    .mobile-section-nav {
        display: none !important;
    }

    body.page-home .container {
        max-width: 1400px;
        padding: var(--space-8) var(--space-8) var(--space-8);
        min-height: 100vh;
    }

    .home-split-layout {
        display: grid;
        grid-template-columns: minmax(300px, 3fr) 7fr;
        gap: var(--space-8);
        align-items: stretch;
        width: 100%;
    }

    .profile-sidebar {
        align-self: stretch;
        height: 100%;
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding-top: var(--hero-center-offset, calc(max(0px, (100vh - 2 * var(--space-8) - 640px) / 2)));
        box-sizing: border-box;
    }

    .profile-sidebar .header {
        position: sticky;
        top: var(--space-8);
        padding: 0;
        margin: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: var(--space-4);
        transition: top 0.4s cubic-bezier(0.2, 0, 0, 1),
                    gap 0.4s cubic-bezier(0.2, 0, 0, 1);
    }

    body.catalog-revealed .profile-sidebar .header {
        top: max(12px, calc((100vh - 880px) / 2));
        gap: var(--space-3);
    }

    .profile-sidebar .header-content {
        padding: var(--space-8) var(--space-6) var(--space-6);
        border-radius: var(--shape-3xl);
        width: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
    }

    .profile-sidebar .profile-card-main {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .profile-sidebar .hero-layout {
        gap: var(--space-4);
        width: 100%;
    }

    .profile-sidebar .hero-layout .avatar {
        width: 6.5rem;
        height: 6.5rem;
    }

    .profile-sidebar .hero-text {
        width: 100%;
        gap: var(--space-3);
    }

    .profile-sidebar .hero-text h1 {
        font-size: var(--text-headline-m);
        line-height: 1.2;
    }

    .profile-sidebar .hero-text .tagline {
        font-size: var(--text-label-m);
        padding: 0.25rem var(--space-3);
    }

    .profile-sidebar .profile-bio {
        font-size: var(--text-body-s);
        line-height: 1.45;
        margin: var(--space-1) 0;
        text-align: center;
        max-width: 100%;
    }

    .profile-sidebar .social-links {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: var(--space-2);
        margin-top: var(--space-3);
    }

    .profile-sidebar .profile-card-footer {
        margin-top: var(--space-6);
        padding-top: var(--space-4);
        border-top: 1px solid var(--outline-variant);
        width: 100%;
    }

    .profile-sidebar .profile-card-footer-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--space-2);
        width: 100%;
    }

    .profile-sidebar .profile-card-footer-content .footer-links {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-3);
        font-size: var(--text-label-m);
    }

    .profile-sidebar .profile-card-footer-content .copyright {
        font-size: var(--text-label-s);
        color: var(--on-surface-variant);
        opacity: 0.75;
        white-space: nowrap;
    }

    /* Sidebar Pinchana Card in Sticky Header */
    .sidebar-pinchana-card {
        display: flex;
        flex-direction: column;
        gap: var(--space-2);
        background: radial-gradient(circle at 90% 10%, var(--ambient-glow, rgba(255, 255, 255, 0.05)) 0%, transparent 60%),
                    var(--surface-container);
        border: 1px solid var(--outline-variant);
        border-radius: var(--shape-3xl);
        padding: var(--space-4) var(--space-5);
        box-shadow: var(--shadow-2);
        opacity: 0;
        transform: translateY(16px);
        pointer-events: none;
        max-height: 0;
        overflow: hidden;
        margin-top: 0;
        transition: opacity 0.45s cubic-bezier(0.2, 0, 0, 1),
                    transform 0.45s cubic-bezier(0.2, 0, 0, 1),
                    max-height 0.45s cubic-bezier(0.2, 0, 0, 1),
                    padding 0.45s cubic-bezier(0.2, 0, 0, 1),
                    margin 0.45s cubic-bezier(0.2, 0, 0, 1);
    }

    body.catalog-revealed .sidebar-pinchana-card {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        max-height: 320px;
        overflow: visible;
    }

    .sidebar-pinchana-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .sidebar-pinchana-icon {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 22%;
        object-fit: cover;
        box-shadow: var(--shadow-1);
        border: 1.5px solid var(--outline);
        background: #000000;
    }

    .sidebar-pinchana-content {
        display: flex;
        flex-direction: column;
        gap: 0.125rem;
    }

    .sidebar-pinchana-title {
        font-size: var(--text-title-m);
        font-weight: var(--weight-bold);
        color: var(--on-surface);
        margin: 0;
    }

    .sidebar-pinchana-tagline {
        font-size: var(--text-body-s);
        color: var(--on-surface-variant);
        line-height: 1.35;
        margin: 0 0 var(--space-2);
    }

    .sidebar-pinchana-platforms {
        display: flex;
        gap: var(--space-2);
        flex-wrap: wrap;
    }

    .sidebar-platform-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.15rem 0.5rem;
        border-radius: var(--shape-full);
        background: var(--surface-container-high);
        border: 1px solid var(--outline-variant);
        font-size: var(--text-label-s);
        font-weight: var(--weight-semibold);
        color: var(--on-surface-variant);
    }

    .sidebar-platform-chip iconify-icon {
        font-size: 0.9rem;
        color: var(--on-surface);
    }

    .sidebar-pinchana-actions {
        display: flex;
        align-items: center;
        gap: var(--space-2);
        margin-top: var(--space-1);
        padding-top: var(--space-2);
        border-top: 1px solid var(--outline-variant);
    }

    .sidebar-pinchana-btn {
        flex: 1;
        min-width: 0;
        height: 2.25rem;
        font-size: var(--text-label-m);
        justify-content: center;
        gap: var(--space-2);
    }

    .sidebar-pinchana-gh-btn {
        flex-shrink: 0;
        height: 2.25rem;
        width: 2.25rem;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .content-pane {
        min-width: 0;
    }

    .content-pane .projects-section {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding-top: 0;
        padding-bottom: var(--space-4);
        position: relative;
    }

    .content-pane .featured-showcase {
        order: 1;
        padding-top: var(--hero-center-offset, calc(max(0px, (100vh - 2 * var(--space-8) - 640px) / 2)));
        margin-top: 0;
        margin-bottom: var(--space-6);
        position: relative;
        box-sizing: border-box;
        transition: opacity 0.4s cubic-bezier(0.2, 0, 0, 1),
                    transform 0.4s cubic-bezier(0.2, 0, 0, 1);
    }

    body.catalog-revealed .content-pane .featured-showcase {
        opacity: 0;
        pointer-events: none;
        transform: translateY(-20px);
    }

    .bento-hero-grid {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .bento-card-unified-pinchana {
        height: var(--profile-card-height, 640px);
        min-height: var(--profile-card-height, 640px);
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: var(--space-8) var(--space-8) var(--space-6);
    }

    .bento-card-unified-pinchana .bento-card-header {
        margin-bottom: var(--space-2);
    }

    .bento-card-unified-pinchana .bento-card-content {
        display: flex;
        flex-direction: column;
        flex: 1;
        justify-content: space-between;
        gap: var(--space-3);
    }

    .bento-card-unified-pinchana .bento-title {
        font-size: var(--text-headline-m);
        color: #ffffff;
        margin: 0;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
    }

    .bento-card-unified-pinchana .bento-tagline {
        font-size: var(--text-label-l);
        color: var(--on-surface-variant);
        font-weight: var(--weight-semibold);
        margin: 0;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
    }

    .bento-card-unified-pinchana .bento-desc {
        margin-top: auto;
        font-size: var(--text-body-m);
        line-height: 1.55;
        margin-bottom: 0;
        color: rgba(255, 255, 255, 0.92);
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
    }

    .bento-card-unified-pinchana .pinchana-platforms-grid {
        margin: var(--space-3) 0 0;
    }

    .bento-card-unified-pinchana .platform-item {
        background: rgba(20, 20, 20, 0.85);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .bento-card-unified-pinchana .platform-item:hover {
        background: rgba(20, 20, 20, 0.85);
        border-color: rgba(255, 255, 255, 0.12);
    }

    .bento-card-unified-pinchana .platform-name {
        color: #ffffff;
    }

    .bento-card-unified-pinchana .platform-desc {
        color: rgba(255, 255, 255, 0.75);
    }

    .bento-card-unified-pinchana .bento-card-actions {
        margin-top: var(--space-4);
        padding-top: var(--space-4);
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .hero-scroll-cue {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: var(--space-4);
        transition: opacity var(--transition-quick);
    }

    body.catalog-revealed .hero-scroll-cue {
        opacity: 0;
        pointer-events: none;
    }

    .scroll-cue-btn {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        padding: 0.5rem var(--space-4);
        background: var(--surface-container);
        border: 1px solid var(--outline-variant);
        border-radius: 1.5rem;
        color: var(--on-surface-variant);
        font-size: var(--text-label-m);
        font-weight: var(--weight-medium);
        text-decoration: none;
        box-shadow: var(--shadow-1);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        transition: all var(--transition-quick);
    }

    .scroll-cue-btn:hover {
        background: var(--surface-container-high);
        color: var(--primary);
        border-color: var(--primary);
        border-radius: var(--shape-m);
        box-shadow: var(--shadow-2);
    }

    .scroll-cue-btn iconify-icon {
        font-size: 1.25rem;
        animation: bobDown 2s ease-in-out infinite;
    }

    @keyframes bobDown {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(4px); }
    }

    .content-pane .projects-catalog,
    .content-pane .catalog-showcase {
        order: 2;
        opacity: 0;
        pointer-events: none;
        transform: translateY(24px);
        scroll-margin-top: 44px;
        transition: opacity 0.4s cubic-bezier(0.2, 0, 0, 1),
                    transform 0.4s cubic-bezier(0.2, 0, 0, 1);
    }

    body.catalog-revealed .content-pane .projects-catalog,
    body.catalog-revealed .content-pane .catalog-showcase {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
}

