.scam-dynamic-hero {
    min-height: 182px;
}

.scam-main-container {
    margin-top: -1rem;
}

.scam-hero-accent {
    box-shadow: 0 10px 28px rgba(220, 38, 38, 0.2);
}

.scam-hero-content.scam-hero-is-updating > * {
    animation: scam-hero-content-in 0.36s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.scam-hero-content.scam-hero-is-updating > *:nth-child(2) {
    animation-delay: 35ms;
}

.scam-hero-content.scam-hero-is-updating > *:nth-child(3) {
    animation-delay: 70ms;
}

.scam-hero-status-card.scam-hero-is-updating {
    animation: scam-hero-status-in 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.scam-dynamic-hero[data-state="loading"] .scam-hero-status-icon {
    animation: scam-hero-status-pulse 1.8s ease-in-out infinite;
}

.scam-access-card,
.scam-limit-card,
.scam-form-shell,
.scam-help-card,
.scam-loader-card,
.scam-result-summary {
    box-shadow: 0 18px 45px -34px rgba(15, 23, 42, 0.42);
}

.dark .scam-access-card,
.dark .scam-limit-card,
.dark .scam-form-shell,
.dark .scam-help-card,
.dark .scam-loader-card,
.dark .scam-result-summary {
    box-shadow: 0 20px 46px -34px rgba(0, 0, 0, 0.8);
}

.scam-feature-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: #fff;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.25s ease;
}

.dark .scam-feature-card {
    border-color: rgba(55, 65, 81, 0.75);
    background: rgba(15, 23, 42, 0.34);
}

.scam-feature-card::after {
    content: "";
    position: absolute;
    top: -45px;
    right: -45px;
    width: 110px;
    height: 110px;
    border-radius: 999px;
    opacity: 0.32;
    pointer-events: none;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.scam-feature-red::after { background: radial-gradient(circle, rgba(239, 68, 68, 0.28), transparent 68%); }
.scam-feature-orange::after { background: radial-gradient(circle, rgba(249, 115, 22, 0.28), transparent 68%); }
.scam-feature-emerald::after { background: radial-gradient(circle, rgba(16, 185, 129, 0.24), transparent 68%); }

.scam-feature-card:hover {
    transform: translateY(-2px);
    border-color: rgba(239, 68, 68, 0.22);
    box-shadow: 0 16px 36px -26px rgba(15, 23, 42, 0.42);
}

.scam-feature-card:hover::after {
    transform: scale(1.16);
    opacity: 0.56;
}

.scam-layout {
    grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 1024px) {
    .scam-layout {
        grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.65fr);
    }
}
.scam-form-shell {
    min-width: 0;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.scam-help-column {
    min-width: 0;
}
.scam-mode-card,
.scam-source-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid transparent;
    background: #f8fafc;
    transition: all 0.25s cubic-bezier(0.16,1,0.3,1);
    position: relative;
}
.scam-mode-card {
    min-height: 92px;
    padding-right: 58px;
}
.scam-mode-copy {
    min-width: 0;
    flex: 1;
}
.dark .scam-mode-card,
.dark .scam-source-card { background: rgba(15,23,42,0.55); }
.scam-mode-card:hover,
.scam-source-card:hover {
    transform: translateY(-2px);
    border-color: rgba(239,68,68,0.25);
    background: white;
    box-shadow: 0 12px 28px rgba(15,23,42,0.08);
}
.dark .scam-mode-card:hover,
.dark .scam-source-card:hover { background: rgba(30,41,59,0.88); }
.scam-mode-active,
.scam-source-active {
    border-color: #dc2626;
    background: rgba(254,242,242,0.9);
    box-shadow: 0 0 0 3px rgba(220,38,38,0.09);
}
.dark .scam-mode-active,
.dark .scam-source-active { background: rgba(127,29,29,0.2); }
.scam-mode-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}
.scam-mode-card strong,
.scam-source-card strong {
    display: block;
    font-weight: 850;
    color: #0f172a;
}
.dark .scam-mode-card strong,
.dark .scam-source-card strong { color: #f8fafc; }
.scam-mode-card small,
.scam-source-card small {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #64748b;
    line-height: 1.35;
}
.dark .scam-mode-card small,
.dark .scam-source-card small { color: #94a3b8; }
.scam-mode-card .scam-mode-check {
    position: absolute;
    top: 50%;
    right: 18px;
    margin: 0;
    color: transparent;
    background: #fff;
    border: 2px solid #cbd5e1;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
    transform: translateY(-50%);
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.06);
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.dark .scam-mode-card .scam-mode-check {
    background: rgba(15, 23, 42, 0.72);
    border-color: #64748b;
}
.scam-mode-card:hover .scam-mode-check {
    border-color: rgba(239, 68, 68, 0.55);
}
.scam-mode-card.scam-mode-active .scam-mode-check {
    color: #fff;
    background: linear-gradient(135deg, #dc2626, #f43f5e);
    border-color: #dc2626;
    box-shadow: 0 7px 15px rgba(220, 38, 38, 0.25);
    transform: translateY(-50%) scale(1.04);
}

.scam-mode-intro {
    animation: scam-intro-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.scam-intro-step {
    position: relative;
    overflow: hidden;
    min-height: 118px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: rgba(248, 250, 252, 0.72);
    transition: transform 0.24s ease, border-color 0.24s ease, background 0.24s ease;
}

.dark .scam-intro-step {
    border-color: rgba(71, 85, 105, 0.68);
    background: rgba(15, 23, 42, 0.36);
}

.scam-intro-step:hover {
    transform: translateY(-2px);
    border-color: rgba(239, 68, 68, 0.2);
    background: #fff;
}

.dark .scam-intro-step:hover {
    background: rgba(15, 23, 42, 0.58);
}

.scam-intro-step-number {
    position: absolute;
    top: 12px;
    right: 14px;
    color: rgba(239, 68, 68, 0.11);
    font-size: 24px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.06em;
}

.scam-intro-step-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 11px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    background: rgba(239, 68, 68, 0.09);
    font-size: 13px;
}

.scam-intro-step strong {
    display: block;
    padding-right: 28px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 850;
}

.dark .scam-intro-step strong { color: #f8fafc; }

.scam-intro-step small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.4;
}

.dark .scam-intro-step small { color: #94a3b8; }

.scam-intro-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(14, 165, 233, 0.14);
    background: rgba(240, 249, 255, 0.68);
    color: #475569;
    font-size: 11px;
    line-height: 1.5;
}

.scam-intro-privacy i {
    margin-top: 2px;
    color: #0284c7;
    flex-shrink: 0;
}

.dark .scam-intro-privacy {
    border-color: rgba(56, 189, 248, 0.16);
    background: rgba(7, 89, 133, 0.12);
    color: #cbd5e1;
}
.scam-source-card > i {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(249,115,22,0.12);
    color: #ea580c;
    flex-shrink: 0;
}
.scam-input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
    transition: all 0.2s ease;
}
.dark .scam-input {
    background: rgba(15,23,42,0.55);
    border-color: rgba(55,65,81,0.9);
    color: #f8fafc;
}
.scam-input:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 4px rgba(239,68,68,0.12);
    background: white;
}
.dark .scam-input:focus { background: rgba(15,23,42,0.85); }
.scam-textarea {
    min-height: 12rem;
    resize: vertical;
    line-height: 1.6;
}
.scam-result-box {
    --scam-box-accent: 239, 68, 68;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    border-radius: 22px;
    border: 1px solid #e5e7eb;
    background: #fff;
    padding: 22px;
    box-shadow: inset 0 2px 0 rgba(var(--scam-box-accent), 0.34), 0 16px 38px -32px rgba(15, 23, 42, 0.46);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease, box-shadow 0.28s ease;
}
.scam-result-box:nth-child(2) { --scam-box-accent: 249, 115, 22; }
.scam-result-box:nth-child(3) { --scam-box-accent: 244, 63, 94; }
.scam-result-box:nth-child(4) { --scam-box-accent: 16, 185, 129; }
.scam-result-box:nth-child(5) { --scam-box-accent: 59, 130, 246; }
.dark .scam-result-box {
    background: rgba(30, 41, 59, 0.7);
    border-color: rgba(71, 85, 105, 0.72);
    box-shadow: inset 0 2px 0 rgba(var(--scam-box-accent), 0.42), 0 18px 38px -30px rgba(0, 0, 0, 0.9);
}
.scam-result-box::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -68px;
    right: -68px;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(var(--scam-box-accent), 0.2), rgba(var(--scam-box-accent), 0.06) 38%, transparent 70%);
    opacity: 0.34;
    transform: scale(0.88);
    transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}
.scam-result-box::after {
    content: attr(data-index);
    position: absolute;
    z-index: -1;
    top: 10px;
    right: 15px;
    font-size: 38px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.08em;
    color: rgba(var(--scam-box-accent), 0.08);
    transition: color 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}
.scam-result-box:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--scam-box-accent), 0.3);
    box-shadow: inset 0 2px 0 rgba(var(--scam-box-accent), 0.62), 0 20px 42px -28px rgba(var(--scam-box-accent), 0.32);
}
.scam-result-box:hover::before {
    opacity: 0.78;
    transform: scale(1.06);
}
.scam-result-box:hover::after {
    color: rgba(var(--scam-box-accent), 0.14);
    transform: translate(-2px, 2px);
}
.scam-result-box h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #0f172a;
    font-weight: 850;
    padding-right: 34px;
}
.dark .scam-result-box h3 { color: #f8fafc; }
.scam-result-box ul {
    display: grid;
    gap: 10px;
}
.scam-result-box li {
    display: flex;
    gap: 9px;
    font-size: 14px;
    line-height: 1.5;
    color: #475569;
}
.dark .scam-result-box li { color: #cbd5e1; }
.scam-result-box li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgb(var(--scam-box-accent));
    margin-top: 7px;
    flex-shrink: 0;
}

.scam-result-summary {
    position: relative;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 26px;
    background: linear-gradient(135deg, #fff 0%, #fff 62%, rgba(254, 242, 242, 0.72) 100%);
}

.scam-result-summary::after {
    content: "";
    position: absolute;
    top: -90px;
    right: -60px;
    width: 230px;
    height: 230px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(239, 68, 68, 0.12), rgba(249, 115, 22, 0.05) 48%, transparent 70%);
    pointer-events: none;
}

.dark .scam-result-summary {
    border-color: rgba(71, 85, 105, 0.72);
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.94), rgba(30, 41, 59, 0.88) 62%, rgba(127, 29, 29, 0.18));
}

.scam-result-summary > * {
    position: relative;
    z-index: 1;
}

.scam-risk-score-wrap {
    min-width: 104px;
    padding: 12px 15px;
    border: 1px solid rgba(239, 68, 68, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.dark .scam-risk-score-wrap {
    border-color: rgba(248, 113, 113, 0.15);
    background: rgba(15, 23, 42, 0.38);
}

.scam-secondary-action {
    border: 1px solid rgba(220, 38, 38, 0.22);
    background: rgba(254, 242, 242, 0.82);
    color: #dc2626;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.scam-secondary-action:hover {
    transform: translateY(-1px);
    border-color: rgba(220, 38, 38, 0.38);
    background: #fef2f2;
}

.dark .scam-secondary-action {
    border-color: rgba(248, 113, 113, 0.25);
    background: rgba(127, 29, 29, 0.18);
    color: #fca5a5;
}
.scam-loader-card {
    isolation: isolate;
}
.scam-loader-glow {
    position: absolute;
    inset: -40%;
    background:
        radial-gradient(circle at 35% 20%, rgba(239,68,68,0.18), transparent 42%),
        radial-gradient(circle at 70% 85%, rgba(249,115,22,0.16), transparent 45%);
    animation: scam-loader-breathe 3.6s ease-in-out infinite;
    pointer-events: none;
}
.scam-loader-orbit {
    position: relative;
    width: 118px;
    height: 118px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.scam-loader-ring,
.scam-loader-pulse {
    position: absolute;
    border-radius: 999px;
}
.scam-loader-ring-1 {
    inset: 0;
    border: 2px solid rgba(239,68,68,0.12);
    border-top-color: rgba(239,68,68,0.85);
    border-right-color: rgba(249,115,22,0.52);
    animation: scam-loader-spin 1.8s linear infinite;
}
.scam-loader-ring-2 {
    inset: 17px;
    border: 2px solid rgba(249,115,22,0.12);
    border-bottom-color: rgba(249,115,22,0.75);
    border-left-color: rgba(239,68,68,0.45);
    animation: scam-loader-spin 1.25s linear infinite reverse;
}
.scam-loader-pulse {
    inset: 33px;
    background: rgba(239,68,68,0.12);
    animation: scam-loader-pulse 1.8s ease-in-out infinite;
}
.scam-loader-core {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    background: linear-gradient(135deg, #dc2626, #f97316);
    box-shadow: 0 18px 34px rgba(220,38,38,0.28);
    z-index: 2;
    font-size: 22px;
}
.scam-loader-progress {
    height: 10px;
    border-radius: 999px;
    background: rgba(148,163,184,0.18);
    overflow: hidden;
}
.scam-loader-progress span {
    display: block;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #dc2626, #f97316, #fbbf24);
    animation: scam-loader-slide 1.6s cubic-bezier(0.16,1,0.3,1) infinite;
}
#loadingText {
    transition: opacity 0.18s ease;
}
.scam-loader-step {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(248,250,252,0.82);
    border: 1px solid rgba(226,232,240,0.9);
    color: #475569;
    font-size: 13px;
    font-weight: 750;
}
.dark .scam-loader-step {
    background: rgba(15,23,42,0.5);
    border-color: rgba(55,65,81,0.7);
    color: #cbd5e1;
}
.scam-loader-step i {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    background: rgba(239,68,68,0.1);
    flex-shrink: 0;
}
@keyframes scam-loader-spin {
    to { transform: rotate(360deg); }
}
@keyframes scam-loader-pulse {
    0%, 100% { transform: scale(0.9); opacity: 0.5; }
    50% { transform: scale(1.18); opacity: 0.16; }
}
@keyframes scam-loader-slide {
    0% { transform: translateX(-115%); }
    55%, 100% { transform: translateX(245%); }
}
@keyframes scam-loader-breathe {
    0%, 100% { opacity: 0.72; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.04); }
}

@keyframes scam-hero-content-in {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes scam-intro-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes scam-hero-status-in {
    from { opacity: 0; transform: translateX(8px) scale(0.98); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes scam-hero-status-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.24); }
    50% { box-shadow: 0 0 0 9px rgba(239, 68, 68, 0); }
}

@media (max-width: 639px) {
    .scam-dynamic-hero { min-height: 166px; }
    .scam-main-container { margin-top: -0.75rem; }
    .scam-result-box { padding: 20px; }
    .scam-risk-score-wrap { width: 100%; }
}

@media (min-width: 640px) {
    .scam-main-container { margin-top: -1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    .scam-mode-intro,
    .scam-hero-content.scam-hero-is-updating > *,
    .scam-hero-status-card.scam-hero-is-updating,
    .scam-dynamic-hero[data-state="loading"] .scam-hero-status-icon,
    .scam-loader-ring,
    .scam-loader-pulse,
    .scam-loader-progress span,
    .scam-loader-glow {
        animation: none !important;
    }
}
