iagofp's picture
Cambios color + adecuacion teclado en movil
2a54d13
<template>
<v-app class="sentimental-app">
<router-view />
</v-app>
</template>
<style>
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Space+Grotesk:wght@300;400;500;700&display=swap");
/* ─── Reset ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html, body, #root { height: 100%; margin: 0; padding: 0; }
body { overflow-x: hidden; }
.sentimental-app {
font-family: "Space Grotesk", "Segoe UI", sans-serif;
min-height: 100vh;
}
/* ─── Light theme (default) ───────────────────────
All CSS vars live here. Dark overrides below. */
:root,
.v-theme--vsLight {
--vs-bg-gradient: #fafafa;
--vs-panel: rgba(255, 255, 255, 0.82);
--vs-panel-hover: rgba(255, 255, 255, 0.96);
--vs-border: rgba(102, 126, 234, 0.18);
--vs-text: #1e2240;
--vs-muted: #5a6890;
--vs-gold: #b8860b;
--vs-gold-glow: rgba(184, 134, 11, 0.25);
/* component-level */
--vs-result-bg: rgba(255, 255, 255, 0.92);
--vs-result-border: rgba(102, 126, 234, 0.14);
--vs-bot-bg: rgba(102, 126, 234, 0.07);
--vs-bot-border: rgba(102, 126, 234, 0.15);
--vs-movie-bg: rgba(102, 126, 234, 0.04);
--vs-movie-hover: rgba(102, 126, 234, 0.09);
--vs-bar-bg: rgba(0, 0, 0, 0.06);
--vs-scrollbar: rgba(0, 0, 0, 0.13);
--vs-scrollbar-hover: rgba(0, 0, 0, 0.23);
--vs-empty-icon-bg: rgba(102, 126, 234, 0.08);
--vs-empty-icon-border:rgba(102, 126, 234, 0.2);
--vs-hero-bg: linear-gradient(135deg, rgba(240,244,255,0.92) 0%, rgba(255,255,255,0.88) 100%);
--vs-hero-shadow: 0 4px 20px rgba(102,126,234,0.1), 0 0 0 1px rgba(102,126,234,0.1);
--vs-transition-bg: rgba(34, 211, 238, 0.06);
--vs-transition-border:rgba(34, 211, 238, 0.18);
--vs-followup-bg: rgba(34, 197, 94, 0.06);
--vs-followup-border: rgba(34, 197, 94, 0.18);
--vs-dialog-bg: rgba(245, 247, 255, 0.99);
--vs-dialog-border: rgba(102, 126, 234, 0.2);
--vs-section-alt: transparent;
--vs-section-bg: transparent;
--vs-card-shadow: 0 2px 16px rgba(102,126,234,0.1);
--vs-glass-blur: 20px;
--vs-accent: #667eea;
}
/* ─── Dark theme ──────────────────────────────── */
.v-theme--vsDark {
--vs-bg-gradient: #121212;
--vs-panel: rgba(30, 41, 82, 0.38);
--vs-panel-hover: rgba(30, 41, 82, 0.55);
--vs-border: rgba(212, 175, 55, 0.2);
--vs-text: #f0f6ff;
--vs-muted: #a8b8d0;
--vs-gold: #d4af37;
--vs-gold-glow: rgba(212, 175, 55, 0.35);
--vs-result-bg: rgba(12, 18, 42, 0.65);
--vs-result-border: rgba(255, 255, 255, 0.07);
--vs-bot-bg: rgba(102, 126, 234, 0.11);
--vs-bot-border: rgba(102, 126, 234, 0.2);
--vs-movie-bg: rgba(255, 255, 255, 0.04);
--vs-movie-hover: rgba(255, 255, 255, 0.08);
--vs-bar-bg: rgba(255, 255, 255, 0.07);
--vs-scrollbar: rgba(255, 255, 255, 0.12);
--vs-scrollbar-hover: rgba(255, 255, 255, 0.22);
--vs-empty-icon-bg: rgba(212, 175, 55, 0.1);
--vs-empty-icon-border:rgba(212, 175, 55, 0.2);
--vs-hero-bg: linear-gradient(135deg, rgba(22,28,58,0.55) 0%, rgba(30,41,82,0.4) 100%);
--vs-hero-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 0 0 1px rgba(212,175,55,0.08);
--vs-transition-bg: rgba(34, 211, 238, 0.06);
--vs-transition-border:rgba(34, 211, 238, 0.12);
--vs-followup-bg: rgba(34, 197, 94, 0.06);
--vs-followup-border: rgba(34, 197, 94, 0.12);
--vs-dialog-bg: rgba(8, 12, 35, 0.98);
--vs-dialog-border: rgba(212, 175, 55, 0.22);
--vs-section-alt: transparent;
--vs-section-bg: transparent;
--vs-card-shadow: 0 4px 24px rgba(0,0,0,0.25);
--vs-accent: #d4af37;
--vs-glass-blur: 24px;
}
/* ─── App backgrounds ────────────────────────── */
.v-theme--vsLight.sentimental-app {
background-color: var(--vs-bg-gradient) !important;
color: var(--vs-text);
}
.v-theme--vsDark.sentimental-app {
background-color: var(--vs-bg-gradient) !important;
color: var(--vs-text);
}
/* ─── Shared dialog styles (dialogs teleport to body) ── */
.dialog-card {
background: var(--vs-dialog-bg) !important;
border: 1.5px solid var(--vs-dialog-border) !important;
backdrop-filter: blur(30px) !important;
}
.dialog-title {
font-family: "Space Grotesk", sans-serif !important;
font-size: 1.05rem !important;
font-weight: 700 !important;
color: var(--vs-text) !important;
display: flex !important;
align-items: center !important;
}
.dialog-movie-name {
font-weight: 600;
color: var(--vs-text);
font-size: 1rem;
}
.dialog-subtitle {
color: var(--vs-muted);
margin: 0;
line-height: 1.55;
}
.rating-stars-row {
display: flex;
align-items: center;
gap: 2px;
}
.rating-label {
font-size: 0.9rem;
font-weight: 600;
color: var(--vs-muted);
margin-left: 6px;
}
/* ─── Animations ──────────────────────────────── */
@keyframes liquidFloat {
0%, 100% { transform: translateY(0) rotate(0deg); }
50% { transform: translateY(-5px) rotate(0.5deg); }
}
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(18px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes scaleIn {
from { opacity: 0; transform: scale(0.95); }
to { opacity: 1; transform: scale(1); }
}
</style>