DocWeave / frontend /src /styles /global.css
shak3008's picture
feat: add quick demo login, fix archived knowledge filter and workflow completion state
31cf797
Raw
History Blame Contribute Delete
2.72 kB
@import "./tokens.css";
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
height: 100%;
background: var(--color-bg);
color: var(--color-text-primary);
}
body {
font-family: var(--font-sans);
font-size: var(--text-base);
line-height: var(--leading-normal);
font-weight: 420;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transition: background var(--transition-base), color var(--transition-base);
}
#root {
height: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
font-weight: 600;
letter-spacing: -0.01em;
line-height: var(--leading-tight);
}
p {
margin: 0;
}
a {
color: inherit;
text-decoration: none;
}
button {
font-family: inherit;
}
input,
textarea,
select {
font-family: inherit;
font-size: inherit;
color: inherit;
outline: none;
}
input:focus,
textarea:focus,
select:focus {
outline: none;
}
code, .mono {
font-family: var(--font-mono);
}
::selection {
background: var(--color-accent-soft);
color: var(--color-accent-text);
}
/* Scrollbars */
* {
scrollbar-width: thin;
scrollbar-color: var(--color-border-strong) transparent;
}
*::-webkit-scrollbar {
width: 10px;
height: 10px;
}
*::-webkit-scrollbar-track {
background: transparent;
}
*::-webkit-scrollbar-thumb {
background: var(--color-border-strong);
border-radius: var(--radius-full);
border: 2px solid var(--color-bg);
}
/* Keyboard focus only — no focus ring on mouse click */
:focus {
outline: none;
}
:focus-visible {
outline: none;
box-shadow: var(--focus-ring);
border-radius: var(--radius-sm);
}
@media (prefers-reduced-motion: reduce) {
*:not(.dw-spinner):not(.dw-spinner *),
*:not(.dw-spinner):not(.dw-spinner *)::before,
*:not(.dw-spinner):not(.dw-spinner *)::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slide-in-right {
from { transform: translateX(16px); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
/* Shared page-shell utility classes, used across pages/*.jsx */
.dw-page {
display: flex;
flex-direction: column;
gap: var(--space-6);
}
.dw-page__header h1 {
font-size: var(--text-2xl);
margin-bottom: var(--space-2);
}
.dw-page__header p {
color: var(--color-text-secondary);
font-size: var(--text-sm);
}
/* Mobile responsive */
@media (max-width: 768px) {
.dw-page {
gap: var(--space-4);
}
.dw-page__header h1 {
font-size: var(--text-xl);
}
}