:root {
        /* — Background layers — */
        --bg-base:        #0d0f12;
        --bg-surface:     #13161b;
        --bg-elevated:    #1a1e26;
        --bg-subtle:      #21262f;
        --bg-muted:       #2a303c;

        /* — Typography — */
        --text-primary:   #e8eaf0;
        --text-secondary: #9ba3b2;
        --text-muted:     #5c6370;

        /* — Racing Accent — */
        --accent:         #E8001D;
        --accent-hover:   #ff1a33;
        --accent-dim:     rgba(232, 0, 29, 0.15);
        --accent-ring:    rgba(232, 0, 29, 0.35);

        /* — Borders — */
        --border-subtle:  rgba(255,255,255,0.06);
        --border-default: rgba(255,255,255,0.10);
        --border-strong:  rgba(255,255,255,0.18);
        --border-accent:  var(--accent);

        /* — Geometry — */
        --radius-sm:   6px;
        --radius-md:   10px;
        --radius-lg:   14px;
        --radius-xl:   20px;
        --radius-pill: 999px;

        /* — Shadows — */
        --shadow-sm:     0 1px 3px rgba(0,0,0,0.4), 0 1px 2px rgba(0,0,0,0.3);
        --shadow-md:     0 4px 12px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.3);
        --shadow-lg:     0 12px 32px rgba(0,0,0,0.6), 0 4px 8px rgba(0,0,0,0.4);
        --shadow-xl:     0 24px 64px rgba(0,0,0,0.7);
        --shadow-accent: 0 4px 20px rgba(232,0,29,0.30);

        /* — Transitions — */
        --transition-fast:   all 0.15s ease;
        --transition-base:   all 0.25s ease;
        --transition-smooth: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

        /* — Legacy aliases so all existing CSS keeps working — */
        --red:     #E8001D;
        --red2:    #c5001a;
        --dark:    #0d0f12;
        --mid:     #13161b;
        --surface: #1a1e26;
        --card:    #1a1e26;
        --border:  rgba(255,255,255,0.06);
        --border2: rgba(255,255,255,0.10);
        --gold:    #ffb800;
        --green:   #00e676;
        --text:    #9ba3b2;
        --muted:   #5c6370;
        --white:   #e8eaf0;

        /* — Fonts — */
        --font-display: 'Barlow Condensed', sans-serif;
        --font-body:    'DM Sans', 'Barlow', sans-serif;
      }
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
        font-size: 16px;
      }
      body {
        background: var(--bg-base);
        color: var(--text-primary);
        font-family: var(--font-body);
        font-weight: 400;
        line-height: 1.65;
        min-height: 100vh;
        overflow-x: hidden;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        background: repeating-linear-gradient(
          -60deg,
          transparent,
          transparent 80px,
          rgba(255, 255, 255, 0.008) 80px,
          rgba(255, 255, 255, 0.008) 81px
        );
        pointer-events: none;
        z-index: 0;
      }
      /* Custom scrollbar — test.html style */
      ::-webkit-scrollbar { width: 8px; height: 8px; }
      ::-webkit-scrollbar-track { background: var(--bg-base); }
      ::-webkit-scrollbar-thumb { background: var(--bg-muted); border-radius: var(--radius-pill); border: 2px solid var(--bg-base); }
      ::-webkit-scrollbar-thumb:hover { background: var(--accent); }
      * { scrollbar-width: thin; scrollbar-color: var(--bg-muted) var(--bg-base); }
      /* Focus ring */
      :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
      :focus:not(:focus-visible) { outline: none; }
      /* Text selection */
      ::selection { background: var(--accent-dim); color: var(--text-primary); }

      /* LOADER */
      #loader {
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: var(--dark);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        overflow: hidden;
      }
      .loader-logo {
        position: absolute;
        top: 14%;
        font-family: "Bebas Neue", sans-serif;
        font-size: 3.2rem;
        letter-spacing: 8px;
        color: var(--white);
        animation: logoPulse 1.8s ease-in-out forwards;
      }
      .loader-logo em {
        color: var(--red);
        font-style: normal;
        text-shadow: 0 0 20px rgba(232, 0, 29, 0.6);
      }
      @keyframes logoPulse {
        0% {
          opacity: 0;
          transform: scale(0.9) translateY(-10px);
        }
        15% {
          opacity: 1;
          transform: scale(1) translateY(0);
        }
        80% {
          opacity: 1;
        }
        100% {
          opacity: 0;
        }
      }
      .loader-track-wrap {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        height: 80px;
        overflow: visible;
      }
      .loader-road {
        width: 100%;
        height: 8px;
        background: rgba(255, 255, 255, 0.06);
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
      }
      .loader-road::before {
        content: "";
        position: absolute;
        top: -2px;
        left: 0;
        right: 0;
        height: 2px;
        background: rgba(255, 255, 255, 0.03);
      }
      .loader-road::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        height: 2px;
        background: rgba(255, 255, 255, 0.03);
      }
      .loader-center-line {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        height: 2px;
        background: repeating-linear-gradient(
          90deg,
          rgba(255, 184, 0, 0.5) 0,
          rgba(255, 184, 0, 0.5) 30px,
          transparent 30px,
          transparent 60px
        );
        animation: moveDashes 0.3s linear infinite;
      }
      @keyframes moveDashes {
        from {
          background-position: 0;
        }
        to {
          background-position: 60px;
        }
      }
      .loader-kerb-l {
        position: absolute;
        top: 50%;
        transform: translateY(-80%);
        left: 0;
        width: 100%;
        height: 6px;
        background: repeating-linear-gradient(
          90deg,
          var(--red) 0,
          var(--red) 12px,
          #fff 12px,
          #fff 24px
        );
        opacity: 0.3;
      }
      .loader-kerb-r {
        position: absolute;
        top: 50%;
        transform: translateY(60%);
        left: 0;
        width: 100%;
        height: 6px;
        background: repeating-linear-gradient(
          90deg,
          var(--red) 0,
          var(--red) 12px,
          #fff 12px,
          #fff 24px
        );
        opacity: 0.3;
      }
      .f1-car-wrap {
        position: absolute;
        top: 50%;
        transform: translateY(-58%);
        left: -340px;
        animation: f1Drive 1.8s cubic-bezier(0.08, 0, 0.38, 1) forwards;
      }
      @keyframes f1Drive {
        0% {
          left: -340px;
          opacity: 1;
        }
        60% {
          left: 48%;
          opacity: 1;
        }
        78% {
          left: 54%;
        }
        100% {
          left: 115%;
          opacity: 0;
        }
      }
      .exhaust-trail {
        position: absolute;
        left: -70px;
        top: 30px;
        display: flex;
        gap: 2px;
        align-items: center;
      }
      .ex-puff {
        border-radius: 50%;
        filter: blur(5px);
        animation: puffAnim 0.1s linear infinite alternate;
      }
      @keyframes puffAnim {
        from {
          transform: scaleX(1) scaleY(1);
        }
        to {
          transform: scaleX(1.4) scaleY(0.7);
        }
      }
      .ex1 {
        width: 36px;
        height: 10px;
        background: rgba(232, 0, 29, 0.75);
      }
      .ex2 {
        width: 26px;
        height: 7px;
        background: rgba(255, 100, 0, 0.45);
      }
      .ex3 {
        width: 18px;
        height: 5px;
        background: rgba(255, 200, 0, 0.25);
      }
      .heat {
        position: absolute;
        left: -90px;
        top: 24px;
        width: 90px;
        height: 20px;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(232, 0, 29, 0.12),
          transparent
        );
        filter: blur(7px);
        animation: heatWave 0.15s ease-in-out infinite alternate;
      }
      @keyframes heatWave {
        from {
          transform: scaleY(1);
        }
        to {
          transform: scaleY(1.5);
        }
      }
      .car-shadow {
        position: absolute;
        bottom: -10px;
        left: 5px;
        width: 200px;
        height: 10px;
        background: rgba(0, 0, 0, 0.6);
        filter: blur(5px);
        border-radius: 50%;
      }
      .loader-bottom {
        position: absolute;
        bottom: 10%;
        width: 360px;
        left: 50%;
        transform: translateX(-50%);
      }
      .loader-lap {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--muted);
        text-align: center;
        margin-bottom: 10px;
      }
      .loader-bar {
        height: 3px;
        background: rgba(255, 255, 255, 0.06);
        border-radius: 1px;
        overflow: hidden;
      }
      .loader-fill {
        height: 100%;
        background: var(--red);
        box-shadow: 0 0 14px rgba(232, 0, 29, 0.8);
        animation: barFill 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
      }
      @keyframes barFill {
        0% {
          width: 0%;
        }
        30% {
          width: 35%;
        }
        65% {
          width: 72%;
        }
        90% {
          width: 93%;
        }
        100% {
          width: 100%;
        }
      }
      .loader-sectors {
        display: flex;
        gap: 4px;
        margin-top: 7px;
      }
      .sector {
        flex: 1;
        height: 3px;
        background: rgba(255, 255, 255, 0.06);
        border-radius: 1px;
        overflow: hidden;
      }
      .sector-fill {
        height: 100%;
        width: 0%;
        transition: width 0.5s ease;
      }
      #loader.hide {
        animation: loaderHide 0.5s ease-in forwards;
        pointer-events: none;
      }
      @keyframes loaderHide {
        to {
          opacity: 0;
        }
      }

      /* TRANSITION */
      #trans {
        position: fixed;
        inset: 0;
        z-index: 500;
        display: flex;
        pointer-events: none;
      }
      .ts {
        flex: 1;
        transform: scaleY(0);
      }
      .ts:nth-child(1) {
        background: var(--red);
      }
      .ts:nth-child(2) {
        background: #cc0018;
      }
      .ts:nth-child(3) {
        background: #0d0d0d;
      }
      .ts:nth-child(4) {
        background: #0a0a0a;
      }
      .ts:nth-child(5) {
        background: var(--red);
      }
      #trans.in .ts {
        animation: tsIn 0.32s cubic-bezier(0.76, 0, 0.24, 1) both;
      }
      #trans.in .ts:nth-child(1) {
        animation-delay: 0s;
      }
      #trans.in .ts:nth-child(2) {
        animation-delay: 0.04s;
      }
      #trans.in .ts:nth-child(3) {
        animation-delay: 0.08s;
      }
      #trans.in .ts:nth-child(4) {
        animation-delay: 0.12s;
      }
      #trans.in .ts:nth-child(5) {
        animation-delay: 0.16s;
      }
      #trans.out .ts {
        animation: tsOut 0.32s cubic-bezier(0.76, 0, 0.24, 1) both;
      }
      #trans.out .ts:nth-child(1) {
        animation-delay: 0.16s;
      }
      #trans.out .ts:nth-child(2) {
        animation-delay: 0.12s;
      }
      #trans.out .ts:nth-child(3) {
        animation-delay: 0.08s;
      }
      #trans.out .ts:nth-child(4) {
        animation-delay: 0.04s;
      }
      #trans.out .ts:nth-child(5) {
        animation-delay: 0s;
      }
      @keyframes tsIn {
        0% {
          transform: scaleY(0);
          transform-origin: bottom;
        }
        100% {
          transform: scaleY(1);
          transform-origin: bottom;
        }
      }
      @keyframes tsOut {
        0% {
          transform: scaleY(1);
          transform-origin: top;
        }
        100% {
          transform: scaleY(0);
          transform-origin: top;
        }
      }

      /* HEADER */
      header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 200;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2.5rem;
        background: rgba(13, 15, 18, 0.93);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid var(--border2);
      }
      header::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 4px;
        height: 4px;
        background: var(--red);
      }
      .logo {
        display: flex;
        align-items: center;
        gap: 12px;
        cursor: pointer;
        user-select: none;
      }
      .logo-mark {
        width: 36px;
        height: 36px;
        background: var(--red);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 12px rgba(232, 0, 29, 0.4);
        border: 2px solid rgba(232, 0, 29, 0.5);
      }
      .logo-mark svg {
        width: 14px;
        height: 14px;
        fill: #fff;
      }
      .logo-name {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.5rem;
        letter-spacing: 4px;
        color: var(--white);
        line-height: 1;
      }
      .logo-sub {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.58rem;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--muted);
      }
      nav {
        display: flex;
        gap: 1px;
        align-items: center;
      }
      .nb {
        background: none;
        border: none;
        color: var(--muted);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 9px 12px;
        cursor: pointer;
        border-radius: 8px;
        transition: color 0.3s ease, background 0.3s ease;
        position: relative;
      }
      .nb::after {
        content: "";
        position: absolute;
        bottom: 5px;
        left: 12px;
        right: 12px;
        height: 2px;
        background: var(--red);
        transform: scaleX(0);
        transition: transform 0.2s;
      }
      .nb:hover {
        color: var(--white);
        background: rgba(255, 255, 255, 0.04);
      }
      .nb:hover::after,
      .nb.active::after {
        transform: scaleX(1);
      }
      .nb.active {
        color: var(--white);
      }
      .nb-admin {
        background: rgba(232, 0, 29, 0.08);
        border: 1px solid rgba(232, 0, 29, 0.25);
        color: var(--red) !important;
        margin-left: 4px;
        display: none;
      }
      .nb-admin.vis {
        display: inline-block;
      }
      .nb-admin:hover {
        background: rgba(232, 0, 29, 0.15) !important;
      }

      /* USER AVATAR */
      .user-avatar-wrap {
        position: relative;
        margin-left: 8px;
        display: none;
      }
      .user-avatar-wrap.vis {
        display: block;
      }
      .user-avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 2px solid var(--red);
        cursor: pointer;
        background: var(--card);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 0.9rem;
        color: var(--white);
        overflow: hidden;
        transition: box-shadow 0.2s;
        position: relative;
      }
      .user-avatar:hover {
        box-shadow: 0 0 0 3px rgba(232, 0, 29, 0.3);
      }
      .user-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
      }
      .user-dropdown {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        width: 280px;
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 12px;
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.65);
        z-index: 300;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px) scale(0.97);
        transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
        transform-origin: top right;
      }
      .user-dropdown.open {
        opacity: 1;
        pointer-events: all;
        transform: translateY(0) scale(1);
      }
      .user-drop-header {
        padding: 1.2rem 1.5rem;
        border-bottom: 1px solid var(--border2);
        display: flex;
        align-items: center;
        gap: 0.9rem;
      }
      .user-drop-avatar {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 2px solid var(--red);
        overflow: hidden;
        flex-shrink: 0;
        background: var(--surface);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.1rem;
        color: var(--white);
        position: relative;
      }
      .user-drop-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .user-drop-name {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        letter-spacing: 1px;
        color: var(--white);
        font-size: 0.95rem;
      }
      .user-drop-email {
        font-size: 0.72rem;
        color: var(--muted);
        margin-top: 2px;
      }
      .user-drop-role {
        font-size: 0.65rem;
        color: var(--red);
        letter-spacing: 2px;
        text-transform: uppercase;
        margin-top: 3px;
      }
      .user-drop-body {
        padding: 0.75rem;
      }
      .user-drop-item {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.65rem 0.75rem;
        border-radius: 7px;
        cursor: pointer;
        font-size: 0.85rem;
        color: var(--muted);
        transition: all 0.25s ease;
      }
      .user-drop-item:hover {
        background: rgba(232, 0, 29, 0.06);
        color: var(--white);
      }
      .user-drop-item svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
        flex-shrink: 0;
      }
      .user-drop-item.danger {
        color: #ff3355;
      }
      .user-drop-item.danger:hover {
        background: rgba(255, 51, 85, 0.08);
      }
      .user-drop-divider {
        height: 1px;
        background: var(--border2);
        margin: 0.4rem 0;
      }
      /* Profile settings panel */
      .profile-panel {
        padding: 1.5rem;
      }
      .profile-panel .fg {
        margin-bottom: 0.9rem;
      }
      .avatar-upload-row {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.2rem;
      }
      .avatar-preview {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border: 2px solid var(--red);
        overflow: hidden;
        flex-shrink: 0;
        background: var(--surface);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        color: var(--white);
        position: relative;
      }
      .avatar-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .avatar-upload-btn {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.68rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
        cursor: pointer;
        padding: 8px 14px;
        border: 1px solid var(--border2);
        border-radius: 8px;
        transition: all 0.3s ease;
      }
      .avatar-upload-btn:hover {
        border-color: var(--red);
        color: var(--red);
        background: rgba(232, 0, 29, 0.06);
      }
      input#avatarFileInput {
        display: none;
      }

      /* PAGES */
      .page {
        display: none;
        padding-top: 64px;
        min-height: 100vh;
        position: relative;
        z-index: 1;
      }
      .page.active {
        display: block;
        animation: pgIn 0.4s ease-out both;
      }
      @keyframes pgIn {
        from {
          opacity: 0;
          transform: translateY(8px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* HOME */
      .hero {
        min-height: calc(100vh - 64px);
        position: relative;
        display: flex;
        align-items: center;
        overflow: hidden;
      }
      .hero-bar {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 5px;
        background: linear-gradient(
          180deg,
          transparent,
          var(--red),
          var(--red),
          transparent
        );
      }
      .speed-lines {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 55%;
        overflow: hidden;
        pointer-events: none;
      }
      .sl {
        position: absolute;
        height: 1px;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(232, 0, 29, 0.18),
          transparent
        );
        right: 0;
        animation: slAnim linear infinite;
      }
      @keyframes slAnim {
        from {
          transform: translateX(100%);
        }
        to {
          transform: translateX(-200%);
        }
      }
      .hero-ghost-n {
        position: absolute;
        right: -40px;
        bottom: -60px;
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(260px, 32vw, 480px);
        color: rgba(255, 255, 255, 0.022);
        line-height: 1;
        pointer-events: none;
        user-select: none;
      }
      .hero-content {
        padding: 0 5rem;
        position: relative;
        z-index: 2;
        animation: heroReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) both 0.2s;
      }
      @keyframes heroReveal {
        from {
          opacity: 0;
          transform: translateX(-30px);
        }
        to {
          opacity: 1;
          transform: translateX(0);
        }
      }
      .eyebrow {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        letter-spacing: 6px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 1.2rem;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .eyebrow::before {
        content: "";
        width: 20px;
        height: 1px;
        background: var(--red);
      }
      .hero-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(4rem, 8vw, 9rem);
        line-height: 0.88;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 1.5rem;
      }
      .hero-title .r {
        color: var(--red);
        display: block;
      }
      .hero-title .ghost {
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.14);
        color: transparent;
        display: block;
      }
      .hero-sub {
        font-size: 1rem;
        color: var(--muted);
        font-weight: 300;
        line-height: 1.8;
        max-width: 440px;
        margin-bottom: 2.5rem;
      }
      .hero-img-wrap {
        position: absolute;
        right: 5%;
        top: 50%;
        transform: translateY(-50%);
        width: 40%;
        max-width: 500px;
        display: none;
      }
      .hero-img-wrap.vis {
        display: block;
      }
      .hero-img-wrap img {
        width: 100%;
        border-radius: 3px;
        border: 1px solid var(--border2);
        object-fit: cover;
        max-height: 360px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
      }
      .cta-row {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
      }
      .btn-red {
        background: var(--accent);
        color: #fff;
        border: none;
        font-family: var(--font-display);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        padding: 14px 32px;
        cursor: pointer;
        clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 100%, 10px 100%);
        transition: var(--transition-smooth);
        box-shadow: var(--shadow-accent);
        position: relative;
        overflow: hidden;
      }
      .btn-red::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,0.08);
        opacity: 0;
        transition: opacity 0.2s ease;
      }
      .btn-red:hover::after { opacity: 1; }
      .btn-red:hover {
        background: var(--accent-hover);
        transform: translateY(-3px);
        box-shadow: 0 8px 28px rgba(232,0,29,0.45);
      }
      .btn-red:active { transform: translateY(0); box-shadow: var(--shadow-accent); }
      .btn-ghost {
        background: transparent;
        color: var(--text-secondary);
        border: 1.5px solid var(--border-default);
        font-family: var(--font-display);
        font-size: 0.78rem;
        font-weight: 600;
        letter-spacing: 3px;
        text-transform: uppercase;
        padding: 13px 30px;
        cursor: pointer;
        border-radius: var(--radius-md);
        transition: var(--transition-smooth);
      }
      .btn-ghost:hover {
        border-color: var(--border-strong);
        background: var(--bg-elevated);
        color: var(--text-primary);
        transform: translateY(-2px);
      }
      .stats-band {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1px;
        background: var(--border);
        border-top: 1px solid var(--border2);
        border-bottom: 1px solid var(--border2);
        margin: 0 5rem;
      }
      .stat-box {
        background: var(--surface);
        padding: 2rem 1.5rem;
        text-align: center;
        position: relative;
        overflow: hidden;
        transition: background 0.25s;
      }
      .stat-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--red);
        transform: scaleX(0);
        transition: transform 0.3s;
      }
      .stat-box:hover::before {
        transform: scaleX(1);
      }
      .stat-box:hover {
        background: var(--card);
      }
      .stat-val {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.8rem;
        color: var(--red);
        line-height: 1;
      }
      .stat-lbl {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        margin-top: 4px;
      }
      .section {
        padding: 4.5rem 5rem;
      }
      .sec-head {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        margin-bottom: 2.5rem;
      }
      .sec-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.2rem;
        letter-spacing: 3px;
        color: var(--white);
        white-space: nowrap;
      }
      .sec-title .r {
        color: var(--red);
      }
      .sec-line {
        flex: 1;
        height: 1px;
        background: linear-gradient(90deg, var(--border2), transparent);
      }
      .driver-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
      }
      .driver-card {
        background: var(--card);
        border: 1px solid var(--border);
        overflow: hidden;
        position: relative;
        transition: all 0.3s ease;
        cursor: pointer;
        border-radius: 10px;
      }
      .driver-card:hover {
        border-color: rgba(232, 0, 29, 0.45);
        transform: translateY(-6px);
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(232, 0, 29, 0.12);
      }
      .driver-card-top {
        height: 3px;
        background: linear-gradient(90deg, var(--red), #ff4466);
      }
      .driver-num-bg {
        position: absolute;
        top: -10px;
        right: 8px;
        font-family: "Bebas Neue", sans-serif;
        font-size: 6rem;
        color: rgba(232, 0, 29, 0.07);
        line-height: 1;
        pointer-events: none;
      }
      .driver-body {
        padding: 1.8rem 1.8rem 1.2rem;
      }
      .driver-role {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 3px;
      }
      .driver-name {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.7rem;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 4px;
      }
      .driver-desc {
        font-size: 0.82rem;
        color: var(--muted);
        font-weight: 300;
      }
      .driver-foot {
        border-top: 1px solid var(--border);
        padding: 0.8rem 1.8rem;
        display: flex;
        justify-content: space-between;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.68rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
      }
      .dot-green {
        display: inline-block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--green);
        box-shadow: 0 0 6px var(--green);
        margin-right: 5px;
        animation: pulseG 2s infinite;
      }
      @keyframes pulseG {
        0%,
        100% {
          opacity: 1;
        }
        50% {
          opacity: 0.3;
        }
      }

      /* NEWS SECTION */
      .news-section {
        padding: 0 5rem 4.5rem;
      }
      .news-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.5rem;
      }
      .news-card {
        background: var(--card);
        border: 1px solid var(--border);
        border-radius: 10px;
        overflow: hidden;
        cursor: pointer;
        transition: all 0.3s ease;
      }
      .news-card:hover {
        border-color: rgba(232, 0, 29, 0.35);
        transform: translateY(-5px);
        box-shadow: 0 14px 44px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(232, 0, 29, 0.1);
      }
      .news-card-img {
        width: 100%;
        height: 160px;
        object-fit: cover;
        background: var(--surface);
        display: block;
      }
      .news-card-img-placeholder {
        width: 100%;
        height: 160px;
        background: linear-gradient(135deg, var(--surface), var(--card));
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .news-card-img-placeholder svg {
        width: 40px;
        height: 40px;
        fill: var(--border2);
      }
      .news-card-body {
        padding: 1.2rem 1.4rem 1.4rem;
      }
      .news-card-cat {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 4px;
      }
      .news-card-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 1px;
        color: var(--white);
        margin-bottom: 0.4rem;
        line-height: 1.1;
      }
      .news-card-excerpt {
        font-size: 0.82rem;
        color: var(--muted);
        font-weight: 300;
        line-height: 1.6;
        margin-bottom: 0.8rem;
      }
      .news-card-date {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
      }
      /* News modal */
      .news-modal-bg {
        position: fixed;
        inset: 0;
        z-index: 600;
        background: rgba(8, 8, 8, 0.94);
        backdrop-filter: blur(16px);
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 80px 2rem 2rem;
        overflow-y: auto;
      }
      .news-modal-bg.open {
        display: flex;
      }
      .news-modal {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 14px;
        max-width: 760px;
        width: 100%;
        position: relative;
      }
      .news-modal-img {
        width: 100%;
        max-height: 320px;
        object-fit: cover;
        display: block;
      }
      .news-modal-body {
        padding: 2rem 2.5rem;
      }
      .news-modal-cat {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 0.5rem;
      }
      .news-modal-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.2rem;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 0.5rem;
        line-height: 1;
      }
      .news-modal-meta {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.68rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 1.5rem;
      }
      .news-modal-content {
        font-size: 0.95rem;
        color: var(--text);
        line-height: 1.8;
        font-weight: 300;
      }
      .news-modal-close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        background: rgba(8, 8, 8, 0.7);
        border: 1px solid var(--border2);
        color: var(--muted);
        width: 36px;
        height: 36px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        transition: all 0.2s;
      }
      .news-modal-close:hover {
        border-color: var(--red);
        color: var(--red);
      }

      /* CREW MEMBER MODAL */
      .crew-modal-bg {
        position: fixed;
        inset: 0;
        z-index: 700;
        background: rgba(4, 4, 4, 0.96);
        backdrop-filter: blur(20px);
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 60px 2rem 2rem;
        overflow-y: auto;
      }
      .crew-modal-bg.open { display: flex; }
      .crew-modal {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 14px;
        max-width: 860px;
        width: 100%;
        position: relative;
        overflow: hidden;
      }
      .crew-modal-accent {
        height: 4px;
        background: linear-gradient(90deg, var(--red), #ff4466, transparent);
      }
      .crew-modal-hero {
        display: grid;
        grid-template-columns: 260px 1fr;
        gap: 0;
      }
      .crew-modal-photo-wrap {
        position: relative;
        overflow: hidden;
        background: #111;
        min-height: 300px;
      }
      .crew-modal-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: grayscale(20%);
      }
      .crew-modal-photo-placeholder {
        width: 100%;
        height: 100%;
        min-height: 300px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #111 0%, #1a1a1a 100%);
        color: rgba(232,0,29,0.15);
      }
      .crew-modal-photo-placeholder .ph-num {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 7rem;
        line-height: 1;
        color: rgba(232,0,29,0.12);
      }
      .crew-modal-header {
        padding: 2rem 2.5rem 1.5rem;
        border-bottom: 1px solid var(--border);
      }
      .crew-modal-role {
        font-family: 'Barlow Condensed', sans-serif;
        font-size: 0.62rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 6px;
      }
      .crew-modal-name {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 3rem;
        letter-spacing: 3px;
        color: var(--white);
        line-height: 1;
        margin-bottom: 8px;
      }
      .crew-modal-badges {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
        margin-top: 10px;
      }
      .crew-modal-badge {
        font-family: 'Barlow Condensed', sans-serif;
        font-size: 0.6rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 3px 10px;
        border: 1px solid var(--border2);
        border-radius: 6px;
        color: var(--muted);
      }
      .crew-modal-badge.active {
        border-color: rgba(0,220,100,0.4);
        color: var(--green);
      }
      .crew-modal-body {
        padding: 2rem 2.5rem;
      }
      .crew-modal-section-title {
        font-family: 'Barlow Condensed', sans-serif;
        font-size: 0.62rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 0.8rem;
        padding-bottom: 0.4rem;
        border-bottom: 1px solid var(--border);
      }
      .crew-modal-bio {
        font-size: 0.92rem;
        color: var(--text);
        line-height: 1.85;
        font-weight: 300;
        margin-bottom: 2rem;
        white-space: pre-wrap;
      }
      .crew-modal-cv {
        font-size: 0.85rem;
        color: var(--text);
        line-height: 1.8;
        font-weight: 300;
        white-space: pre-wrap;
      }
      .crew-modal-close {
        position: absolute;
        top: 1.2rem;
        right: 1.2rem;
        background: rgba(8,8,8,0.8);
        border: 1px solid var(--border2);
        color: var(--muted);
        width: 36px;
        height: 36px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        transition: all 0.2s;
        z-index: 10;
      }
      .crew-modal-close:hover { border-color: var(--red); color: var(--red); background: rgba(232, 0, 29, 0.08); }
      .crew-modal-no-content {
        font-size: 0.8rem;
        color: var(--muted);
        font-style: italic;
      }
      @media (max-width: 700px) {
        .crew-modal-hero { grid-template-columns: 1fr; }
        .crew-modal-photo-wrap { min-height: 200px; max-height: 220px; }
      }

      /* SPONSORS */
      .sponsors-section {
        padding: 3rem 5rem;
        background: var(--surface);
        border-top: 1px solid var(--border2);
      }
      .sponsors-ttl {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--muted);
        text-align: center;
        margin-bottom: 2rem;
      }
      .sponsors-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 1px;
        background: var(--border);
      }
      .sponsor-card {
        background: var(--card);
        padding: 1.8rem 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        cursor: pointer;
        transition: all 0.3s ease;
        flex: 1;
        min-width: 140px;
      }
      .sponsor-card:hover {
        background: rgba(232, 0, 29, 0.05);
        transform: translateY(-3px);
      }
      .sponsor-logo-img {
        width: 68px;
        height: 68px;
        border-radius: 50%;
        object-fit: cover;
        background: var(--surface);
        border: 2px solid var(--border2);
        box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.03);
      }
      .sponsor-logo-txt {
        width: 68px;
        height: 68px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1rem;
        letter-spacing: 1px;
        box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.03);
      }
      .sponsor-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.78rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--white);
        text-align: center;
      }
      .sponsor-tier {
        font-size: 0.6rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        text-align: center;
      }

      /* AUTH PAGES */
      .auth-page {
        min-height: calc(100vh - 64px);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem;
      }
      .auth-box {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 14px;
        padding: 2.75rem;
        width: 100%;
        max-width: 460px;
        position: relative;
        box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
      }
      .auth-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(
          90deg,
          transparent,
          var(--red),
          transparent
        );
      }
      .auth-logo {
        text-align: center;
        margin-bottom: 1.5rem;
      }
      .auth-logo-mark {
        width: 40px;
        height: 40px;
        background: var(--red);
        clip-path: polygon(0 0, 68% 0, 100% 50%, 68% 100%, 0 100%, 32% 50%);
        margin: 0 auto 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .auth-logo-mark svg {
        width: 16px;
        height: 16px;
        fill: #fff;
      }
      .auth-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.8rem;
        letter-spacing: 3px;
        color: var(--white);
        text-align: center;
      }
      .auth-sub {
        font-size: 0.75rem;
        color: var(--muted);
        text-align: center;
        margin-bottom: 2rem;
      }
      .fg {
        margin-bottom: 1rem;
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .fl {
        display: block;
        font-family: var(--font-display);
        font-size: 0.78rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--text-secondary);
        margin-bottom: 0;
        font-weight: 600;
        transition: color 0.2s ease;
      }
      .fg:focus-within .fl {
        color: var(--accent);
      }
      .fi,
      .fsel,
      .fta {
        width: 100%;
        background: var(--bg-subtle);
        border: 1.5px solid var(--border-default);
        color: var(--text-primary);
        padding: 13px 16px;
        font-size: 0.95rem;
        font-family: var(--font-body);
        font-weight: 400;
        line-height: 1.5;
        border-radius: var(--radius-md);
        outline: none;
        transition: var(--transition-smooth);
        appearance: none;
        -webkit-appearance: none;
      }
      .fi::placeholder, .fta::placeholder { color: var(--text-muted); opacity: 1; }
      .fi:hover:not(:focus),
      .fsel:hover:not(:focus),
      .fta:hover:not(:focus) {
        border-color: var(--border-strong);
        background: var(--bg-elevated);
      }
      .fi:focus,
      .fsel:focus,
      .fta:focus {
        border-color: var(--border-accent);
        background: var(--bg-elevated);
        box-shadow: 0 0 0 3px var(--accent-ring);
      }
      .fi.err {
        border-color: #ff3355;
      }
      .fi.ok {
        border-color: var(--green);
      }
      .fsel {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ba3b2' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 16px center;
        padding-right: 44px;
        cursor: pointer;
      }
      .fta {
        resize: vertical;
        min-height: 130px;
      }
      .frow {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
      }
      .field-hint {
        font-size: 0.7rem;
        color: var(--muted);
        margin-top: 4px;
        transition: color 0.2s;
      }
      .auth-btn {
        width: 100%;
        background: var(--accent);
        color: #fff;
        border: none;
        font-family: var(--font-display);
        font-size: 0.85rem;
        font-weight: 700;
        letter-spacing: 4px;
        text-transform: uppercase;
        padding: 15px;
        cursor: pointer;
        border-radius: var(--radius-md);
        margin-top: 0.5rem;
        transition: var(--transition-smooth);
        box-shadow: var(--shadow-accent);
        position: relative;
        overflow: hidden;
      }
      .auth-btn::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,0.08);
        opacity: 0;
        transition: opacity 0.2s ease;
      }
      .auth-btn:hover::after { opacity: 1; }
      .auth-btn:hover {
        background: var(--accent-hover);
        transform: translateY(-2px);
        box-shadow: 0 8px 32px rgba(232,0,29,0.45);
      }
      .auth-btn:active { transform: translateY(0); }
      .auth-switch {
        text-align: center;
        margin-top: 1.2rem;
        font-size: 0.8rem;
        color: var(--muted);
      }
      .auth-switch a {
        color: var(--red);
        cursor: pointer;
        text-decoration: none;
      }
      .auth-switch a:hover {
        text-decoration: underline;
      }
      .auth-err {
        background: rgba(232, 0, 29, 0.08);
        border: 1px solid rgba(232, 0, 29, 0.2);
        border-radius: 8px;
        padding: 0.6rem 1rem;
        font-size: 0.78rem;
        color: #ff3355;
        margin-bottom: 1rem;
        display: none;
      }
      .auth-err.vis {
        display: block;
      }
      .auth-ok {
        background: rgba(0, 230, 118, 0.08);
        border: 1px solid rgba(0, 230, 118, 0.2);
        border-radius: 8px;
        padding: 0.6rem 1rem;
        font-size: 0.78rem;
        color: var(--green);
        margin-bottom: 1rem;
        display: none;
      }
      .auth-ok.vis {
        display: block;
      }

      /* DOCS */
      .docs-layout {
        display: grid;
        grid-template-columns: 240px 1fr;
        min-height: calc(100vh - 64px);
      }
      .docs-sidebar {
        background: var(--surface);
        border-right: 1px solid var(--border2);
        padding: 2rem 1.5rem;
        position: sticky;
        top: 64px;
        height: calc(100vh - 64px);
        overflow-y: auto;
      }
      .sidebar-ttl {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--red);
        padding-bottom: 0.75rem;
        border-bottom: 1px solid var(--border2);
        margin-bottom: 1rem;
      }
      .cat-item {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 9px 10px;
        border-radius: 8px;
        cursor: pointer;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.82rem;
        letter-spacing: 1px;
        color: var(--muted);
        transition: all 0.25s ease;
        border-left: 2px solid transparent;
        margin-bottom: 2px;
      }
      .cat-item:hover {
        background: rgba(232, 0, 29, 0.05);
        color: var(--text);
        padding-left: 14px;
      }
      .cat-item.active {
        background: rgba(232, 0, 29, 0.08);
        color: var(--white);
        border-left-color: var(--red);
      }
      .cat-item svg {
        width: 15px;
        height: 15px;
        fill: currentColor;
        flex-shrink: 0;
      }
      .docs-main {
        padding: 2.5rem 3rem;
      }
      .docs-breadcrumb {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.68rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 4px;
      }
      .docs-breadcrumb span {
        color: var(--red);
      }
      .docs-h1 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.2rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 2rem;
      }
      .locked-docs {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 10px;
        padding: 3rem;
        text-align: center;
        margin-bottom: 2rem;
      }
      .locked-docs svg {
        width: 40px;
        height: 40px;
        fill: var(--muted);
        margin-bottom: 1rem;
      }
      .locked-docs h3 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.5rem;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 0.5rem;
      }
      .locked-docs p {
        font-size: 0.85rem;
        color: var(--muted);
        margin-bottom: 1.5rem;
      }
      .upload-zone {
        border: 1.5px dashed var(--border2);
        background: var(--card);
        border-radius: 10px;
        padding: 2.5rem;
        text-align: center;
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        margin-bottom: 1.5rem;
      }
      .upload-zone:hover,
      .upload-zone.dragging {
        border-color: var(--red);
        background: rgba(232, 0, 29, 0.04);
        box-shadow: 0 0 0 4px rgba(232, 0, 29, 0.07);
      }
      .upload-zone input[type="file"] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
      }
      .upload-zone svg {
        width: 36px;
        height: 36px;
        fill: var(--red);
        margin: 0 auto 0.8rem;
        display: block;
      }
      .uz-title {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: 1px;
        color: var(--white);
        margin-bottom: 0.3rem;
      }
      .uz-sub {
        font-size: 0.78rem;
        color: var(--muted);
      }
      .doc-count-badge {
        display: inline-block;
        background: rgba(232, 0, 29, 0.1);
        border: 1px solid rgba(232, 0, 29, 0.2);
        color: var(--red);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 3px 12px;
        border-radius: 20px;
        margin-bottom: 1.2rem;
      }
      .doc-list {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
      }
      .doc-item {
        background: var(--card);
        border: 1px solid var(--border);
        border-radius: 10px;
        overflow: hidden;
        transition: all 0.25s ease;
        animation: docIn 0.35s ease-out both;
      }
      @keyframes docIn {
        from {
          opacity: 0;
          transform: translateX(-8px);
        }
        to {
          opacity: 1;
          transform: translateX(0);
        }
      }
      .doc-item:hover {
        border-color: rgba(232, 0, 29, 0.3);
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
      }
      .doc-header {
        display: flex;
        align-items: center;
        gap: 0.9rem;
        padding: 0.9rem 1.2rem;
        cursor: pointer;
      }
      .doc-ext {
        background: rgba(232, 0, 29, 0.1);
        border: 1px solid rgba(232, 0, 29, 0.2);
        color: var(--red);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 3px 7px;
        border-radius: 6px;
        min-width: 40px;
        text-align: center;
        flex-shrink: 0;
      }
      .doc-name {
        flex: 1;
        font-size: 0.88rem;
        color: var(--text);
      }
      .doc-meta {
        font-size: 0.72rem;
        color: var(--muted);
        white-space: nowrap;
      }
      .doc-chevron {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: var(--muted);
        stroke-width: 2;
        transition: transform 0.25s;
        flex-shrink: 0;
      }
      .doc-item.expanded .doc-chevron {
        transform: rotate(90deg);
      }
      .doc-del {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        padding: 5px 11px;
        border-radius: 6px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
        transition: all 0.25s ease;
        flex-shrink: 0;
      }
      .doc-del:hover {
        border-color: #ff3355;
        color: #ff3355;
        background: rgba(255, 51, 85, 0.06);
      }
      .doc-preview {
        border-top: 1px solid var(--border);
        background: var(--mid);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }
      .doc-item.expanded .doc-preview {
        max-height: 520px;
      }
      .preview-inner {
        padding: 1.2rem 1.5rem;
      }
      .preview-img {
        max-width: 100%;
        max-height: 350px;
        display: block;
        border-radius: 2px;
      }
      .preview-iframe {
        width: 100%;
        height: 350px;
        border: none;
        background: #fff;
      }
      .preview-text {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.82rem;
        color: var(--muted);
        white-space: pre-wrap;
        max-height: 300px;
        overflow-y: auto;
        line-height: 1.6;
      }
      .preview-ph {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 2rem;
        gap: 0.5rem;
      }
      .preview-ph svg {
        width: 32px;
        height: 32px;
        fill: var(--muted);
      }
      .preview-ph p {
        font-size: 0.82rem;
        color: var(--muted);
      }
      .preview-ph a {
        color: var(--red);
        font-size: 0.78rem;
        font-family: "Barlow Condensed", sans-serif;
        letter-spacing: 1px;
        text-decoration: none;
      }

      /* FILE PREVIEW MODAL */
      .file-prev-bg {
        position: fixed;
        inset: 0;
        z-index: 800;
        background: rgba(5, 5, 5, 0.96);
        backdrop-filter: blur(20px);
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 70px 1.5rem 1.5rem;
        overflow-y: auto;
      }
      .file-prev-bg.open {
        display: flex;
      }
      .file-prev-box {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 14px;
        width: 100%;
        max-width: 900px;
        position: relative;
        overflow: hidden;
      }
      .file-prev-header {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1rem 1.4rem;
        border-bottom: 1px solid var(--border2);
        background: var(--surface);
      }
      .file-prev-ext {
        background: rgba(232, 0, 29, 0.12);
        border: 1px solid rgba(232, 0, 29, 0.25);
        color: var(--red);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 4px 9px;
        border-radius: 2px;
        min-width: 38px;
        text-align: center;
        flex-shrink: 0;
      }
      .file-prev-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 1rem;
        letter-spacing: 1px;
        color: var(--white);
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .file-prev-meta {
        font-size: 0.72rem;
        color: var(--muted);
        white-space: nowrap;
      }
      .file-prev-close {
        width: 32px;
        height: 32px;
        background: rgba(232, 0, 29, 0.08);
        border: 1px solid rgba(232, 0, 29, 0.2);
        border-radius: 50%;
        color: var(--muted);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        transition: all 0.2s;
        flex-shrink: 0;
      }
      .file-prev-close:hover {
        background: rgba(232, 0, 29, 0.2);
        color: var(--white);
      }
      .file-prev-content {
        padding: 1.5rem;
      }
      .file-prev-content img {
        max-width: 100%;
        max-height: 560px;
        display: block;
        border-radius: 3px;
        margin: 0 auto;
      }
      .file-prev-content iframe {
        width: 100%;
        height: 560px;
        border: none;
        background: #fff;
        border-radius: 2px;
      }
      .file-prev-content video {
        max-width: 100%;
        max-height: 480px;
        display: block;
        border-radius: 2px;
        margin: 0 auto;
      }
      .file-prev-content audio {
        width: 100%;
        margin: 1rem 0;
      }
      .file-prev-content pre {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.82rem;
        color: var(--muted);
        white-space: pre-wrap;
        max-height: 480px;
        overflow-y: auto;
        line-height: 1.6;
      }
      .file-prev-dl {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        padding: 2.5rem;
        flex-direction: column;
      }
      .file-prev-dl svg {
        width: 48px;
        height: 48px;
        fill: var(--muted);
      }
      .file-prev-dl p {
        font-size: 0.9rem;
        color: var(--muted);
      }
      .file-prev-dl a {
        background: var(--red);
        color: #fff;
        padding: 10px 24px;
        border-radius: 2px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.78rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        text-decoration: none;
        transition: background 0.2s;
      }
      .file-prev-dl a:hover {
        background: var(--red2);
      }

      /* JOIN */
      .join-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: calc(100vh - 64px);
      }
      .join-left {
        background: var(--red);
        padding: 5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        overflow: hidden;
      }
      .join-left::before {
        content: "";
        position: absolute;
        bottom: -80px;
        right: -80px;
        width: 400px;
        height: 400px;
        background: rgba(255, 255, 255, 0.05);
        clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
      }
      .join-left::after {
        content: "N";
        position: absolute;
        bottom: -60px;
        left: -30px;
        font-family: "Bebas Neue", sans-serif;
        font-size: 400px;
        color: rgba(255, 255, 255, 0.04);
        line-height: 1;
        pointer-events: none;
      }
      .jl-ey {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 6px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.65);
        margin-bottom: 1.5rem;
        display: flex;
        align-items: center;
        gap: 10px;
        position: relative;
        z-index: 1;
      }
      .jl-ey::before {
        content: "";
        width: 25px;
        height: 1px;
        background: rgba(255, 255, 255, 0.5);
      }
      .jl-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 4rem;
        letter-spacing: 2px;
        color: #fff;
        line-height: 0.95;
        margin-bottom: 1.2rem;
        position: relative;
        z-index: 1;
      }
      .jl-desc {
        font-size: 0.95rem;
        color: rgba(255, 255, 255, 0.8);
        font-weight: 300;
        line-height: 1.8;
        max-width: 380px;
        margin-bottom: 2.5rem;
        position: relative;
        z-index: 1;
      }
      .perks {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        position: relative;
        z-index: 1;
      }
      .perk {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.85);
      }
      .perk-d {
        width: 8px;
        height: 8px;
        background: rgba(255, 255, 255, 0.5);
        clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
        flex-shrink: 0;
      }
      .join-right {
        background: var(--mid);
        padding: 3rem 4rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow-y: auto;
      }
      .form-h {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 0.3rem;
      }
      .form-sub2 {
        font-size: 0.78rem;
        color: var(--muted);
        margin-bottom: 2rem;
      }
      .submit-btn {
        width: 100%;
        background: var(--red);
        color: var(--white);
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 4px;
        text-transform: uppercase;
        padding: 15px;
        cursor: pointer;
        clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 100%, 12px 100%);
        margin-top: 0.5rem;
        transition: all 0.2s;
      }
      .submit-btn:hover {
        background: var(--red2);
        box-shadow: 0 6px 24px rgba(232, 0, 29, 0.35);
        transform: translateY(-2px);
      }

      /* CONTACT */
      .contact-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: calc(100vh - 64px);
      }
      .contact-left {
        padding: 5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: var(--mid);
      }
      .contact-right {
        padding: 5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      .social-links {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 2rem;
      }
      .social-btn {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.2rem 1.5rem;
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 10px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-decoration: none;
        color: var(--text);
      }
      .social-btn:hover {
        transform: translateX(6px);
      }
      .social-btn.fb:hover {
        border-color: #1877f2;
        background: rgba(24, 119, 242, 0.05);
      }
      .social-btn.ig:hover {
        border-color: #e1306c;
        background: rgba(225, 48, 108, 0.05);
      }
      .social-btn.gm:hover {
        border-color: var(--red);
        background: rgba(232, 0, 29, 0.05);
      }
      .social-icon {
        width: 40px;
        height: 40px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .social-icon.fb {
        background: linear-gradient(135deg, #1877f2, #0d5fb5);
      }
      .social-icon.ig {
        background: linear-gradient(
          135deg,
          #f09433,
          #e6683c,
          #dc2743,
          #cc2366,
          #bc1888
        );
      }
      .social-icon.gm {
        background: linear-gradient(135deg, #ea4335, #fbbc05, #34a853, #4285f4);
      }
      .social-icon svg {
        width: 20px;
        height: 20px;
        fill: #fff;
      }
      .social-info {
        flex: 1;
      }
      .social-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.9rem;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--white);
      }
      .social-handle {
        font-size: 0.78rem;
        color: var(--muted);
      }

      /* ADMIN */
      #adminPanel {
        position: fixed;
        inset: 0;
        z-index: 400;
        background: rgba(8, 8, 8, 0.97);
        backdrop-filter: blur(20px);
        display: none;
        overflow-y: auto;
        padding-top: 64px;
      }
      #adminPanel.open {
        display: block;
      }
      .admin-wrap {
        max-width: 1200px;
        margin: 0 auto;
        padding: 3rem;
      }
      .admin-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 2rem;
      }
      .admin-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2rem;
        letter-spacing: 3px;
        color: var(--white);
      }
      .admin-title em {
        color: var(--red);
        font-style: normal;
      }
      .enc-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: rgba(0, 230, 118, 0.06);
        border: 1px solid rgba(0, 230, 118, 0.15);
        border-radius: 20px;
        padding: 4px 12px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--green);
      }
      .enc-badge svg {
        width: 11px;
        height: 11px;
        fill: var(--green);
      }
      .admin-close-btn {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 9px 18px;
        cursor: pointer;
        border-radius: 8px;
        transition: all 0.3s ease;
      }
      .admin-close-btn:hover {
        border-color: #ff3355;
        color: #ff3355;
        background: rgba(255, 51, 85, 0.07);
      }
      .admin-tabs {
        display: flex;
        gap: 0;
        border-bottom: 1px solid var(--border2);
        margin-bottom: 2rem;
        flex-wrap: wrap;
      }
      .atab {
        background: none;
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--muted);
        padding: 11px 16px;
        cursor: pointer;
        border-bottom: 2px solid transparent;
        border-radius: 8px 8px 0 0;
        margin-bottom: -1px;
        transition: all 0.25s ease;
      }
      .atab:hover {
        color: var(--text);
      }
      .atab.active {
        color: var(--white);
        border-bottom-color: var(--red);
      }
      .atab-c {
        display: none;
      }
      .atab-c.active {
        display: block;
      }
      .admin-table-wrap {
        overflow-x: auto;
        border: 1px solid var(--border2);
        border-radius: 10px;
      }
      table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.82rem;
      }
      thead {
        background: var(--surface);
      }
      th {
        text-align: left;
        padding: 10px 14px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        border-bottom: 1px solid var(--border2);
      }
      td {
        padding: 10px 14px;
        border-bottom: 1px solid var(--border);
        color: var(--text);
        vertical-align: middle;
      }
      tr:last-child td {
        border-bottom: none;
      }
      tr:hover td {
        background: rgba(232, 0, 29, 0.015);
      }
      .badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 20px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.6rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-weight: 700;
      }
      .badge-new {
        background: rgba(0, 230, 118, 0.1);
        color: var(--green);
        border: 1px solid rgba(0, 230, 118, 0.2);
      }
      .badge-rev {
        background: rgba(255, 184, 0, 0.1);
        color: var(--gold);
        border: 1px solid rgba(255, 184, 0, 0.2);
      }
      .badge-acc {
        background: rgba(0, 212, 255, 0.1);
        color: #00d4ff;
        border: 1px solid rgba(0, 212, 255, 0.2);
      }
      .badge-rej {
        background: rgba(255, 51, 85, 0.1);
        color: #ff3355;
        border: 1px solid rgba(255, 51, 85, 0.2);
      }
      .tbl-btn {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        padding: 4px 10px;
        border-radius: 6px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
        transition: all 0.25s ease;
        margin: 0 2px;
      }
      .m-cat-tab {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        padding: 5px 12px;
        border-radius: 8px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
        transition: all 0.25s ease;
      }
      .m-cat-tab:hover { border-color: var(--red); color: var(--white); background: rgba(232, 0, 29, 0.07); }
      .m-cat-tab.active { background: var(--red); border-color: var(--red); color: var(--white); font-weight: 600; }

      .tbl-btn:hover {
        border-color: var(--red);
        color: var(--red);
        background: rgba(232, 0, 29, 0.07);
      }
      .tbl-btn.del:hover {
        border-color: #ff3355;
        color: #ff3355;
        background: rgba(255, 51, 85, 0.07);
      }
      .tbl-btn.ok:hover {
        border-color: var(--green);
        color: var(--green);
        background: rgba(0, 230, 118, 0.07);
      }
      .admin-card {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 10px;
        padding: 2rem;
        margin-bottom: 1.5rem;
      }
      .admin-card-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 1.2rem;
      }
      .admin-card-title .r {
        color: var(--red);
      }
      .small-btn {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 7px 14px;
        cursor: pointer;
        border-radius: 2px;
        transition: all 0.2s;
        margin-right: 0.5rem;
        margin-top: 0.5rem;
      }
      .small-btn:hover {
        border-color: var(--red);
        color: var(--red);
      }
      .small-btn.save:hover {
        border-color: var(--green);
        color: var(--green);
      }
      .editable-row {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
        flex-wrap: wrap;
      }
      .editable-row .fi {
        flex: 1;
        min-width: 80px;
      }
      .stats-edit-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
      }
      .settings-h {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 1.2rem;
      }
      .settings-divider {
        border: none;
        border-top: 1px solid var(--border2);
        margin: 2rem 0;
      }
      .pw-msg {
        font-size: 0.75rem;
        margin-top: 0.5rem;
        min-height: 1.1em;
      }

      /* MODALS */
      .modal-bg {
        position: fixed;
        inset: 0;
        z-index: 700;
        background: rgba(8, 8, 8, 0.92);
        backdrop-filter: blur(16px);
        display: none;
        align-items: center;
        justify-content: center;
      }
      .modal-bg.open {
        display: flex;
      }
      .modal-box {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 3px;
        padding: 2.5rem;
        width: 100%;
        max-width: 400px;
        position: relative;
        box-shadow: 0 0 50px rgba(232, 0, 29, 0.1);
      }
      .modal-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(
          90deg,
          transparent,
          var(--red),
          transparent
        );
      }
      .modal-lock {
        text-align: center;
        margin-bottom: 1.5rem;
      }
      .modal-lock svg {
        width: 36px;
        height: 36px;
        fill: var(--red);
      }
      .modal-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.4rem;
        letter-spacing: 3px;
        color: var(--white);
        text-align: center;
        margin-bottom: 0.3rem;
      }
      .modal-sub {
        font-size: 0.73rem;
        color: var(--muted);
        text-align: center;
        margin-bottom: 2rem;
      }
      .m-err {
        font-size: 0.73rem;
        color: #ff3355;
        text-align: center;
        margin-top: 0.4rem;
        min-height: 1.1em;
      }
      .lockout-warn {
        background: rgba(232, 0, 29, 0.07);
        border: 1px solid rgba(232, 0, 29, 0.2);
        border-radius: 2px;
        padding: 0.6rem 1rem;
        font-size: 0.72rem;
        color: #ff3355;
        text-align: center;
        margin-top: 0.6rem;
        display: none;
      }
      .m-btn {
        width: 100%;
        background: var(--red);
        color: var(--white);
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 4px;
        text-transform: uppercase;
        padding: 13px;
        cursor: pointer;
        border-radius: 2px;
        margin-top: 0.5rem;
        transition: all 0.2s;
      }
      .m-btn:hover {
        background: var(--red2);
      }
      .m-cancel {
        display: block;
        text-align: center;
        margin-top: 1rem;
        font-size: 0.72rem;
        color: var(--muted);
        cursor: pointer;
        background: none;
        border: none;
        font-family: "Barlow", sans-serif;
        transition: color 0.2s;
        letter-spacing: 1px;
      }
      .m-cancel:hover {
        color: var(--text);
      }
      .confirm-box {
        background: var(--card);
        border: 1px solid #ff3355;
        border-radius: 3px;
        padding: 2rem;
        width: 100%;
        max-width: 360px;
        text-align: center;
      }
      .confirm-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 0.5rem;
      }
      .confirm-msg {
        font-size: 0.85rem;
        color: var(--muted);
        margin-bottom: 1.5rem;
      }
      .confirm-btns {
        display: flex;
        gap: 0.75rem;
        justify-content: center;
      }
      .confirm-yes {
        background: #ff3355;
        color: #fff;
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.75rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 10px 20px;
        cursor: pointer;
        border-radius: 2px;
        transition: all 0.2s;
      }
      .confirm-yes:hover {
        background: #cc0026;
      }
      .confirm-no {
        background: none;
        color: var(--muted);
        border: 1px solid var(--border2);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.75rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 10px 20px;
        cursor: pointer;
        border-radius: 2px;
        transition: all 0.2s;
      }
      .confirm-no:hover {
        border-color: var(--text);
        color: var(--text);
      }

      /* TOAST */
      .toast {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        z-index: 999;
        background: var(--card);
        border: 1px solid var(--border2);
        border-left: 3px solid var(--red);
        color: var(--white);
        padding: 1rem 1.5rem;
        border-radius: 2px;
        font-size: 0.85rem;
        display: flex;
        align-items: center;
        gap: 10px;
        transform: translateX(200%);
        transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        max-width: 320px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
      }
      .toast.show {
        transform: translateX(0);
      }
      .toast.ok {
        border-left-color: var(--green);
      }
      .toast-d {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--red);
        flex-shrink: 0;
      }
      .toast.ok .toast-d {
        background: var(--green);
      }

      @media (max-width: 900px) {
        .hero-content {
          padding: 2rem;
        }
        .stats-band {
          grid-template-columns: repeat(2, 1fr);
          margin: 0;
        }
        .section,
        .news-section {
          padding: 3rem 1.5rem;
        }
        .driver-grid {
          grid-template-columns: 1fr;
        }
        .docs-layout {
          grid-template-columns: 1fr;
        }
        .docs-sidebar {
          position: relative;
          height: auto;
        }
        .join-layout,
        .contact-layout {
          grid-template-columns: 1fr;
        }
        .join-left,
        .join-right,
        .contact-left,
        .contact-right {
          padding: 3rem 2rem;
        }
        .frow {
          grid-template-columns: 1fr;
        }
        .admin-wrap {
          padding: 1.5rem;
        }
        .sponsors-section {
          padding: 2rem 1.5rem;
        }
        .news-grid {
          grid-template-columns: 1fr;
        }
        .hero-img-wrap {
          display: none !important;
        }
        header {
          padding: 0 1rem;
        }
        .logo-sub {
          display: none;
        }
        nav {
          gap: 0;
        }
        .nb {
          padding: 8px 7px;
          font-size: 0.65rem;
          letter-spacing: 1px;
        }
        .sponsor-card {
          min-width: 120px;
        }
        .stats-edit-grid {
          grid-template-columns: 1fr;
        }
        .mobile-menu-btn {
          display: flex !important;
        }
        .nav-links {
          display: none;
          position: fixed;
          top: 64px;
          left: 0;
          right: 0;
          background: rgba(8, 8, 8, 0.98);
          backdrop-filter: blur(20px);
          flex-direction: column;
          padding: 1rem;
          border-bottom: 1px solid var(--border2);
          z-index: 199;
        }
        .nav-links.open {
          display: flex !important;
        }
        .nav-links .nb {
          width: 100%;
          text-align: left;
          padding: 12px 16px;
          border-bottom: 1px solid var(--border);
          font-size: 0.75rem;
        }
      }
      @media (max-width: 600px) {
        .hero-title {
          font-size: 3.5rem;
        }
        .join-left {
          padding: 2.5rem 1.5rem;
        }
        .join-left .jl-title {
          font-size: 2.8rem;
        }
        .join-right {
          padding: 2rem 1.2rem;
        }
        .stats-band {
          grid-template-columns: 1fr 1fr;
        }
        .contact-left,
        .contact-right {
          padding: 2rem 1.2rem;
        }
        .auth-box {
          padding: 1.8rem 1.2rem;
        }
        .admin-tabs {
          overflow-x: auto;
          flex-wrap: nowrap;
        }
        .atab {
          white-space: nowrap;
          font-size: 0.62rem;
          padding: 9px 10px;
        }
        .news-modal-body {
          padding: 1.5rem;
        }
        .news-modal-title {
          font-size: 1.6rem;
        }
        .hero-content {
          padding: 1.5rem;
        }
        .loader-logo {
          font-size: 2rem;
          letter-spacing: 4px;
        }
        .sponsor-card {
          min-width: 100px;
          padding: 1.2rem 0.5rem;
        }
        .sponsors-ttl {
          font-size: 0.6rem;
        }
      }

      /* MOBILE HAMBURGER */
      .mobile-menu-btn {
        display: none;
        background: none;
        border: none;
        cursor: pointer;
        flex-direction: column;
        gap: 5px;
        padding: 8px;
        margin-left: 8px;
      }
      .mobile-menu-btn span {
        display: block;
        width: 22px;
        height: 2px;
        background: var(--text);
        border-radius: 2px;
        transition: all 0.3s;
      }
      .mobile-menu-btn.open span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
      }
      .mobile-menu-btn.open span:nth-child(2) {
        opacity: 0;
      }
      .mobile-menu-btn.open span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
      }

      /* SETTINGS PAGE */
      #page-settings {
        display: none;
        padding-top: 64px;
        min-height: 100vh;
      }
      #page-settings.active {
        display: block;
      }
      .settings-page-wrap {
        max-width: 760px;
        margin: 0 auto;
        padding: 3rem 2rem;
      }
      .settings-section {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        padding: 2rem;
        margin-bottom: 1.5rem;
        position: relative;
        overflow: hidden;
      }
      .settings-section::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, var(--red), transparent);
      }
      .settings-section-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 1.5rem;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .settings-section-title svg {
        width: 18px;
        height: 18px;
        fill: var(--red);
      }
      .settings-back {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--muted);
        cursor: pointer;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin-bottom: 2rem;
        transition: color 0.2s;
        background: none;
        border: none;
      }
      .settings-back:hover {
        color: var(--red);
      }
      .settings-back svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
      }
      .settings-page-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.5rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 0.5rem;
      }
      .settings-page-sub {
        font-size: 0.82rem;
        color: var(--muted);
        margin-bottom: 2.5rem;
      }
      @media (max-width: 600px) {
        .settings-page-wrap {
          padding: 2rem 1.2rem;
        }
      }

      /* NEWS ARTICLE PAGE */
      #page-news-article {
        display: none;
        padding-top: 64px;
        min-height: 100vh;
      }
      #page-news-article.active {
        display: block;
      }
      .article-layout {
        max-width: 800px;
        margin: 0 auto;
        padding: 3rem 2rem;
      }
      .article-back {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--muted);
        cursor: pointer;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        margin-bottom: 2rem;
        transition: color 0.2s;
        background: none;
        border: none;
      }
      .article-back:hover {
        color: var(--red);
      }
      .article-back svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
      }
      .article-hero-img {
        width: 100%;
        max-height: 420px;
        object-fit: cover;
        border-radius: 4px;
        margin-bottom: 2.5rem;
        display: block;
      }
      .article-cat {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--red);
        margin-bottom: 0.5rem;
      }
      .article-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 3rem;
        letter-spacing: 2px;
        color: var(--white);
        line-height: 1;
        margin-bottom: 0.75rem;
      }
      .article-meta {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.72rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 2.5rem;
        padding-bottom: 1.5rem;
        border-bottom: 1px solid var(--border2);
      }
      .article-body {
        font-size: 1rem;
        color: var(--text);
        line-height: 1.9;
        font-weight: 300;
        white-space: pre-wrap;
      }
      @media (max-width: 600px) {
        .article-title {
          font-size: 2.2rem;
        }
        .article-layout {
          padding: 2rem 1.2rem;
        }
      }

      /* PENDING APPROVAL STATE */
      .pending-notice {
        background: rgba(255, 184, 0, 0.07);
        border: 1px solid rgba(255, 184, 0, 0.25);
        border-radius: 3px;
        padding: 2rem;
        text-align: center;
      }
      .pending-notice svg {
        width: 40px;
        height: 40px;
        fill: var(--gold);
        margin-bottom: 0.75rem;
      }
      .pending-notice h3 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.4rem;
        letter-spacing: 2px;
        color: var(--gold);
        margin-bottom: 0.4rem;
      }
      .pending-notice p {
        font-size: 0.85rem;
        color: var(--muted);
        line-height: 1.7;
      }

      /* TEAM ROLE BADGES */
      .role-badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 20px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.6rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-weight: 700;
        margin: 1px;
      }
      .role-chief {
        background: rgba(255, 184, 0, 0.12);
        color: var(--gold);
        border: 1px solid rgba(255, 184, 0, 0.3);
      }
      .role-leader {
        background: rgba(0, 212, 255, 0.1);
        color: #00d4ff;
        border: 1px solid rgba(0, 212, 255, 0.2);
      }
      .role-coleader {
        background: rgba(180, 120, 255, 0.1);
        color: #b47aff;
        border: 1px solid rgba(180, 120, 255, 0.2);
      }
      .role-tmember {
        background: rgba(0, 230, 118, 0.08);
        color: var(--green);
        border: 1px solid rgba(0, 230, 118, 0.18);
      }
      .role-supervisor {
        background: rgba(255, 120, 40, 0.1);
        color: #ff7828;
        border: 1px solid rgba(255, 120, 40, 0.25);
      }
      .role-editor-badge {
        background: rgba(0, 184, 255, 0.1);
        color: #00b8ff;
        border: 1px solid rgba(0, 184, 255, 0.25);
      }

      /* DOCS TECHNICAL TEAMS */
      .tech-teams-grid {
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
        margin-bottom: 2rem;
      }
      .tech-team-card {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        overflow: hidden;
        transition: border-color 0.2s;
      }
      .tech-team-card:hover {
        border-color: rgba(232, 0, 29, 0.3);
      }
      .tech-team-header {
        padding: 0.9rem 1.4rem;
        display: flex;
        align-items: center;
        gap: 12px;
        cursor: pointer;
        user-select: none;
        justify-content: space-between;
      }
      .tech-team-header-left {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .tech-team-color {
        width: 4px;
        height: 32px;
        border-radius: 2px;
        flex-shrink: 0;
      }
      .tech-team-name {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1rem;
        letter-spacing: 2px;
        color: var(--white);
      }
      .tech-team-count {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 2px;
        color: var(--muted);
        margin-top: 1px;
      }
      .tech-team-docs {
        padding: 0;
        border-top: 1px solid var(--border);
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        max-height: 0;
        overflow: hidden;
        transition:
          max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
          padding 0.3s;
      }
      .tech-team-card.open .tech-team-docs {
        max-height: 600px;
        padding: 0.5rem 1.4rem 0.8rem;
      }
      .tech-team-chevron {
        transition: transform 0.3s;
        flex-shrink: 0;
      }
      .tech-team-card.open .tech-team-chevron {
        transform: rotate(90deg);
      }
      .tech-doc-item {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px 6px 8px;
        border-radius: 2px;
        cursor: pointer;
        transition: background 0.2s;
        border: 1px solid var(--border);
        background: var(--surface);
      }
      .tech-doc-item:hover {
        background: rgba(232, 0, 29, 0.06);
        border-color: rgba(232, 0, 29, 0.2);
      }
      .tech-doc-ext {
        background: rgba(232, 0, 29, 0.1);
        border: 1px solid rgba(232, 0, 29, 0.2);
        color: var(--red);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.55rem;
        font-weight: 700;
        padding: 2px 5px;
        border-radius: 2px;
        min-width: 32px;
        text-align: center;
        flex-shrink: 0;
      }
      .tech-doc-name {
        font-size: 0.8rem;
        color: var(--text);
        flex: 1;
      }
      @media (max-width: 600px) {
        .tech-teams-grid {
          grid-template-columns: 1fr;
        }
      }

      /* ACCOUNT PENDING SIGNUP */
      /* COMMUNITY CHAT */
      .community-layout {
        display: grid;
        grid-template-columns: 260px 1fr;
        min-height: calc(100vh - 64px);
      }
      .chat-sidebar {
        background: var(--surface);
        border-right: 1px solid var(--border2);
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }
      .chat-sidebar-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.1rem;
        letter-spacing: 3px;
        color: var(--white);
        padding-bottom: 0.75rem;
        border-bottom: 1px solid var(--border2);
      }
      .chat-room-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 9px 12px;
        border-radius: 3px;
        cursor: pointer;
        transition: all 0.2s;
        border-left: 2px solid transparent;
      }
      .chat-room-item:hover {
        background: rgba(232, 0, 29, 0.05);
        color: var(--white);
      }
      .chat-room-item.active {
        background: rgba(232, 0, 29, 0.08);
        border-left-color: var(--red);
        color: var(--white);
      }
      .chat-room-icon {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.75rem;
        flex-shrink: 0;
      }
      .chat-room-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.85rem;
        letter-spacing: 1px;
        color: var(--muted);
      }
      .chat-room-item.active .chat-room-name,
      .chat-room-item:hover .chat-room-name {
        color: var(--white);
      }
      .chat-room-badge {
        margin-left: auto;
        background: var(--red);
        color: #fff;
        border-radius: 20px;
        font-size: 0.6rem;
        padding: 2px 7px;
        font-family: "Barlow Condensed", sans-serif;
        letter-spacing: 1px;
      }
      .chat-online-section {
        margin-top: auto;
        padding-top: 1rem;
        border-top: 1px solid var(--border2);
      }
      .chat-online-title {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.6rem;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 0.6rem;
      }
      .chat-online-member {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 4px 0;
        font-size: 0.78rem;
        color: var(--muted);
      }
      .chat-online-dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--green);
        box-shadow: 0 0 5px var(--green);
        flex-shrink: 0;
      }
      .chat-main {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 64px);
      }
      .chat-header {
        padding: 1rem 1.8rem;
        border-bottom: 1px solid var(--border2);
        background: var(--surface);
        display: flex;
        align-items: center;
        gap: 12px;
        flex-shrink: 0;
      }
      .chat-header-name {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.2rem;
        letter-spacing: 2px;
        color: var(--white);
      }
      .chat-header-desc {
        font-size: 0.75rem;
        color: var(--muted);
        margin-top: 1px;
      }
      .chat-header-tag {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--red);
      }
      .chat-locked {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        padding: 2rem;
        text-align: center;
      }
      .chat-locked svg {
        width: 48px;
        height: 48px;
        fill: var(--muted);
      }
      .chat-locked h3 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.5rem;
        letter-spacing: 2px;
        color: var(--white);
      }
      .chat-locked p {
        font-size: 0.85rem;
        color: var(--muted);
        max-width: 320px;
        line-height: 1.7;
      }
      .chat-messages {
        flex: 1;
        overflow-y: auto;
        padding: 1.5rem 1.8rem;
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
        scroll-behavior: smooth;
      }
      .chat-messages::-webkit-scrollbar {
        width: 4px;
      }
      .chat-messages::-webkit-scrollbar-track {
        background: transparent;
      }
      .chat-messages::-webkit-scrollbar-thumb {
        background: var(--border2);
        border-radius: 2px;
      }
      .chat-msg {
        display: flex;
        gap: 0.9rem;
        animation: msgIn 0.25s ease-out both;
      }
      @keyframes msgIn {
        from {
          opacity: 0;
          transform: translateY(8px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      .chat-msg.mine {
        flex-direction: row-reverse;
      }
      .chat-msg-avatar {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        border: 2px solid var(--border2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 0.8rem;
        color: var(--white);
        flex-shrink: 0;
        overflow: hidden;
        background: var(--card);
      }
      .chat-msg-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
      }
      .chat-msg-avatar.admin-av {
        border-color: var(--red);
      }
      .chat-msg-body {
        max-width: 68%;
      }
      .chat-msg.mine .chat-msg-body {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
      }
      .chat-msg-meta {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 4px;
      }
      .chat-msg.mine .chat-msg-meta {
        text-align: right;
      }
      .chat-bubble {
        background: var(--card);
        border: 1px solid var(--border);
        border-radius: 4px 12px 12px 4px;
        padding: 0.7rem 1rem;
        font-size: 0.88rem;
        color: var(--text);
        line-height: 1.6;
        word-break: break-word;
      }
      .chat-msg.mine .chat-bubble {
        background: rgba(232, 0, 29, 0.12);
        border-color: rgba(232, 0, 29, 0.25);
        border-radius: 12px 4px 4px 12px;
        color: var(--white);
      }
      .chat-msg-admin .chat-bubble {
        border-color: rgba(232, 0, 29, 0.2);
        background: rgba(232, 0, 29, 0.05);
      }
      .chat-date-divider {
        text-align: center;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        padding: 0.5rem 0;
        position: relative;
      }
      .chat-date-divider::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 1px;
        background: var(--border);
      }
      .chat-date-divider span {
        background: var(--dark);
        padding: 0 0.8rem;
        position: relative;
      }
      .chat-input-bar {
        padding: 0.75rem 1.8rem 1rem;
        border-top: 1px solid var(--border2);
        background: var(--surface);
        display: flex;
        gap: 0.6rem;
        align-items: flex-end;
        flex-shrink: 0;
      }
      .chat-input {
        flex: 1;
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        padding: 10px 14px;
        font-size: 0.88rem;
        color: var(--text);
        font-family: "Barlow", sans-serif;
        resize: none;
        max-height: 120px;
        min-height: 42px;
        outline: none;
        transition: border-color 0.2s;
        line-height: 1.5;
      }
      .chat-input:focus {
        border-color: var(--red);
      }
      .chat-icon-btn {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        width: 42px;
        height: 42px;
        border-radius: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
        flex-shrink: 0;
        font-size: 1.1rem;
        line-height: 1;
      }
      .chat-icon-btn:hover {
        border-color: var(--red);
        color: var(--red);
      }
      .chat-icon-btn.active {
        border-color: var(--red);
        color: var(--red);
        background: rgba(232, 0, 29, 0.08);
      }
      @keyframes recPulse {
        0%,100% { opacity:1; transform:scale(1); }
        50% { opacity:0.3; transform:scale(0.7); }
      }
      .chat-icon-btn.recording {
        border-color: #ff3355;
        color: #ff3355;
        animation: recPulse 1s ease-in-out infinite;
      }
      @keyframes recPulse {
        0%,
        100% {
          box-shadow: 0 0 0 0 rgba(255, 51, 85, 0.5);
        }
        50% {
          box-shadow: 0 0 0 6px rgba(255, 51, 85, 0);
        }
      }
      .chat-send-btn {
        background: var(--red);
        border: none;
        color: #fff;
        width: 42px;
        height: 42px;
        border-radius: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s;
        flex-shrink: 0;
      }
      .chat-send-btn:hover {
        background: var(--red2);
        transform: scale(1.05);
      }
      .chat-send-btn svg {
        width: 18px;
        height: 18px;
        fill: #fff;
      }
      /* Emoji picker */
      .emoji-picker-wrap {
        position: relative;
        flex-shrink: 0;
      }
      .emoji-picker {
        position: absolute;
        bottom: 52px;
        left: 0;
        width: 300px;
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 6px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
        z-index: 500;
        display: none;
        padding: 0.7rem;
        animation: pgIn 0.15s ease-out both;
      }
      .emoji-picker.open {
        display: block;
      }
      .emoji-cats {
        display: flex;
        gap: 2px;
        margin-bottom: 0.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--border);
      }
      .emoji-cat-btn {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 1.1rem;
        padding: 5px 7px;
        border-radius: 3px;
        opacity: 0.55;
        transition: all 0.15s;
      }
      .emoji-cat-btn:hover,
      .emoji-cat-btn.on {
        background: rgba(232, 0, 29, 0.1);
        opacity: 1;
      }
      .emoji-grid {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 1px;
        max-height: 160px;
        overflow-y: auto;
      }
      .emoji-grid::-webkit-scrollbar {
        width: 3px;
      }
      .emoji-grid::-webkit-scrollbar-thumb {
        background: var(--border2);
      }
      .emoji-btn {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 1.25rem;
        padding: 4px;
        border-radius: 3px;
        line-height: 1;
        transition: background 0.1s;
      }
      .emoji-btn:hover {
        background: rgba(232, 0, 29, 0.1);
      }
      /* Voice bubble */
      .voice-note-bubble {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 150px;
      }
      .voice-play {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--red);
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: background 0.2s;
      }
      .voice-play:hover {
        background: var(--red2);
      }
      .voice-play svg {
        width: 11px;
        height: 11px;
        fill: #fff;
        margin-left: 1px;
      }
      .voice-waveform {
        flex: 1;
        height: 20px;
        display: flex;
        align-items: center;
        gap: 1.5px;
      }
      .voice-waveform span {
        display: block;
        width: 3px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.3);
        animation: wavebar 1.2s ease-in-out infinite;
      }
      .voice-waveform span:nth-child(2) {
        animation-delay: 0.1s;
      }
      .voice-waveform span:nth-child(3) {
        animation-delay: 0.2s;
      }
      .voice-waveform span:nth-child(4) {
        animation-delay: 0.3s;
      }
      .voice-waveform span:nth-child(5) {
        animation-delay: 0.15s;
      }
      @keyframes wavebar {
        0%,
        100% {
          height: 4px;
        }
        50% {
          height: 16px;
          background: rgba(255, 255, 255, 0.6);
        }
      }
      .voice-dur {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        color: var(--muted);
        white-space: nowrap;
      }
      /* Message actions (hover) */
      .chat-msg-body {
        max-width: 68%;
        position: relative;
      }
      .chat-msg.mine .chat-msg-body {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
      }
      .msg-actions {
        position: absolute;
        top: -10px;
        right: 8px;
        display: none;
        gap: 2px;
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        padding: 2px;
        z-index: 10;
        white-space: nowrap;
      }
      .chat-msg.mine .msg-actions {
        right: auto;
        left: 8px;
      }
      .chat-msg:hover .msg-actions {
        display: flex;
      }
      .msg-act-btn {
        background: none;
        border: none;
        cursor: pointer;
        padding: 4px 8px;
        font-size: 0.7rem;
        color: var(--muted);
        border-radius: 2px;
        font-family: "Barlow Condensed", sans-serif;
        letter-spacing: 1px;
        text-transform: uppercase;
        transition: all 0.15s;
      }
      .msg-act-btn:hover {
        background: rgba(232, 0, 29, 0.08);
        color: var(--red);
      }
      .msg-act-btn.del:hover {
        background: rgba(255, 51, 85, 0.08);
        color: #ff3355;
      }
      .msg-edited-tag {
        font-size: 0.62rem;
        color: var(--muted);
        font-style: italic;
        margin-left: 5px;
      }
      /* Edit inline */
      .chat-edit-wrap textarea {
        width: 100%;
        background: var(--surface);
        border: 1px solid var(--red);
        border-radius: 4px;
        padding: 7px 10px;
        font-size: 0.85rem;
        color: var(--text);
        font-family: "Barlow", sans-serif;
        outline: none;
        resize: none;
        min-height: 50px;
      }
      .chat-edit-row {
        display: flex;
        gap: 5px;
        margin-top: 5px;
      }
      .chat-edit-save {
        background: var(--red);
        border: none;
        color: #fff;
        padding: 5px 14px;
        border-radius: 2px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
      }
      .chat-edit-cancel {
        background: none;
        border: 1px solid var(--border2);
        color: var(--muted);
        padding: 5px 12px;
        border-radius: 2px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.7rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
      }
      .chat-empty {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        color: var(--muted);
        font-size: 0.85rem;
      }
      .chat-empty svg {
        width: 40px;
        height: 40px;
        fill: var(--border2);
      }
      /* ── Mobile Chat Channel Tabs ─────────────────────── */
      /* Shown only on mobile to replace the hidden sidebar */
      .chat-mobile-tabs {
        display: none; /* hidden on desktop — sidebar is visible */
      }
      @media (max-width: 900px) {
        .community-layout {
          grid-template-columns: 1fr;
        }
        /* Hide the desktop sidebar on mobile */
        .chat-sidebar {
          display: none;
        }
        .chat-main {
          height: auto;
        }
        /* Show scrollable horizontal channel tabs on mobile */
        .chat-mobile-tabs {
          display: flex;
          overflow-x: auto;
          gap: 6px;
          padding: 10px 12px;
          background: var(--surface);
          border-bottom: 1px solid var(--border2);
          scrollbar-width: none; /* Firefox: hide scrollbar */
          flex-shrink: 0;
        }
        .chat-mobile-tabs::-webkit-scrollbar {
          display: none; /* Chrome/Safari: hide scrollbar */
        }
        /* Each channel tab button */
        .chat-mobile-tab {
          display: flex;
          align-items: center;
          gap: 6px;
          padding: 7px 14px;
          border-radius: 20px;
          border: 1px solid var(--border2);
          background: var(--card);
          color: var(--muted);
          font-family: "Barlow Condensed", sans-serif;
          font-size: 0.8rem;
          letter-spacing: 1px;
          text-transform: uppercase;
          cursor: pointer;
          white-space: nowrap;
          transition: all 0.2s;
          flex-shrink: 0;
        }
        .chat-mobile-tab.active {
          background: rgba(232, 0, 29, 0.12);
          border-color: var(--red);
          color: var(--red);
        }
        .chat-mobile-tab .tab-icon {
          font-size: 0.85rem;
          font-style: normal;
        }
        .emoji-picker {
          left: -10px;
          width: 260px;
        }
      }

      /* Tech team member chips */
      .tech-team-members {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        padding: 0.6rem 0 0.8rem;
        border-bottom: 1px solid var(--border);
        margin-bottom: 0.6rem;
      }
      .tech-member-chip {
        display: flex;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid var(--border);
        border-radius: 20px;
        padding: 4px 10px 4px 4px;
      }
      .tech-member-av {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: 1.5px solid var(--red);
        overflow: hidden;
        flex-shrink: 0;
        background: var(--surface);
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Bebas Neue", sans-serif;
        font-size: 0.7rem;
        color: var(--white);
      }
      .tech-member-av img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .tech-member-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.78rem;
        color: var(--white);
        letter-spacing: 0.5px;
      }
      .tech-member-role {
        font-size: 0.62rem;
        letter-spacing: 1px;
        text-transform: uppercase;
      }

      /* HELP & FAQ */
      .help-layout {
        max-width: 900px;
        margin: 0 auto;
        padding: 3rem 2rem;
      }
      .help-hero {
        text-align: center;
        padding: 3rem 0 2rem;
      }
      .help-hero-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 3.5rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 0.5rem;
      }
      .help-hero-title .r {
        color: var(--red);
      }
      .help-hero-sub {
        font-size: 0.95rem;
        color: var(--muted);
        font-weight: 300;
        line-height: 1.7;
      }
      .help-ask-box {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 6px;
        padding: 2rem;
        margin-bottom: 2.5rem;
        position: relative;
        overflow: hidden;
      }
      .help-ask-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, var(--red), #ff4466, transparent);
      }
      .help-ask-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.3rem;
        letter-spacing: 2px;
        color: var(--white);
        margin-bottom: 0.4rem;
      }
      .help-ask-sub {
        font-size: 0.78rem;
        color: var(--muted);
        margin-bottom: 1.2rem;
      }
      .help-ask-row {
        display: flex;
        gap: 0.75rem;
        align-items: flex-start;
      }
      .help-ask-input {
        flex: 1;
        background: var(--surface);
        border: 1px solid var(--border2);
        border-radius: 3px;
        padding: 11px 14px;
        font-size: 0.88rem;
        color: var(--text);
        font-family: "Barlow", sans-serif;
        outline: none;
        transition: border-color 0.2s;
      }
      .help-ask-input:focus {
        border-color: var(--red);
      }
      .help-send-btn {
        background: var(--red);
        border: none;
        color: #fff;
        padding: 11px 20px;
        border-radius: 3px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        cursor: pointer;
        transition: all 0.2s;
        white-space: nowrap;
      }
      .help-send-btn:hover {
        background: var(--red2);
      }
      .help-section-title {
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.8rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 1.2rem;
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .help-section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: linear-gradient(90deg, var(--border2), transparent);
      }
      .faq-list {
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
        margin-bottom: 2.5rem;
      }
      .faq-item {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        overflow: hidden;
        transition: border-color 0.2s;
      }
      .faq-item:hover {
        border-color: rgba(232, 0, 29, 0.3);
      }
      .faq-item.open {
        border-color: rgba(232, 0, 29, 0.4);
      }
      .faq-question {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1rem 1.4rem;
        cursor: pointer;
        user-select: none;
      }
      .faq-q-text {
        flex: 1;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 0.5px;
        color: var(--white);
      }
      .faq-chevron {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: var(--muted);
        stroke-width: 2;
        transition: transform 0.3s;
        flex-shrink: 0;
      }
      .faq-item.open .faq-chevron {
        transform: rotate(90deg);
        stroke: var(--red);
      }
      .faq-answer {
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition:
          max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
          padding 0.3s;
      }
      .faq-item.open .faq-answer {
        max-height: 400px;
        padding: 0 1.4rem 1.2rem;
      }
      .faq-answer p {
        font-size: 0.88rem;
        color: var(--muted);
        line-height: 1.8;
        border-top: 1px solid var(--border);
        padding-top: 0.8rem;
      }
      .help-questions-list {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        margin-bottom: 2.5rem;
      }
      .help-q-card {
        background: var(--card);
        border: 1px solid var(--border2);
        border-radius: 4px;
        padding: 1.2rem 1.5rem;
        position: relative;
      }
      .help-q-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--gold);
        border-radius: 3px 0 0 3px;
      }
      .help-q-name {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.65rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--muted);
        margin-bottom: 0.3rem;
      }
      .help-q-text {
        font-size: 0.9rem;
        color: var(--text);
        line-height: 1.6;
        margin-bottom: 0.6rem;
      }
      .help-q-status {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.62rem;
        letter-spacing: 2px;
        text-transform: uppercase;
      }
      .help-q-status.pending {
        color: var(--gold);
      }
      .help-q-status.answered {
        color: var(--green);
      }
      .help-q-answer {
        margin-top: 0.8rem;
        background: rgba(0, 230, 118, 0.05);
        border: 1px solid rgba(0, 230, 118, 0.15);
        border-radius: 3px;
        padding: 0.8rem 1rem;
        font-size: 0.85rem;
        color: var(--text);
        line-height: 1.7;
      }
      .help-q-answer-label {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 0.6rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--green);
        margin-bottom: 4px;
      }
      .help-no-q {
        text-align: center;
        padding: 2.5rem;
        color: var(--muted);
        font-size: 0.85rem;
        background: var(--card);
        border: 1px solid var(--border);
        border-radius: 4px;
      }

      /* Admin Q&A */
      .qa-admin-answer-row {
        display: flex;
        gap: 0.5rem;
        margin-top: 0.6rem;
      }
      .qa-admin-answer-input {
        flex: 1;
        background: var(--surface);
        border: 1px solid var(--border2);
        border-radius: 2px;
        padding: 8px 12px;
        font-size: 0.82rem;
        color: var(--text);
        font-family: "Barlow", sans-serif;
        outline: none;
      }
      .qa-admin-answer-input:focus {
        border-color: var(--green);
      }

      .badge-pending {
        background: rgba(255, 184, 0, 0.1);
        color: var(--gold);
        border: 1px solid rgba(255, 184, 0, 0.25);
      }
      .badge-waiting {
        background: rgba(150, 150, 150, 0.1);
        color: #aaa;
        border: 1px solid rgba(150, 150, 150, 0.2);
      }