Lucace's picture
fix(ui): enforce English-only localization and overhaul small-screen mobile responsiveness
6d4e4cd
Raw History Blame Contribute Delete
3.34 kB
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap');
:root {
--bg-color: #0b0c10;
--panel-bg: rgba(31, 40, 51, 0.6);
--panel-border: rgba(102, 252, 241, 0.2);
--text-main: #c5c6c7;
--text-bright: #ffffff;
--accent-cyan: #66fcf1;
--accent-teal: #45a29e;
--accent-red: #ff4b4b;
--accent-green: #4ade80;
--accent-purple: #c084fc;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Inter', sans-serif;
background-color: var(--bg-color);
color: var(--text-main);
background-image:
radial-gradient(circle at 15% 50%, rgba(69, 162, 158, 0.15), transparent 25%),
radial-gradient(circle at 85% 30%, rgba(192, 132, 252, 0.1), transparent 25%);
background-attachment: fixed;
min-height: 100vh;
overflow-x: hidden;
}
.glass-panel {
background: var(--panel-bg);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--panel-border);
border-radius: 16px;
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
}
/* Animations */
@keyframes pulseGlow {
0% { box-shadow: 0 0 5px rgba(102, 252, 241, 0.2); }
50% { box-shadow: 0 0 20px rgba(102, 252, 241, 0.6); }
100% { box-shadow: 0 0 5px rgba(102, 252, 241, 0.2); }
}
@keyframes slideIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInRight {
from { opacity: 0; transform: translateX(-20px); }
to { opacity: 1; transform: translateX(0); }
}
.animate-slide-in {
animation: slideIn 0.4s ease-out forwards;
}
.animate-fade-right {
animation: fadeInRight 0.3s ease-out forwards;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-thumb {
background: var(--accent-teal);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--accent-cyan);
}
.font-mono {
font-family: 'JetBrains Mono', monospace;
}
/* Global utility classes */
.text-cyan { color: var(--accent-cyan); }
.text-green { color: var(--accent-green); }
.text-red { color: var(--accent-red); }
.text-purple { color: var(--accent-purple); }
.text-bright { color: var(--text-bright); }
.bg-cyan-dim { background-color: rgba(102, 252, 241, 0.1); }
.bg-red-dim { background-color: rgba(255, 75, 75, 0.1); }
.bg-green-dim { background-color: rgba(74, 222, 128, 0.1); }
.bg-purple-dim { background-color: rgba(192, 132, 252, 0.1); }
.border-cyan { border-color: var(--accent-cyan); }
.border-red { border-color: var(--accent-red); }
.border-green { border-color: var(--accent-green); }
/* === Main App Responsive Layout === */
.app-container {
padding: 1.5rem 2rem;
max-width: 1600px;
margin: 0 auto;
height: 100dvh;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
.app-content {
flex: 1;
min-height: 0;
margin-top: 1rem;
display: flex;
flex-direction: column;
}
@media (max-width: 768px) {
.app-container {
padding: 0.6rem 0.5rem;
height: auto;
min-height: 100dvh;
}
.app-content {
margin-top: 0.4rem;
min-height: calc(100dvh - 130px);
}
}
@media (max-width: 420px) {
.app-container {
padding: 0.4rem 0.3rem;
}
.app-content {
margin-top: 0.25rem;
}
}