* {
      -webkit-font-smoothing: antialiased;
    }

    textarea {
      line-height: 1.5;
    }

    ::-webkit-scrollbar {
      width: 5px;
      height: 5px;
    }

    ::-webkit-scrollbar-track {
      background: transparent;
    }

    ::-webkit-scrollbar-thumb {
      background: rgba(255, 255, 255, 0.08);
      border-radius: 99px;
    }

    ::-webkit-scrollbar-thumb:hover {
      background: rgba(255, 255, 255, 0.14);
    }

    /* Ambient background */
    .ambient-bg {
      position: fixed;
      inset: 0;
      z-index: 0;
      overflow: hidden;
      pointer-events: none;
    }

    .orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(100px);
      opacity: 0.35;
    }

    .orb-1 {
      width: 600px;
      height: 600px;
      background: #1e3a5f;
      top: -200px;
      left: -100px;
      animation: drift1 25s ease-in-out infinite;
    }

    .orb-2 {
      width: 500px;
      height: 500px;
      background: #2d1b69;
      bottom: -150px;
      right: -100px;
      animation: drift2 30s ease-in-out infinite;
    }

    .orb-3 {
      width: 400px;
      height: 400px;
      background: #0f3460;
      top: 40%;
      left: 50%;
      animation: drift3 22s ease-in-out infinite;
    }

    .noise {
      position: fixed;
      inset: 0;
      z-index: 1;
      opacity: 0.025;
      pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    @keyframes drift1 {

      0%,
      100% {
        transform: translate(0, 0)
      }

      50% {
        transform: translate(60px, 40px)
      }
    }

    @keyframes drift2 {

      0%,
      100% {
        transform: translate(0, 0)
      }

      50% {
        transform: translate(-50px, -30px)
      }
    }

    @keyframes drift3 {

      0%,
      100% {
        transform: translate(-50%, 0)
      }

      50% {
        transform: translate(-50%, -40px)
      }
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(12px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    @keyframes toastIn {
      from {
        opacity: 0;
        transform: translateX(100%)
      }

      to {
        opacity: 1;
        transform: translateX(0)
      }
    }

    @keyframes shimmer {
      0% {
        background-position: -200% 0
      }

      100% {
        background-position: 200% 0
      }
    }

    @keyframes glowPulse {

      0%,
      100% {
        opacity: 0.5
      }

      50% {
        opacity: 1
      }
    }

    @keyframes gradientShift {

      0%,
      100% {
        background-position: 0% 50%
      }

      50% {
        background-position: 100% 50%
      }
    }

    .animate-fade-in {
      animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    .toast-item {
      animation: toastIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    .modal-panel {
      transform: scale(0.96) translateY(8px);
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s;
    }

    .modal-open .modal-panel {
      transform: scale(1) translateY(0);
    }

    .glass {
      background: rgba(20, 20, 22, 0.65);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.06);
    }

    .glass-light {
      background: rgba(255, 255, 255, 0.03);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.05);
    }

    .premium-input {
      background: rgba(20, 20, 22, 0.8);
      backdrop-filter: blur(24px);
      border: 1px solid rgba(255, 255, 255, 0.08);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    }

    .premium-input:focus-within {
      border-color: rgba(168, 199, 250, 0.35);
      box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(168, 199, 250, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }

    .send-ready {
      background: linear-gradient(135deg, #a8c7fa 0%, #818cf8 100%);
      box-shadow: 0 2px 12px rgba(168, 199, 250, 0.35);
    }

    .send-ready:hover {
      box-shadow: 0 4px 20px rgba(168, 199, 250, 0.5);
      filter: brightness(1.05);
    }

    .greeting-gradient {
      background: linear-gradient(135deg, #e2e8f0 0%, #a8c7fa 40%, #c4b5fd 70%, #e2e8f0 100%);
      background-size: 200% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: gradientShift 6s ease infinite;
    }

    .skeleton-line {
      height: 11px;
      border-radius: 6px;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 25%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.04) 75%);
      background-size: 200% 100%;
      animation: shimmer 1.8s infinite;
    }

    .model-pill:has(input:checked) {
      background: rgba(168, 199, 250, 0.1);
      border-color: rgba(168, 199, 250, 0.3);
      color: #e3e3e3;
      box-shadow: 0 0 12px rgba(168, 199, 250, 0.08);
    }

    .judge-toggle:has(input:checked) {
      background: rgba(168, 199, 250, 0.1);
      border-color: rgba(168, 199, 250, 0.3);
      color: #a8c7fa;
    }

    .response-card {
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .response-card:hover {
      border-color: rgba(255, 255, 255, 0.1);
      transform: translateY(-1px);
    }

    .response-card.winner {
      border-color: rgba(168, 199, 250, 0.4) !important;
      box-shadow: 0 0 0 1px rgba(168, 199, 250, 0.2), 0 12px 40px rgba(168, 199, 250, 0.1);
    }

    .response-card.gemini-card {
      border-top: 2px solid rgba(74, 222, 128, 0.3);
    }

    .response-card.chatgpt-card {
      border-top: 2px solid rgba(52, 211, 153, 0.3);
    }

    .response-card.claude-card {
      border-top: 2px solid rgba(192, 132, 252, 0.3);
    }

    .session-item {
      transition: all 0.2s;
    }

    .session-item:hover {
      background: rgba(255, 255, 255, 0.05);
    }

    .session-item.active {
      background: rgba(168, 199, 250, 0.08);
      border-color: rgba(168, 199, 250, 0.2);
    }

    .chip {
      transition: all 0.2s;
      cursor: pointer;
    }

    .chip:hover {
      background: rgba(168, 199, 250, 0.12);
      border-color: rgba(168, 199, 250, 0.25);
      color: #a8c7fa;
      transform: translateY(-1px);
    }

    .prose p {
      margin-top: 0.5em !important;
      margin-bottom: 0.5em !important;
    }

    .prose pre {
      background: rgba(0, 0, 0, 0.4) !important;
      border: 1px solid rgba(255, 255, 255, 0.06) !important;
      border-radius: 0.75rem !important;
    }

    .prose code {
      background: rgba(255, 255, 255, 0.06) !important;
      padding: 0.15em 0.4em !important;
      border-radius: 0.35rem !important;
      font-size: 0.85em !important;
    }

    .prose pre code {
      background: transparent !important;
      padding: 0 !important;
    }

    .user-bubble {
      background: linear-gradient(135deg, rgba(168, 199, 250, 0.12) 0%, rgba(129, 140, 248, 0.08) 100%);
      border: 1px solid rgba(168, 199, 250, 0.18);
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    }

    .sidebar-overlay {
      transition: opacity 0.3s;
    }

    /* 🎯 Sidebar Collapse Styles (100% Borderless Gemini Style) */
    /* 🎯 Sidebar Collapse Styles (100% Borderless Gemini Style) */
    #sidebar {
      transition: width 0.3s ease, background 0.3s, border-color 0.3s, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* কলাপস অবস্থায় সাইডবার এবং এর ভেতরের সব বর্ডার/দাগ রিমুভ */
    #sidebar.collapsed,
    #sidebar.collapsed>div {
      width: 60px !important;
      background: transparent !important;
      border: none !important;
      backdrop-filter: none !important;
      box-shadow: none !important;
    }

    #sidebar.collapsed .sidebar-text,
    #sidebar.collapsed .section-title,
    #sidebar.collapsed .session-item span {
      display: none;
      opacity: 0;
    }

    /* কলাপস অবস্থায় বাটন ও লোগোর বক্স রিমুভ করে ভাসমান আইকন বানানো */
    #sidebar.collapsed #sidebarNewChatBtn,
    #sidebar.collapsed #sidebarApiKeyBtn,
    #sidebar.collapsed #sidebarAboutBtn,
    #sidebar.collapsed .session-item,
    #sidebar.collapsed .sidebar-header-wrapper>div {
      justify-content: center;
      padding-left: 0;
      padding-right: 0;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
    }

    #sidebar.collapsed .sidebar-header-wrapper {
      justify-content: center;
      margin-bottom: 1.5rem;
      cursor: pointer;
    }

    #sidebar.collapsed .delete-session {
      display: none !important;
    }

    /* 🎯 The Magic Hover Swap */
    #sidebar.collapsed .sidebar-header-wrapper:hover .logo-icon {
      opacity: 0;
    }

    #sidebar.collapsed .sidebar-header-wrapper:hover .hover-hamburger {
      opacity: 1;
    }
    /* 🎯 Fix for overflowing long text (without spaces) */
