/* DomainGuard — Custom Styles */
/* Tailwind CSS is loaded via CDN in index.html */

body {
    background-color: #F6F6F6;
    color: #111111;
    font-family: 'Manrope', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #D1D5DB;
    border-radius: 3px;
}

/* Input underline animation */
.input-underline {
    background-image: linear-gradient(#111111, #111111);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size .3s;
}
.input-group:focus-within .input-underline {
    background-size: 100% 1px;
}

/* Glass card */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* Risk level badges */
.risk-high { color: #DC2626; background: #FEF2F2; }
.risk-mod { color: #D97706; background: #FFFBEB; }
.risk-low { color: #059669; background: #ECFDF5; }

/* Loader animation */
.loader-line {
    width: 100%;
    height: 2px;
    background-color: #E5E5E5;
    position: relative;
    overflow: hidden;
}
.loader-line::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 30%;
    background-color: #111111;
    animation: moveLine 1.5s infinite linear;
}
@keyframes moveLine {
    0% { left: -30%; }
    100% { left: 100%; }
}

/* Result card entry animation */
.result-card {
    animation: slideUp 0.6s ease-out forwards;
}

/* Error shake */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}
.shake {
    animation: shake 0.3s ease-in-out;
}

/* Status message fade */
.status-msg {
    transition: opacity 0.5s ease;
}
