      @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

      :root {
         --background: #0a0a0a;
         --foreground: #ededed;
         --accent: #38bdf8;
      }

      body {
         font-family: 'Space Grotesk', sans-serif;
         background-color: var(--background);
         color: var(--foreground);
         margin: 0;
         padding: 0;
         overflow-x: hidden;
      }

      .gradient-bg {
         background: radial-gradient(circle at 20% 20%, #1e293b 0%, #0f172a 45%, #020617 100%);
         position: relative;
      }

      .gradient-bg::after {
         content: '';
         position: absolute;
         inset: 0;
         background: linear-gradient(120deg, rgba(14, 116, 144, 0.1) 0%, rgba(15, 23, 42, 0) 45%, rgba(180, 83, 9, 0.1) 100%);
         pointer-events: none;
      }

      .glass-card {
         background: rgba(30, 41, 59, 0.5);
         backdrop-filter: blur(12px);
         border: 1px solid rgba(255, 255, 255, 0.1);
         transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      }

      .glass-card:hover {
         transform: translateY(-5px);
         background: rgba(30, 41, 59, 0.7);
         border-color: rgba(56, 189, 248, 0.3);
         box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
      }

      .feature-card {
         position: relative;
         overflow: hidden;
      }

      .feature-card> :not(.glitch-text-layer) {
         position: relative;
         z-index: 2;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) {
         background-color: #050505;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) h3,
      .feature-card:is(.glitch-active, .glitch-mobile-active) p,
      .feature-card:is(.glitch-active, .glitch-mobile-active) span,
      .feature-card:is(.glitch-active, .glitch-mobile-active) strong,
      .feature-card:is(.glitch-active, .glitch-mobile-active) i:not([class*="fa-"]) {
         color: #f8fafc !important;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) a,
      .feature-card:is(.glitch-active, .glitch-mobile-active) .text-indigo-600,
      .feature-card:is(.glitch-active, .glitch-mobile-active) i[class*="fa-"] {
         color: #60a5fa !important;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) .bg-indigo-100 {
         background-color: rgba(79, 70, 229, 0.2) !important;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) svg,
      .feature-card:is(.glitch-active, .glitch-mobile-active) svg path {
         fill: #60a5fa !important;
      }

      .glitch-text-layer {
         position: absolute;
         inset: 0;
         padding: 0;

         font-family: 'Courier New', Courier, monospace;
         font-size: 12px;
         line-height: 1.2;
         word-break: break-all;
         opacity: 0;
         transition: opacity 0.25s ease;
         color: transparent;
         background-image: radial-gradient(circle farthest-corner at var(--x, 50%) var(--y, 50%),
               rgba(11, 108, 47, 0.98) 0%,
               rgba(11, 108, 47, 0.8) 45%,
               rgba(11, 108, 47, 0.6) 70%,
               rgba(11, 108, 47, 0.45) 100%);

         -webkit-background-clip: text;
         background-clip: text;
         pointer-events: none;
         z-index: 1;
         border-radius: 0.75rem;
      }

      .feature-card:is(.glitch-active, .glitch-mobile-active) .glitch-text-layer {
         opacity: 1;
      }

      .dropzone {
         border: 2px dashed #cbd5e1;
         transition: all 0.3s ease;
      }

      .dropzone.active {
         border-color: #6366f1;
         background-color: #eef2ff;
      }

      /* Header responsivo */
      .header-container {
         width: 100%;
         overflow: hidden;
      }

      /* Desktop styles */
      @media (min-width: 1024px) {
         .header-container nav {
            display: flex !important;
         }

         .mobile-menu {
            display: none !important;
         }

         .mobile-only {
            display: none !important;
         }

         .desktop-nav {
            display: flex !important;
         }
      }

      /* Mobile e Tablet styles */
      @media (max-width: 1023px) {
         .mobile-menu {
            display: none !important;
         }

         .desktop-nav {
            display: flex !important;
            gap: 0.75rem;
            width: auto;
         }

         .desktop-nav a {
            display: flex !important;
            font-size: 0.85rem;
         }

         .desktop-nav a i {
            display: none;
         }

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

      /* Estilo padrão (desktop) */
      .iframe-container {
         position: relative;
         overflow: hidden;
         padding-top: 56.25%;
         /* 16:9 aspect ratio */
         border-radius: 0.5rem;
         box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
            0 10px 10px -5px rgba(0, 0, 0, 0.04);
      }

      .iframe-container iframe {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         border: 0;
      }

      /* Estilo para telas menores que 600px (mobile) */
      @media (max-width: 600px) {
         body {
            width: 100%;
            height: auto;
         }

         .iframe-container {
            padding-top: 0;
            width: 100%;
            height: 100vh;
            border-radius: 0;
            box-shadow: none;
         }

         .iframe-container iframe {
            position: static;
            width: 100%;
            height: 100%;
         }
      }

      @media (max-width: 640px) {
         .code-block {
            max-width: 100%;
            margin-left: auto;
            margin-right: auto;
         }

         .self-host-benefits span {
            overflow-wrap: anywhere;
         }
      }

      @media (max-width: 480px) {
         .code-block {
            padding: 0.75rem;
            font-size: 0.75rem;
            border-radius: 0.5rem;
         }

         .code-block code span {
            margin-bottom: 0.5rem;
         }
      }

      @media (max-width: 360px) {
         .code-block {
            font-size: 0.7rem;
            padding: 0.65rem;
         }
      }

      /* Caixa de código responsiva */
      .code-block {
         background-color: #1f2937;
         border-radius: 0.75rem;
         padding: 1rem;
         color: #e5e7eb;
         width: 100%;
         max-width: 24rem;
         box-sizing: border-box;
         overflow: hidden;
         margin-left: auto;
         margin-right: auto;
      }

      .code-block pre {
         margin: 0;
         width: 100%;
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
         touch-action: pan-x;
      }

      .code-block code {
         display: inline-block;
         min-width: 100%;
         font-family: inherit;
         font-size: inherit;
         white-space: pre;
      }

      .code-block code span {
         display: block;
         margin-bottom: 0.75rem;
      }

      .self-host-benefits {
         list-style: none;
         padding-left: 0;
      }

      .self-host-benefits span {
         flex: 1;
         min-width: 0;
         overflow-wrap: break-word;
      }

      .self-host-card {
         background: linear-gradient(150deg, rgba(15, 23, 42, 0.88) 0%, rgba(10, 15, 30, 0.88) 100%);
      }

      .self-host-benefit-item {
         align-items: flex-start;
      }

      .self-host-benefit-icon {
         width: 1.2rem;
         text-align: center;
         flex-shrink: 0;
      }

      .self-host-terminal-shell {
         border-color: rgba(148, 163, 184, 0.2);
      }

      .self-host-terminal-content {
         line-height: 1.5;
      }

      .terminal-path {
         letter-spacing: 0.02em;
      }

      .terminal-command-row {
         align-items: flex-start;
      }

      .tech-grid-layer {
         position: relative;
         isolation: isolate;
         overflow: hidden;
         --tech-grid-cell: 48px;
         --tech-grid-opacity: 0.08;
         --tech-grid-opacity-safe: clamp(0.05, var(--tech-grid-opacity, 0.08), 0.15);
         --tech-grid-offset-x: 0px;
         --tech-grid-offset-y: 0px;
         --tech-grid-shift-x: 0px;
         --tech-grid-shift-y: 0px;
         --tech-grid-parallax-speed: 0.3;
      }

      .tech-grid-layer > * {
         position: relative;
         z-index: 1;
      }

      .tech-grid-layer::before {
         content: "";
         position: absolute;
         inset: -2px;
         pointer-events: none;
         opacity: 0;
         opacity: var(--tech-grid-opacity-safe, 0.08);
         z-index: 0;
         background-image:
            linear-gradient(to right, rgba(148, 163, 184, 0.04) 0.5px, transparent 0.5px),
            linear-gradient(to bottom, rgba(148, 163, 184, 0.04) 0.5px, transparent 0.5px),
            linear-gradient(to right, rgba(56, 189, 248, 0.02) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(56, 189, 248, 0.02) 1px, transparent 1px),
            radial-gradient(ellipse at 25% 15%, rgba(56, 189, 248, 0.03), transparent 45%),
            radial-gradient(ellipse at 75% 85%, rgba(56, 189, 248, 0.02), transparent 40%),
            radial-gradient(circle at 50% 50%, rgba(2, 6, 23, 0) 35%, rgba(2, 6, 23, 0.4) 100%);
         background-size:
            48px 48px,
            48px 48px,
            144px 144px,
            144px 144px,
            100% 100%,
            100% 100%,
            100% 100%;
         background-size:
            var(--tech-grid-cell) var(--tech-grid-cell),
            var(--tech-grid-cell) var(--tech-grid-cell),
            calc(var(--tech-grid-cell) * 3) calc(var(--tech-grid-cell) * 3),
            calc(var(--tech-grid-cell) * 3) calc(var(--tech-grid-cell) * 3),
            100% 100%,
            100% 100%,
            100% 100%;
         background-position:
            0 0,
            0 0,
            0 0,
            0 0,
            center,
            center,
            center;
         background-position:
            var(--tech-grid-offset-x, 0px) var(--tech-grid-offset-y, 0px),
            var(--tech-grid-offset-x, 0px) var(--tech-grid-offset-y, 0px),
            var(--tech-grid-offset-x, 0px) var(--tech-grid-offset-y, 0px),
            var(--tech-grid-offset-x, 0px) var(--tech-grid-offset-y, 0px),
            center,
            center,
            center;
         transform: translate3d(0, 0, 0);
         transform: translate3d(var(--tech-grid-shift-x, 0px), var(--tech-grid-shift-y, 0px), 0);
         transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.1s linear;
         will-change: transform, opacity;
         animation: techGridFadeIn 2s ease-out;
      }

      @supports ((-webkit-mask-image: radial-gradient(circle at center, black, transparent)) or (mask-image: radial-gradient(circle at center, black, transparent))) {
         .tech-grid-layer::before {
            -webkit-mask-image: radial-gradient(ellipse at 50% 50%,
                  rgba(0, 0, 0, 0.92) 0%,
                  rgba(0, 0, 0, 0.75) 45%,
                  rgba(0, 0, 0, 0.35) 72%,
                  rgba(0, 0, 0, 0.15) 85%,
                  transparent 100%);
            mask-image: radial-gradient(ellipse at 50% 50%,
                  rgba(0, 0, 0, 0.92) 0%,
                  rgba(0, 0, 0, 0.75) 45%,
                  rgba(0, 0, 0, 0.35) 72%,
                  rgba(0, 0, 0, 0.15) 85%,
                  transparent 100%);
         }
      }

      @keyframes techGridFadeIn {
         0% {
            opacity: 0;
            transform: translate3d(var(--tech-grid-shift-x, 0px), calc(var(--tech-grid-shift-y, 0px) + 20px), 0);
         }
         100% {
            opacity: var(--tech-grid-opacity-safe, 0.08);
            transform: translate3d(var(--tech-grid-shift-x, 0px), var(--tech-grid-shift-y, 0px), 0);
         }
      }

      .tech-grid-layer.tech-grid-hidden::before {
         opacity: 0 !important;
         transition: opacity 0.4s ease-out;
      }

      .tech-grid-layer.tech-grid-visible::before {
         opacity: var(--tech-grid-opacity-safe, 0.08) !important;
      }

      .tech-grid-layer.tech-grid-out::before {
         opacity: clamp(0.03, calc(var(--tech-grid-opacity-safe, 0.08) * 0.4), 0.08);
      }

      .tech-grid-debug .tech-grid-layer {
         outline: 1px dashed rgba(56, 189, 248, 0.55);
         outline-offset: -1px;
      }

      .tech-grid-debug .tech-grid-layer::before {
         opacity: 0.34 !important;
      }

      @media (max-width: 767px), (prefers-reduced-motion: reduce) {
         .tech-grid-layer::before {
            display: none;
         }
      }

      .terminal-command-row > span:last-child {
         min-width: 0;
         overflow-wrap: anywhere;
         word-break: break-word;
      }

      .self-host-terminal-input::placeholder {
         color: #94a3b8;
      }

      .self-host-link {
         border-radius: 0.85rem;
         padding: 0.45rem 0.2rem;
      }

      footer a {
         overflow-wrap: anywhere;
      }

      .code-block code span:last-child {
         margin-bottom: 0;
      }

      .code-block .command {
         color: #34d399;
      }

      /* ========================================
   CORREÇÕES MOBILE - OVERFLOW E RESPONSIVIDADE
   ======================================== */

      /* 1. Previne overflow horizontal global */
      html,
      body {
         max-width: 100%;
         overflow-x: hidden !important;
         box-sizing: border-box;
      }

      /* 2. Aplica box-sizing em todos os elementos */
      *,
      *::before,
      *::after {
         box-sizing: border-box;
      }

      /* 3. Força containers a respeitarem o viewport */
      .container,
      section,
      header,
      footer {
         width: 100%;
         max-width: 100vw;
         overflow-x: hidden;
         box-sizing: border-box;
      }

      /* 4. Previne elementos de mídia estourarem */
      img,
      iframe,
      video {
         max-width: 100%;
         height: auto;
         display: block;
      }

      /* 5. Quebra de palavras para textos longos */
      h1,
      h2,
      h3,
      h4,
      p,
      a,
      span {
         word-wrap: break-word;
         overflow-wrap: break-word;
         hyphens: auto;
      }

      /* ========================================
   CORREÇÕES ESPECÍFICAS MOBILE (≤1080px)
   ======================================== */

      @media (max-width: 1080px) {

         /* Ajusta padding lateral de todos os containers */
         .container {
            padding-left: 1rem !important;
            padding-right: 1rem !important;
         }

         /* Corrige seções com padding excessivo */
         section {
            padding-left: 0 !important;
            padding-right: 0 !important;
         }

         /* Iframe em tela cheia no mobile */
         .iframe-container {
            padding-top: 0;
            height: calc(100vh - 60px);
            border-radius: 0;
            box-shadow: none;
            margin-left: 0;
            margin-right: 0;
            width: 100%;
         }

         .iframe-container iframe {
            width: 100%;
            height: 100%;
            border: none;
            display: block;
         }

         /* Previne zoom indesejado */
         body {
            -webkit-text-size-adjust: 100%;
            text-size-adjust: 100%;
         }

         /* Corrige grid de features para não estourar */
         .grid {
            padding-left: 0;
            padding-right: 0;
         }

         /* Ajusta cards de features */
         .feature-card {
            margin-left: 0;
            margin-right: 0;
         }

         /* Menu mobile sem overflow */
         .mobile-menu {
            left: 0;
            right: 0;
            width: 100%;
            max-width: 100vw;
            margin: 0;
            padding: 1rem;
            overflow-x: hidden;
            box-sizing: border-box;
         }

         /* Corrige seção self-host */
         #self-host .max-w-4xl {
            padding-left: 1rem;
            padding-right: 1rem;
         }

         #self-host .grid {
            gap: 2rem;
         }

         .self-host-card {
            padding: 1.5rem !important;
         }

         .self-host-terminal-content {
            height: 24rem !important;
            padding: 1.1rem !important;
            font-size: 0.82rem;
         }

         .self-host-benefits {
            gap: 0.9rem;
         }

         /* CORREÇÃO CRÍTICA: Code block centralizado e sem overflow */
         .code-block {
            max-width: calc(100vw - 2rem) !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 1rem !important;
            overflow-x: auto !important;
            -webkit-overflow-scrolling: touch;
         }

         .code-block pre {
            overflow-x: auto;
            max-width: 100%;
         }

         .code-block code {
            font-size: 0.75rem;
            white-space: pre;
            display: block;
         }

         /* Ajusta lista de benefícios */
         .self-host-benefits li {
            padding-right: 0;
         }
      }

      /* ========================================
   CORREÇÕES MOBILE PEQUENO (≤640px)
   ======================================== */

      @media (max-width: 640px) {

         /* Reduz padding geral */
         .container {
            padding-left: 0.75rem !important;
            padding-right: 0.75rem !important;
         }

         /* Code block ainda mais compacto */
         .code-block {
            max-width: calc(100vw - 1.5rem) !important;
            padding: 0.75rem !important;
            font-size: 0.7rem !important;
            border-radius: 0.5rem;
         }

         .code-block code span {
            margin-bottom: 0.5rem;
         }

         /* Ajusta grid para coluna única */
         .grid {
            grid-template-columns: 1fr !important;
         }

         .self-host-grid {
            gap: 1.5rem !important;
         }

         .self-host-card {
            border-radius: 1rem;
            padding: 1.1rem !important;
         }

         .self-host-benefits-wrap h3,
         .self-host-terminal-wrap h3 {
            font-size: 1.25rem !important;
            margin-bottom: 0.9rem !important;
         }

         .self-host-benefits li {
            font-size: 0.95rem;
            gap: 0.7rem !important;
         }

         .self-host-terminal-header {
            padding: 0.7rem 0.8rem !important;
            flex-wrap: wrap;
            row-gap: 0.5rem;
         }

         .terminal-path {
            width: 100%;
            margin-left: 0 !important;
            font-size: 0.68rem !important;
            text-align: left;
         }

         .self-host-terminal-content {
            height: 20.5rem !important;
            padding: 0.85rem !important;
            font-size: 0.75rem !important;
         }

         .self-host-terminal-input {
            font-size: 0.72rem;
         }

         .self-host-links {
            margin-top: 1rem !important;
            gap: 0.65rem !important;
         }

         .self-host-link {
            width: 100%;
            justify-content: center;
            border: 1px solid rgba(56, 189, 248, 0.22);
            background: rgba(14, 116, 144, 0.1);
            padding: 0.75rem 0.9rem;
         }

         /* Reduz espaçamento em seções */
         section {
            padding-top: 2rem !important;
            padding-bottom: 2rem !important;
         }

         /* Ajusta títulos para não quebrar layout */
         h1 {
            font-size: 1.875rem !important;
            line-height: 2.25rem !important;
         }

         h2 {
            font-size: 1.5rem !important;
            line-height: 2rem !important;
         }

         /* Footer links sem overflow */
         footer a {
            word-break: break-word;
         }
      }

      /* ========================================
   CORREÇÕES MOBILE EXTRA PEQUENO (≤480px)
   ======================================== */

      @media (max-width: 480px) {
         .code-block {
            max-width: calc(100vw - 1rem) !important;
            padding: 0.65rem !important;
            font-size: 0.65rem !important;
         }

         .code-block code span {
            margin-bottom: 0.4rem;
         }

         /* Ajusta botões para mobile */
         .flex-col.sm\:flex-row {
            flex-direction: column !important;
         }

         .self-host-terminal-content {
            height: 19rem !important;
            font-size: 0.7rem !important;
         }

         .self-host-link {
            font-size: 0.95rem;
            gap: 0.55rem !important;
         }

         /* Reduz padding do header */
         header .container {
            padding-left: 0.5rem !important;
            padding-right: 0.5rem !important;
         }
      }

      /* ========================================
   CORREÇÕES MOBILE MÍNIMO (≤360px)
   ======================================== */

      @media (max-width: 360px) {
         .code-block {
            max-width: calc(100vw - 0.75rem) !important;
            padding: 0.5rem !important;
            font-size: 0.6rem !important;
         }

         /* Ajusta logo e título */
         header img {
            width: 40px !important;
         }

         header .text-xl {
            font-size: 1rem !important;
         }
      }

      /* Badges Container - Stack images vertically and resize to 160x47px */
      .badges-container {
         display: flex;
         flex-direction: column;
         gap: 0.75rem;
         margin-top: 1rem;
      }

      .badges-container a {
         display: inline-block;
      }

      .badges-container img {
         width: 200px;
         height: 80px;
         object-fit: contain;
      }

      .screenshot-frame {
         width: 100%;
         border-radius: 0.5rem;
         overflow: hidden;
         box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
            0 10px 10px -5px rgba(0, 0, 0, 0.04);
         background: linear-gradient(to bottom, #000000, #062894, #000000);
      }

      .screenshot-frame img {
         width: 100%;
         height: auto;
         display: block;
      }

      .screenshot-carousel-track {
         display: flex;
         transition: transform 300ms ease;
         will-change: transform;
      }

      .screenshot-carousel-slide {
         width: 300px;
         flex: 0 0 auto;
      }

      .screenshot-carousel-viewport {
         overflow-x: auto;
         overflow-y: hidden;
         scroll-behavior: smooth;
         -webkit-overflow-scrolling: touch;
      }

      .screenshot-carousel-viewport::-webkit-scrollbar {
         height: 8px;
      }

      .screenshot-carousel-viewport::-webkit-scrollbar-thumb {
         background: rgba(15, 23, 42, 0.25);
         border-radius: 999px;
      }

      .screenshot-carousel-track {
         flex-wrap: nowrap;
         gap: 1rem;
         padding: 0.5rem;
      }

      .screenshot-frame {
         width: auto;
      }

      .screenshot-frame img {
         width: 300px;
         max-width: 300px;
      }
