AutoTeam-F / web /src /style.css
ZRainbow's picture
feat: AutoTeam ๅคง็‰ˆๆœฌๅ‡็บง๏ผšๅฎ‰ๅ…จ่ฝฎๆขใ€ๅนถ่กŒใ€IPv6ใ€ๆŒ‡็บนๅŠ ๅ›บไธŽๅ‰็ซฏ้‡ๆž„
1f4cfcb
Raw
History Blame Contribute Delete
9.03 kB
@tailwind base;
@tailwind components;
@tailwind utilities;
/* โ”€โ”€ AutoTeam Bright v1 ๅ…จๅฑ€ๅŸบ็บฟ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
:root {
color-scheme: light;
--bg-canvas: #fafafa;
--bg-surface: #ffffff;
--bg-surface-hover: #f5f5f5;
--hairline: #e5e5e5;
--hairline-strong: #d4d4d4;
--ink-950: #0a0a0a;
--ink-700: #404040;
--ink-600: #525252;
--ink-500: #737373;
--ink-400: #a3a3a3;
--accent: #4f46e5;
--accent-soft: #eef2ff;
}
html, body {
font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11', 'ss01';
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
body {
background-color: var(--bg-canvas);
background-image: none;
color: var(--ink-700);
}
/* ้ซ˜็บงๆ„Ÿ๏ผšfont-numeric tabular,ๆ•ฐๅญ—ๅˆ—ๅฏน้ฝ */
.font-mono, code, pre, .tabular {
font-variant-numeric: tabular-nums;
}
/* โ”€โ”€ ๅก็‰‡้ขๆฟ๏ผˆๆ›ฟๆขๅŽŸ"็Žป็’ƒ้ขๆฟ"่ฏญไน‰๏ผ‰โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
.glass {
background: var(--bg-surface);
backdrop-filter: none;
border: 1px solid var(--hairline);
box-shadow:
0 1px 2px 0 rgba(0, 0, 0, 0.04),
0 1px 3px 0 rgba(0, 0, 0, 0.06);
}
.glass-soft {
background: var(--bg-surface);
border: 1px solid var(--hairline);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}
/* โ”€โ”€ shimmer (loading row) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
.shimmer-bg {
background: linear-gradient(90deg, rgba(0,0,0,0.03) 0%, rgba(0,0,0,0.08) 50%, rgba(0,0,0,0.03) 100%);
background-size: 200% 100%;
animation: shimmer 2.4s ease-in-out infinite;
}
/* โ”€โ”€ ่กŒ hover ้ซ˜ไบฎ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
.row-hoverable {
position: relative;
transition: background-color 180ms ease, transform 180ms ease;
}
.row-hoverable::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(180deg, transparent, rgba(79, 70, 229, 0.5), transparent);
opacity: 0;
transition: opacity 220ms ease;
}
.row-hoverable:hover::before {
opacity: 1;
}
.row-hoverable:hover {
background-color: var(--bg-surface-hover);
}
/* GRACE ๅ€’่ฎกๆ—ถ < 7d ้—ช็ƒ */
@keyframes graceUrgent {
0%, 100% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0); }
50% { box-shadow: 0 0 0 4px rgba(225, 29, 72, 0.18); }
}
.grace-urgent { animation: graceUrgent 2.2s ease-in-out infinite; }
/* ๆปšๅŠจๆก๏ผˆๆต…่‰ฒ็‰ˆ๏ผ‰ */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.12);
border-radius: 8px;
border: 2px solid transparent;
background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.20);
background-clip: padding-box;
border: 2px solid transparent;
}
#app { position: relative; z-index: 1; }
/* hover ๆŠฌๅ‡ + ๅ†…้˜ดๅฝฑ */
.lift-hover { transition: transform 180ms cubic-bezier(0.22,1,0.36,1), box-shadow 180ms ease; }
.lift-hover:hover:not(:disabled) {
transform: translateY(-1px);
box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.04);
}
.lift-hover:active:not(:disabled) { transform: translateY(0); }
/* focus ring (indigo) */
.focus-ring:focus-visible {
outline: none;
box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.40), 0 0 0 4px rgba(79, 70, 229, 0.15);
}
/* โ”€โ”€ ่ทฏ็”ฑๅˆ‡ๆข่ฟ‡ๆธก (App.vue Transition name="page") โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
.page-enter-from { opacity: 0; transform: translateY(4px); }
.page-enter-active { transition: opacity 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1); }
.page-enter-to { opacity: 1; transform: translateY(0); }
.page-leave-from { opacity: 1; transform: translateY(0); }
.page-leave-active { transition: opacity 120ms ease-in, transform 120ms ease-in; }
.page-leave-to { opacity: 0; transform: translateY(-2px); }
/* โ”€โ”€ ๆธๅ˜ๆŒ‰้’ฎไธŠ็š„ๅ‰ๆ™ฏ่‰ฒๅ›บๅฎš๏ผˆ็ป•่ฟ‡ๆ—งๆทฑ่‰ฒๅ…ผๅฎนๅฑ‚๏ผ‰โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
.text-on-accent { color: #ffffff !important; }
/* โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
* ยง Compat Layer โ€” ๆ—งๆทฑ่‰ฒ utility โ†’ ๆ˜Žไบฎ็ญ‰ไปทๅ€ผ
* ้ƒจๅˆ†ๅކๅฒ็ป„ไปถไป็กฌ็ผ–็  text-gray-X / bg-white/[0.0X] / border-white/[X]ใ€‚
* ็ปŸไธ€ๅœจๆญคไธ€ๆฌกๆ€ง็ฟป่ฝฌ,้ฟๅ…ๆ— ๅ…ณ้กต้ขๅœจ่ฟ็งปไธญ็ ด็‰ˆใ€‚
* ๆธๅ˜ๆŒ‰้’ฎ็ญ‰้œ€่ฆๅ›บๅฎš้ซ˜ๅฏนๆฏ”ๅ‰ๆ™ฏ็š„ๅ…ƒ็ด ่ฏทไฝฟ็”จ .text-on-accentใ€‚
* โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
@layer utilities {
/* ๆ–‡ๅญ—่‰ฒ็ฟป่ฝฌ */
.text-gray-100 { color: #171717; }
.text-gray-200 { color: #262626; }
.text-gray-300 { color: #404040; }
.text-gray-400 { color: #525252; }
.text-gray-500 { color: #737373; }
.text-gray-600 { color: #a3a3a3; }
.text-gray-700 { color: #d4d4d4; }
.hover\:text-gray-100:hover { color: #171717; }
.hover\:text-gray-200:hover { color: #262626; }
.hover\:text-gray-300:hover { color: #404040; }
/* ๅŠ้€ๆ˜Ž็™ฝๅบ• โ†’ ๅŠ้€ๆ˜Ž้ป‘ๅบ• */
.bg-white\/\[0\.02\] { background-color: rgba(0,0,0,0.02); }
.bg-white\/\[0\.03\] { background-color: rgba(0,0,0,0.03); }
.bg-white\/\[0\.04\] { background-color: rgba(0,0,0,0.04); }
.bg-white\/\[0\.05\] { background-color: rgba(0,0,0,0.05); }
.bg-white\/\[0\.06\] { background-color: rgba(0,0,0,0.05); }
.bg-white\/\[0\.07\] { background-color: rgba(0,0,0,0.06); }
.bg-white\/\[0\.08\] { background-color: rgba(0,0,0,0.06); }
.bg-white\/\[0\.10\] { background-color: rgba(0,0,0,0.07); }
.bg-white\/5 { background-color: rgba(0,0,0,0.04); }
.bg-white\/10 { background-color: rgba(0,0,0,0.06); }
.hover\:bg-white\/\[0\.04\]:hover { background-color: rgba(0,0,0,0.04); }
.hover\:bg-white\/\[0\.06\]:hover { background-color: rgba(0,0,0,0.05); }
.hover\:bg-white\/\[0\.07\]:hover { background-color: rgba(0,0,0,0.06); }
.hover\:bg-white\/\[0\.10\]:hover { background-color: rgba(0,0,0,0.07); }
/* gray-700/800/900 ็ฐ้˜ถ๏ผˆSettings ็ญ‰็ป„ไปถ็กฌ็ผ–็ ๆทฑ่‰ฒ input๏ผ‰โ†’ ๆต…็ฐ */
.bg-gray-700 { background-color: #ebebeb; }
.hover\:bg-gray-700:hover { background-color: #e5e5e5; }
.disabled\:bg-gray-700:disabled { background-color: #f5f5f5; }
.disabled\:hover\:bg-gray-700:disabled:hover { background-color: #f5f5f5; }
.border-gray-600 { border-color: #d4d4d4; }
.border-gray-700 { border-color: #d4d4d4; }
.border-gray-800 { border-color: #e5e5e5; }
.border-gray-900 { border-color: #e5e5e5; }
/* border-white/X โ†’ hairline */
.border-white\/\[0\.04\] { border-color: rgba(0,0,0,0.06); }
.border-white\/\[0\.05\] { border-color: rgba(0,0,0,0.06); }
.border-white\/\[0\.06\] { border-color: rgba(0,0,0,0.07); }
.border-white\/\[0\.08\] { border-color: rgba(0,0,0,0.08); }
.border-white\/\[0\.10\] { border-color: rgba(0,0,0,0.10); }
.border-white\/5 { border-color: rgba(0,0,0,0.06); }
.border-white\/10 { border-color: rgba(0,0,0,0.10); }
.border-white\/20 { border-color: rgba(0,0,0,0.15); }
.hover\:border-white\/20:hover { border-color: rgba(0,0,0,0.15); }
/* placeholder */
.placeholder\:text-gray-600::placeholder { color: #a3a3a3; }
.placeholder\:text-gray-500::placeholder { color: #a3a3a3; }
/* tone-300/200 ๆ–‡ๅญ—๏ผˆๆทฑ่‰ฒไธป้ข˜้‡Œ็š„ๆ˜Žไบฎๆ€๏ผ‰โ†’ tone-700/800 (light ไธŠๆ›ดๆ˜“่ฏป) */
.text-emerald-100, .text-emerald-200 { color: #065f46; }
.text-emerald-300 { color: #047857; }
.text-amber-100, .text-amber-200 { color: #92400e; }
.text-amber-300 { color: #b45309; }
.text-rose-100, .text-rose-200 { color: #9f1239; }
.text-rose-300 { color: #be123c; }
.text-orange-200 { color: #9a3412; }
.text-orange-300 { color: #c2410c; }
.text-indigo-100, .text-indigo-200 { color: #3730a3; }
.text-indigo-300 { color: #4338ca; }
.text-blue-200 { color: #1e3a8a; }
.text-blue-300 { color: #1d4ed8; }
.text-yellow-200 { color: #854d0e; }
.text-yellow-300 { color: #a16207; }
.text-cyan-100, .text-cyan-200 { color: #155e75; }
.text-cyan-300 { color: #0e7490; }
.text-sky-100, .text-sky-200 { color: #0c4a6e; }
.text-sky-300 { color: #0369a1; }
.text-slate-300 { color: #475569; }
.text-slate-400 { color: #64748b; }
.text-slate-500 { color: #64748b; }
.text-red-300 { color: #b91c1c; }
.hover\:text-rose-200:hover { color: #9f1239; }
.hover\:text-rose-300:hover { color: #be123c; }
.hover\:text-emerald-200:hover { color: #065f46; }
.hover\:text-amber-200:hover { color: #92400e; }
}