MeowHomepage/input.css
2025-06-13 22:05:37 +08:00

324 lines
7.2 KiB
CSS

@import "tailwindcss";
body {
font-family: 'Inter', sans-serif;
background-color: #131314;
color: #e3e3e3;
overflow: hidden;
}
.gemini-gradient-text {
background: linear-gradient(90deg, #89b4fa, #cba6f7, #f5c2e7, #fab387);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.card {
background-color: #1e1f20;
border: 1px solid #3c4043;
border-radius: 12px;
position: relative;
z-index: 2;
}
.sidebar {
background-color: #1e1f20;
z-index: 50;
}
.session-link {
display: flex;
align-items: center;
padding: 10px 16px;
border-radius: 8px;
font-size: 0.9rem;
color: #cdd6f4;
transition: background-color 0.2s ease;
white-space: nowrap;
}
.session-link:hover, .session-link.active {
background-color: #313244;
}
.session-link svg:not(.expand-icon) {
width: 20px;
height: 20px;
margin-right: 12px;
flex-shrink: 0;
}
.footer {
background-color: #131314;
border-top: 1px solid #3c4043;
position: relative;
z-index: 2;
}
.footer a { color: #a6adc8; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
.sub-items {
transition: max-height 0.3s ease-in-out;
max-height: 0;
overflow: hidden;
}
.sub-items.open { max-height: 500px; }
.sidebar-backdrop {
position: fixed; inset: 0;
background-color: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
transition: opacity 0.3s ease-in-out;
opacity: 0; pointer-events: none; z-index: 40;
}
.sidebar-backdrop.active { opacity: 1; pointer-events: auto; }
#sidebar-nav::-webkit-scrollbar { width: 6px; }
#sidebar-nav::-webkit-scrollbar-track { background: transparent; }
#sidebar-nav::-webkit-scrollbar-thumb { background-color: #45475a; border-radius: 3px; }
#sidebar-nav::-webkit-scrollbar-thumb:hover { background-color: #585b70; }
.background-blobs {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 0;
}
.blob {
position: absolute;
border-radius: 50%;
opacity: 0.4;
filter: blur(80px);
will-change: transform;
}
.blob-1 {
width: 800px;
height: 800px;
background: radial-gradient(circle, #89b4fa, transparent 60%);
animation: move-blob-1 25s infinite alternate ease-in-out;
}
.blob-2 {
width: 700px;
height: 700px;
background: radial-gradient(circle, #f5c2e7, transparent 60%);
animation: move-blob-2 30s infinite alternate ease-in-out;
}
.blob-3 {
width: 600px;
height: 600px;
background: radial-gradient(circle, #fab387, transparent 60%);
animation: move-blob-3 20s infinite alternate ease-in-out;
}
.blob-4 {
width: 750px;
height: 750px;
background: radial-gradient(circle, #a6e3a1, transparent 60%);
animation: move-blob-4 28s infinite alternate ease-in-out;
}
.blob-5 {
width: 650px;
height: 650px;
background: radial-gradient(circle, #f9e2af, transparent 60%);
animation: move-blob-5 22s infinite alternate ease-in-out;
}
@keyframes move-blob-1 {
from { transform: translate(10vw, 20vh) scale(1); }
to { transform: translate(70vw, 60vh) scale(1.2); }
}
@keyframes move-blob-2 {
from { transform: translate(80vw, 10vh) scale(1.1); }
to { transform: translate(20vw, 80vh) scale(0.9); }
}
@keyframes move-blob-3 {
from { transform: translate(5vw, 70vh) scale(0.8); }
to { transform: translate(60vw, 5vh) scale(1.1); }
}
@keyframes move-blob-4 {
from { transform: translate(75vw, 80vh) scale(1); }
to { transform: translate(15vw, 10vh) scale(1.3); }
}
@keyframes move-blob-5 {
from { transform: translate(40vw, 5vh) scale(0.9); }
to { transform: translate(80vw, 50vh) scale(1.1); }
}
.status-indicator {
width: 12px;
height: 12px;
background-color: #84cc16;
border-radius: 50%;
position: relative;
}
.status-indicator::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #84cc16;
border-radius: 50%;
animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes ping {
75%, 100% {
transform: scale(2);
opacity: 0;
}
}
@keyframes float-in {
from {
opacity: 0;
transform: translateY(15px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes rotate-orbit {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
@keyframes spin-planet {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
#keywords-container {
position: relative;
width: 350px;
height: 350px;
margin: 2rem auto;
}
#orbit-container {
position: absolute;
width: 100%;
height: 100%;
transform: rotate(-30deg);
}
#sidebar,
.card {
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
}
#sidebar {
background: rgba(30, 31, 32, 0.4);
}
.card {
background: rgba(41, 42, 45, 0.4);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.footer {
background: rgba(30, 31, 32, 0.5);
}
#keyword-tooltip {
position: fixed;
display: none;
padding: 8px 12px;
background: rgba(20, 20, 22, 0.2);
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px);
color: #e0e0e0;
border-radius: 6px;
font-size: 14px;
z-index: 10001;
box-shadow: 0 0 4px 8px rgba(30, 31, 32, 0.2);
pointer-events: none;
opacity: 0;
transform: scale(0.95);
transition: opacity 0.2s ease-out, transform 0.2s ease-out;
max-width: 200px;
text-align: center;
}
#name {
text-shadow: 0 0 12px rgba(30, 31, 32, 0.4);
}
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 35px -8px hsla(0, 0%, 80%, 0.4),
inset 0 0 15px hsl(0, 0%, 10%);
}
50% {
box-shadow: 0 0 50px 0px hsla(0, 0%, 80%, 0.6),
inset 0 0 15px hsl(0, 0%, 10%);
}
}
@keyframes drift-texture {
from {
transform: translateX(0);
}
to {
transform: translateX(-50%);
}
}
#planet {
width: 140px;
height: 140px;
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
z-index: 10;
transform: translate(-50%, -50%);
background: radial-gradient(circle at 30% 30%, hsl(0, 0%, 25%), hsl(0, 0%, 10%));
animation: pulse-glow 7s ease-in-out infinite;
overflow: hidden;
}
#planet::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 200%;
height: 100%;
background-image:
radial-gradient(circle at 20% 30%, hsla(0, 0%, 80%, 0.08) 0%, transparent 40%),
radial-gradient(circle at 75% 60%, hsla(0, 0%, 80%, 0.08) 0%, transparent 50%);
animation: drift-texture 25s linear infinite;
}
.keyword-wrapper {
position: absolute;
left: 0;
top: 0;
}
.keyword-tag {
padding: 6px 14px;
background-color: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 20px;
color: #a6adc8;
font-size: 0.9rem;
white-space: nowrap;
}
.line-cat {
position: absolute;
top: -20px;
right: -30px;
width: 80px;
height: 80px;
stroke: #a6adc8;
stroke-width: 1.5;
fill: none;
opacity: 0.5;
transform: rotate(15deg);
}