/* Ensure the flag font is checked first on every element */
*,
*::before,
*::after {
    font-family: "Twemoji Country Flags", 'Roboto', serif;
}

/* MOBILE HEADER SECTION */

.mobile-site-header {
    position: sticky;
    top: 0;
    z-index: 1200;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #111111, #1b1b1b);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.mobile-site-header .language-selector,
.mobile-site-header #languageSelector {
    justify-self: end;
    position: static;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: auto;
}

.mobile-site-header .language-selector .dropbtn {
    background: rgba(255, 255, 255, 0.08);
    color: white;
    border: none;
    padding: 10px 12px;
    font-size: 0.9rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 10px;
}

.mobile-site-header .language-selector .language-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0.8);
    transition: filter 0.2s ease;
}

.mobile-site-header .language-selector .dropbtn:hover .language-icon {
    filter: brightness(1);
}

.mobile-site-header .language-selector .lang-text-full,
.mobile-site-header .language-selector .lang-text-short {
    font-weight: 500;
}

.mobile-site-header .dropdown-menu {
    top: calc(100% + 4px);
    right: 0;
    width: fit-content;
    padding: 4px 0;
    border-radius: 6px;
    background: #1e1c1c;
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.mobile-site-header .dropdown-menu a {
    display: block;
    padding: 8px 10px;
    border-radius: 4px;
    color: white;
    line-height: 1.2;
}

.mobile-site-header .dropdown-menu a:hover {
    background: rgba(255, 255, 255, 0.12);
}

body:not(.mobile-layout-active) .mobile-site-header,
body:not(.mobile-layout-active) .mobile-limited-banner-fixed {
    display: none !important;
}

body.mobile-banner-closed .mobile-limited-banner-fixed {
    display: none;
}

body.mobile-nav-open {
    overflow: hidden;
}

.mobile-menu-toggle {
    justify-self: start;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.mobile-menu-toggle span {
    display: block;
    height: 2px;
    width: 22px;
    margin: 0 auto;
    background: white;
    filter: brightness(0.7);
    border-radius: 999px;
    transition: all 0.3s ease;
}

.mobile-menu-toggle:hover {
    background-color: #333333;
}

/* Use parent hover to target all child spans */
.mobile-menu-toggle:hover span {
    filter: brightness(1);
}

.mobile-site-brand {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 8px;
    color: white;
    text-decoration: none;
    font-family: 'Lobster', serif;
    font-size: 1rem;
    font-weight: 400;
    min-width: 0;
}

.mobile-site-brand-logo {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    font-family: 'Lobster', serif;
}

.mobile-site-brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: 'Lobster', serif;
}

.mobile-nav-panel {
    position: fixed;
    inset: 0 auto 0 0;
    width: 75vw;
    background: #111111;
    color: white;
    transform: translateX(-102%);
    transition: transform 0.25s ease;
    z-index: 1400;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
    overflow-y: auto;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.mobile-nav-panel.is-open {
    transform: translateX(0);
}

.mobile-nav-panel-inner {
    padding: 18px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.mobile-nav-panel-header {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.mobile-nav-panel-close,
.mobile-limited-banner-close {
    border: none;
    background: transparent;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
}

#mobileNavOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 1300;
}

#mobileNavOverlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.mobile-nav-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: stretch;
}

/* MOBILE LIMITED BANNER  */

.mobile-limited-banner {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
    background: linear-gradient(135deg, #fff4d6 0%, #ffd27a 45%, #ffaf5b 100%);
    color: #5a2e0b;
    box-sizing: border-box;
    border: 1px solid #e3bc2f;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(92, 46, 12, 0.16);
    position: relative;
}

body.mobile-layout-active .mobile-limited-banner {
    display: flex;
}

.mobile-limited-banner.is-hidden {
    display: none !important;
}

.mobile-limited-banner-copy p {
    margin: 0;
    font-size: 0.95rem;
    text-align: center;
}

.mobile-limited-banner-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.mobile-limited-banner-button {
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #2b2b2b 0%, #111111 100%);
    color: #ffffff;
    padding: 10px 12px;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
}

.mobile-limited-banner-close {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0;
}

.mobile-limited-banner-fixed {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 6px;
    z-index: 1100;
}

.mobile-limited-banner-drawer {
    width: 100%;
}

.mobile-limited-banner-drawer .mobile-limited-banner-actions {
    display: none;
}

/* 
   1. Sidebar Language Switcher (Full Width)
*/
.sidebar-lang-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background-color: #262626;
    border-radius: 20px;
    padding: 4px 6px 4px 12px;
    box-sizing: border-box;
}

.sidebar-lang-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.lang-icon-svg {
    width: 18px;
    height: 18px;
    object-fit: contain;
    display: block;
    filter: brightness(0) invert(0.8);
}

.lang-switch-options {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    flex: 1;
    min-width: 0;
    padding: 0;
}

/* Sliding active background */
.lang-switch-options::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: calc((100% - 4px) / 2);
    background-color: #404040;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease-in-out;
    z-index: 0;
}

/* Move background to English */
.sidebar-lang-switch[data-active-lang="en"] .lang-switch-options::before {
    transform: translateX(calc(100% + 4px));
}

.lang-switch-option {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    outline: none;
    color: #9ca3af;
    padding: 7px 10px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: color 0.2s ease-in-out;
}

.lang-switch-option:hover {
    color: #e5e7eb;
}

.lang-switch-option.active {
    color: #ffffff;
}


/* ==========================================================================
   2. Mini & Mobile Language Switcher
   ========================================================================== */

/* --------------------------------------------------------------------------
   Base / Shared Structure
   -------------------------------------------------------------------------- */

#languageSelector {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 9999;
}

.mini-lang-selector {
    position: relative;
    display: inline-block;
    width: 100%;
}

.mini-lang-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;

    background-color: #262626;
    color: #ffffff;
    border: none;
    outline: none;
    border-radius: 8px;

    padding: 8px 12px;

    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;

    transition: all 0.3s ease;
}

.mini-lang-trigger:hover {
    background-color: #333333;
}

.mini-lang-trigger .lang-icon-svg {
    filter: brightness(0) invert(0.7);
    transition: filter 0.3s ease;
}

.mini-lang-trigger:hover .lang-icon-svg {
    filter: brightness(0) invert(1);
}

.mini-lang-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 100%;
    box-sizing: border-box;

    background-color: #262626;
    border-radius: 8px;
    padding: 2px;

    display: flex;
    flex-direction: column;
    gap: 2px;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s;

    z-index: 1000;
}

.mini-lang-selector.open .mini-lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mini-lang-option {
    width: 100%;
    box-sizing: border-box;

    background: transparent;
    border: none;
    outline: none;

    color: #9ca3af;

    padding: 8px 10px;

    font-size: 1rem;
    font-weight: 500;

    border-radius: 8px;
    cursor: pointer;
    text-align: center;

    transition: all 0.2s ease;
}

.mini-lang-option:hover {
    color: #ffffff;
    background-color: #333333;
}

.mini-lang-option.active {
    background-color: #404040;
    color: #ffffff;
}


/* --------------------------------------------------------------------------
   Desktop Mini Selector
   -------------------------------------------------------------------------- */

#languageSelector.mode-desktop-index {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 9999;
}


/* --------------------------------------------------------------------------
   Mobile Selector
   -------------------------------------------------------------------------- */

#languageSelector.mode-mobile {
    display: block;
    position: relative;
    top: auto;
    right: auto;
    margin-left: auto;
    z-index: 10;
}

/*
 * Mobile-specific styling.
 * These rules ONLY apply when #languageSelector has mode-mobile.
 */

#languageSelector.mode-mobile .mini-lang-trigger {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    gap: 6px;
}

#languageSelector.mode-mobile .lang-icon-svg {
    width: 24px;
    height: 24px;
}

#languageSelector.mode-mobile .mini-lang-label {
    font-size: 1rem;
}

#languageSelector.mode-mobile .mini-lang-dropdown {
    top: calc(100% + 4px);
}

#languageSelector.mode-mobile .mini-lang-option {
    padding: 6px 4px;
    font-size: 0.95rem;
    align-self: center;
    text-align: center;
}


/* --------------------------------------------------------------------------
   Hidden State
   -------------------------------------------------------------------------- */

#languageSelector.mode-hidden {
    display: none !important;
}


/* --------------------------------------------------------------------------
   Sidebar Switcher Visibility
   -------------------------------------------------------------------------- */

.sidebar-lang-switch-container {
    display: none;
}

.sidebar-lang-switch-container.mode-active {
    display: block;
}

/* SIDEBARS SECTION  */

.sidebars-left-item,
.sidebars-right-item {
    z-index: 10;
    text-decoration: none;
    font-size: 1rem;
    border-radius: 10px;
    /* margin: 0 clamp(12px, 1.3vw, 24px); */
}

.sidebars-left {
    grid-column: 1;
    grid-row: 1/3;
    width: 100%;
    background-color: whitesmoke;
}

.sidebars-left-grid {
    display: grid;
    gap: 20px;
}

.sidebars-right-partial {
    grid-column: 3;
    grid-row: 2;
    width: 100%;
    background-color: whitesmoke;
    margin-top: clamp(10px, 1.5vw, 20px);
}

.sidebars-right-full {
    grid-column: 3;
    grid-row: 1/3;
    width: 100%;
    background-color: whitesmoke;
}

.sidebars-right-partial .sidebars-right-grid,
.sidebars-right-full .sidebars-right-grid {
    display: grid;
    gap: 20px;
}

/* .sidebars-right-full .sidebars-right-grid {
    margin-top: 50px;
} */

body.mobile-layout-active .sidebars-left,
body.mobile-layout-active .sidebars-right-partial,
body.mobile-layout-active .sidebars-right-full {
    display: none;
}

.bias-card {
    position: relative;
    overflow: hidden;
    background: #111;
    padding: 200% 20px 20px;
    min-height: 320px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: "Roboto", serif;
}

.bias-card> :not(.bias-image-wrapper) {
    position: relative;
    z-index: 2;
}

.bias-card-heading h3 {
    color: white;
    margin: 0 0 10px;
    font-size: 1.05rem;
    line-height: 1.3;
}

.bias-card-heading p {
    margin: 0;
    color: lightgrey;
    line-height: 1.5;
    font-size: 0.95rem;
}

.bias-card-button {
    background: transparent;
    color: #f4ecd8;
    text-decoration: none;
    border-radius: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    height: fit-content;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    position: relative;
}

.bias-card-button::after {
    content: '❯';
    margin-left: 12px;
    font-size: 1.1em;
}

.bias-card-button-active {
    background: linear-gradient(135deg, #f8d96a, #ebb349);
    color: #111;
    padding: min(10%, 16.7px);
    border-color: transparent;
    box-shadow: 0 10px 30px rgba(239, 196, 81, 0.25);
}

.bias-card-button-inactive {
    background: transparent;
    color: #f8d96a;
    padding: min(10%, 15px);
    border-color: rgba(248, 217, 106, 0.9);
    border: 2px solid rgba(248, 217, 106, 0.9);
}

.bias-card-button:hover {
    transform: scale(1.05);
}

.bias-card-button-inactive:hover {
    box-shadow: 0 5px 15px rgba(239, 196, 81, 0.25);
}

.bias-image-wrapper {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: linear-gradient(180deg, #101010 0%, #181818 100%);
    margin: 0;
    z-index: 0;
}

.bias-image-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.bias-image {
    position: relative;
    transform: translateY(-20px);
    inset: 0;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    opacity: 0;
    transition: opacity 0.45s ease;
    z-index: 1;
}

.bias-image-off {
    opacity: 1;
    z-index: 2;
}

.bias-image-on {
    opacity: 0;
    z-index: 1;
}

.bias-image-wrapper.bias-image-active .bias-image-off {
    opacity: 0;
    z-index: 1;
}

.bias-image-wrapper.bias-image-active .bias-image-on {
    opacity: 1;
    z-index: 2;
}

.bias-image-placeholder {
    display: none;
}

.bias-visibility-panel {
    display: flex;
    justify-content: center;
    align-items: center;
}

.bias-visibility-control {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.bias-visibility-count {
    min-width: auto;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.bias-visibility-count.bias-on {
    color: green;
}

.bias-visibility-count.bias-off {
    color: red;
}

.bias-switch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    /* Prevents the user from highlighting the image */
    user-select: none;
    -webkit-user-select: none;
    /* Safari */
    -ms-user-select: none;
    /* Internet Explorer/Edge */

    /* Prevents the 'ghost' image when trying to drag */
    -webkit-user-drag: none;

    /* Disables the long-press 'Save Image' menu on mobile */
    -webkit-touch-callout: none;
}

.bias-switch input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

.bias-switch-image {
    display: block;
    width: min(160px, 72%);
    max-width: 160px;
    height: auto;
    pointer-events: none;
}

#sidebars-left-item2 {
    /* Cheerful mid-tone Telegram blue gradient */
    background: linear-gradient(135deg, #73b9e8 0%, #3b82ba 100%);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 20px;
    position: relative;
    box-shadow: 0 4px 12px rgba(59, 130, 186, 0.2);
    box-sizing: border-box;
}

.telegram-3d-icon {
    width: 64px;
    height: 64px;
    position: absolute;
    top: -5px;
    right: -5px;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.12));
}

/* .telegram-card-content {
    padding-right: 48px;
} */

.telegram-title {
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1.3;
    font-weight: 700;
    margin: 0 0 6px 0;
    margin-right: 24px;
}

.telegram-text {
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 16px 0;
}

/* Glassmorphism button style */
.join-telegram-button {
    display: block;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff !important;
    text-decoration: none;
    text-align: center;
    font-weight: 600;
    font-size: 1.1rem;
    padding: 15px 10px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.join-telegram-button:hover {
    background: rgba(255, 255, 255, 0.28);
    border-color: rgba(255, 255, 255, 0.55);
    transform: scale(1.05);
}

/* NAVIGATION SECTION  */

#navContainer {
    padding: 20px 0;
    color: white;
    background-color: #1e1c1c;
    width: auto;
    display: flex;
    flex-direction: column;
}

#logo-link {
    display: flex;
    align-self: center;
}

#navContainer .logo {
    width: 75px;
    height: 75px;
    margin-top: 10px;
    cursor: pointer;
}

#navContainer .navigation-title-text {
    font-family: 'Lobster', serif;
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 1.625rem;
    color: white;
    font-weight: 400;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
}

#navContainer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#navContainer li {
    display: block;
}

#navContainer .navigation-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: white;
    padding: min(10%, 15px);
    margin-left: min(1%, 10px);
    width: 100%;
    font-size: 1.125rem;
    font-family: "Roboto", serif;
}

#navContainer .navigation-icon {
    width: 25px;
    height: 25px;
    cursor: pointer;
    fill: #939393;
    filter: brightness(0.7);
    transition: all .3s ease;
    margin-right: 10px;
}

#navContainer li:hover .navigation-icon {
    filter: brightness(1);
}

#navContainer li:hover {
    background-color: #1a1818;
}

.mobile-nav-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: stretch;
    /* Outer safety buffer between sidebars and screen edges */
    padding-top: var(--layout-top-padding);
    padding-bottom: clamp(10px, 1.5vw, 20px);
    padding-left: clamp(10px, 1.5vw, 20px);
    padding-right: clamp(10px, 1.5vw, 20px);
    box-sizing: border-box;

    .highlighted-articles-grid {
        position: relative;
        margin-top: 0;
        padding: 12px 12px 0;
    }

    .grid-container {
        grid-template-columns: 1fr;
    }

    .container {
        width: calc(100% - 24px);
        margin: 12px;
        min-height: auto;
        padding: 16px 0;
    }
}

.mobile-nav-content #navContainer {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #1e1c1c;
}

.mobile-nav-content #navContainer .navigation-link {
    box-sizing: border-box;
}

/* Fixes conflicting system wrapper styles while preserving important layout positioning */
#sidebars-right-item1 {
    position: relative;
    font-family: "Roboto", serif;
    font-weight: regular;
    border-radius: 16px;
    /* Preserves your essential vertical margins */
    margin-bottom: 20px;
    overflow: hidden;
    background: transparent;
}

#sidebars-right-item1 .live-notes-wallpaper {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
}

#sidebars-right-item1 .live-note-bubble-target a {
    margin: 10px;
    cursor: pointer;
    text-decoration: none;
    color: black;
    display: block;
    float: none;
}

/* Container adjustments - Deeply zoomed-out wallpaper and custom sage-green gradient wash */
.live-notes-container {
    position: relative;
    min-height: 100%;
    background-color: #94b28a;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.05);
    isolation: isolate;
}

.live-notes-container>.live-notes-wallpaper {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
}

/* Smoothed, ultra-gradual fade-in blend masks matching image_465904.png */
.live-notes-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 52px;
    background: linear-gradient(to bottom, #94b28a 5%, rgba(148, 178, 138, 0.9) 35%, rgba(148, 178, 138, 0));
    z-index: 5;
    pointer-events: none;
}

.live-notes-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 52px;
    background: linear-gradient(to top, #94b28a 8%, rgba(148, 178, 138, 0.9) 40%, rgba(148, 178, 138, 0));
    z-index: 5;
    pointer-events: none;
}

/* Floating top capsule */
.live-notes-header {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(254, 254, 254, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 10px 24px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    z-index: 10;
    width: 85%;
    white-space: nowrap;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.online-indicator {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.online-indicator img {
    width: 100%;
    height: 100%;
    height: 48px;
    width: 48px;
    object-fit: contain;
}

/* Attachment preview controls and contextual drop-wrappers */
.live-note-attachments {
    font-size: 0.75rem;
    color: #2481CC;
    display: block;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: 2px;
}

.live-note-attachments:hover {
    text-decoration: underline;
}

.live-note-attachments-wrapper {
    position: relative;
    display: block;
    width: fit-content;
    z-index: 3;
    /* Elevated hover layout focus layer */
}

.attachment-preview {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 100;
}

.live-note-attachments-wrapper:hover .attachment-preview {
    display: block;
}

.live-note-attachments:hover+.attachment-preview {
    display: block;
}

.preview-thumbnails {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 4px;
    align-items: center;
}

.preview-image-thumbnail,
.preview-video-thumbnail {
    height: 60px;
    width: auto;
    max-width: 120px;
    flex: 0 0 auto;
    border-radius: 4px;
}

/* Floating bottom capsule button link layout */
.live-notes-show-all {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(254, 254, 254, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 12px 0;
    border-radius: 24px;
    color: #111111;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    cursor: pointer;
    text-align: center;
    width: 85%;
    z-index: 10;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.live-notes-show-all:hover {
    background-color: #ffffff;
    transform: translateX(-50%) scale(1.02);
}

.nav-container-background {
    background-color: transparent;
    z-index: 200;
    height: 675px;
    position: relative;
}

.nav-container-background::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: calc(-1 * var(--layout-top-padding));
    bottom: var(--layout-top-padding);
    left: calc(-1 * var(--layout-breakout));
    width: calc(100% + var(--layout-breakout));
    background-color: black;
}

.live-notes-title {
    margin: 0;
    font-size: 1.03125rem;
    font-weight: 700;
    color: #111111;
    text-transform: none;
    letter-spacing: -0.2px;
}

/* Chat stream scroll listing region */
.live-notes-list {
    padding: 70px 10px 85px 24px;
    /* Balanced protective padding to keep tail clear of edges */
    max-height: 510px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Target only live note items inside the live notes list to beat line 1320 */
.live-notes-list .live-note-item {
    padding: 11px 14px;
    gap: 4px;
    color: #000000;
    background-color: #ffffff;
    position: relative;
    width: 94%;
    box-sizing: border-box;
    transition: transform 0.15s ease, box-shadow 0.15s ease;

    /* 1. FORCE THE LAYOUT (Overrides line 1320's display: block) */
    display: flex !important;
    flex-direction: column;

    /* 2. REMOVE GENERIC CARD BORDER (Overrides line 1320's border) */
    border: none !important;

    /* 3. APPLY CORRECT TELEGRAM CORNERS (Overrides line 1320's border-radius) */
    border-radius: 12px 12px 12px 0px !important;

    /* 4. SHADOWS */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Hover state override */
.live-notes-list .live-note-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* Invisible block click target layer - Handles full bubble clicking safely */
.live-note-bubble-target {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: auto;
    /* Sits over the bubble base layout */
}

/* White Telegram-style tail */
.live-notes-list .live-note-item::before {
    content: "";
    position: absolute;
    left: -11px;
    bottom: 0;
    width: 12px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='16' viewBox='0 0 12 16'><path d='M12 0C12 6 8 12 0 16H12V0Z' fill='%23ffffff'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

/* Strictly forced right-aligned date/time footer string layout */
.live-note-time {
    font-size: 0.6875rem;
    font-weight: 400;
    color: #707579;
    text-transform: lowercase;
    text-align: right;
    /* Aligns text block to the right */
    display: block;
    pointer-events: none;
    width: 100%;
    margin-top: 4px;
    position: relative;
    z-index: 2;
    /* Keeps text element layer on top */
}

/* LIVE NOTES TEXT CLEARING SECTION */

/* Paragraph target - Structural multi-line text clamping configuration */
p.live-note-text {
    font-size: 0.90625rem;
    color: #000000;
    font-weight: 400;
    line-height: 1.4;
    word-wrap: break-word;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    pointer-events: none;
    /* Sits above full bubble link layer */

    /* Enforced CSS Line clamping configuration rules */
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Inline markdown-parsed hyperlinks - Strict colorization only */
p.live-note-text a,
.text-with-link {
    color: #2481CC;
    /* Authentic Telegram blue accent color */
    text-decoration: none !important;
    font-weight: 500 !important;
    display: inline !important;
    /* Flows normally inside inline-box paragraph streams */
    position: relative;
    z-index: 3;
    pointer-events: auto;
    /* Elevated priority so individual links remain clickable */
}

p.live-note-text a:hover,
.text-with-link:hover {
    text-decoration: underline !important;
}

/* FOOTER SECTION */

/* Base footer styles (without min-width locks) */
footer {
    background-color: black;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    text-align: center;
    padding: 1%;
    position: relative;
    bottom: 0;
    height: fit-content;
    font-family: "Roboto", serif;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(200px, 1fr));
}

.footer-grid-item-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.footer-grid-item-list li {
    margin-bottom: 10px;
}

.footer-text {
    text-decoration: none;
    color: #7d7d7d;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.footer-text:hover {
    color: white;
}

.footer-bold-text {
    text-decoration: none;
    font-weight: bold;
    color: #b5b5b5;
    font-size: 0.875rem;
}

/* This keeps your general footer text as is */
.footer-below-text {
    text-decoration: none;
    color: #b5b5b5;
    text-align: center;
    width: 100%;
}

/* This targets the link specifically */
.footer-below-text a {
    color: inherit;
    /* Inherits #b5b5b5 from the parent */
    text-decoration: underline;
    /* Adds the underline back to the link only */
    transition: all 0.3s ease;
}

/* Optional: Keep it looking the same when hovered */
.footer-below-text a:hover {
    color: #ffffff;
    /* Slight change on hover so user knows it's clickable */
}