caro5 / client /src /index.css
Pedro de Carvalho
Loading screen
5973957
Raw
History Blame Contribute Delete
4.74 kB
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body, #root {
width: 100%;
height: 100%;
overflow: hidden;
overscroll-behavior: none;
-webkit-overflow-scrolling: touch;
background: #0d1117;
color: #e6edf3;
font-family: system-ui, -apple-system, sans-serif;
}
html {
height: -webkit-fill-available;
}
body {
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
button, input {
touch-action: manipulation;
}
.btn-depth {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: var(--btn-min-width, 44px);
min-height: var(--btn-min-height, 44px);
padding: var(--btn-padding, 0.75rem 2rem);
border: none;
border-radius: var(--btn-radius, 12px);
background: var(--btn-front, hsl(345deg 100% 47%));
color: var(--btn-text, #fff);
cursor: pointer;
font-size: var(--btn-font-size, 1.05rem);
font-weight: var(--btn-font-weight, 600);
line-height: 1.1;
outline-offset: 4px;
user-select: none;
white-space: nowrap;
-webkit-tap-highlight-color: transparent;
transition: all 0.12s ease;
box-shadow:
0 4px 0 color-mix(in srgb, var(--btn-front, hsl(345deg 100% 47%)) 65%, #000),
0 6px 10px rgba(0,0,0,0.3);
transform: translateY(0);
}
.btn-depth:hover:not(:disabled) {
box-shadow:
0 6px 0 color-mix(in srgb, var(--btn-front, hsl(345deg 100% 47%)) 65%, #000),
0 8px 14px rgba(0,0,0,0.35);
transform: translateY(-2px);
}
.btn-depth:active:not(:disabled) {
box-shadow:
0 2px 0 color-mix(in srgb, var(--btn-front, hsl(345deg 100% 47%)) 65%, #000),
0 3px 5px rgba(0,0,0,0.3);
transform: translateY(2px);
}
.btn-depth:disabled {
cursor: default;
opacity: 0.66;
box-shadow:
0 2px 0 color-mix(in srgb, var(--btn-front, hsl(345deg 100% 47%)) 65%, #000),
0 3px 5px rgba(0,0,0,0.2);
transform: translateY(2px);
}
.btn-depth:focus:not(:focus-visible) {
outline: none;
}
.start-push-button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: var(--start-push-min-width, 44px);
min-height: var(--start-push-min-height, 44px);
padding: var(--btn-padding, 0.75rem 2rem);
border: none;
border-radius: var(--start-push-radius, 12px);
background: transparent;
color: transparent;
cursor: pointer;
font-size: var(--start-push-font-size, 1.05rem);
font-weight: var(--start-push-font-weight, 600);
line-height: 1.1;
outline-offset: 4px;
user-select: none;
white-space: nowrap;
-webkit-tap-highlight-color: transparent;
transform: translateY(0);
}
.start-push-button__shadow,
.start-push-button__edge,
.start-push-button__front {
position: absolute;
inset: 0;
border-radius: var(--start-push-radius, 12px);
pointer-events: none;
}
.start-push-button__shadow {
background: rgba(0, 0, 0, 0.28);
filter: blur(5px);
transform: translateY(6px) scaleX(0.98);
}
.start-push-button__edge {
background: color-mix(in srgb, var(--start-push-front, hsl(345deg 100% 47%)) 62%, #000);
transform: translateY(5px);
}
.start-push-button__front {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--start-push-padding, 0.75rem 2rem);
background: var(--start-push-front, hsl(345deg 100% 47%));
color: var(--start-push-text, #fff);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
transform: translateY(0);
transition: transform 0.12s ease, filter 0.12s ease;
}
.start-push-button__front::before {
content: attr(data-label);
}
.start-push-button:hover:not(:disabled) .start-push-button__front {
filter: brightness(1.06);
transform: translateY(-2px);
}
.start-push-button:active:not(:disabled) .start-push-button__front {
transform: translateY(3px);
}
.start-push-button:disabled {
cursor: default;
}
.start-push-button:disabled .start-push-button__front {
filter: grayscale(0.25);
opacity: 0.66;
transform: translateY(3px);
}
.start-push-button:focus:not(:focus-visible) {
outline: none;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes caro5-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.35; }
}
@keyframes bot-float {
0%, 100% {
transform: translateY(-50%) translateY(0px);
}
50% {
transform: translateY(-50%) translateY(-8px);
}
}
@keyframes bot-speech-float {
0%, 100% {
transform: translateY(0px);
}
50% {
transform: translateY(-4px);
}
}
@keyframes bot-glow-pulse {
0%, 100% {
filter: drop-shadow(0 0 4px rgba(var(--bot-glow-color, 88, 166, 255), 0.35));
}
50% {
filter: drop-shadow(0 0 16px rgba(var(--bot-glow-color, 88, 166, 255), 0.75));
}
}
@keyframes caro5-spin {
to { transform: rotate(360deg); }
}