/* ===== AV-Compra — Tema FUSION (escuro) ===== */
      :root {
        --bg: #050505;
        --orange: #FF6A2C;
        --blue: #00AEEF;
        --blue-deep: #0077B6;
        --line: rgba(255,255,255,0.06);
        --txt: #e8e8e8;
      }
      * { box-sizing: border-box; }
      html, body, #root { height: 100%; margin: 0; font-family: 'Inter', sans-serif; }
      body {
        background:
          radial-gradient(ellipse at 72% 82%, rgba(40,40,58,0.55), transparent 52%),
          radial-gradient(ellipse at 18% 18%, rgba(30,30,48,0.45), transparent 52%),
          linear-gradient(160deg, #0a0a12 0%, #14141f 42%, #1a1620 100%);
        background-attachment: fixed;
        color: var(--txt);
        overflow: hidden;
      }

      .app-disclaimer {
        position: absolute; bottom: 0; left: 0; right: 0; z-index: 20;
        padding: 10px 28px; text-align: center; font-size: 11px; line-height: 1.45;
        color: rgba(255,255,255,0.55);
        background: rgba(0,0,0,0.45); border-top: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(4px);
      }
      .app-disclaimer p { margin: 0; max-width: 1240px; margin-inline: auto; }

      /* ===== Tablet flutuante (novo visual) ===== */
      .stars-layer { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
      .stars-layer i { position: absolute; width: 2px; height: 2px; background: #fff; border-radius: 50%; }
      .cs-mono { font-family: 'DM Mono', monospace; }
      .serif { font-family: 'Playfair Display', serif; }

      /* Canvas de partículas neurais (fundo global) */
      #app-particles { position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.4; }
      .app-ambient { position: fixed; border-radius: 50%; filter: blur(90px); pointer-events: none; z-index: 0; }
      .app-ambient.amb-1 { width: 520px; height: 520px; background: rgba(0,174,239,0.10); top: -180px; right: -120px; }
      .app-ambient.amb-2 { width: 420px; height: 420px; background: rgba(255,106,44,0.06); bottom: -160px; left: -100px; }

      .glass {
        background: rgba(255,255,255,0.04);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid var(--line);
      }
      /* bracket tag — laranja (acento conceito 2) */
      .tag-badge {
        display: inline-block;
        font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
        color: var(--orange);
        background: rgba(255,106,44,0.10);
        border: 1px solid rgba(255,106,44,0.25);
        padding: 2px 8px; border-radius: 4px;
        font-family: 'DM Mono', monospace;
      }
      ::-webkit-scrollbar { width: 5px; height: 5px; }
      ::-webkit-scrollbar-track { background: transparent; }
      ::-webkit-scrollbar-thumb { background-color: rgba(255,255,255,0.10); border-radius: 10px; }
      ::-webkit-scrollbar-thumb:hover { background-color: rgba(255,255,255,0.2); }
      .animate-fade-in { animation: fadeIn 0.25s ease-in-out; }
      @keyframes fadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
      .animate-pulse-slow { animation: pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }
      @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
      textarea:focus, input:focus { outline: none; }
      select, input, textarea { font-family: 'Inter', sans-serif; }
      textarea::placeholder, input::placeholder { color: rgba(140,150,165,0.7); }

      /* prose — herda a cor do container (cada uso define color inline:
         fundo branco => color escuro; fundo escuro => color claro) */
      .prose h1,.prose h2,.prose h3,.prose h4 { color:inherit; font-weight:700; margin-bottom:0.5rem; margin-top:1.25rem; }
      .prose p { margin-bottom:0.75rem; line-height:1.75; color:inherit; }
      .prose ul,.prose ol { padding-left:1.25rem; margin-bottom:0.75rem; color:inherit; }
      .prose li { margin-bottom:0.25rem; color:inherit; }
      .prose strong { font-weight:700; color:inherit; }
      .prose a { color:#ea580c; text-decoration:underline; }
      .prose table { width:100%; border-collapse:collapse; margin:12px 0; font-size:0.92em; }
      .prose th { background:rgba(225,99,47,0.12); color:inherit; font-weight:700; padding:8px 12px; text-align:left; border:1px solid currentColor; border-color:rgba(128,128,128,0.25); }
      .prose td { color:inherit; padding:8px 12px; border:1px solid rgba(128,128,128,0.2); }
      .prose code { background:rgba(128,128,128,0.15); color:inherit; padding:1px 5px; border-radius:5px; font-size:0.9em; }

      /* prose escuro — usado no chat (tema fusion) */
      .prose-dark h1,.prose-dark h2,.prose-dark h3,.prose-dark h4 { color:#fff; font-weight:700; margin-bottom:0.5rem; margin-top:1.1rem; }
      .prose-dark p { margin-bottom:0.7rem; line-height:1.7; color:rgba(255,255,255,0.72); }
      .prose-dark ul,.prose-dark ol { padding-left:1.25rem; margin-bottom:0.7rem; color:rgba(255,255,255,0.72); }
      .prose-dark li { margin-bottom:0.25rem; }
      .prose-dark strong { font-weight:600; color:var(--orange); }
      .prose-dark a { color:var(--blue); text-decoration:underline; }
      .prose-dark code { background:rgba(255,255,255,0.07); padding:1px 5px; border-radius:5px; font-size:0.9em; }

      .prose-invert h1,.prose-invert h2,.prose-invert h3,.prose-invert h4 { color:rgba(255,255,255,0.9); }
      .prose-invert p { color:rgba(255,255,255,0.75); }
      .prose-invert strong { color:rgba(255,255,255,0.95); }
      .prose-invert ul,.prose-invert ol { color:rgba(255,255,255,0.75); }