HASHIRU / public /superezio.css
mulambo's picture
Initial commit
fea1bd1
/* ============================================
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);
}
}