@layer reset, tokens, base, layout, components, utilities;

/* ==========================================================================
   1. LAYER: RESET (No global * selector per modern CSS architecture)
   ========================================================================== */
@layer reset {
  :where(html, body, div, span, header, nav, main, aside, footer, section, article, figure, figcaption, blockquote, pre, code, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, form, fieldset, legend, label, input, textarea, select, button, dialog, details, summary, table, caption, thead, tbody, tr, th, td, search) {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  :where(img, picture, video, svg) {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
  }

  [hidden] {
    display: none !important;
  }

  :where(button, input, textarea, select) {
    font: inherit;
    color: inherit;
  }

  :where(ul, ol) {
    list-style: none;
  }
}

/* ==========================================================================
   2. LAYER: DESIGN TOKENS — GOOGLE MATERIAL DESIGN 3 "OCEAN BLUE" ONLY
   ========================================================================== */
@layer tokens {
  :root {
    /* Typography Tokens (100% Local / System Stack - Zero CDN) */
    --md-ref-typeface-brand: 'Roboto', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --md-ref-typeface-plain: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --md-ref-typeface-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, 'Cascadia Code', Consolas, monospace;

    /* Shape Tokens (Material Design 3) */
    --md-sys-shape-corner-none: 0px;
    --md-sys-shape-corner-extra-small: 4px;
    --md-sys-shape-corner-small: 8px;
    --md-sys-shape-corner-medium: 12px;
    --md-sys-shape-corner-large: 16px;
    --md-sys-shape-corner-extra-large: 24px;
    --md-sys-shape-corner-full: 9999px;

    /* Motion Tokens */
    --md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
    --md-sys-motion-duration-short: 180ms;
    --md-sys-motion-duration-medium: 260ms;

    /* Ocean Blue Palette — Light Mode Tokens */
    --md-palette-primary-light: #006493;
    --md-palette-on-primary-light: #ffffff;
    --md-palette-primary-container-light: #cae6ff;
    --md-palette-on-primary-container-light: #001e30;

    --md-palette-secondary-light: #50606e;
    --md-palette-on-secondary-light: #ffffff;
    --md-palette-secondary-container-light: #d3e5f5;
    --md-palette-on-secondary-container-light: #0c1d29;

    --md-palette-tertiary-light: #65587b;
    --md-palette-on-tertiary-light: #ffffff;
    --md-palette-tertiary-container-light: #ebddff;
    --md-palette-on-tertiary-container-light: #201634;

    --md-palette-surface-light: #f8f9ff;
    --md-palette-surface-dim-light: #d8dae0;
    --md-palette-surface-bright-light: #f8f9ff;
    --md-palette-surface-container-lowest-light: #ffffff;
    --md-palette-surface-container-low-light: #f2f4fa;
    --md-palette-surface-container-light: #eceef4;
    --md-palette-surface-container-high-light: #e6e8ee;
    --md-palette-surface-container-highest-light: #e0e2e8;

    --md-palette-on-surface-light: #181c20;
    --md-palette-on-surface-variant-light: #41474d;
    --md-palette-outline-light: #72787e;
    --md-palette-outline-variant-light: #c1c7ce;

    /* Ocean Blue Palette — Dark Mode Tokens (OLED Pure Black #000000) */
    --md-palette-primary-dark: #8dcdff;
    --md-palette-on-primary-dark: #00344f;
    --md-palette-primary-container-dark: #002b42;
    --md-palette-on-primary-container-dark: #cae6ff;

    --md-palette-secondary-dark: #b7c9d9;
    --md-palette-on-secondary-dark: #1b2631;
    --md-palette-secondary-container-dark: #121c24;
    --md-palette-on-secondary-container-dark: #d3e5f5;

    --md-palette-tertiary-dark: #cfc0e8;
    --md-palette-on-tertiary-dark: #2b213e;
    --md-palette-tertiary-container-dark: #1c152a;
    --md-palette-on-tertiary-container-dark: #ebddff;

    --md-palette-surface-dark: #000000;
    --md-palette-surface-dim-dark: #000000;
    --md-palette-surface-bright-dark: #0d1117;
    --md-palette-surface-container-lowest-dark: #000000;
    --md-palette-surface-container-low-dark: #000000;
    --md-palette-surface-container-dark: #05070a;
    --md-palette-surface-container-high-dark: #0c0f14;
    --md-palette-surface-container-highest-dark: #12161c;

    --md-palette-on-surface-dark: #f0f3f8;
    --md-palette-on-surface-variant-dark: #9da7b3;
    --md-palette-outline-dark: #2c333d;
    --md-palette-outline-variant-dark: #181d24;

    /* Semantic Upvote / Downvote & Status Colors */
    --md-palette-upvote-light: #c94100;
    --md-palette-upvote-dark: #ff8954;
    --md-palette-upvote-container-light: #ffdbce;
    --md-palette-upvote-container-dark: #5c1900;

    --md-palette-error-light: #ba1a1a;
    --md-palette-error-dark: #ffb4ab;

    /* Pure OLED Pure Black (#000000) Palette — Standard Default Everywhere */
    --color-scheme: dark;
    color-scheme: dark;

    --md-sys-color-primary: var(--md-palette-primary-dark);
    --md-sys-color-on-primary: var(--md-palette-on-primary-dark);
    --md-sys-color-primary-container: var(--md-palette-primary-container-dark);
    --md-sys-color-on-primary-container: var(--md-palette-on-primary-container-dark);
    --md-sys-color-secondary: var(--md-palette-secondary-dark);
    --md-sys-color-on-secondary: var(--md-palette-on-secondary-dark);
    --md-sys-color-secondary-container: var(--md-palette-secondary-container-dark);
    --md-sys-color-on-secondary-container: var(--md-palette-on-secondary-container-dark);
    --md-sys-color-tertiary: var(--md-palette-tertiary-dark);
    --md-sys-color-on-tertiary: var(--md-palette-on-tertiary-dark);
    --md-sys-color-tertiary-container: var(--md-palette-tertiary-container-dark);
    --md-sys-color-on-tertiary-container: var(--md-palette-on-tertiary-container-dark);

    --md-sys-color-surface: var(--md-palette-surface-dark); /* Pure #000000 */
    --md-sys-color-surface-dim: var(--md-palette-surface-dim-dark); /* #000000 */
    --md-sys-color-surface-bright: var(--md-palette-surface-bright-dark); /* #14171a */
    --md-sys-color-surface-container-lowest: var(--md-palette-surface-container-lowest-dark); /* #000000 */
    --md-sys-color-surface-container-low: var(--md-palette-surface-container-low-dark); /* #06080a */
    --md-sys-color-surface-container: var(--md-palette-surface-container-dark); /* #0b0e12 */
    --md-sys-color-surface-container-high: var(--md-palette-surface-container-high-dark); /* #12161b */
    --md-sys-color-surface-container-highest: var(--md-palette-surface-container-highest-dark); /* #181d24 */

    --md-sys-color-on-surface: var(--md-palette-on-surface-dark); /* #f0f3f8 */
    --md-sys-color-on-surface-variant: var(--md-palette-on-surface-variant-dark); /* #c5cbd2 */
    --md-sys-color-outline: var(--md-palette-outline-dark); /* #3a414a */
    --md-sys-color-outline-variant: var(--md-palette-outline-variant-dark); /* #20262e */
    --md-sys-color-upvote: var(--md-palette-upvote-dark);
    --md-sys-color-upvote-container: var(--md-palette-upvote-container-dark);
    --md-sys-color-error: var(--md-palette-error-dark);

    accent-color: var(--md-sys-color-primary);
    --scrollbar-thumb: var(--md-sys-color-outline);
    --scrollbar-track: var(--md-sys-color-surface-container);
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
    scrollbar-width: thin;

    --md-sys-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.14), 0 1px 3px 1px rgba(0, 0, 0, 0.08);
    --md-sys-elevation-2: 0 1px 2px rgba(0, 0, 0, 0.18), 0 2px 6px 2px rgba(0, 0, 0, 0.10);
    --md-sys-elevation-3: 0 4px 8px 3px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.20);
  }

  @media (forced-colors: active) {
    :root {
      --md-sys-color-primary: Highlight;
      --md-sys-color-on-primary: HighlightText;
      --md-sys-color-outline: CanvasText;
      --md-sys-color-outline-variant: GrayText;
      --md-sys-color-surface: Canvas;
      --md-sys-color-on-surface: CanvasText;
    }
  }

  @supports not (scrollbar-color: auto) {
    :root::-webkit-scrollbar {
      width: 12px;
      height: 12px;
    }
    :root::-webkit-scrollbar-thumb {
      background: var(--scrollbar-thumb);
    }
    :root::-webkit-scrollbar-track {
      background: var(--scrollbar-track);
    }
  }
}

/* ==========================================================================
   3. LAYER: BASE TYPOGRAPHY & ACCESSIBILITY
   ========================================================================== */
@layer base {
  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    font-family: var(--md-ref-typeface-plain);
    background-color: var(--md-sys-color-surface);
    color: var(--md-sys-color-on-surface);
    line-height: 1.5;
    font-size: 1rem;
    text-align: start;
    overflow-wrap: break-word;
    min-block-size: 100dvh;
    display: flex;
    flex-direction: column;
    padding-block-end: 0;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

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

  :where(a:any-link, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 3px solid var(--md-sys-color-primary);
    outline-offset: 2px;
  }

  [inert] {
    pointer-events: none;
    user-select: none;
  }

  h1 {
    font-family: var(--md-ref-typeface-brand);
    font-size: clamp(1.375rem, 1.05rem + 1.5vw, 1.875rem);
    line-height: 1.22;
    font-weight: 700;
    text-wrap: balance;
  }

  h2 {
    font-family: var(--md-ref-typeface-brand);
    font-size: clamp(1.15rem, 0.98rem + 0.9vw, 1.45rem);
    line-height: 1.28;
    font-weight: 650;
    text-wrap: balance;
  }

  h3 {
    font-family: var(--md-ref-typeface-brand);
    font-size: clamp(1.025rem, 0.95rem + 0.45vw, 1.2rem);
    line-height: 1.32;
    font-weight: 600;
  }

  p,
  li,
  blockquote,
  dd {
    text-wrap: pretty;
  }

  .md3-body-medium {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--md-sys-color-on-surface-variant);
    max-inline-size: 75ch;
  }

  .md3-label-large {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
  }

  .md3-label-small {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--md-sys-color-on-surface-variant);
  }

  a {
    color: var(--md-sys-color-primary);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.2em;
  }

  code {
    font-family: var(--md-ref-typeface-mono);
    font-size: 0.875em;
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface);
    padding-inline: 0.35em;
    padding-block: 0.12em;
    border-radius: var(--md-sys-shape-corner-extra-small);
    overflow-wrap: anywhere;
  }
}

/* ==========================================================================
   4. LAYER: 3-COLUMN REDDIT + MD3 LAYOUT
   Left Menu (260px) | Center 1-Column Feed (minmax(0, 1fr)) | Right Sidebar (320px)
   ========================================================================== */
@layer layout {
  .md3-container {
    inline-size: min(100% - 2rem, 1360px);
    margin-inline: auto;
  }

  .md3-reddit-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    padding-block: 1.25rem 3rem;
    flex: 1;
    align-items: start;
  }

  /* ==========================================================================
     DESKTOP PC (>= 1024px): STRICT UNIFIED 3-COLUMN SYSTEM ACROSS ALL PAGES
     - Left Navigation (#app-sidebar): Column 1 (250px)
     - Center Content (#main-content): Column 2 (minmax(0, 1fr))
     - Right Widgets (.md3-right-sidebar): Column 3 (310px)
     - Center column is STRICTLY locked to track 2 so sides NEVER slide or shift,
       even when a sidebar is absent or empty.
     - When hamburger is pressed (body.is-sidebar-collapsed), track 1 remains
       250px so the center column stays 100% FIXED in place without jumping.
     ========================================================================== */
  @media (min-width: 1024px) {
    .md3-reddit-shell {
      grid-template-columns: 250px minmax(0, 1fr) 310px !important;
      gap: 1.5rem !important;
    }

    .md3-left-sidebar {
      grid-column: 1 !important;
      display: flex !important;
    }

    #main-content,
    .md3-feed-column {
      grid-column: 2 !important;
      min-inline-size: 0;
    }

    .md3-right-sidebar {
      grid-column: 3 !important;
      display: flex !important;
      min-inline-size: 0;
      position: sticky;
      inset-block-start: 4.5rem;
      max-block-size: calc(100dvh - 5.5rem);
      overflow-y: auto;
      scrollbar-width: thin;
    }

    /* Fixed center column on PC hamburger toggle: keep grid track 1 */
    body.is-sidebar-collapsed .md3-reddit-shell {
      grid-template-columns: 250px minmax(0, 1fr) 310px !important;
    }

    body.is-sidebar-collapsed .md3-left-sidebar {
      display: flex !important;
      visibility: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
      transform: translateX(-16px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    }
  }

  @media (min-width: 1280px) {
    .md3-reddit-shell {
      gap: 1.75rem !important;
    }
  }

  /* Mobile and Tablet (< 1024px): 1 column */
  @media (max-width: 1023px) {
    .md3-reddit-shell {
      grid-template-columns: minmax(0, 1fr) !important;
    }
    .md3-right-sidebar {
      display: none !important;
    }
  }

  /* Mobile Layout (< 768px): Card-based Feed with Side Gutters */
  @media (max-width: 768px) {
    .md3-container {
      inline-size: 100% !important;
      padding-inline: 0.85rem !important;
    }

    .md3-reddit-shell {
      padding-block: 0.75rem 2.5rem !important;
    }

    .md3-posts-list {
      display: flex !important;
      flex-direction: column !important;
      gap: 0.85rem !important;
    }

    .md3-submit-card,
    #view-submit .md3-submit-card {
      border: none !important;
      border-radius: 0 !important;
      padding: 0.5rem 0.25rem !important;
      background-color: transparent !important;
      box-shadow: none !important;
    }

    .md3-post-card {
      background-color: transparent !important;
      border: 0 !important;
      border-bottom: 1px solid var(--md-sys-color-outline-variant) !important;
      border-radius: 0 !important;
      padding: 0.95rem 0.25rem !important;
      box-shadow: none !important;
    }

    body.single .md3-container,
    body.single-post .md3-container {
      padding-inline: 0 !important;
    }

    body.single .md3-post-card,
    body.single-post .md3-post-card {
      background-color: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      padding: 0.5rem 1rem 1.25rem !important;
      box-shadow: none !important;
    }

    .md3-comments-section {
      border: 0 !important;
      border-radius: 0 !important;
      padding: 0.5rem 1rem !important;
      background-color: transparent !important;
      box-shadow: none !important;
    }

    .md3-comment-composer {
      background-color: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      padding: 0 !important;
      box-shadow: none !important;
    }

    .md3-comment-composer textarea {
      border: 1px solid var(--md-sys-color-outline-variant) !important;
      border-radius: var(--md-sys-shape-corner-small) !important;
      padding: 0.65rem 0.75rem !important;
      background-color: var(--md-sys-color-surface-container-lowest) !important;
    }
  }

  /* Unified Left Navigation Sidebar (`#app-sidebar`):
     - On < 1024px: Off-canvas slide-over drawer under Hamburger button
     - On >= 1024px: Sticky left column (collapsible via Hamburger button) */
  .md3-left-sidebar {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 90;
    inline-size: min(20rem, 84dvw);
    block-size: 100svh;
    background-color: var(--md-sys-color-surface-container-low);
    border-inline-end: 1px solid var(--md-sys-color-outline-variant);
    border-start-end-radius: var(--md-sys-shape-corner-large);
    border-end-end-radius: var(--md-sys-shape-corner-large);
    padding: 1rem 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    transform: translateX(-104%);
    transition: transform var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-standard);
  }

  body.is-sidebar-open .md3-left-sidebar {
    transform: translateX(0);
    box-shadow: var(--md-sys-elevation-3);
  }

  .md3-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 85;
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
  }

  @media (min-width: 1024px) {
    .md3-left-sidebar {
      position: sticky;
      inset-block-start: 4.5rem;
      inset-inline-start: auto;
      z-index: 1;
      inline-size: auto;
      block-size: auto;
      max-block-size: calc(100dvh - 5.25rem);
      background-color: transparent;
      border-inline-end: 0;
      border-radius: 0;
      padding: 0 0.25rem 0 0;
      overflow-x: visible;
      transform: none;
      box-shadow: none;
    }

    body.is-sidebar-collapsed .md3-left-sidebar {
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transform: translateX(-16px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    }

    .md3-sidebar-backdrop {
      display: none !important;
    }
  }

  /* Center Feed Column — ALWAYS 1 COLUMN */
  .md3-feed-column {
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    container: feed-col / inline-size;
  }

  .md3-posts-list {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }

  /* Right Widgets Sidebar */
  .md3-right-sidebar {
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  @media (min-width: 1200px) {
    .md3-right-sidebar {
      position: sticky;
      inset-block-start: 4.5rem;
      max-block-size: calc(100dvh - 5.5rem);
      overflow-y: auto;
      scrollbar-width: thin;
    }
  }
}

/* ==========================================================================
   5. LAYER: MATERIAL DESIGN 3 + REDDIT COMPONENTS
   ========================================================================== */
@layer components {
  /* Top App Bar — Consistent across Mobile & Desktop */
  @media (max-width: 1023.98px) {
    .md3-top-app-bar {
      position: sticky !important;
      inset-block-start: 0 !important;
      top: 0 !important;
      z-index: 50;
      display: block;
      padding-block: 0.45rem;
      border-block-end: 1px solid var(--md-sys-color-outline-variant);
      background-color: rgba(0, 0, 0, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .md3-top-app-bar__inner {
      min-block-size: 42px;
      padding-inline: 0.75rem;
      justify-content: space-between;
      align-items: center;
      display: flex;
    }
    .md3-top-app-bar #sidebar-toggle {
      display: inline-flex !important;
    }
    .md3-top-app-bar .md3-app-bar-actions {
      display: flex !important;
      align-items: center;
      gap: 0.5rem;
    }
    .md3-top-app-bar .md3-header-search {
      display: none !important;
    }
    .md3-btn--header-create {
      padding-inline: 0.75rem;
      font-size: 0.82rem;
      min-block-size: 34px;
      white-space: nowrap;
    }
    @media (max-width: 360px) {
      .md3-btn--header-create span {
        display: none;
      }
      .md3-btn--header-create {
        padding-inline: 0.5rem;
      }
    }
    .md3-brand {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      min-inline-size: 0;
      text-decoration: none;
    }
    .md3-brand__logo {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-shrink: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      border: none !important;
      overflow: visible !important;
      -webkit-mask: none !important;
      mask: none !important;
      clip-path: none !important;
    }
    .md3-brand__icon {
      block-size: 36px !important;
      inline-size: auto !important;
      max-inline-size: 56px !important;
      object-fit: contain !important;
      flex-shrink: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      overflow: visible !important;
      -webkit-mask: none !important;
      mask: none !important;
      clip-path: none !important;
      filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.4));
      transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1);
    }
    @media (max-width: 600px) {
      .md3-brand__icon {
        block-size: 34px !important;
        max-inline-size: 52px !important;
      }
    }
    .md3-brand:hover .md3-brand__icon {
      transform: scale(1.08);
    }
    .md3-logo-badge {
      display: none !important;
    }
    .md3-logo-badge svg {
      inline-size: 16px;
      block-size: 16px;
    }
    .md3-brand__text {
      font-size: 1.25rem;
      font-weight: 800;
      color: var(--md-sys-color-primary);
      letter-spacing: -0.025em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  }

  .skip-link:not(:focus-visible) {
    position: absolute !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap !important;
  }

  .skip-link:focus-visible {
    position: fixed !important;
    clip-path: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    z-index: 1000;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    padding-inline: 1.25rem;
    padding-block: 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--md-sys-elevation-3);
  }

  /* ==========================================================================
     TOP APP BAR (Desktop / Base)
     ========================================================================== */
  .md3-top-app-bar {
    position: relative;
    z-index: 50;
    background-color: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
    padding-block: 0.45rem;
  }

  .md3-top-app-bar__inner {
    display: flex;
    align-items: safe center;
    justify-content: space-between;
    gap: 0.625rem;
    min-inline-size: 0;
  }

  .md3-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    color: var(--md-sys-color-on-surface);
    font-family: var(--md-ref-typeface-brand);
    font-weight: 800;
    font-size: clamp(1.2rem, 2.2vw, 1.4rem);
    letter-spacing: -0.025em;
    min-block-size: 40px;
    padding-inline: 0.25rem;
    flex-shrink: 0;
  }

  .md3-brand__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    overflow: visible !important;
  }

  .md3-brand__icon {
    block-size: 36px;
    inline-size: auto;
    max-inline-size: 56px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    -webkit-mask: none !important;
    mask: none !important;
    clip-path: none !important;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.4));
    transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1);
  }

  .md3-brand:hover .md3-brand__icon {
    transform: scale(1.08);
  }

  .md3-brand__text {
    background: linear-gradient(120deg, var(--md-sys-color-primary) 0%, var(--md-sys-color-tertiary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: var(--md-sys-color-primary);
  }

  /* Global Search in Top App Bar */
  .md3-header-search {
    flex: 1 1 260px;
    max-inline-size: 520px;
    display: none;
  }

  @media (min-width: 720px) {
    .md3-header-search {
      display: block;
    }
  }

  .md3-search-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-full);
    padding-inline: 0.875rem 0.5rem;
    min-block-size: 40px;
    transition: border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-search-bar:focus-within {
    border-color: var(--md-sys-color-primary);
    background-color: var(--md-sys-color-surface-container-lowest);
  }

  .md3-search-bar__input {
    border: 0;
    background: transparent;
    inline-size: 100%;
    min-inline-size: 0;
    font-size: 0.9rem;
    color: var(--md-sys-color-on-surface);
  }

  .md3-search-bar__input:focus-visible {
    outline: none;
  }

  .md3-app-bar-actions {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
  }

  @media (min-width: 1024px) {
    .md3-mobile-menu-trigger {
      display: none;
    }
  }

  .md3-hide-mobile {
    display: none !important;
  }

  @media (min-width: 640px) {
    .md3-hide-mobile {
      display: inline-flex !important;
    }
  }

  .md3-hide-tablet {
    display: none !important;
  }

  @media (min-width: 900px) {
    .md3-hide-tablet {
      display: inline-flex !important;
    }
  }

  .md3-desktop-only {
    display: none !important;
  }

  .md3-mobile-only {
    display: block;
  }

  @media (min-width: 1024px) {
    .md3-desktop-only {
      display: inline-flex !important;
    }
    .md3-mobile-only {
      display: none !important;
    }
  }

  /* ==========================================================================
     LEFT NAVIGATION MENU (MD3 Navigation Drawer / Rail Items + Icon Picker)
     ========================================================================== */
  .md3-nav-group {
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  .md3-nav-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 0.75rem 0.375rem;
    padding-block: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--md-sys-color-on-surface-variant);
  }

  .md3-side-menu {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    overflow: hidden;
  }

  .md3-side-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-block-size: 44px;
    padding-inline: 0.875rem;
    padding-block: 0.5rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    text-align: start;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-side-link:hover {
    background-color: #12161d;
    color: var(--md-sys-color-on-surface);
  }

  .md3-side-link[aria-current="page"] {
    background-color: #0b2239;
    color: var(--md-sys-color-primary);
    font-weight: 650;
  }

  .md3-side-link__badge {
    margin-inline-start: auto;
    font-size: 0.75rem;
    font-weight: 600;
    padding-inline: 0.5rem;
    padding-block: 0.1rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface-variant);
  }

  /* Small Avatars (Communities & Users) */
  .md3-avatar {
    inline-size: 28px;
    block-size: 28px;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    display: inline-grid;
    place-items: center;
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-avatar--sm {
    inline-size: 22px;
    block-size: 22px;
    font-size: 0.6875rem;
  }

  .md3-avatar--lg {
    inline-size: 56px;
    block-size: 56px;
    font-size: 1.25rem;
    border-width: 2px;
  }

  .md3-avatar--community {
    background-color: var(--md-sys-color-tertiary-container);
    color: var(--md-sys-color-on-tertiary-container);
  }

  .md3-avatar-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .md3-avatar-wrapper--editable {
    cursor: pointer;
  }

  .md3-avatar-wrapper--editable:hover .md3-avatar {
    filter: brightness(0.85);
  }

  .md3-avatar-wrapper--editable:hover .md3-avatar-edit-btn {
    transform: scale(1.12);
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
  }

  .md3-avatar-edit-btn {
    position: absolute;
    inset-block-end: -2px;
    inset-inline-end: -2px;
    inline-size: 28px;
    block-size: 28px;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container-high);
    color: var(--md-sys-color-primary);
    border: 2px solid var(--md-sys-color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1), background-color 0.2s ease, color 0.2s ease;
  }

  .md3-avatar-edit-btn svg {
    inline-size: 15px;
    block-size: 15px;
    fill: currentColor;
  }

  .md3-avatar-uploading {
    pointer-events: none;
    opacity: 0.6;
  }

  /* ==========================================================================
     BUTTONS & ICON BUTTONS
     ========================================================================== */
  .md3-icon-btn {
    display: inline-grid;
    place-items: center;
    min-inline-size: 40px;
    min-block-size: 40px;
    padding: 0.45rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid transparent;
    background-color: transparent;
    color: var(--md-sys-color-on-surface-variant);
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-icon-btn--tonal {
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface);
    border-color: var(--md-sys-color-outline-variant);
  }

  .md3-icon-btn:hover:not(:disabled) {
    background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, var(--md-sys-color-surface-container-highest));
    color: var(--md-sys-color-on-surface);
  }

  .md3-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-block-size: 38px;
    padding-inline: 1rem;
    padding-block: 0.45rem;
    border-radius: var(--md-sys-shape-corner-full);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                box-shadow var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-btn--filled {
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
  }

  .md3-btn--filled:hover:not(:disabled) {
    box-shadow: var(--md-sys-elevation-1);
    background-color: color-mix(in oklab, var(--md-sys-color-primary) 90%, var(--md-sys-color-on-primary));
  }

  .md3-btn--tonal {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
  }

  .md3-btn--tonal:hover:not(:disabled) {
    background-color: color-mix(in oklab, var(--md-sys-color-secondary-container) 88%, var(--md-sys-color-on-secondary-container));
  }

  .md3-btn--outlined {
    background-color: transparent;
    color: var(--md-sys-color-primary);
    border-color: var(--md-sys-color-outline);
  }

  .md3-btn--outlined:hover:not(:disabled) {
    background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
  }

  .md3-btn--sm {
    min-block-size: 34px;
    padding-inline: 0.75rem;
    padding-block: 0.3rem;
    font-size: 0.8125rem;
    gap: 0.35rem;
  }

  /* ==========================================================================
     MATERIAL DESIGN 3 DROPDOWN MENU (Profile / Actions)
     ========================================================================== */
  .md3-dropdown-menu,
  .md3-polylang {
    position: relative;
  }

  .md3-dropdown-menu__list,
  .md3-polylang__menu {
    position: absolute;
    inset-block-start: calc(100% + 0.5rem);
    inset-inline-end: 0;
    min-inline-size: 185px;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    box-shadow: var(--md-sys-elevation-2);
    padding: 0.375rem;
    z-index: 60;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
  }

  .lang-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-inline: 0.75rem;
    padding-block: 0.45rem;
    min-block-size: 38px;
    border-radius: var(--md-sys-shape-corner-small);
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
  }

  .lang-item a:hover {
    background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 8%, transparent);
  }

  .lang-item.current-lang a {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    font-weight: 600;
  }

  .lang-item__code {
    font-family: var(--md-ref-typeface-mono);
    font-size: 0.75rem;
    padding-inline: 0.35rem;
    border-radius: var(--md-sys-shape-corner-extra-small);
    background-color: color-mix(in oklab, currentColor 14%, transparent);
  }

  .pll-inline-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  }

  .pll-inline-list .lang-item {
    flex: 1 1 auto;
  }

  .pll-inline-list .lang-item a {
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  /* ==========================================================================
     REDDIT QUICK "CREATE POST" BAR & FEED TABS
     ========================================================================== */
  /* Quick "Create Post" Bar: Frameless Avatar + Search Pill */
  .md3-create-post-bar {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-block: 0.25rem 0.65rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .md3-create-post-bar__trigger {
    flex: 1;
    min-inline-size: 0;
    min-block-size: 42px;
    padding-inline: 1.15rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-on-surface-variant);
    text-align: start;
    font-size: 0.9rem;
    cursor: pointer;
    overflow: clip;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background-color var(--md-sys-motion-duration-short) ease,
                border-color var(--md-sys-motion-duration-short) ease,
                color var(--md-sys-motion-duration-short) ease;
  }

  .md3-create-post-bar__trigger:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-on-surface);
  }

  /* Single-line Feed Toolbar */
  .md3-feed-toolbar {
    margin-block-end: 0.75rem;
    inline-size: 100%;
  }

  .md3-chips-bar {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    align-items: center;
    gap: 0.45rem;
    padding-block: 0.2rem;
  }

  .md3-chips-bar::-webkit-scrollbar {
    display: none;
  }

  .md3-chips-divider {
    inline-size: 1px;
    block-size: 20px;
    background-color: var(--md-sys-color-outline-variant);
    margin-inline: 0.25rem;
    flex-shrink: 0;
    align-self: center;
  }

  .md3-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-block-size: 34px;
    padding-inline: 0.85rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-on-surface);
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
    text-decoration: none;
    transition: background-color var(--md-sys-motion-duration-short) ease,
                border-color var(--md-sys-motion-duration-short) ease,
                color var(--md-sys-motion-duration-short) ease;
  }

  .md3-chip svg {
    color: var(--md-sys-color-on-surface-variant);
    flex-shrink: 0;
  }

  .md3-chip:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-primary);
  }
  .md3-chip:hover svg {
    color: var(--md-sys-color-primary);
  }

  .md3-chip.is-active,
  .md3-chip[aria-pressed="true"] {
    background-color: var(--md-sys-color-secondary-container) !important;
    color: var(--md-sys-color-on-secondary-container) !important;
    border-color: var(--md-sys-color-primary) !important;
    font-weight: 600;
  }
  .md3-chip.is-active svg,
  .md3-chip[aria-pressed="true"] svg {
    color: var(--md-sys-color-primary);
  }

  /* ==========================================================================
     REDDIT POST CARD (Single-Column Feed Card with Social Bar)
     ========================================================================== */
  .md3-post-card {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
    border-radius: 0;
    padding: clamp(1rem, 2vw, 1.35rem) 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    box-shadow: none !important;
    transition: border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-post-card:hover {
    background-color: color-mix(in oklab, var(--md-sys-color-surface-container-high) 35%, transparent);
    border-bottom-color: var(--md-sys-color-outline);
  }

  /* Post Header (Material Design 3 Unified Card Header) */
  .md3-post-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--md-sys-color-on-surface-variant);
    margin-block-end: 0.5rem;
  }

  .md3-post-header__author {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-inline-size: 0;
  }

  .md3-author-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--md-sys-color-on-surface);
    font-weight: 500;
    font-size: 0.8125rem;
    text-decoration: none;
  }

  .md3-author-link:hover {
    color: var(--md-sys-color-primary);
    text-decoration: underline;
  }

  /* Business-As-Author Styles */
  .md3-biz-author-link {
    font-weight: 600;
  }

  .md3-biz-author-link:hover .md3-biz-author-name {
    color: var(--md-sys-color-primary);
  }

  .md3-avatar--biz {
    border-radius: 6px !important;
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-primary);
    object-fit: cover;
  }

  .md3-biz-badge-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--md-sys-color-primary);
    flex-shrink: 0;
  }

  /* Single Service Parent Business Showcase Box */
  .md3-service-parent-biz-box {
    margin-block: 1.25rem 0.85rem;
    padding: 0.85rem 1.15rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-service-parent-biz-logo {
    inline-size: 40px;
    block-size: 40px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-service-parent-biz-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 40px;
    block-size: 40px;
    border-radius: 8px;
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-primary);
    flex-shrink: 0;
  }

  .md3-header-sep {
    color: var(--md-sys-color-outline-variant);
    font-size: 0.75rem;
  }

  .md3-post-time {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.75rem;
  }

  .md3-post-header__chips {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
  }

  .md3-post-header__more {
    display: inline-flex;
    align-items: center;
    position: relative;
    margin-inline-start: auto;
  }

  details.md3-post-menu {
    position: relative;
    display: inline-block;
  }

  summary.md3-post-menu-trigger {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 32px;
    block-size: 32px;
    border-radius: var(--md-sys-shape-corner-full);
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  summary.md3-post-menu-trigger::-webkit-details-marker {
    display: none;
  }

  summary.md3-post-menu-trigger:hover,
  summary.md3-post-menu-trigger:focus-visible {
    background-color: var(--md-sys-color-surface-container-high);
    color: var(--md-sys-color-on-surface);
  }

  .md3-post-menu-dropdown {
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: calc(100% + 4px);
    z-index: 60;
    min-inline-size: 190px;
    padding: 4px;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    gap: 2px;
    list-style: none;
    margin: 0;
  }

  .md3-social-bar .md3-post-menu-dropdown {
    inset-block-start: auto;
    inset-block-end: calc(100% + 4px);
  }

  .md3-post-menu-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
    border-radius: var(--md-sys-shape-corner-small);
    border: 0;
    background: transparent;
    inline-size: 100%;
    text-align: start;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    box-sizing: border-box;
  }

  .md3-post-menu-item:hover,
  .md3-post-menu-item:focus-visible {
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-primary);
  }

  .md3-post-menu-item--danger {
    color: var(--md-sys-color-error);
  }

  .md3-post-menu-item--danger:hover,
  .md3-post-menu-item--danger:focus-visible {
    background-color: color-mix(in oklab, var(--md-sys-color-error) 15%, transparent);
    color: var(--md-sys-color-error);
  }

  .md3-post-title a {
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
  }

  .md3-post-title a:hover {
    color: var(--md-sys-color-primary);
  }

  .md3-post-media {
    border-radius: var(--md-sys-shape-corner-medium);
    overflow: clip;
    max-block-size: 440px;
    inline-size: 100%;
    background-color: var(--md-sys-color-surface-container-highest);
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-post-media__link {
    display: block;
    inline-size: 100%;
  }

  .md3-post-media__img {
    inline-size: 100%;
    block-size: auto;
    max-block-size: 440px;
    object-fit: cover;
    display: block;
  }

  /* ==========================================================================
     BUSINESS LISTING CARD LAYOUT (Banner + Overlapping Avatar + Title Underneath)
     ========================================================================== */
  .md3-business-banner-wrapper {
    position: relative;
    margin-block-end: 2.25rem;
  }

  .md3-business-banner-wrapper .md3-post-media {
    margin-block-end: 0;
    border-radius: var(--md-sys-shape-corner-medium);
  }

  .md3-business-avatar-badge {
    position: absolute;
    inset-block-end: -28px;
    inset-inline-start: 1rem;
    inline-size: 68px;
    block-size: 68px;
    border-radius: 50%;
    border: 3.5px solid var(--md-sys-color-surface-container);
    background-color: var(--md-sys-color-surface-container-high);
    box-shadow: var(--md-sys-elevation-2);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    z-index: 3;
  }

  .md3-business-avatar-badge--standalone {
    position: relative;
    inset: auto;
    margin-block-end: 0.75rem;
    border-width: 2px;
  }

  .md3-business-avatar-img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
  }

  .md3-business-avatar-fallback {
    inline-size: 100%;
    block-size: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--md-sys-color-primary-container), var(--md-sys-color-surface-container-highest));
    color: var(--md-sys-color-primary);
  }

  .md3-business-header-info {
    margin-block-start: 0.25rem;
    margin-block-end: 0.75rem;
  }

  .md3-business-header-info .md3-post-title {
    margin-block-start: 0;
    margin-block-end: 0.5rem;
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
    font-weight: 700;
  }

  .md3-business-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
  }

  /* ==========================================================================
     MATERIAL DESIGN 3 ENTITY HEADERS (Business, Product, Movie, Book, Software)
     Left Icon/Poster + Right Info & Badges
     ========================================================================== */
  .md3-card-feed-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.25rem;
    min-inline-size: 0;
  }

  .md3-card-feed-main {
    flex: 1;
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .md3-card-feed-main > .md3-social-bar {
    margin-block-start: auto;
    padding-block-start: 0.75rem;
  }

  .md3-card-feed-main > .md3-prose p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-block-end: 0;
  }

  .md3-card-feed-media {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .md3-entity-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.15rem;
    margin-block-end: 0.75rem;
    min-inline-size: 0;
  }

  .md3-entity-thumb-wrapper {
    flex-shrink: 0;
  }

  .md3-entity-thumb {
    inline-size: 116px;
    block-size: 116px;
    border-radius: 18px;
    object-fit: cover;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.16);
    display: block;
  }

  .md3-entity-thumb--biz {
    border-radius: 18px;
  }

  .md3-entity-thumb--product {
    border-radius: 16px;
  }

  .md3-entity-thumb--article {
    inline-size: 144px;
    block-size: 144px;
    border-radius: 16px;
  }

  .md3-entity-thumb--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--md-sys-color-primary-container), var(--md-sys-color-surface-container-high));
    color: var(--md-sys-color-primary);
  }

  /* Vertical Posters (Movies: 2:3, Books: 1:1.45) */
  .md3-entity-poster {
    inline-size: 110px;
    aspect-ratio: 2 / 3;
    border-radius: 12px;
    object-fit: cover;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32), 0 1px 3px rgba(0, 0, 0, 0.2);
    display: block;
  }

  .md3-entity-poster--book {
    aspect-ratio: 1 / 1.45;
  }

  @media (max-width: 600px) {
    .md3-card-feed-row {
      gap: 0.75rem;
    }
    .md3-card-feed-main > .md3-social-bar {
      flex-wrap: nowrap;
      gap: 0.32rem;
    }
    .md3-card-feed-main > .md3-social-bar .md3-action-pill {
      padding-inline: 0.52rem;
    }
    .md3-entity-thumb {
      inline-size: 86px;
      block-size: 86px;
      border-radius: 14px;
    }
    .md3-entity-thumb--article {
      inline-size: 92px;
      block-size: 92px;
      border-radius: 14px;
    }
    .md3-entity-poster {
      inline-size: 80px;
      border-radius: 10px;
    }
  }

  .md3-entity-info {
    flex: 1;
    min-inline-size: 0;
  }

  .md3-entity-title {
    font-size: clamp(1.1rem, 2.3vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.3rem 0;
    color: var(--md-sys-color-on-surface);
    word-break: break-word;
  }

  .md3-entity-title a {
    color: inherit;
    text-decoration: none;
  }

  .md3-entity-title a:hover {
    color: var(--md-sys-color-primary);
  }

  .md3-entity-subtitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    color: var(--md-sys-color-on-surface-variant);
    margin-block-end: 0.45rem;
  }

  .md3-entity-parent-biz-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--md-sys-color-primary);
    text-decoration: none;
    font-weight: 600;
  }

  .md3-entity-parent-biz-link:hover {
    text-decoration: underline;
  }

  .md3-entity-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
  }

  /* Singular views enlargement */
  body.single .md3-entity-thumb {
    inline-size: 88px;
    block-size: 88px;
  }

  body.single .md3-entity-poster {
    inline-size: 100px;
  }

  @media (max-width: 600px) {
    .md3-entity-header {
      gap: 0.75rem;
    }
    .md3-entity-thumb {
      inline-size: 64px;
      block-size: 64px;
      border-radius: 12px;
    }
    .md3-entity-poster {
      inline-size: 68px;
    }
    body.single .md3-entity-thumb {
      inline-size: 72px;
      block-size: 72px;
    }
    body.single .md3-entity-poster {
      inline-size: 78px;
    }
  }

  /* ==========================================================================
     TELEGRAM-STYLE RICH LINK PREVIEW CARD
     ========================================================================== */
  .md3-telegram-preview-wrapper {
    margin-block: 0.65rem;
    inline-size: 100%;
  }

  .md3-telegram-card {
    display: flex;
    flex-direction: column;
    position: relative;
    text-decoration: none;
    color: inherit;
    background-color: var(--md-sys-color-surface-container, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--md-sys-color-outline-variant, rgba(255, 255, 255, 0.1));
    border-radius: 12px;
    overflow: hidden;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  }

  .md3-telegram-card:hover {
    background-color: var(--md-sys-color-surface-container-high, rgba(255, 255, 255, 0.07));
    border-color: var(--md-sys-color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  }

  .md3-telegram-card__left-bar {
    position: absolute;
    inset-block-start: 0;
    inset-block-end: 0;
    inset-inline-start: 0;
    inline-size: 4px;
    background-color: var(--md-sys-color-primary, #47a3ff);
    border-radius: 12px 0 0 12px;
    z-index: 2;
  }

  .md3-telegram-card__body {
    padding: 0.75rem 0.95rem 0.75rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .md3-telegram-card__site {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--md-sys-color-primary);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    text-transform: capitalize;
    letter-spacing: 0.02em;
  }

  .md3-telegram-card__title {
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--md-sys-color-on-surface);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .md3-telegram-card__desc {
    font-size: 0.865rem;
    line-height: 1.45;
    color: var(--md-sys-color-on-surface-variant);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .md3-telegram-card__media {
    inline-size: 100%;
    max-block-size: 280px;
    overflow: hidden;
    background-color: var(--md-sys-color-surface-container-highest, #1b2029);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .md3-telegram-card__media img {
    inline-size: 100%;
    block-size: auto;
    max-block-size: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
  }

  .md3-telegram-card:hover .md3-telegram-card__media img {
    transform: scale(1.02);
  }

  /* ==========================================================================
     GOOGLE PLAY MARKET STYLE APP / SOFTWARE HEADER (Left Icon, Right Title)
     ========================================================================== */
  .md3-play-app-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-block-end: 0.75rem;
    min-inline-size: 0;
  }

  .md3-play-app-icon-wrapper {
    flex-shrink: 0;
  }

  .md3-play-app-icon {
    inline-size: 116px;
    block-size: 116px;
    border-radius: 20px;
    object-fit: cover;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.16);
    display: block;
  }

  .md3-play-app-icon--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--md-sys-color-primary-container), var(--md-sys-color-surface-container-high));
    color: var(--md-sys-color-primary);
  }

  .md3-play-app-info {
    flex: 1;
    min-inline-size: 0;
  }

  .md3-play-app-title {
    font-size: clamp(1.1rem, 2.3vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.25rem 0;
    color: var(--md-sys-color-on-surface);
    word-break: break-word;
  }

  .md3-play-app-title a {
    color: inherit;
    text-decoration: none;
  }

  .md3-play-app-title a:hover {
    color: var(--md-sys-color-primary);
  }

  .md3-play-app-developer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--md-sys-color-primary);
    margin-block-end: 0.4rem;
  }

  .md3-play-dev-link {
    color: var(--md-sys-color-primary);
    text-decoration: none;
  }

  .md3-play-dev-link:hover {
    text-decoration: underline;
  }

  .md3-play-app-tag {
    color: var(--md-sys-color-on-surface-variant);
    font-weight: 400;
  }

  .md3-play-app-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
  }

  .md3-play-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    padding: 0.15rem 0.55rem;
    border-radius: 9999px;
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface-variant);
    font-weight: 500;
  }

  .md3-play-badge--rating {
    background-color: color-mix(in oklab, var(--md-sys-color-tertiary-container) 45%, transparent);
    color: var(--md-sys-color-on-surface);
  }

  .md3-play-badge--rating .md3-rating-star {
    color: #f9ab00;
    font-size: 0.85rem;
  }

  .md3-play-action-row {
    margin-block: 0.65rem 0.5rem;
    display: flex;
    align-items: center;
  }

  .md3-play-install-btn {
    display: inline-flex;
    inline-size: auto;
    min-inline-size: 190px;
    max-inline-size: 100%;
    justify-content: center;
    padding: 0.55rem 1.35rem;
    border-radius: var(--md-sys-shape-corner-full);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    gap: 0.5rem;
  }

  @media (max-width: 600px) {
    .md3-play-app-header {
      gap: 0.75rem;
    }
    .md3-play-app-icon {
      inline-size: 86px;
      block-size: 86px;
      border-radius: 16px;
    }
  }

  /* ==========================================================================
     BUSINESS SERVICES SHOWCASE (Material Design 3 Cards Grid)
     ========================================================================== */
  .md3-biz-services-section {
    margin-block: 1.5rem 1rem;
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
  }

  .md3-section-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block-end: 1rem;
    padding-block-end: 0.65rem;
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 32px;
    block-size: 32px;
    border-radius: 8px;
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-primary);
  }

  .md3-badge-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 24px;
    block-size: 24px;
    padding-inline: 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
  }

  .md3-biz-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.85rem;
  }

  .md3-biz-service-card {
    display: flex;
    flex-direction: column;
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    overflow: clip;
    transition: transform 0.2s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.2s cubic-bezier(0.2, 0, 0, 1), border-color 0.2s ease;
  }

  .md3-biz-service-card:hover {
    transform: translateY(-2px);
    border-color: var(--md-sys-color-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  }

  .md3-biz-service-thumb-wrap {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: clip;
    background-color: var(--md-sys-color-surface-container-high);
  }

  .md3-biz-service-thumb {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
  }

  .md3-biz-service-card:hover .md3-biz-service-thumb {
    transform: scale(1.04);
  }

  .md3-biz-service-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0.85rem;
    gap: 0.5rem;
  }

  .md3-biz-service-top {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .md3-biz-service-title {
    font-size: 0.975rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
  }

  .md3-biz-service-title a {
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
  }

  .md3-biz-service-title a:hover {
    color: var(--md-sys-color-primary);
  }

  .md3-biz-service-price {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    font-size: 0.775rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: var(--md-sys-shape-corner-extra-small);
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    letter-spacing: 0.02em;
  }

  .md3-biz-service-desc {
    font-size: 0.825rem;
    line-height: 1.45;
    color: var(--md-sys-color-on-surface-variant);
    margin: 0;
    flex: 1;
  }

  .md3-biz-service-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-block-start: auto;
    padding-block-start: 0.4rem;
  }

  /* ==========================================================================
     LINKED LISTINGS SECTION (Cross-Links & References)
     ========================================================================== */
  .md3-linked-listings-section {
    margin-block: 1.25rem 0.85rem;
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
  }

  .md3-linked-listings-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .md3-linked-listing-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
    font-size: 0.825rem;
    font-weight: 500;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .md3-linked-listing-chip:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-primary);
  }

  .md3-linked-listing-badge {
    font-size: 0.7rem;
    opacity: 0.75;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    background-color: var(--md-sys-color-surface-container-highest);
  }

  /* ==========================================================================
     RELEVANT LISTINGS PICKER IN SUBMIT FORM
     ========================================================================== */
  .md3-relevant-listings-field {
    margin-block: 0.85rem;
  }

  .md3-relevant-picker {
    border: none;
    border-radius: 0;
    background-color: transparent;
    overflow: clip;
  }

  .md3-relevant-picker__search {
    padding: 0.35rem 0 0.5rem;
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-relevant-picker__search input {
    background-color: var(--md-sys-color-surface-container-low);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-small);
  }

  .md3-relevant-items-list {
    max-block-size: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding: 0.35rem;
    gap: 0.25rem;
  }

  .md3-relevant-item-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border-radius: var(--md-sys-shape-corner-small);
    cursor: pointer;
    transition: background-color 0.15s ease;
    font-size: 0.875rem;
  }

  .md3-relevant-item-row:hover {
    background-color: var(--md-sys-color-surface-container-high);
  }

  .md3-relevant-item-row input[type="checkbox"] {
    accent-color: var(--md-sys-color-primary);
    inline-size: 17px;
    block-size: 17px;
    cursor: pointer;
  }

  .md3-relevant-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.725rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface-variant);
    flex-shrink: 0;
  }

  .md3-relevant-item-title {
    flex: 1;
    color: var(--md-sys-color-on-surface);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Social Interaction Bar (Reddit Upvote/Downvote, Comment, Share, Save) */
  .md3-social-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding-block-start: 0.25rem;
  }

  .md3-vote-pill {
    display: inline-flex;
    align-items: center;
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-full);
    min-block-size: 32px;
    overflow: clip;
    transition: border-color var(--md-sys-motion-duration-short) ease;
  }
  .md3-vote-pill:hover {
    border-color: var(--md-sys-color-outline);
  }

  .md3-vote-btn {
    display: inline-grid;
    place-items: center;
    min-inline-size: 32px;
    min-block-size: 32px;
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    cursor: pointer;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-vote-btn:hover {
    background-color: color-mix(in oklab, var(--md-sys-color-on-surface) 10%, transparent);
  }

  .md3-vote-btn[data-vote="up"][aria-pressed="true"] {
    color: var(--md-sys-color-upvote);
    background-color: var(--md-sys-color-upvote-container);
  }

  .md3-vote-btn[data-vote="down"][aria-pressed="true"] {
    color: var(--md-sys-color-primary);
    background-color: var(--md-sys-color-primary-container);
  }

  .md3-vote-score {
    font-size: 0.8125rem;
    font-weight: 700;
    padding-inline: 0.25rem;
    min-inline-size: 2rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }

  .md3-action-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-block-size: 32px;
    padding-inline: 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-action-pill:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-on-surface);
  }

  .md3-action-pill[aria-pressed="true"] {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
  }

  /* ==========================================================================
     COMMUNITY HEADER & USER PROFILE HEADER BANNERS
     ========================================================================== */
  /* Category Hero (Clean, modern MD3 category header without cover rectangles) */
  .md3-category-hero {
    padding-block: 0.65rem 0.5rem;
    padding-inline: 0.25rem;
    margin-block-end: 0.5rem;
  }

  .md3-category-hero__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
  }

  /* User Profile Card */
  .md3-profile-banner {
    background-color: var(--md-sys-color-surface-container-low);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-extra-large);
    overflow: clip;
    padding: clamp(1rem, 3vw, 1.35rem);
    margin-block-end: 0.75rem;
  }

  .md3-profile-banner__cover {
    display: none !important;
  }

  .md3-profile-banner__body {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .md3-profile-banner__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-block-start: 0;
  }

  .md3-stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    padding-block-start: 0.5rem;
    border-block-start: 1px solid var(--md-sys-color-outline-variant);
    font-size: 0.875rem;
  }

  /* ==========================================================================
     REDDIT THREADED COMMENTS TREE VISUALIZATION
     ========================================================================== */
  .md3-comments-section {
    background-color: var(--md-sys-color-surface-container-low);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-large);
    padding: clamp(1rem, 3vw, 1.5rem);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .md3-comment-composer {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    background-color: var(--md-sys-color-surface-container-lowest);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    padding: 0.875rem;
  }

  .md3-comment-composer:focus-within {
    border-color: var(--md-sys-color-outline);
  }

  .md3-comment-composer textarea {
    border: 0;
    background: transparent;
    inline-size: 100%;
    resize: vertical;
    min-block-size: 72px;
    color: var(--md-sys-color-on-surface);
  }

  .md3-comment-composer textarea:focus-visible {
    outline: none;
  }

  .md3-comment-composer__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-block-start: 0.5rem;
    border-block-start: 1px solid var(--md-sys-color-outline-variant);
  }

  /* Threaded Comment Item & Indentation Guide Line */
  .md3-comment-tree {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .md3-comment {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .md3-comment__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.8125rem;
  }

  .md3-comment__author {
    font-weight: 700;
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
  }

  .md3-comment__badge-op {
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    font-size: 0.6875rem;
    font-weight: 700;
    padding-inline: 0.45rem;
    padding-block: 0.05rem;
    border-radius: var(--md-sys-shape-corner-extra-small);
  }

  .md3-comment__badge-mod {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    font-size: 0.6875rem;
    font-weight: 700;
    padding-inline: 0.45rem;
    padding-block: 0.05rem;
    border-radius: var(--md-sys-shape-corner-extra-small);
  }

  .md3-comment__collapse-btn {
    display: inline-grid;
    place-items: center;
    inline-size: 22px;
    block-size: 22px;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container-high);
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
  }

  .md3-comment__thread-body {
    padding-inline-start: clamp(0.75rem, 2.5vw, 1.25rem);
    margin-inline-start: 0.65rem;
    border-inline-start: 2px solid var(--md-sys-color-outline-variant);
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    transition: border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-comment__thread-body:hover {
    border-inline-start-color: var(--md-sys-color-primary);
  }

  .md3-comment.is-collapsed > .md3-comment__thread-body {
    display: none;
  }

  .md3-comment__children {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    margin-block-start: 0.375rem;
  }

  /* ==========================================================================
     RIGHT SIDEBAR WIDGETS & ACCORDION RULES
     ========================================================================== */
  .md3-widget {
    background-color: #000000;
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-large);
    padding: 1.125rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }

  .md3-widget--filled {
    background-color: var(--md-sys-color-surface-container-highest);
    border-color: transparent;
  }

  .md3-rule-accordion {
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
    padding-block: 0.5rem;
  }

  .md3-rule-accordion:last-child {
    border-block-end: 0;
  }

  .md3-rule-accordion summary {
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
  }

  .md3-rule-accordion summary::-webkit-details-marker {
    display: none;
  }

  .md3-rule-accordion summary::after {
    content: "+";
    color: var(--md-sys-color-primary);
    font-weight: 700;
  }

  .md3-rule-accordion[open] summary::after {
    content: "−";
  }

  /* ==========================================================================
     MODALS (<dialog> for Create Post, Login/Register, Material Icon Picker)
     ========================================================================== */
  .md3-dialog {
    margin: auto;
    inline-size: min(94dvw, 560px);
    max-block-size: 90dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    background-color: var(--md-sys-color-surface-container-high);
    color: var(--md-sys-color-on-surface);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-extra-large);
    padding: clamp(1.125rem, 3.5vw, 1.75rem);
    box-shadow: var(--md-sys-elevation-3);
  }

  .md3-dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
  }

  .md3-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-block-end: 1rem;
  }

  .md3-field__label {
    font-weight: 600;
    font-size: 0.875rem;
  }

  .md3-field__hint {
    font-size: 0.78rem;
    color: var(--md-sys-color-on-surface-variant);
  }

  .md3-field__input {
    inline-size: 100%;
    padding-inline: 0.875rem;
    padding-block: 0.65rem;
    border-radius: var(--md-sys-shape-corner-small);
    border: 1px solid var(--md-sys-color-outline);
    background-color: var(--md-sys-color-surface-container-lowest);
    color: var(--md-sys-color-on-surface);
  }

  .md3-field__input:focus {
    border-color: var(--md-sys-color-primary);
  }

  /* Google Material Icon Picker Grid */
  .md3-icon-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: 0.5rem;
    margin-block: 1rem;
  }

  .md3-icon-choice {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.65rem 0.4rem;
    border-radius: var(--md-sys-shape-corner-medium);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container-low);
    color: var(--md-sys-color-on-surface);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
  }

  .md3-icon-choice:hover,
  .md3-icon-choice[aria-pressed="true"] {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    border-color: var(--md-sys-color-primary);
  }

  /* Toast Notification */
  .md3-toast {
    position: fixed;
    inset-block-end: 5.25rem;
    inset-inline-end: 1.25rem;
    z-index: 95;
    background-color: var(--md-sys-color-on-surface);
    color: var(--md-sys-color-surface);
    padding: 0.75rem 1.25rem;
    border-radius: var(--md-sys-shape-corner-medium);
    box-shadow: var(--md-sys-elevation-3);
    font-size: 0.875rem;
    font-weight: 600;
  }

  /* ==========================================================================
     MOBILE BOTTOM NAVIGATION & SWIPE DRAWER (< 1024px)
     ========================================================================== */
  .md3-bottom-nav {
    display: none !important;
  }

  @media (min-width: 1024px) {
    .md3-bottom-nav {
      display: none;
    }
  }

  .md3-bottom-nav__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.2rem;
    max-inline-size: 540px;
    margin-inline: auto;
  }

  .md3-bottom-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    inline-size: 100%;
    padding-block: 0.2rem;
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
  }

  .md3-bottom-nav__pill {
    display: grid;
    place-items: center;
    inline-size: 48px;
    block-size: 28px;
    border-radius: var(--md-sys-shape-corner-full);
  }

  .md3-bottom-nav__link[aria-current="page"] {
    color: var(--md-sys-color-on-surface);
  }

  .md3-bottom-nav__link[aria-current="page"] .md3-bottom-nav__pill {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
  }

  .Drawer {
    --drawer-width: min(20em, 84dvw);
    --drawer-backdrop: 0;
    position: fixed;
    inset: 0;
    z-index: 90;
    display: none;
  }

  .Drawer.is-open {
    display: block;
  }

  .Drawer-backdrop {
    position: fixed;
    inset: 0;
    background: #000;
    opacity: calc(var(--drawer-backdrop) / 2);
    pointer-events: none;
  }

  .Drawer-scroller {
    position: relative;
    display: grid;
    grid-template-columns: var(--drawer-width) 100%;
    overflow-x: scroll;
    overscroll-behavior: none;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }

  .Drawer-scroller::-webkit-scrollbar {
    display: none;
  }

  @media (prefers-reduced-motion: no-preference) {
    .Drawer-scroller {
      scroll-behavior: smooth;
    }
  }

  .Drawer-scroller::after {
    content: '';
    scroll-snap-align: end;
    scroll-initial-target: nearest;
  }

  .Drawer-sheet {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100svh;
    background-color: var(--md-sys-color-surface-container-low);
    color: var(--md-sys-color-on-surface);
    border-inline-end: 1px solid var(--md-sys-color-outline-variant);
    border-start-end-radius: var(--md-sys-shape-corner-large);
    border-end-end-radius: var(--md-sys-shape-corner-large);
    padding: 1.125rem;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-align: start;
    scrollbar-width: none;
    box-shadow: var(--md-sys-elevation-3);
  }

  /* Helper Utility Classes */
  .md3-row-between {
    display: flex;
    flex-wrap: wrap;
    align-items: safe center;
    justify-content: space-between;
    gap: 0.625rem;
  }

  .md3-row-start {
    display: flex;
    align-items: safe center;
    gap: 0.45rem;
    min-inline-size: 0;
  }

  .md3-segmented-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--md-sys-color-outline);
    border-radius: var(--md-sys-shape-corner-full);
    overflow: clip;
    margin-block-end: 1.25rem;
  }

  .md3-segmented-btn {
    min-block-size: 40px;
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
  }

  .md3-segmented-btn[aria-pressed="true"] {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
  }

  /* ==========================================================================
     REDDIT-STYLE MARKDOWN (.md) COMPOSER & PROSE RENDERING (/submit/)
     ========================================================================== */
  .md3-composer-guest-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    margin-block-end: 0.5rem;
  }

  .md3-submit-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .md3-md-editor {
    border: 1px solid var(--md-sys-color-outline);
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface-container-lowest);
    overflow: clip;
    transition: border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-md-editor:focus-within {
    border-color: var(--md-sys-color-primary);
  }

  .md3-md-editor__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background-color: var(--md-sys-color-surface-container);
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-md-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background-color: var(--md-sys-color-surface-container-highest);
    padding: 0.2rem;
    border-radius: var(--md-sys-shape-corner-full);
  }

  .md3-md-tab {
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: var(--md-sys-shape-corner-full);
    cursor: pointer;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .md3-md-tab[aria-selected="true"] {
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
  }

  .md3-md-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
  }

  .md3-md-tool-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 32px;
    min-block-size: 30px;
    padding-inline: 0.45rem;
    border-radius: var(--md-sys-shape-corner-small);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container-low);
    color: var(--md-sys-color-on-surface);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
  }

  .md3-md-tool-btn:hover {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    border-color: var(--md-sys-color-primary);
  }

  .md3-md-textarea {
    field-sizing: content;
    inline-size: 100%;
    block-size: auto;
    min-block-size: 11lh;
    max-block-size: 36lh;
    padding: 1rem;
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface);
    font-size: 1rem;
    line-height: 1.6;
    overflow-y: auto;
  }

  [contenteditable="true"]:empty:before {
    content: attr(data-placeholder);
    color: var(--md-sys-color-on-surface-variant);
    opacity: 0.65;
    pointer-events: none;
    display: block;
  }

  .md3-md-textarea:focus-visible {
    outline: none;
  }

  .md3-md-editor__preview {
    min-block-size: 11lh;
    padding: 1rem;
    background-color: var(--md-sys-color-surface-container-lowest);
  }

  /* Markdown Prose Typography inside Post Cards, Comments & Preview */
  .md3-prose {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    color: var(--md-sys-color-on-surface);
    line-height: 1.65;
  }

  .md3-prose h2,
  .md3-prose h3,
  .md3-prose h4 {
    margin-block-start: 0.35rem;
    font-weight: 700;
    color: var(--md-sys-color-on-surface);
  }

  .md3-prose ul,
  .md3-prose ol {
    padding-inline-start: 1.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .md3-prose blockquote {
    border-inline-start: 3px solid var(--md-sys-color-primary);
    background-color: var(--md-sys-color-surface-container);
    padding: 0.5rem 0.875rem;
    border-radius: 0 var(--md-sys-shape-corner-small) var(--md-sys-shape-corner-small) 0;
    color: var(--md-sys-color-on-surface-variant);
    font-style: italic;
  }

  .md3-prose code {
    font-family: var(--md-ref-typeface-mono);
    font-size: 0.84em;
    padding: 0.15rem 0.38rem;
    border-radius: var(--md-sys-shape-corner-extra-small);
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-primary);
  }

  .md3-prose pre.md3-code-block,
  .md3-prose pre {
    font-family: var(--md-ref-typeface-mono);
    font-size: 0.84rem;
    line-height: 1.55;
    padding: 0.875rem 1rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface-container-highest);
    border: 1px solid var(--md-sys-color-outline-variant);
    overflow-x: auto;
  }

  .md3-prose pre code {
    padding: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface);
  }

  /* ==========================================================================
     WORDPRESS PAGINATION, POST NAVIGATION & IMAGE UPLOAD PREVIEW
     ========================================================================== */
  .navigation.pagination,
  .comments-pagination {
    margin-block: 0.75rem;
  }

  .navigation.pagination .nav-links,
  .comments-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
  }

  .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 36px;
    min-block-size: 36px;
    padding-inline: 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container-low);
    border: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .page-numbers:hover:not(.current, .dots) {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    border-color: var(--md-sys-color-primary);
  }

  .page-numbers.current {
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border-color: transparent;
  }

  .page-numbers.dots {
    border-color: transparent;
    background: transparent;
  }

  .post-navigation {
    margin-block: 0.25rem;
  }

  .post-navigation .nav-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
  }

  .post-navigation .nav-previous a,
  .post-navigation .nav-next a {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.875rem 1rem;
    border-radius: var(--md-sys-shape-corner-large);
    background-color: var(--md-sys-color-surface-container-low);
    border: 1px solid var(--md-sys-color-outline-variant);
    text-decoration: none;
    color: var(--md-sys-color-on-surface);
    transition: border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }

  .post-navigation .nav-previous a:hover,
  .post-navigation .nav-next a:hover {
    border-color: var(--md-sys-color-primary);
  }

  .md3-post-nav__title {
    font-weight: 650;
    font-size: 0.925rem;
    color: var(--md-sys-color-primary);
  }

  .md3-image-upload-box {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }

  .md3-image-preview {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-image-preview img {
    max-block-size: 240px;
    inline-size: auto;
    border-radius: var(--md-sys-shape-corner-small);
    object-fit: cover;
  }

  /* ==========================================================================
     AUTHENTIC GOOGLE MATERIAL DESIGN 3 SCHEMA & SPEC COMPONENTS
     ========================================================================== */

  /* Feed Type Filters Bar (Horizontal Scrollable MD3 Chips Bar) */
  .md3-schema-filters-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0.5rem;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    padding-block: 0.25rem 0.5rem;
    margin-block-end: 0.5rem;
  }
  .md3-schema-filters-bar::-webkit-scrollbar {
    display: none;
  }

  .md3-type-chip {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap !important;
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 0.45rem 0.85rem;
    border-radius: var(--md-sys-shape-corner-full);
    border: 1px solid var(--md-sys-color-outline-variant) !important;
    background-color: var(--md-sys-color-surface-container) !important;
    color: var(--md-sys-color-on-surface) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard),
                border-color var(--md-sys-motion-duration-short) var(--md-sys-motion-easing-standard);
  }
  .md3-type-chip:hover {
    background-color: var(--md-sys-color-surface-container-high) !important;
    border-color: var(--md-sys-color-outline) !important;
    color: var(--md-sys-color-primary) !important;
  }
  .md3-type-chip.is-active,
  .md3-type-chip[aria-current="page"] {
    background-color: var(--md-sys-color-secondary-container) !important;
    color: var(--md-sys-color-on-secondary-container) !important;
    border-color: var(--md-sys-color-primary) !important;
    font-weight: 600;
  }

  /* MD3 Assist Chips (Material Design 3 Unified Chips) */
  .md3-assist-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-block-size: 30px;
    padding-inline: 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface);
    font-size: 0.78125rem;
    font-weight: 500;
    text-decoration: none;
    line-height: 1;
    box-sizing: border-box;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }
  .md3-assist-chip svg {
    color: var(--md-sys-color-primary);
    flex-shrink: 0;
  }
  .md3-assist-chip:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-primary);
  }

  /* Compact Header Chip Variant (Unified Pill Shape) */
  .md3-assist-chip--sm,
  .md3-flair {
    min-block-size: 28px;
    padding-inline: 0.7rem;
    font-size: 0.78125rem;
    gap: 0.35rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 1;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }
  .md3-assist-chip--sm svg,
  .md3-flair svg {
    color: var(--md-sys-color-primary);
  }
  .md3-assist-chip--sm:hover,
  .md3-flair:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
    color: var(--md-sys-color-primary);
  }
    color: var(--md-sys-color-primary);
  }

  /* Rating Chip in Header */
  .md3-assist-chip--rating {
    color: var(--md-sys-color-on-surface);
  }
  .md3-assist-chip--rating .md3-rating-star {
    color: #e3b341;
    font-size: 0.75rem;
  }
  .md3-assist-chip--rating .md3-rating-count {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.7rem;
    margin-inline-start: 0.15rem;
  }

  /* Primary Accent Chip (e.g. Product Price) */
  .md3-assist-chip--primary {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    border-color: var(--md-sys-color-outline-variant);
    font-weight: 600;
  }

  /* Subtle Chip */
  .md3-assist-chip--subtle {
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-on-surface-variant);
  }

  /* Action Chip (e.g. Map Link) */
  .md3-assist-chip--action {
    cursor: pointer;
    color: var(--md-sys-color-primary);
  }
  .md3-assist-chip--action:hover {
    background-color: var(--md-sys-color-surface-container-highest);
    border-color: var(--md-sys-color-primary);
  }

  .md3-assist-chip--tonal {
    background-color: var(--md-sys-color-surface-container);
    border-color: transparent;
    color: var(--md-sys-color-on-surface-variant);
  }

  /* Star Rating Picker in Comments */
  .md3-star-picker {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
  }
  .md3-star-btn {
    background: transparent;
    border: 0;
    font-size: 1.35rem;
    color: var(--md-sys-color-outline-variant);
    cursor: pointer;
    line-height: 1;
    padding: 0 0.1rem;
    transition: color 0.15s ease, transform 0.15s ease;
  }
  .md3-star-btn:hover {
    transform: scale(1.15);
  }
  .md3-star-btn.is-active,
  .md3-star-btn.is-hover {
    color: var(--md-sys-color-primary);
  }

  /* Rating Pill in Card & Single Header (Quiet Tonal MD3 Chip) */
  .md3-rating-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 500;
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface);
    padding: 0.15rem 0.55rem;
    border-radius: var(--md-sys-shape-corner-full);
  }
  .md3-rating-star {
    color: #e3b341;
    font-size: 0.8125rem;
  }
  .md3-rating-count {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.7rem;
  }

  /* MD3 Choice Chips Bar on /submit/ */
  .md3-choice-chips-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-block-start: 0.35rem;
  }
  .md3-choice-chip {
    appearance: none;
    outline: none;
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container);
    color: var(--md-sys-color-on-surface);
    height: 38px;
    padding: 0 14px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.84rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s cubic-bezier(0.2, 0, 0, 1),
                border-color 0.15s cubic-bezier(0.2, 0, 0, 1),
                color 0.15s cubic-bezier(0.2, 0, 0, 1);
  }
  .md3-choice-chip svg {
    color: var(--md-sys-color-on-surface-variant);
    flex-shrink: 0;
  }
  .md3-choice-chip:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-outline);
  }
  .md3-choice-chip.is-selected {
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    border-color: var(--md-sys-color-primary);
    font-weight: 600;
  }
  .md3-choice-chip.is-selected svg {
    color: var(--md-sys-color-primary);
  }

  /* Dynamic Fieldsets for Schema on /submit/ (Authentic MD3 Outlined Container) */
  .md3-schema-fields-container {
    margin-block: 0.75rem 1rem;
  }
  .md3-schema-fieldset {
    padding: 1.15rem;
    border-radius: var(--md-sys-shape-corner-medium);
    border: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container-low);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    animation: md3-fade-slide 0.18s ease-out;
  }
  .md3-fieldset-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--md-sys-color-on-surface);
    font-size: 0.925rem;
    font-weight: 600;
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
    padding-block-end: 0.5rem;
  }
  .md3-fieldset-header svg {
    color: var(--md-sys-color-primary);
  }
  .md3-fieldset-title {
    color: var(--md-sys-color-on-surface);
    font-weight: 600;
  }
  .md3-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
  }

  /* MD3 Attribute Grid & Spec Assist Chips (Clean Single-Surface Architecture) */
  .md3-schema-spec-container {
    margin-block: 0.65rem 0.5rem;
  }

  .md3-spec-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }

  /* MD3 Expansion Container (e.g. Recipe Ingredients) */
  .md3-spec-expansion {
    margin-block-start: 0.5rem;
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: 8px;
    background-color: var(--md-sys-color-surface-container-low);
    overflow: clip;
    transition: border-color 0.2s ease;
  }
  .md3-spec-expansion[open] {
    border-color: var(--md-sys-color-outline);
  }
  .md3-spec-expansion__summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--md-sys-color-on-surface);
    user-select: none;
    background-color: var(--md-sys-color-surface-container);
    transition: background-color 0.15s ease;
  }
  .md3-spec-expansion__summary:hover {
    background-color: var(--md-sys-color-surface-container-high);
  }
  .md3-spec-expansion__summary svg {
    color: var(--md-sys-color-primary);
  }
  .md3-spec-expansion__list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.75rem 1rem;
    margin: 0;
    list-style: none;
  }
  .md3-spec-expansion__list li {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--md-sys-color-on-surface);
  }
  .md3-check-bullet {
    display: inline-flex;
    align-items: center;
    color: var(--md-sys-color-primary);
    flex-shrink: 0;
  }

  /* Product Price Wrap */
  .md3-schema-price-wrap {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
  }
  .md3-price-amount {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--md-sys-color-primary);
    line-height: 1.2;
  }
  .md3-price-currency {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--md-sys-color-on-surface-variant);
  }

  /* ==========================================================================
     RESPONSIVE CARDS: MOBILE SEAMLESS (< 768px) vs DESKTOP MD3 ELEVATED (>= 769px)
     ========================================================================== */
  .md3-submit-card {
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: clamp(0.75rem, 2vw, 1.5rem) 0;
    box-shadow: none !important;
  }

  @media (max-width: 768px) {
    .md3-submit-card {
      background-color: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      padding: 0.5rem 0.25rem !important;
      box-shadow: none !important;
    }

    body.single .md3-post-card,
    body.single-post .md3-post-card,
    .single .md3-post-card,
    .single-post .md3-post-card {
      background-color: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      padding: 0.5rem 1rem 1.25rem !important;
      box-shadow: none !important;
    }

    body.single .post-navigation,
    body.single-post .post-navigation {
      padding-inline: 1rem !important;
    }

    body.single .md3-comments-section,
    body.single-post .md3-comments-section,
    .single .md3-comments-section,
    .single-post .md3-comments-section {
      background-color: transparent !important;
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding-inline: 1rem !important;
      border-block-start: 1px solid var(--md-sys-color-outline-variant) !important;
      margin-block-start: 1.5rem !important;
      padding-block-start: 1.5rem !important;
    }
  }

  @media (min-width: 769px) {
    body.single .md3-post-card,
    body.single-post .md3-post-card,
    .single .md3-post-card,
    .single-post .md3-post-card {
      background-color: #000000 !important;
      border: 1px solid var(--md-sys-color-outline-variant) !important;
      border-radius: var(--md-sys-shape-corner-large) !important;
      padding: 2rem 2.25rem !important;
    }

    body.single .md3-comments-section,
    body.single-post .md3-comments-section,
    .single .md3-comments-section,
    .single-post .md3-comments-section {
      background-color: #000000 !important;
      border: 1px solid var(--md-sys-color-outline-variant) !important;
      border-radius: var(--md-sys-shape-corner-large) !important;
      padding: 1.75rem 2.25rem !important;
      margin-block-start: 1.5rem !important;
    }

    .md3-submit-card {
      background-color: #000000 !important;
      border: 1px solid var(--md-sys-color-outline-variant) !important;
      border-radius: var(--md-sys-shape-corner-large) !important;
      padding: 2rem 2.25rem !important;
    }
  }

  /* Material Design 3 Tag Input Component & Chips */
  .md3-tag-input-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background-color: var(--md-sys-color-surface-container-lowest);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    min-block-size: 46px;
    transition: border-color 0.15s ease;
  }
  .md3-tag-input-container:focus-within {
    border-color: var(--md-sys-color-primary);
  }
  .md3-tags-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  }
  .md3-tag-input-wrapper {
    position: relative;
    flex: 1 1 180px;
    min-inline-size: 140px;
  }
  .md3-tag-inline-input {
    inline-size: 100%;
    background: transparent;
    border: 0;
    outline: none;
    font-size: 0.9rem;
    color: var(--md-sys-color-on-surface);
  }
  .md3-assist-chip--tag,
  .md3-tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-block-size: 26px;
    padding-inline: 0.65rem;
    font-size: 0.78125rem;
    font-weight: 500;
    color: var(--md-sys-color-on-surface-variant);
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-full);
    text-decoration: none;
    line-height: 1;
    box-sizing: border-box;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }
  .md3-assist-chip--tag svg,
  .md3-tag-chip svg {
    color: var(--md-sys-color-primary);
    flex-shrink: 0;
  }
  .md3-assist-chip--tag:hover,
  .md3-tag-chip:hover {
    background-color: var(--md-sys-color-surface-container-high);
    border-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-primary);
  }
  .md3-tag-chip--editable {
    padding-inline-end: 0.3rem;
    border-radius: var(--md-sys-shape-corner-full);
  }
  .md3-tag-remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 18px;
    block-size: 18px;
    border-radius: 50%;
    background: transparent;
    border: 0;
    color: var(--md-sys-color-on-surface-variant);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
  }
  .md3-tag-remove-btn:hover {
    background-color: var(--md-palette-error-dark);
    color: #000;
  }
  .md3-tags-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    max-block-size: 180px;
    overflow-y: auto;
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    box-shadow: var(--md-sys-elevation-3);
    z-index: 50;
    margin: 0;
    padding: 0.25rem 0;
  }
  .md3-tags-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.85rem;
    font-size: 0.85rem;
    color: var(--md-sys-color-on-surface);
    cursor: pointer;
    transition: background-color 0.1s ease;
  }
  .md3-tags-dropdown-item:hover {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
  }
  .md3-card-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-block: 0.35rem 0.25rem;
  }

  /* Publisher Verification Dialog */
  #verify-publisher-dialog {
    max-inline-size: min(480px, 94dvw);
    border-radius: var(--md-sys-shape-corner-extra-large);
  }
  .md3-verify-card {
    transition: transform 0.15s ease, border-color 0.15s ease;
  }
  .md3-verify-card:hover {
    border-color: var(--md-sys-color-primary);
  }
  .md3-anon-option-box {
    transition: background-color 0.15s ease;
  }
  .md3-anon-option-box:hover {
    background-color: var(--md-sys-color-surface-container-high);
  }
}

/* ==========================================================================
   6. LAYER: UTILITIES
   ========================================================================== */
@layer utilities {
  .visually-hidden {
    position: absolute !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: nowrap !important;
  }

  .if-dark {
    display: none !important;
  }

  @media (prefers-color-scheme: dark) {
    :root:not(:has(> head > meta[name="color-scheme"][content="light"])) .if-dark {
      display: inline-flex !important;
    }
    :root:not(:has(> head > meta[name="color-scheme"][content="light"])) .if-light {
      display: none !important;
    }
  }

  :root:has(> head > meta[name="color-scheme"][content="dark"]) .if-dark {
    display: inline-flex !important;
  }

  :root:has(> head > meta[name="color-scheme"][content="dark"]) .if-light {
    display: none !important;
  }

  @container not style(--color-scheme: dark) {
    .if-dark {
      display: none !important;
    }
  }

  @container not style(--color-scheme: light) {
    .if-light {
      display: none !important;
    }
  }
}

/* ==========================================================================
   SUBMIT PAGE: TYPE SHOWCASE & STRUCTURED FORM SECTIONS
   ========================================================================== */
  .md3-type-showcase {
    margin-block-end: 1.5rem;
  }

  .md3-type-showcase__header {
    margin-block-end: 1.25rem;
  }

  .md3-type-showcase__title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: var(--md-sys-color-on-surface);
  }

  .md3-type-showcase__desc {
    color: var(--md-sys-color-on-surface-variant);
    margin-block-start: 0.35rem;
    margin-block-end: 0;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .md3-type-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    margin-block-start: 1.25rem;
  }

  .md3-type-card,
  .md3-type-card:visited,
  .md3-type-card:active {
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    background-color: var(--md-sys-color-surface-container) !important;
    border: 1px solid var(--md-sys-color-outline-variant) !important;
    border-radius: var(--md-sys-shape-corner-large);
    text-decoration: none !important;
    color: var(--md-sys-color-on-surface) !important;
    transition: transform var(--md-sys-motion-duration-short) ease,
                border-color var(--md-sys-motion-duration-short) ease,
                background-color var(--md-sys-motion-duration-short) ease,
                box-shadow var(--md-sys-motion-duration-short) ease;
    position: relative;
    cursor: pointer;
  }

  .md3-type-card:hover {
    transform: translateY(-2px);
    background-color: var(--md-sys-color-surface-container-high) !important;
    border-color: var(--md-sys-color-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  }

  .md3-type-card:hover .md3-type-card__title {
    color: var(--md-sys-color-primary) !important;
  }

  .md3-type-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block-end: 0.85rem;
  }

  .md3-type-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .md3-type-card__schema {
    font-size: 0.725rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.2rem 0.55rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface-variant);
  }

  .md3-type-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: var(--md-sys-color-on-surface);
  }

  .md3-type-card__desc {
    font-size: 0.825rem;
    color: var(--md-sys-color-on-surface-variant);
    margin-block-start: 0.35rem;
    margin-block-end: 0.85rem;
    line-height: 1.4;
    flex: 1;
  }

  .md3-type-card__action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.825rem;
    font-weight: 600;
    color: var(--md-sys-color-primary);
    margin-top: auto;
  }

  /* Step 2 Type Header Bar */
  .md3-type-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-medium);
    margin-block-end: 1.25rem;
  }

  .md3-type-header-bar__current {
    display: flex;
    align-items: center;
    gap: 0.65rem;
  }

  .md3-type-header-bar__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    font-weight: 600;
    font-size: 0.875rem;
  }

  /* Form Sections (Minimalist borderless sections with subtle bottom divider) */
  .md3-form-section {
    background-color: transparent !important;
    border: none !important;
    border-block-end: 1px solid var(--md-sys-color-outline-variant) !important;
    border-radius: 0 !important;
    padding: 1.25rem 0 !important;
    margin-block-end: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .md3-form-section:last-of-type {
    border-block-end: none !important;
  }

  .md3-form-section__header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border-block-end: none !important;
    padding-block-end: 0.25rem;
    margin-block-end: 0.25rem;
  }

  .md3-form-section__num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
  }

  .md3-form-section__title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    color: var(--md-sys-color-on-surface);
  }

  .md3-form-section__desc {
    font-size: 0.8rem;
    color: var(--md-sys-color-on-surface-variant);
    margin: 0;
  }

  /* ==========================================================================
     MATERIAL DESIGN 3 NOTIFICATIONS BELL & PANEL
     ========================================================================== */
  .md3-notif-dropdown {
    position: relative;
  }

  .md3-notif-bell-btn {
    position: relative;
  }

  .md3-notif-counter {
    position: absolute;
    inset-block-start: -3px;
    inset-inline-end: -3px;
    min-inline-size: 18px;
    block-size: 18px;
    padding-inline: 4px;
    border-radius: 9999px;
    background-color: var(--md-sys-color-error, #ba1a1a);
    color: var(--md-sys-color-on-error, #ffffff);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    border: 2px solid var(--md-sys-color-surface);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  }

  .md3-badge-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 16px;
    block-size: 16px;
    padding-inline: 4px;
    border-radius: 9999px;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    font-size: 0.65rem;
    font-weight: 700;
  }

  .md3-notif-panel {
    position: absolute;
    inset-block-start: calc(100% + 0.5rem);
    inset-inline-end: 0;
    inline-size: 360px;
    max-inline-size: calc(100vw - 1.25rem);
    background-color: var(--md-sys-color-surface-container-high);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-large);
    box-shadow: var(--md-sys-elevation-3);
    z-index: 100;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  @media (max-width: 600px) {
    .md3-notif-panel {
      inset-inline-end: -65px;
      inline-size: calc(100vw - 1.5rem);
    }
  }

  .md3-notif-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
    background-color: var(--md-sys-color-surface-container);
  }

  .md3-notif-tabs {
    display: flex;
    gap: 0.25rem;
    background: var(--md-sys-color-surface-container-lowest);
    padding: 0.2rem;
    border-radius: 9999px;
  }

  .md3-notif-tab {
    border: 0;
    background: transparent;
    color: var(--md-sys-color-on-surface-variant);
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 9999px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
  }

  .md3-notif-tab.is-active {
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
  }

  .md3-notif-panel__body {
    max-block-size: 380px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.5rem;
  }

  .md3-notif-list {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }

  .md3-notif-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background-color: var(--md-sys-color-surface);
    text-decoration: none;
    color: var(--md-sys-color-on-surface);
    transition: background-color 0.15s ease;
    position: relative;
    border: 1px solid transparent;
  }

  .md3-notif-item:hover {
    background-color: var(--md-sys-color-surface-container-highest);
  }

  .md3-notif-item--unread {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    border-color: color-mix(in oklab, var(--md-sys-color-primary) 30%, transparent);
  }

  .md3-notif-item--unread::before {
    content: '';
    position: absolute;
    inset-inline-start: 6px;
    inset-block-start: 50%;
    transform: translateY(-50%);
    inline-size: 6px;
    block-size: 6px;
    border-radius: 50%;
    background-color: var(--md-sys-color-primary);
  }

  .md3-notif-item__content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
    min-inline-size: 0;
  }

  .md3-notif-item__title {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
  }

  .md3-notif-item__message {
    font-size: 0.75rem;
    color: var(--md-sys-color-on-surface-variant);
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0;
  }

  .md3-notif-item__time {
    font-size: 0.6875rem;
    color: var(--md-sys-color-outline);
    margin-block-start: 0.15rem;
  }

  .md3-notif-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2.25rem 1rem;
    color: var(--md-sys-color-on-surface-variant);
  }

  .md3-notif-settings-form {
    padding: 0.5rem 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .md3-notif-settings-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .md3-notif-settings-group__title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--md-sys-color-on-surface);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-block-end: 0.25rem;
  }

  .md3-checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    cursor: pointer;
    user-select: none;
    color: var(--md-sys-color-on-surface);
    padding: 0.25rem 0.35rem;
    border-radius: var(--md-sys-shape-corner-small);
    transition: background-color 0.15s ease;
  }

  .md3-checkbox-row:hover {
    background-color: var(--md-sys-color-surface-container-highest);
  }

  .md3-checkbox-row input[type="checkbox"] {
    accent-color: var(--md-sys-color-primary);
    inline-size: 18px;
    block-size: 18px;
    cursor: pointer;
  }

  /* 22. WordPress Admin Bar Guard for Regular Users */
  body.is-regular-user #wpadminbar,
  body:not(.is-admin-user) #wpadminbar {
    display: none !important;
  }
  body.is-regular-user,
  html:has(body.is-regular-user) {
    margin-top: 0 !important;
  }

  /* 23. Dedicated Login & Registration Page (/login/ & /register/) */
  .md3-auth-page-wrapper {
    padding-block: 1.5rem 3rem;
    inline-size: 100%;
  }

  .md3-auth-card {
    background-color: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline-variant);
    border-radius: var(--md-sys-shape-corner-extra-large);
    padding: 2.25rem 2rem;
    box-shadow: var(--md-sys-elevation-2);
  }

  @media (max-width: 600px) {
    .md3-auth-card {
      padding: 1.5rem 1.25rem;
      border-radius: var(--md-sys-shape-corner-large);
    }
  }

  .md3-auth-card__header {
    text-align: center;
    margin-block-end: 1.5rem;
  }

  .md3-auth-icon-badge {
    inline-size: 56px;
    block-size: 56px;
    margin: 0 auto 0.75rem;
    border-radius: var(--md-sys-shape-corner-full);
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .md3-auth-card__title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
    color: var(--md-sys-color-on-surface);
  }

  .md3-auth-card__subtitle {
    font-size: 0.875rem;
    color: var(--md-sys-color-on-surface-variant);
    max-width: 420px;
    margin: 0 auto;
    line-height: 1.45;
  }

  .md3-btn--google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-block-size: 46px;
    border-color: var(--md-sys-color-outline);
    background: var(--md-sys-color-surface-container-high);
    color: var(--md-sys-color-on-surface);
    font-weight: 500;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }

  .md3-btn--google:hover {
    background-color: var(--md-sys-color-surface-container-highest);
    border-color: var(--md-sys-color-primary);
  }

  .md3-auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin-block: 1.25rem;
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
  }

  .md3-auth-divider::before,
  .md3-auth-divider::after {
    content: '';
    flex: 1;
    border-block-end: 1px solid var(--md-sys-color-outline-variant);
  }

  .md3-auth-divider span {
    padding-inline: 0.85rem;
  }

  .md3-auth-alert {
    padding: 0.75rem 1rem;
    border-radius: var(--md-sys-shape-corner-medium);
    margin-block-end: 1.25rem;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1.45;
  }

  .md3-auth-alert--error {
    background-color: color-mix(in oklab, var(--md-sys-color-error, #cf6679) 15%, transparent);
    border: 1px solid var(--md-sys-color-error, #cf6679);
    color: #ffb4ab;
  }

  .md3-auth-alert--success {
    background-color: color-mix(in oklab, #34a853 15%, transparent);
    border: 1px solid #34a853;
    color: #81c995;
  }

  .md3-field__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
  }

  .md3-field__leading-icon {
    position: absolute;
    inset-inline-start: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--md-sys-color-on-surface-variant);
    pointer-events: none;
    z-index: 1;
  }

  .md3-field__input-wrap .md3-field__input {
    padding-inline-start: 2.65rem;
    inline-size: 100%;
  }

  .md3-field__trailing-btn {
    position: absolute;
    inset-inline-end: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--md-sys-color-on-surface-variant);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border-radius: 50%;
  }

  .md3-field__trailing-btn:hover {
    color: var(--md-sys-color-on-surface);
    background-color: var(--md-sys-color-surface-container-highest);
  }

  .md3-auth-submit-btn {
    min-block-size: 46px;
    font-size: 0.95rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }

  .md3-auth-switch-note {
    text-align: center;
    margin-block-start: 1.25rem;
    margin-block-end: 0;
    font-size: 0.875rem;
    color: var(--md-sys-color-on-surface-variant);
  }

  .md3-text-link {
    background: none;
    border: none;
    padding: 0;
    color: var(--md-sys-color-primary);
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    font-size: inherit;
    font-family: inherit;
  }

  .md3-text-link:hover {
    color: var(--md-sys-color-on-primary-container);
  }

  .md3-auth-terms-hint {
    font-size: 0.775rem;
    color: var(--md-sys-color-on-surface-variant);
    line-height: 1.45;
    margin-block: 0.5rem 1rem;
    padding: 0.5rem 0.75rem;
    background-color: var(--md-sys-color-surface-container-high);
    border-radius: var(--md-sys-shape-corner-small);
  }

  /* ==========================================================================
     WPGMD3 v2.3.0 HYBRID EXTENSIONS: LIGHT/DARK MODES, TOC, READER, PWA
     ========================================================================== */

  /* 1. Full Light Mode Support */
  html[data-theme="light"],
  body[data-theme="light"] {
    color-scheme: light;
    --color-scheme: light;
    --md-sys-color-primary: var(--md-palette-primary-light);
    --md-sys-color-on-primary: var(--md-palette-on-primary-light);
    --md-sys-color-primary-container: var(--md-palette-primary-container-light);
    --md-sys-color-on-primary-container: var(--md-palette-on-primary-container-light);

    --md-sys-color-secondary: var(--md-palette-secondary-light);
    --md-sys-color-on-secondary: var(--md-palette-on-secondary-light);
    --md-sys-color-secondary-container: var(--md-palette-secondary-container-light);
    --md-sys-color-on-secondary-container: var(--md-palette-on-secondary-container-light);

    --md-sys-color-tertiary: var(--md-palette-tertiary-light);
    --md-sys-color-on-tertiary: var(--md-palette-on-tertiary-light);
    --md-sys-color-tertiary-container: var(--md-palette-tertiary-container-light);
    --md-sys-color-on-tertiary-container: var(--md-palette-on-tertiary-container-light);

    --md-sys-color-surface: var(--md-palette-surface-light);
    --md-sys-color-surface-dim: var(--md-palette-surface-dim-light);
    --md-sys-color-surface-bright: var(--md-palette-surface-bright-light);
    --md-sys-color-surface-container-lowest: var(--md-palette-surface-container-lowest-light);
    --md-sys-color-surface-container-low: var(--md-palette-surface-container-low-light);
    --md-sys-color-surface-container: var(--md-palette-surface-container-light);
    --md-sys-color-surface-container-high: var(--md-palette-surface-container-high-light);
    --md-sys-color-surface-container-highest: var(--md-palette-surface-container-highest-light);

    --md-sys-color-on-surface: var(--md-palette-on-surface-light);
    --md-sys-color-on-surface-variant: var(--md-palette-on-surface-variant-light);
    --md-sys-color-outline: var(--md-palette-outline-light);
    --md-sys-color-outline-variant: var(--md-palette-outline-variant-light);
    background-color: var(--md-palette-surface-light);
    color: var(--md-palette-on-surface-light);
  }

  html[data-theme="light"] .md3-post-card:hover {
    background-color: rgba(0, 0, 0, 0.025);
  }

  /* 2. Theme Toggle Button */
  .md3-theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform var(--md-sys-motion-duration-short) ease;
  }
  .md3-theme-toggle-btn:hover {
    transform: rotate(20deg);
  }
  html:not([data-theme="light"]) .theme-icon-light,
  body:not([data-theme="light"]) .theme-icon-light {
    display: none !important;
  }
  html[data-theme="light"] .theme-icon-dark,
  body[data-theme="light"] .theme-icon-dark {
    display: none !important;
  }

  /* 3. Table of Contents (Desktop Sticky & Mobile Bottom Sheet) */
  .md3-toc-widget {
    position: sticky;
    top: 4.5rem;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    border-radius: var(--md-sys-shape-corner-medium);
    background: var(--md-sys-color-surface-container-low);
    padding: 1.15rem;
    border: 1px solid var(--md-sys-color-outline-variant);
  }
  .md3-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }
  .md3-toc-link {
    display: block;
    font-size: 0.85rem;
    color: var(--md-sys-color-on-surface-variant);
    text-decoration: none;
    padding: 0.3rem 0.6rem;
    border-radius: var(--md-sys-shape-corner-small);
    border-left: 2px solid transparent;
    transition: all 0.15s ease;
    line-height: 1.4;
  }
  .md3-toc-link:hover,
  .md3-toc-link.is-active {
    color: var(--md-sys-color-primary);
    background-color: color-mix(in oklab, var(--md-sys-color-primary) 10%, transparent);
    border-left-color: var(--md-sys-color-primary);
    font-weight: 600;
  }
  .md3-toc-item--l3 {
    padding-left: 0.85rem;
    font-size: 0.8rem;
  }

  /* Mobile Floating TOC Button */
  .md3-floating-toc-btn {
    position: fixed;
    bottom: 4.75rem;
    right: 1.25rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.6rem 1rem;
    border-radius: var(--md-sys-shape-corner-full);
    background: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border: none;
    font-weight: 600;
    font-size: 0.875rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    z-index: 980;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .md3-floating-toc-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
  }

  /* Mobile Material Design 3 Bottom Sheet */
  .md3-bottom-sheet {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.25s, opacity 0.25s;
  }
  .md3-bottom-sheet.is-open {
    visibility: visible;
    opacity: 1;
  }
  .md3-bottom-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
  }
  .md3-bottom-sheet__surface {
    position: relative;
    background: var(--md-sys-color-surface-container);
    border-top-left-radius: var(--md-sys-shape-corner-large);
    border-top-right-radius: var(--md-sys-shape-corner-large);
    border-top: 1px solid var(--md-sys-color-outline-variant);
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.2, 0, 0, 1);
    padding-bottom: 2rem;
  }
  .md3-bottom-sheet.is-open .md3-bottom-sheet__surface {
    transform: translateY(0);
  }
  .md3-bottom-sheet__drag-handle {
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background: var(--md-sys-color-outline);
    margin: 0.65rem auto 0.25rem;
  }
  .md3-bottom-sheet__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem 0.5rem;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
  }
  .md3-bottom-sheet__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--md-sys-color-on-surface);
  }
  .md3-bottom-sheet__body {
    overflow-y: auto;
    padding: 0.75rem 1.25rem 1rem;
  }

  /* 4. Reading Tools Bar ("Aa", Wake Lock, Progress Bar, Time) */
  .md3-reading-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: var(--md-sys-color-primary);
    z-index: 1200;
    transition: width 0.1s linear;
  }

  .md3-reader-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.85rem;
    margin-block: 0.75rem 1.25rem;
    background: var(--md-sys-color-surface-container);
    border-radius: var(--md-sys-shape-corner-medium);
    border: 1px solid var(--md-sys-color-outline-variant);
  }
  .md3-reader-bar__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--md-sys-color-on-surface-variant);
  }
  .md3-reader-time {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
  }
  .md3-reader-bar__controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .md3-reader-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.6rem;
    border-radius: var(--md-sys-shape-corner-small);
    border: 1px solid var(--md-sys-color-outline-variant);
    background: var(--md-sys-color-surface-container-low);
    color: var(--md-sys-color-on-surface);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.15s ease;
  }
  .md3-reader-btn:hover {
    background: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    border-color: var(--md-sys-color-primary);
  }
  .md3-reader-btn.is-active {
    background: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border-color: var(--md-sys-color-primary);
  }
  .md3-font-preview-serif {
    font-family: 'Literata', Georgia, serif;
    font-weight: 700;
    font-size: 0.95rem;
  }

  /* Typography Switcher State */
  body.font-mode-serif .md3-prose,
  body.font-mode-serif .md3-post-content-body {
    font-family: 'Literata', Georgia, 'Times New Roman', serif !important;
    line-height: 1.75;
  }

  /* 5. Responsive YouTube Media Container */
  .md3-youtube-wrapper {
    margin-block: 1rem 1.5rem;
    border-radius: var(--md-sys-shape-corner-large);
    overflow: hidden;
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    background: #000000;
  }
  .md3-youtube-aspect {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 ratio */
  }
  .md3-youtube-aspect iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }

  /* 6. Quote Selection Tooltip */
  .md3-quote-tooltip {
    position: absolute;
    z-index: 1050;
    transform: translate(-50%, -100%);
    margin-top: -8px;
  }
  .md3-quote-tooltip__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.85rem;
    border-radius: var(--md-sys-shape-corner-full);
    background: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    font-size: 0.8rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
  }

  /* 7. Resume Reading Toast */
  .md3-resume-toast {
    position: fixed;
    bottom: 4.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-radius: var(--md-sys-shape-corner-medium);
    background: var(--md-sys-color-surface-container-highest);
    color: var(--md-sys-color-on-surface);
    border: 1px solid var(--md-sys-color-outline-variant);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
    z-index: 1020;
    font-size: 0.85rem;
  }
  .md3-resume-toast__btn {
    padding: 0.25rem 0.65rem;
    border-radius: var(--md-sys-shape-corner-small);
    background: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    font-weight: 600;
    border: none;
    cursor: pointer;
  }

  /* 8. Android Bottom Navigation Bar (Mobile < 769px) */
  .md3-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: var(--md-sys-color-surface-container);
    border-top: 1px solid var(--md-sys-color-outline-variant);
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 990;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .md3-bottom-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex: 1;
    height: 100%;
    background: none;
    border: none;
    color: var(--md-sys-color-on-surface-variant);
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.15s ease;
  }
  .md3-bottom-nav__item.is-active,
  .md3-bottom-nav__item:hover {
    color: var(--md-sys-color-primary);
  }
  .md3-bottom-nav__item--fab {
    position: relative;
    top: -8px;
  }
  .md3-bottom-nav__fab-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35);
  }

  @media (max-width: 768px) {
    body {
      padding-bottom: 64px !important;
    }
  }

  /* 9. Left Sidebar Brand Block */
  .md3-sidebar-brand-block {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }

  /* 10. Footer Widget Grid */
  .md3-site-footer {
    margin-top: 3rem;
    padding: 2.5rem 0 2rem;
    border-top: 1px solid var(--md-sys-color-outline-variant);
    background: var(--md-sys-color-surface-container-low);
  }
  .md3-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
  }
  .md3-footer-col .md3-widget {
    background: transparent;
    border: none;
    padding: 0;
  }
