/* ============================================ SUPEREZIO – Modern Cognitive Interface Refatorado & Melhorado (10×) by ChatGPT + Marco Barreto + Gemini + Claude ============================================ */ /* === 1. DESIGN TOKENS === */ :root { /* — Cores — */ --color-primary: #00D4FF; --color-secondary: #FF6B35; --color-accent: #7C3AED; --color-bg: #0A0A0A; --color-surface: #1A1A1A; --color-text: #FFFFFF; --color-muted: #A0A0A0; --color-border: #333333; /* — Mesmos em RGB (para rgba) — */ --color-primary-rgb: 0, 212, 255; --color-surface-rgb: 26, 26, 26; --color-accent-rgb: 124, 58, 237; /* — Gradiente & Sombra — */ --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent)); --shadow-glow: 0 0 20px rgba(var(--color-primary-rgb), 0.3); /* — Tipografia — */ --font-sans: 'Inter', system-ui, sans-serif; --font-mono: 'JetBrains Mono', monospace; --fz-sm: 0.875rem; --fz-md: 1rem; --fz-lg: 1.125rem; --fw-regular: 400; --fw-bold: 700; /* — Espaçamentos — */ --space-xs: 4px; --space-sm: 8px; --space-md: 16px; --space-lg: 24px; --space-xl: 32px; /* — Bordas & Rayos — */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-round: 50%; /* — Transições — */ --trans-fast: 0.2s ease-in-out; --trans-med: 0.3s ease; --trans-slow: 0.5s ease; /* — Breakpoints — */ --bp-sm: 576px; --bp-md: 768px; --bp-lg: 1024px; } /* === 2. MODO CLARO / ESCURO === */ @media (prefers-color-scheme: light) { :root { --color-bg: #FFFFFF; --color-surface: #F4F4F4; --color-text: #111111; --color-muted: #555555; --color-border: #DDDDDD; --shadow-glow: 0 0 20px rgba(0, 150, 255, 0.2); } } /* === 3. REDUÇÃO DE MOVIMENTO === */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } } /* === 4. RESET & BASE === */ *, *::before, *::after { box-sizing: border-box; } body, html, #root { margin: 0; padding: 0; background: var(--color-bg) !important; color: var(--color-text) !important; font-family: var(--font-sans) !important; font-size: var(--fz-md); line-height: 1.6; overflow-x: hidden; transition: background var(--trans-med), color var(--trans-med); } /* Acessibilidade: foco visível */ :focus { outline: 2px dashed var(--color-primary); outline-offset: 2px; } /* === 5. UTILITÁRIOS COMUNS === */ .text-center { text-align: center; } .flex { display: flex; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-center { justify-content: center; } .w-full { width: 100%; } .max-w-full { max-width: 100%; } .hidden { display: none !important; } /* === 6. TYPOGRAPHY === */ h1, h2, h3, h4, h5, h6 { margin: var(--space-md) 0 var(--space-sm); font-weight: var(--fw-bold); color: var(--color-text); } p { margin: 0 0 var(--space-md); } /* === 7. LAYOUT PRINCIPAL === */ /* Header */ .cl-header, header, .MuiAppBar-root, .MuiToolbar-root { position: sticky !important; top: 0 !important; width: 100% !important; padding: var(--space-sm) var(--space-md) !important; background: rgba(var(--color-surface-rgb), 0.95) !important; backdrop-filter: blur(10px) !important; border-bottom: 1px solid var(--color-border) !important; box-shadow: var(--shadow-glow) !important; z-index: 100 !important; } /* Título */ .cl-app-title, [data-testid="header-title"], .MuiTypography-h6, h1, h2 { font-size: var(--fz-lg) !important; font-weight: var(--fw-bold) !important; background: var(--gradient-primary) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; text-shadow: 0 0 30px rgba(var(--color-primary-rgb), 0.5) !important; margin: 0 !important; transition: text-shadow var(--trans-fast) !important; } /* Sidebar */ .cl-sidebar, aside, .MuiDrawer-paper, nav { background: rgba(var(--color-surface-rgb), 0.95) !important; backdrop-filter: blur(15px) !important; border-right: 1px solid var(--color-border) !important; padding: var(--space-md) !important; } /* Chat Container */ .cl-chatContainer, main, .MuiContainer-root { padding: var(--space-md) !important; overflow-y: auto !important; background: var(--color-bg) !important; min-height: 100vh !important; } /* === 8. BALÕES DE MENSAGEM === */ .cl-message, .MuiPaper-root, [data-testid="message"], .message { background: rgba(var(--color-surface-rgb), 0.8) !important; border: 1px solid var(--color-border) !important; border-radius: var(--radius-lg) !important; margin: var(--space-sm) 0 !important; padding: var(--space-md) !important; backdrop-filter: blur(10px) !important; transition: transform var(--trans-fast), box-shadow var(--trans-fast), border-color var(--trans-fast) !important; } .cl-message:hover, .MuiPaper-root:hover, [data-testid="message"]:hover, .message:hover { border-color: var(--color-primary) !important; box-shadow: 0 4px 20px rgba(var(--color-primary-rgb), 0.1) !important; transform: translateY(-2px) !important; } /* Diferenciação de Autor */ .cl-userMessage, [data-testid="user-message"], .user-message { background: linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.1), rgba(var(--color-accent-rgb), 0.1)) !important; border-color: var(--color-primary) !important; } .cl-assistantMessage, [data-testid="assistant-message"], .assistant-message { background: rgba(var(--color-surface-rgb), 0.9) !important; border-color: var(--color-border) !important; } /* === 9. INPUT & BOTÃO === */ .cl-input, input, textarea, .MuiInputBase-root, .MuiOutlinedInput-root { width: 100% !important; padding: var(--space-sm) var(--space-md) !important; font-size: var(--fz-md) !important; color: var(--color-text) !important; background: rgba(var(--color-surface-rgb), 0.95) !important; border: 2px solid var(--color-border) !important; border-radius: var(--radius-lg) !important; transition: border-color var(--trans-fast), box-shadow var(--trans-fast) !important; } .cl-input:focus, input:focus, textarea:focus, .MuiInputBase-root:focus-within, .MuiOutlinedInput-root:focus-within { border-color: var(--color-primary) !important; box-shadow: var(--shadow-glow) !important; outline: none !important; } /* Botão de envio */ .cl-sendButton, [data-testid="send-button"], .send-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 3rem !important; height: 3rem !important; background: var(--gradient-primary) !important; border: none !important; border-radius: var(--radius-round) !important; color: #fff !important; font-size: var(--fz-lg) !important; cursor: pointer !important; transition: transform var(--trans-fast), box-shadow var(--trans-fast) !important; } .cl-sendButton:hover, [data-testid="send-button"]:hover, .send-button:hover { transform: scale(1.1) !important; box-shadow: var(--shadow-glow) !important; } /* === 10. SCROLLBAR CUSTOMIZADA === */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--color-bg); } ::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: var(--radius-sm); transition: background var(--trans-fast); } ::-webkit-scrollbar-thumb:hover { background: var(--color-accent); } /* === 11. BLOCOS DE CÓDIGO === */ code { background: rgba(var(--color-primary-rgb), 0.1) !important; color: var(--color-primary) !important; font-family: var(--font-mono) !important; font-size: var(--fz-sm) !important; padding: var(--space-xs) var(--space-sm) !important; border-radius: var(--radius-sm) !important; } pre { background: rgba(var(--color-surface-rgb), 0.9) !important; border: 1px solid var(--color-border) !important; border-radius: var(--radius-md) !important; padding: var(--space-md) !important; overflow-x: auto !important; } /* === 12. BOTÕES GERAIS === */ button, .MuiButton-root, .MuiIconButton-root { background: var(--gradient-primary) !important; color: #fff !important; border: none !important; border-radius: var(--radius-md) !important; padding: var(--space-sm) var(--space-md) !important; font-size: var(--fz-md) !important; font-weight: var(--fw-regular) !important; cursor: pointer !important; transition: transform var(--trans-fast), box-shadow var(--trans-fast) !important; } button:hover, .MuiButton-root:hover, .MuiIconButton-root:hover { transform: translateY(-2px) !important; box-shadow: var(--shadow-glow) !important; } /* === 13. ANIMAÇÃO DE LOADING === */ .cl-loading, .MuiCircularProgress-root { color: var(--color-primary) !important; animation: superezio-glow 2s ease-in-out infinite; } @keyframes superezio-glow { 0%, 100% { box-shadow: var(--shadow-glow); } 50% { box-shadow: 0 0 30px rgba(var(--color-primary-rgb), 0.5); } } /* === 14. WELCOME SCREEN === */ .cl-welcomeScreen, .readme-container, [data-testid="readme"] { background: var(--color-bg) !important; color: var(--color-text) !important; padding: var(--space-xl) var(--space-md) !important; } /* === 15. CLASSES ESPECIAIS SUPEREZIO === */ .glass-card { background: rgba(var(--color-surface-rgb), 0.8) !important; backdrop-filter: blur(15px) !important; border: 1px solid var(--color-border) !important; border-radius: var(--radius-lg) !important; padding: var(--space-lg) !important; margin: var(--space-md) 0 !important; transition: all var(--trans-med) !important; } .glass-card:hover { border-color: var(--color-primary) !important; box-shadow: 0 8px 25px rgba(var(--color-primary-rgb), 0.2) !important; } .gradient-text { background: var(--gradient-primary) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; background-clip: text !important; font-weight: var(--fw-bold) !important; } .command-highlight { background: rgba(var(--color-primary-rgb), 0.15) !important; color: var(--color-primary) !important; padding: var(--space-xs) var(--space-sm) !important; border-radius: var(--radius-sm) !important; font-family: var(--font-mono) !important; border: 1px solid rgba(var(--color-primary-rgb), 0.3) !important; font-weight: 500 !important; } .status-online { color: #10B981 !important; text-shadow: 0 0 10px #10B981 !important; } /* === 16. FORÇA TEMA ESCURO EM TUDO === */ .MuiCssBaseline-root, .MuiThemeProvider-root, [data-mui-color-scheme="light"] { background: var(--color-bg) !important; color: var(--color-text) !important; } /* === 17. RESPONSIVIDADE === */ @media (max-width: var(--bp-md)) { .cl-app-title { font-size: var(--fz-md) !important; } .cl-input { padding: var(--space-sm) var(--space-lg) !important; } .cl-header, header { padding: var(--space-xs) var(--space-sm) !important; } .cl-chatContainer, main { padding: var(--space-sm) !important; } .glass-card { margin: var(--space-sm) 0 !important; padding: var(--space-md) !important; } } /* === 18. ANIMAÇÃO DE ENTRADA === */ * { animation: superezio-fade-in 0.5s ease-out; } @keyframes superezio-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }