Files
Raphael S. aaf596c395 feat: reorganize article components and improve layout
- Refactor article components to enhance readability and maintainability.
- Introduce new layout for article header and content with improved styling.
- Update imports and remove unused files for better code clarity.
- Add new NotFound component for handling 404 errors with user-friendly messaging.
2026-01-06 21:05:41 +00:00

138 lines
2.5 KiB
CSS

.container {
display: flex;
flex-direction: column;
gap: 16px;
justify-content: center;
height: 100vh;
padding: 0 24px;
}
.title {
font-size: 32px;
font-weight: var(--font-weight-semibold);
color: var(--gray-12);
letter-spacing: var(--font-letter-spacing-32px);
}
.message {
font-size: 14px;
color: var(--gray-10);
letter-spacing: var(--font-letter-spacing-14px);
}
.actions {
display: flex;
gap: 8px;
align-items: flex-end;
justify-content: flex-end;
width: 100%;
}
.scroll {
position: relative;
box-sizing: border-box;
width: 100%;
height: 384px;
outline: 1px solid var(--color-gray-200);
outline-offset: -1px;
background: var(--gray-1);
border-radius: 8px;
box-shadow: var(--shadow-2);
}
.viewport {
height: 100%;
overscroll-behavior: contain;
&:focus-visible {
outline: 2px solid var(--color-blue);
}
&::before,
&::after {
position: absolute;
left: 0;
z-index: 1;
display: block;
width: 100%;
pointer-events: none;
content: "";
border-radius: 8px;
transition: height 100ms ease-out;
}
&::before {
--scroll-area-overflow-y-start: inherit;
top: 0;
height: min(40px, var(--scroll-area-overflow-y-start));
background: linear-gradient(to bottom, var(--gray-1), transparent);
}
&::after {
--scroll-area-overflow-y-end: inherit;
bottom: 0;
height: min(40px, var(--scroll-area-overflow-y-end, 40px));
background: linear-gradient(to top, var(--gray-1), transparent);
}
}
.stack {
padding: 16px;
margin: 0;
font-family: var(--font-family-monospace);
font-size: 13px;
line-height: 1.6;
color: var(--gray-11);
word-break: break-word;
white-space: pre-wrap;
& pre {
margin: 0;
background: transparent;
}
& code {
display: block;
font-family: inherit;
font-size: inherit;
line-height: inherit;
background: transparent;
border: none;
}
}
.scrollbar {
display: flex;
justify-content: center;
width: 0.25rem;
margin: 0.5rem;
pointer-events: none;
background-color: var(--color-gray-200);
border-radius: 0.375rem;
opacity: 0;
transition: opacity 150ms;
&[data-scrolling] {
transition-duration: 0ms;
}
&[data-hovering],
&[data-scrolling] {
pointer-events: auto;
opacity: 1;
}
&::before {
position: absolute;
width: 1.25rem;
height: 100%;
content: "";
}
}
.thumb {
width: 100%;
background-color: var(--gray-a4);
border-radius: inherit;
}