.th-wrapper .card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.th-wrapper .card-title {
    color: var(--primary);
    font-weight: 700;
}


body.dark-mode {
    --bg-main: #181824;
    --bg-card: #232336;
    --border-subtle: #35354a;
    --text-primary: #f3f3fa;
    --text-secondary: #b0b3c7;
    --primary: #b7aaff;
    --accent: #ffb86b;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

.th-wrapper .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(99, 102, 241, 0.4);
    opacity: 0.95;
}

.th-wrapper .form-check-input:checked {
    background-color: #8b5cf6;
    border-color: #8b5cf6;
}

.th-wrapper #resultBox {
    background-color: var(--bg-main);
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    color: var(--text-primary);
}

.th-wrapper #password {
    font-size: 1.25rem;
    letter-spacing: 1px;
}

.th-wrapper #copyBtn {
    color: #6366f1;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
}