document_agent / frontend /app /globals.css
Jai-rathore29's picture
Deploy: DocAgent backend (deterministic date-anomaly fix)
f65e025
Raw
History Blame Contribute Delete
4.15 kB
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--font-sans: "Inter", system-ui, sans-serif;
}
html,
body {
height: 100%;
background: #07080c;
color: #e6e9f0;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
::selection {
background: rgba(99, 102, 241, 0.35);
color: #fff;
}
/* refined scrollbars */
* {
scrollbar-width: thin;
scrollbar-color: #252b3d transparent;
}
*::-webkit-scrollbar {
width: 9px;
height: 9px;
}
*::-webkit-scrollbar-thumb {
background: #1c2130;
border-radius: 9px;
border: 2px solid transparent;
background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover {
background: #323a52;
background-clip: content-box;
}
@layer components {
/* frosted glass surface */
.glass {
background: rgba(16, 19, 28, 0.7);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.card {
background: linear-gradient(180deg, rgba(22, 26, 38, 0.9), rgba(16, 19, 28, 0.9));
border: 1px solid rgba(255, 255, 255, 0.06);
box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.04) inset,
0 12px 32px -16px rgba(0, 0, 0, 0.8);
}
/* gradient hairline used under headers */
.hairline {
height: 1px;
background: linear-gradient(
90deg,
transparent,
rgba(99, 102, 241, 0.4),
rgba(34, 211, 238, 0.25),
transparent
);
}
}
/* skeleton shimmer */
.skeleton {
position: relative;
overflow: hidden;
background: #161a26;
}
.skeleton::after {
content: "";
position: absolute;
inset: 0;
transform: translateX(-100%);
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.06),
transparent
);
animation: shimmer 1.6s infinite;
}
@keyframes shimmer {
100% {
transform: translateX(100%);
}
}
/* streaming caret */
.caret::after {
content: "▋";
margin-left: 1px;
color: #818cf8;
animation: caret-blink 1s steps(2) infinite;
}
@keyframes caret-blink {
0%,
100% {
opacity: 0;
}
50% {
opacity: 1;
}
}
/* typing dots */
.typing-dot {
animation: blink 1.4s infinite both;
}
.typing-dot:nth-child(2) {
animation-delay: 0.2s;
}
.typing-dot:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes blink {
0%,
80%,
100% {
opacity: 0.2;
}
40% {
opacity: 1;
}
}
/* ---------------- markdown prose ---------------- */
.prose-chat {
font-size: 0.9rem;
line-height: 1.65;
color: #d6dae6;
}
.prose-chat > *:first-child {
margin-top: 0;
}
.prose-chat > *:last-child {
margin-bottom: 0;
}
.prose-chat p {
margin: 0.5rem 0;
}
.prose-chat ul,
.prose-chat ol {
margin: 0.5rem 0;
padding-left: 1.25rem;
}
.prose-chat li {
margin: 0.2rem 0;
}
.prose-chat ul {
list-style: disc;
}
.prose-chat ol {
list-style: decimal;
}
.prose-chat h1,
.prose-chat h2,
.prose-chat h3 {
font-weight: 600;
color: #fff;
margin: 0.8rem 0 0.4rem;
line-height: 1.3;
}
.prose-chat h1 {
font-size: 1.05rem;
}
.prose-chat h2 {
font-size: 1rem;
}
.prose-chat h3 {
font-size: 0.92rem;
}
.prose-chat code {
background: #0b0d14;
padding: 0.1rem 0.4rem;
border-radius: 5px;
font-size: 0.82em;
border: 1px solid rgba(255, 255, 255, 0.06);
}
.prose-chat pre {
background: #07080c;
border: 1px solid #252b3d;
padding: 0.85rem;
border-radius: 10px;
overflow-x: auto;
margin: 0.6rem 0;
}
.prose-chat pre code {
background: transparent;
border: 0;
padding: 0;
}
.prose-chat strong {
color: #fff;
font-weight: 600;
}
.prose-chat a {
color: #a5b4fc;
text-decoration: underline;
text-underline-offset: 2px;
}
.prose-chat blockquote {
border-left: 3px solid #4f46e5;
padding-left: 0.8rem;
margin: 0.6rem 0;
color: #aeb4c4;
}
.prose-chat table {
border-collapse: collapse;
margin: 0.6rem 0;
font-size: 0.84em;
width: 100%;
}
.prose-chat th,
.prose-chat td {
border: 1px solid #252b3d;
padding: 0.35rem 0.6rem;
text-align: left;
}
.prose-chat th {
background: #10131c;
font-weight: 600;
color: #c7d2fe;
}
.prose-chat hr {
border: 0;
border-top: 1px solid #252b3d;
margin: 0.8rem 0;
}