200 lines
3.7 KiB
CSS
200 lines
3.7 KiB
CSS
@config "../../tailwind.shell.config.js";
|
|
|
|
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
@layer base {
|
|
:root {
|
|
color-scheme: light;
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 84% 4.9%;
|
|
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222.2 84% 4.9%;
|
|
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 84% 4.9%;
|
|
|
|
--primary: 222.2 47.4% 11.2%;
|
|
--primary-foreground: 210 40% 98%;
|
|
|
|
--secondary: 210 40% 96.1%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--muted: 210 40% 96.1%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
|
|
--accent: 210 40% 96.1%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
--ring: 222.2 84% 4.9%;
|
|
|
|
--radius: 0.5rem;
|
|
}
|
|
|
|
.dark {
|
|
color-scheme: dark;
|
|
--background: 222.2 84% 4.9%;
|
|
--foreground: 210 40% 98%;
|
|
|
|
--card: 222.2 84% 4.9%;
|
|
--card-foreground: 210 40% 98%;
|
|
|
|
--popover: 222.2 84% 4.9%;
|
|
--popover-foreground: 210 40% 98%;
|
|
|
|
--primary: 210 40% 98%;
|
|
--primary-foreground: 222.2 47.4% 11.2%;
|
|
|
|
--secondary: 217.2 32.6% 17.5%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
|
|
--muted: 217.2 32.6% 17.5%;
|
|
--muted-foreground: 215 20.2% 65.1%;
|
|
|
|
--accent: 217.2 32.6% 17.5%;
|
|
--accent-foreground: 210 40% 98%;
|
|
|
|
--destructive: 0 62.8% 30.6%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
|
|
--border: 217.2 32.6% 17.5%;
|
|
--input: 217.2 32.6% 17.5%;
|
|
--ring: 212.7 26.8% 83.9%;
|
|
}
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
border-color: hsl(var(--border));
|
|
}
|
|
html {
|
|
scrollbar-width: none;
|
|
}
|
|
body {
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
input,
|
|
textarea,
|
|
select {
|
|
color: hsl(var(--foreground));
|
|
}
|
|
}
|
|
|
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
/* 细滚动条:仅作用于需要内部滚动的面板/结果区(覆盖上方的全局隐藏) */
|
|
.diff-scroll {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
|
|
}
|
|
.diff-scroll::-webkit-scrollbar {
|
|
display: block;
|
|
width: 6px;
|
|
height: 6px;
|
|
}
|
|
.diff-scroll::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
.diff-scroll::-webkit-scrollbar-thumb {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
border-radius: 3px;
|
|
}
|
|
.dark .diff-scroll::-webkit-scrollbar-thumb {
|
|
background: rgba(255, 255, 255, 0.25);
|
|
}
|
|
|
|
@layer components {
|
|
.page-transition-enter {
|
|
@apply motion-reduce:transition-none;
|
|
animation: tt-page-enter 200ms ease-out;
|
|
}
|
|
}
|
|
|
|
@layer utilities {
|
|
.fade-in-150 {
|
|
animation: tt-fade-in 150ms ease-out forwards;
|
|
}
|
|
|
|
.fade-in-200 {
|
|
animation: tt-fade-in 200ms ease-out forwards;
|
|
}
|
|
|
|
.fade-in-300 {
|
|
animation: tt-fade-in 300ms ease-out forwards;
|
|
}
|
|
|
|
.fade-in-zoom-95 {
|
|
animation: tt-fade-in-zoom-95 150ms ease-out forwards;
|
|
}
|
|
|
|
.fade-in-slide-top-1 {
|
|
animation: tt-fade-in-slide-top-1 150ms ease-out forwards;
|
|
}
|
|
|
|
.fade-in-slide-top-2 {
|
|
animation: tt-fade-in-slide-top-2 150ms ease-out forwards;
|
|
}
|
|
}
|
|
|
|
@keyframes tt-fade-in {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes tt-fade-in-zoom-95 {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes tt-fade-in-slide-top-1 {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-0.25rem);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes tt-fade-in-slide-top-2 {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-0.5rem);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes tt-page-enter {
|
|
from {
|
|
opacity: 0.92;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|