Files
2026FIFAWorldCup/platform/web/app/globals.css

92 lines
2.0 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;700;900&family=VT323&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--font-body: 'Noto Sans TC';
--font-matrix: 'VT323';
--warm-bg: #f6f0e1;
}
html,
body {
margin: 0;
padding: 0;
min-height: 100%;
background:
radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.55), transparent 35%),
radial-gradient(circle at 80% 15%, rgba(209, 67, 45, 0.12), transparent 35%),
#f6f0e1;
color: #2a2018;
}
* {
box-sizing: border-box;
}
body {
font-family: var(--font-body), Arial, sans-serif;
}
.dashboard-shell {
min-height: 100vh;
background: linear-gradient(140deg, rgba(255, 255, 255, 0.65), rgba(246, 240, 225, 0.85));
}
.panel-glow {
border: 1px solid rgba(255, 255, 255, 0.5);
background: linear-gradient(170deg, rgba(255, 248, 230, 0.86), rgba(246, 240, 225, 0.88));
box-shadow: 0 20px 45px rgba(95, 53, 44, 0.1);
}
.dot-matrix {
font-family: var(--font-matrix), monospace;
letter-spacing: 0.09em;
}
.status-led {
width: 0.6rem;
height: 0.6rem;
border-radius: 9999px;
display: inline-block;
}
.status-led-ok { background: #1a9a57; }
.status-led-warn { background: #dcb53b; }
.status-led-danger { background: #d1432d; }
@keyframes top-edge-glow {
0% {
box-shadow: 0 0 0 rgba(235, 90, 40, 0.0), 0 0 0 rgba(235, 90, 40, 0.0);
border-color: rgba(188, 68, 43, 0.7);
}
50% {
box-shadow: 0 0 18px rgba(235, 90, 40, 0.35), 0 0 36px rgba(235, 90, 40, 0.2);
border-color: rgba(235, 90, 40, 1);
}
100% {
box-shadow: 0 0 0 rgba(235, 90, 40, 0), 0 0 0 rgba(235, 90, 40, 0);
border-color: rgba(188, 68, 43, 0.9);
}
}
.prop-top-edge {
animation: top-edge-glow 1.8s ease-in-out infinite;
}
@keyframes dot-matrix-pulse {
0%, 100% {
opacity: 0.35;
transform: translateY(0);
}
50% {
opacity: 1;
transform: translateY(-2px);
}
}
.dot-matrix-loading {
animation: dot-matrix-pulse 1s steps(1) infinite;
}