Files
2026-05-21 18:23:28 +02:00

281 lines
5.5 KiB
CSS

:root {
--primary: #4F46E5;
--primary-hover: #4338CA;
--bg-gradient-start: #0f172a;
--bg-gradient-end: #1e1b4b;
--glass-bg: rgba(255, 255, 255, 0.05);
--glass-border: rgba(255, 255, 255, 0.1);
--text-main: #f8fafc;
--text-muted: #94a3b8;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));
color: var(--text-main);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
}
/* Typography */
h1 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 0.5rem;
text-align: center;
background: linear-gradient(to right, #818cf8, #c084fc);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
color: var(--text-muted);
text-align: center;
margin-bottom: 2rem;
}
/* Glassmorphism Container */
.container {
background: var(--glass-bg);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--glass-border);
border-radius: 1.5rem;
padding: 3rem;
width: 90%;
max-width: 600px;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
position: relative;
z-index: 10;
}
/* Forms */
.form-group {
margin-bottom: 1.5rem;
position: relative;
}
label {
display: block;
font-size: 0.875rem;
font-weight: 500;
margin-bottom: 0.5rem;
color: var(--text-muted);
}
input[type="text"], select {
width: 100%;
padding: 1rem 1.25rem;
background: rgba(0, 0, 0, 0.2);
border: 1px solid var(--glass-border);
border-radius: 0.75rem;
color: var(--text-main);
font-size: 1rem;
transition: all 0.3s ease;
outline: none;
}
input[type="text"]:focus, select:focus {
border-color: var(--primary);
box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
background: rgba(0, 0, 0, 0.3);
}
select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 1rem center;
background-size: 1.5em;
}
select option {
background: var(--bg-gradient-end);
color: var(--text-main);
}
/* Buttons */
.btn {
width: 100%;
padding: 1rem;
background: var(--primary);
color: white;
border: none;
border-radius: 0.75rem;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn:hover {
background: var(--primary-hover);
transform: translateY(-2px);
box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.4);
}
.btn:active {
transform: translateY(0);
}
/* Result Section */
.result-section {
margin-top: 2rem;
padding-top: 2rem;
border-top: 1px solid var(--glass-border);
display: none;
animation: fadeIn 0.5s ease;
}
.result-section.active {
display: block;
}
.link-container {
display: flex;
gap: 0.5rem;
}
.link-container input {
flex: 1;
background: rgba(0, 0, 0, 0.4);
}
.btn-icon {
width: auto;
padding: 1rem;
display: flex;
align-items: center;
justify-content: center;
}
/* Animation Styles (for search.html) */
.search-mockup {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
.mockup-logo {
width: 250px;
height: 80px;
margin-bottom: 2rem;
object-fit: contain;
}
.search-bar {
width: 100%;
max-width: 500px;
position: relative;
margin-bottom: 2rem;
}
.search-bar input {
border-radius: 2rem;
padding-left: 3rem;
background: white;
color: #1f2937;
border: 1px solid #e5e7eb;
pointer-events: none; /* Prevent manual interaction */
}
.search-icon {
position: absolute;
left: 1rem;
top: 50%;
transform: translateY(-50%);
color: #9ca3af;
width: 1.25rem;
height: 1.25rem;
}
.search-buttons {
display: flex;
gap: 1rem;
}
.search-btn {
padding: 0.75rem 1.5rem;
background: #f8f9fa;
border: 1px solid #f8f9fa;
color: #3c4043;
border-radius: 0.25rem;
font-size: 0.875rem;
cursor: default;
transition: all 0.2s;
}
.search-btn.active {
border-color: #dadce0;
box-shadow: 0 1px 1px rgba(0,0,0,.1);
background-color: #f8f9fa;
}
/* The Cursor */
#fake-cursor {
position: fixed;
width: 24px;
height: 24px;
top: 80%;
left: 80%;
pointer-events: none;
z-index: 9999;
transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), top 0.8s cubic-bezier(0.25, 1, 0.5, 1), left 0.8s cubic-bezier(0.25, 1, 0.5, 1);
filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.3));
}
#fake-cursor.typing {
/* When typing, cursor is stationary, but we might want a small pulse effect, though not necessary */
}
/* Animations */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Decorational Orbs */
.orb {
position: absolute;
border-radius: 50%;
filter: blur(80px);
z-index: 1;
opacity: 0.5;
}
.orb-1 {
width: 300px;
height: 300px;
background: #4f46e5;
top: -100px;
left: -100px;
animation: float 10s infinite ease-in-out alternate;
}
.orb-2 {
width: 400px;
height: 400px;
background: #c084fc;
bottom: -150px;
right: -100px;
animation: float 12s infinite ease-in-out alternate-reverse;
}
@keyframes float {
0% { transform: translate(0, 0); }
100% { transform: translate(50px, 50px); }
}