anycoder / frontend /src /app /globals.css
akhaliq's picture
akhaliq HF Staff
update sidebar resizing
41493fc
raw
history blame
3.34 kB
@tailwind base;
@tailwind components;
@tailwind utilities;
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
html,
body {
height: 100%;
overflow: hidden;
}
body {
color: #e5e5e7;
background: #1d1d1f;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
letter-spacing: -0.01em;
}
/* Apple-style scrollbar */
::-webkit-scrollbar {
width: 12px;
height: 12px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.2);
border-radius: 10px;
border: 3px solid #1d1d1f;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.3);
}
::-webkit-scrollbar-corner {
background: #1d1d1f;
}
/* Markdown styling in chat - VS Code style */
.prose {
max-width: none;
color: #cccccc;
}
.prose code {
background-color: #2d2d30;
color: #d4d4d4;
padding: 0.2em 0.4em;
border-radius: 3px;
font-size: 0.875em;
font-family: 'SF Mono', 'Monaco', 'Menlo', 'Courier New', monospace;
}
.prose pre {
background-color: #1e1e1e;
padding: 1em;
border-radius: 4px;
overflow-x: auto;
border: 1px solid #3e3e42;
}
.prose pre code {
background-color: transparent;
padding: 0;
}
.prose p {
margin: 0.5em 0;
}
.prose a {
color: #3794ff;
text-decoration: none;
}
.prose a:hover {
text-decoration: underline;
}
/* Selection color - Apple style */
::selection {
background-color: rgba(0, 122, 255, 0.3);
color: #ffffff;
}
::-moz-selection {
background-color: rgba(0, 122, 255, 0.3);
color: #ffffff;
}
/* Apple-style focus rings */
button:focus-visible,
input:focus-visible,
select:focus-visible {
outline: 2px solid rgba(0, 122, 255, 0.6);
outline-offset: 2px;
}
/* Smooth transitions */
* {
transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
/* Animation utilities */
@keyframes fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.animate-in {
animation: fade-in 0.3s ease-in-out;
}
/* Resize handle styles */
.resize-handle {
position: relative;
width: 4px;
cursor: col-resize;
user-select: none;
background: transparent;
transition: background-color 0.2s ease, width 0.15s ease;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}
/* Clickable area (extends beyond visible width) */
.resize-handle::before {
content: '';
position: absolute;
inset: 0;
left: -4px;
right: -4px;
}
/* Visual indicator (three dots) */
.resize-handle::after {
content: '⋮';
position: relative;
z-index: 1;
font-size: 16px;
color: rgba(134, 134, 139, 0.4);
transition: color 0.2s ease;
pointer-events: none;
line-height: 1;
}
.resize-handle:hover {
background: rgba(0, 123, 255, 0.2);
}
.resize-handle:hover::after {
color: rgba(0, 123, 255, 0.8);
}
.resize-handle:active,
.resize-handle.resizing {
background: rgba(0, 123, 255, 0.4);
width: 4px;
}
.resize-handle:active::after,
.resize-handle.resizing::after {
color: rgba(0, 123, 255, 1);
}
/* Prevent text selection during resize */
body.resizing {
user-select: none !important;
cursor: col-resize !important;
}
body.resizing * {
cursor: col-resize !important;
}