:root {
    --bg-void: #050505;
    --neon-primary: #00f2ea;
    --neon-secondary: #ff0055;
    --glass-surface: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.08);
    --text-main: #ffffff;
    --text-muted: rgba(255, 255, 255, 0.5);
}

.body-public {
    background-color: var(--bg-void);
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
    min-height: 100vh;
    color: var(--text-main);
}

.ambient-wrapper {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1; overflow: hidden; pointer-events: none;
}

.orb {
    position: absolute; border-radius: 50%; filter: blur(100px); opacity: 0.4;
    animation: floatOrb 20s infinite alternate ease-in-out;
}
.orb-1 { top: -10%; left: -10%; width: 50vw; height: 50vw; background: radial-gradient(circle, #4d00ff, transparent); }
.orb-2 { bottom: -10%; right: -10%; width: 60vw; height: 60vw; background: radial-gradient(circle, #001eff, transparent); animation-delay: -5s; }
.orb-3 { top: 40%; left: 40%; width: 30vw; height: 30vw; background: radial-gradient(circle, var(--accent-color), transparent); opacity: 0.15; animation-delay: -10s; }

@keyframes floatOrb {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(30px, 50px) scale(1.1); }
}

.wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.glass-panel {
    background: var(--glass-surface);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 3rem;
    width: 100%;
    max-width: 560px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 50px 100px -20px rgba(0,0,0,0.7);
    transform-style: preserve-3d;
    transition: transform 0.1s ease-out;
}

.scan-line {
    position: absolute; top: 0; left: 0; width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent-color), transparent);
    opacity: 0.5;
    animation: scan 6s ease-in-out infinite;
    pointer-events: none;
    box-shadow: 0 0 15px var(--accent-color);
}
@keyframes scan { 0% { top: -10%; } 100% { top: 110%; } }

.input-group-cyber {
    position: relative;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--glass-border);
    transition: border-color 0.3s;
}

.input-group-cyber:focus-within {
    border-color: var(--accent-color);
}

.input-cyber {
    background: transparent;
    border: none;
    color: #fff;
    width: 100%;
    padding: 10px 40px 10px 0;
    font-size: 1rem;
    height: 45px;
}

.input-cyber:focus { outline: none; box-shadow: none; background: transparent; color: #fff; }
.input-cyber::placeholder { color: transparent; }

.label-cyber {
    position: absolute; top: 12px; left: 0;
    color: var(--text-muted);
    pointer-events: none;
    transition: 0.3s ease all;
    font-size: 0.95rem;
}

.input-cyber:focus ~ .label-cyber,
.input-cyber:not(:placeholder-shown) ~ .label-cyber {
    top: -12px;
    font-size: 0.75rem;
    color: var(--accent-color);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.input-icon {
    position: absolute; right: 0; top: 12px;
    color: var(--text-muted);
    transition: color 0.3s;
}
.input-group-cyber:focus-within .input-icon { color: var(--accent-color); }

.btn-cyber {
    width: 100%;
    padding: 15px;
    background: transparent;
    color: var(--accent-color);
    border: 1px solid var(--accent-color);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    box-shadow: 0 0 10px rgba(0, 242, 234, 0.1);
}

.btn-cyber::before {
    content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 242, 234, 0.2), transparent);
    transition: 0.5s;
}

.btn-cyber:hover {
    background: var(--accent-color);
    color: #000;
    box-shadow: 0 0 30px rgba(0, 242, 234, 0.4);
}
.btn-cyber:hover::before { left: 100%; }

.link-cyber { color: var(--text-muted); text-decoration: none; font-size: 0.85rem; transition: 0.3s; }
.link-cyber:hover { color: #fff; text-shadow: 0 0 8px rgba(255,255,255,0.5); }

@media (max-width: 768px) {
    .glass-panel { padding: 2rem; border-radius: 16px; transform: none !important; }
    .orb { opacity: 0.3; }
}
