128 lines
2.9 KiB
CSS
128 lines
2.9 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
--safe-area-inset-top: env(safe-area-inset-top);
|
|
--safe-area-inset-bottom: env(safe-area-inset-bottom);
|
|
}
|
|
|
|
:root {
|
|
--bg-primary: #ffffff;
|
|
--bg-secondary: #f5f5f5;
|
|
--bg-tertiary: #f9fafb;
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--text-tertiary: #9ca3af;
|
|
--border-color: #e5e7eb;
|
|
--shadow-color: rgba(0, 0, 0, 0.05);
|
|
--gradient-start: #f97316;
|
|
--gradient-end: #ea580c;
|
|
}
|
|
|
|
.dark {
|
|
--bg-primary: #1f2937;
|
|
--bg-secondary: #111827;
|
|
--bg-tertiary: #374151;
|
|
--text-primary: #f9fafb;
|
|
--text-secondary: #d1d5db;
|
|
--text-tertiary: #9ca3af;
|
|
--border-color: #374151;
|
|
--shadow-color: rgba(0, 0, 0, 0.3);
|
|
--gradient-start: #f97316;
|
|
--gradient-end: #ea580c;
|
|
}
|
|
|
|
.deep-blue {
|
|
--bg-primary: #0f172a;
|
|
--bg-secondary: #020617;
|
|
--bg-tertiary: #1e293b;
|
|
--text-primary: #f1f5f9;
|
|
--text-secondary: #cbd5e1;
|
|
--text-tertiary: #94a3b8;
|
|
--border-color: #334155;
|
|
--shadow-color: rgba(0, 0, 0, 0.4);
|
|
--gradient-start: #3b82f6;
|
|
--gradient-end: #2563eb;
|
|
}
|
|
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;
|
|
background-color: var(--bg-secondary);
|
|
color: var(--text-primary);
|
|
line-height: 1.5;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
transition: background-color 0.3s ease, color 0.3s ease;
|
|
}
|
|
|
|
#root {
|
|
height: 100%;
|
|
}
|
|
|
|
.page-container {
|
|
min-height: 100vh;
|
|
padding-bottom: calc(60px + env(safe-area-inset-bottom));
|
|
background-color: var(--bg-secondary);
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.page-content {
|
|
padding: 12px;
|
|
}
|
|
|
|
.card {
|
|
background: var(--bg-primary);
|
|
border-radius: 12px;
|
|
padding: 16px;
|
|
margin-bottom: 12px;
|
|
box-shadow: 0 1px 3px var(--shadow-color);
|
|
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
|
}
|
|
|
|
.btn-primary {
|
|
@apply bg-primary-500 text-white px-4 py-2 rounded-lg font-medium transition-all duration-200;
|
|
@apply hover:bg-primary-600 active:scale-95;
|
|
}
|
|
|
|
.btn-secondary {
|
|
@apply bg-gray-100 text-gray-700 px-4 py-2 rounded-lg font-medium transition-all duration-200;
|
|
@apply hover:bg-gray-200 active:scale-95;
|
|
}
|
|
|
|
.input-field {
|
|
@apply w-full px-4 py-3 border border-gray-200 rounded-lg text-base;
|
|
@apply focus:outline-none focus:border-primary-500 focus:ring-1 focus:ring-primary-500;
|
|
}
|
|
|
|
@layer utilities {
|
|
.text-gradient {
|
|
@apply bg-gradient-to-r from-primary-500 to-primary-600 bg-clip-text text-transparent;
|
|
}
|
|
|
|
.safe-bottom {
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
}
|
|
|
|
.safe-top {
|
|
padding-top: env(safe-area-inset-top);
|
|
}
|
|
|
|
.scrollbar-hide {
|
|
-ms-overflow-style: none;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.scrollbar-hide::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
} |