:root {
    --accent-primary: rgb(45, 230, 255);
    --accent-secondary: rgb(163, 100, 255);
    --processing-accent: rgb(83, 255, 190);
    --processing-accent-subtle: rgb(83 255 190 / 8%);
    --processing-accent-border: rgb(83 255 190 / 25%);
    --processing-accent-glow: rgb(83 255 190 / 35%);
    --processing-ink: rgb(8, 76, 88);
    --error-text: rgb(255, 214, 214);
    --page-background: rgb(5, 8, 21);
    --page-text: rgb(238, 243, 255);
    --surface-panel: rgb(8 15 34 / 82%);
    --surface-panel-gradient: linear-gradient(145deg, rgb(15 26 55 / 94%), rgb(5 9 23 / 94%));
    --surface-panel-border: rgb(129 181 255 / 28%);
    --surface-fill-subtle: rgb(255 255 255 / 5%);
    --surface-border: rgb(205 228 255 / 20%);
    --surface-border-subtle: rgb(205 228 255 / 9%);
    --surface-overlay: rgb(1 4 13 / 78%);
    --action-sheen: linear-gradient(145deg, rgb(255 255 255 / 20%), transparent 38%);
    --utility-sheen: linear-gradient(145deg, rgb(255 255 255 / 10%), transparent 42%);
    --control-shadow: rgb(5 8 25 / 48%);
    --control-shadow-active: rgb(5 8 25 / 54%);
    --control-height: 38px;
    --review-content-width: 840px;
    --focus-ring: rgb(236, 251, 255);
    --scrollbar-thumb: rgb(109 150 204 / 72%);
    --scrollbar-track: rgb(255 255 255 / 6%);
    --text-muted: rgb(181, 194, 219);
    --text-on-dark: rgb(243, 247, 255);
    --text-on-dark-soft: rgb(221, 230, 245);
    --text-on-banner: rgb(242, 247, 255);
    --text-on-banner-info: rgb(223, 254, 255);
    --text-on-banner-warn: rgb(255, 233, 179);
    --banner-info-border: rgb(45 230 255 / 42%);
    --banner-info-surface: linear-gradient(90deg, rgb(11 55 82 / 92%), rgb(15 37 79 / 92%));
    --banner-warn-border: rgb(255 204 92 / 52%);
    --banner-warn-surface: linear-gradient(90deg, rgb(84 56 20 / 92%), rgb(77 42 36 / 92%));
    --banner-error-border: rgb(255 102 122 / 52%);
    --banner-error-surface: linear-gradient(90deg, rgb(92 31 52 / 92%), rgb(66 25 62 / 92%));
}

* {
    box-sizing: border-box;
}

html {
    background-color: var(--page-background);
}

body {
    color: var(--page-text);
    font-family: "Orbitron", sans-serif;
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    height: 100dvh;
    z-index: -1;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 13% 21%, rgb(68 218 255 / 24%) 0 0.7px, transparent 1.2px),
        radial-gradient(circle at 71% 36%, rgb(179 111 255 / 19%) 0 1px, transparent 1.5px),
        radial-gradient(circle at 43% 78%, rgb(218 239 255 / 16%) 0 0.65px, transparent 1.1px),
        radial-gradient(circle at 82% 64%, rgb(74 153 255 / 17%) 0 1.15px, transparent 1.65px),
        radial-gradient(75% 48% at 50% -8%, rgb(35 119 215 / 33%), transparent 70%),
        radial-gradient(60% 35% at 92% 66%, rgb(103 35 201 / 24%), transparent 76%),
        linear-gradient(180deg, rgb(2 6 19 / 62%), var(--surface-overlay)), url("/img/background.jpg?v=ba2ebb1d6a2bf6d9cdb67f32f9a2d7953537d1e53adf06855e03b835a541a385");
    background-position:
        -37px 11px,
        53px -19px,
        -71px 47px,
        29px 83px,
        center,
        center,
        center,
        center;
    background-size:
        241px 317px,
        367px 229px,
        293px 421px,
        431px 283px,
        auto,
        auto,
        auto,
        cover;
    background-repeat: repeat, repeat, repeat, repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    transform: translateZ(0);
}

header {
    padding: clamp(0.7rem, 2vw, 1rem) 1rem;
    border-bottom: 1px solid rgb(123 226 255 / 52%);
    background: linear-gradient(100deg, rgb(26 190 222), rgb(101 105 224), rgb(165 52 203));
    box-shadow:
        0 10px 34px rgb(0 0 0 / 30%),
        0 0 30px rgb(119 99 255 / 18%);
}

.header-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    margin: auto;
    max-width: 1100px;
}

.header-inner > a {
    display: flex;
    border-radius: 15px;
}

.site-icon {
    width: clamp(44px, 8vw, 52px);
    height: clamp(44px, 8vw, 52px);
    display: inline-block;
    padding: 2px;
    border-radius: 15px;
    box-shadow:
        0 0 0 1px rgb(215 247 255 / 30%),
        0 5px 14px 2px rgb(5 8 25 / 52%),
        0 0 20px 4px rgb(45 230 255 / 34%),
        0 0 34px 7px rgb(163 100 255 / 20%);
    transition:
        transform 200ms ease,
        box-shadow 200ms ease,
        filter 200ms ease;
    pointer-events: none;
}

.header-inner > a:is(:hover, :focus-visible) .site-icon {
    box-shadow:
        0 0 0 1px rgb(228 251 255 / 52%),
        0 6px 16px 3px rgb(5 8 25 / 58%),
        0 0 24px 6px rgb(45 230 255 / 52%),
        0 0 42px 10px rgb(163 100 255 / 34%);
}

.site-icon.queued {
    animation: iconFloat 2s ease-in-out infinite;
    filter: drop-shadow(0 0 8px rgb(45 230 255 / 38%));
}

.site-icon.processing {
    animation: iconTilt 0.9s ease-in-out infinite;
    filter: drop-shadow(0 0 10px rgb(163 100 255 / 48%));
}

@keyframes iconFloat {
    50% {
        transform: translateY(-4px);
    }
}

@keyframes iconTilt {
    0%,
    100% {
        transform: rotate(-3deg);
    }
    50% {
        transform: rotate(4deg) translateY(-2px);
    }
}

h1,
h2 {
    margin: 0;
}

h1 {
    position: relative;
    isolation: isolate;
    color: var(--text-on-dark);
    font-size: clamp(1.1rem, 4.4vw, 1.8rem);
    letter-spacing: 0.035em;
    line-height: 1.18;
    text-shadow:
        0 2px 3px rgb(4 8 24 / 72%),
        0 0 22px rgb(58 220 255 / 18%);
}

h1::before {
    position: absolute;
    inset: -0.25rem -0.75rem;
    z-index: -1;
    border-radius: 999px;
    background: rgb(4 8 24 / 42%);
    content: "";
    filter: blur(8px);
    pointer-events: none;
}

h1 span {
    color: var(--accent-primary);
}

main {
    margin: auto;
    max-width: 1400px;
    padding: 0 1rem;
}

#hero {
    display: flex;
    justify-content: center;
    padding: clamp(1.8rem, 5vw, 3rem) 0 1rem;
    text-align: center;
}

.hero-inner {
    max-width: 1200px;
}

.hero-inner h2 {
    font-size: clamp(1.45rem, 4.8vw, 2rem);
    letter-spacing: 0.025em;
    line-height: 1.25;
    text-shadow: 0 0 24px rgb(92 150 255 / 20%);
}

.hero-inner p {
    color: var(--text-on-dark-soft);
    font-family: system-ui, sans-serif;
    font-size: clamp(0.9rem, 3.2vw, 1.05rem);
    line-height: 1.5;
    margin: 0.8rem auto 0;
    max-width: 1000px;
}

#input-section {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    margin: 0.8rem auto 1.8rem;
    max-width: 1370px;
}

#url-input {
    min-width: 0;
    height: var(--control-height);
    width: 100%;
    max-width: var(--review-content-width);
    padding: 0.35rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 14px;
    outline: none;
    background:
        linear-gradient(110deg, rgb(11 25 58 / 92%), rgb(14 12 44 / 88%)) padding-box,
        linear-gradient(105deg, var(--accent-primary), var(--accent-secondary)) border-box;
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 9%),
        0 0 22px rgb(45 230 255 / 14%);
    color: var(--page-text);
    font:
        500 1rem / 1.35 "Orbitron",
        sans-serif;
}

#url-input::placeholder {
    color: rgb(112, 128, 160);
    opacity: 1;
}

#url-input:focus-visible {
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 13%),
        0 0 0 4px rgb(85 220 255 / 13%),
        0 0 28px rgb(163 100 255 / 34%);
}

.action-button {
    --action-highlight: rgb(255 255 255 / 38%);
    --action-highlight-active: rgb(255 255 255 / 48%);
    --action-text: white;
    --action-text-shadow: 0 1px 2px rgb(7 5 35 / 70%);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--action-border);
    border-radius: var(--action-radius, 14px);
    background: var(--action-sheen), var(--action-gradient);
    box-shadow:
        0 0 0 1px var(--action-rim),
        0 6px 16px 2px var(--control-shadow),
        0 0 20px 4px var(--action-glow-primary),
        0 0 34px 7px var(--action-glow-secondary),
        inset 0 1px 0 var(--action-highlight),
        inset 0 -1px 0 var(--action-shade);
    color: var(--action-text);
    cursor: pointer;
    font-family: "Orbitron", sans-serif;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    text-shadow: var(--action-text-shadow);
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease,
        filter 150ms ease,
        transform 150ms ease;
}

.action-button:not(:disabled):is(:hover, :focus-visible) {
    border-color: var(--action-border-active, var(--action-border));
    box-shadow:
        0 0 0 1px var(--action-rim-active),
        0 7px 18px 3px var(--control-shadow-active),
        0 0 24px 6px var(--action-glow-primary-active),
        0 0 42px 10px var(--action-glow-secondary-active),
        inset 0 1px 0 var(--action-highlight-active),
        inset 0 -1px 0 var(--action-shade-active);
    color: var(--action-text);
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.action-button:not(:disabled):active {
    transform: translateY(0);
}

.action-button:focus-visible,
.utility-button:focus-visible {
    outline: 3px solid var(--control-focus-ring, var(--focus-ring));
    outline-offset: 3px;
}

.action-button--primary {
    --action-border: rgb(179 245 255 / 88%);
    --action-gradient: linear-gradient(135deg, rgb(47, 220, 255), rgb(34, 141, 255) 56%, rgb(138, 89, 255));
    --action-rim: rgb(215 247 255 / 30%);
    --action-glow-primary: rgb(45 230 255 / 28%);
    --action-glow-secondary: rgb(138 89 255 / 18%);
    --action-highlight: rgb(255 255 255 / 42%);
    --action-shade: rgb(7 17 55 / 30%);
    --action-text: rgb(1, 13, 29);
    --action-text-shadow: none;
    --action-rim-active: rgb(228 251 255 / 52%);
    --action-glow-primary-active: rgb(45 230 255 / 44%);
    --action-glow-secondary-active: rgb(138 89 255 / 30%);
    --action-highlight-active: rgb(255 255 255 / 52%);
    --action-shade-active: rgb(7 17 55 / 34%);
}

.action-button--support {
    --action-border: rgb(255 181 217 / 52%);
    --action-border-active: rgb(255 111 163);
    --action-gradient: linear-gradient(135deg, rgb(250, 103, 164), rgb(163, 69, 224));
    --action-rim: rgb(255 222 239 / 24%);
    --action-glow-primary: rgb(250 103 164 / 24%);
    --action-glow-secondary: rgb(163 69 224 / 18%);
    --action-shade: rgb(65 18 94 / 32%);
    --action-rim-active: rgb(255 235 245 / 46%);
    --action-glow-primary-active: rgb(250 103 164 / 38%);
    --action-glow-secondary-active: rgb(163 69 224 / 30%);
    --action-shade-active: rgb(65 18 94 / 36%);
}

.action-button--kofi {
    --action-border: rgb(154 239 240 / 64%);
    --action-border-active: rgb(174, 255, 255);
    --action-gradient: linear-gradient(135deg, rgb(0, 125, 132), rgb(0, 109, 115));
    --action-rim: rgb(200 255 255 / 24%);
    --action-glow-primary: rgb(0 174 183 / 24%);
    --action-glow-secondary: rgb(45 230 255 / 14%);
    --action-shade: rgb(0 45 48 / 34%);
    --action-rim-active: rgb(220 255 255 / 46%);
    --action-glow-primary-active: rgb(0 174 183 / 38%);
    --action-glow-secondary-active: rgb(45 230 255 / 26%);
    --action-shade-active: rgb(0 45 48 / 40%);

    gap: 0.35rem;
}

.action-button--twitch {
    --action-border: rgb(198 164 255 / 78%);
    --action-gradient: linear-gradient(135deg, rgb(128, 72, 243), rgb(91, 42, 190));
    --action-rim: rgb(224 207 255 / 24%);
    --action-glow-primary: rgb(128 72 243 / 26%);
    --action-glow-secondary: rgb(163 100 255 / 18%);
    --action-shade: rgb(35 14 92 / 34%);
    --action-rim-active: rgb(236 225 255 / 48%);
    --action-glow-primary-active: rgb(128 72 243 / 42%);
    --action-glow-secondary-active: rgb(163 100 255 / 30%);
    --action-shade-active: rgb(35 14 92 / 38%);

    gap: 0.45rem;
}

.twitch-button-icon {
    width: auto;
    height: 1.125rem;
    flex: 0 0 auto;
}

.action-button--danger {
    --action-border: rgb(255 218 226 / 88%);
    --action-gradient: linear-gradient(135deg, rgb(255, 92, 112), rgb(218, 49, 91) 56%, rgb(145, 46, 139));
    --action-rim: rgb(255 225 232 / 28%);
    --action-glow-primary: rgb(255 92 112 / 24%);
    --action-glow-secondary: rgb(190 54 177 / 16%);
    --action-shade: rgb(92 15 54 / 32%);
    --action-text: rgb(255, 245, 248);
    --action-text-shadow: 0 1px 2px rgb(47 5 20 / 70%);
    --action-rim-active: rgb(255 235 240 / 48%);
    --action-glow-primary-active: rgb(255 92 112 / 38%);
    --action-glow-secondary-active: rgb(190 54 177 / 28%);
    --action-shade-active: rgb(92 15 54 / 38%);
    --control-focus-ring: rgb(255, 190, 204);
}

.action-button--standard {
    height: var(--control-height);
    padding: 0.35rem 0.8rem;
    --action-radius: 10px;
    font-size: 0.9rem;
    white-space: nowrap;
}

.action-button--pill {
    padding: 0.55rem 0.95rem;
    --action-radius: 999px;
}

.utility-button {
    border: 1px solid var(--surface-border);
    border-radius: var(--utility-radius, 7px);
    background: var(--utility-sheen), var(--utility-background, var(--surface-fill-subtle));
    box-shadow:
        0 3px 10px rgb(5 8 25 / 44%),
        0 0 12px rgb(45 230 255 / 10%),
        inset 0 1px 0 rgb(255 255 255 / 14%);
    color: var(--utility-text, var(--text-on-dark));
    cursor: pointer;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease,
        color 150ms ease,
        transform 150ms ease;
}

.utility-button:not(:disabled):is(:hover, :focus-visible) {
    border-color: var(--accent-primary);
    box-shadow:
        0 4px 12px rgb(5 8 25 / 48%),
        0 0 16px 3px rgb(45 230 255 / 20%),
        0 0 24px 5px rgb(163 100 255 / 12%),
        inset 0 1px 0 rgb(255 255 255 / 20%);
    color: white;
    transform: var(--utility-transform-active, translateY(-1px));
}

.action-button:disabled,
.utility-button:disabled {
    cursor: not-allowed;
    filter: saturate(0.55);
    opacity: 0.65;
    transform: none;
}

#human-verify-section,
#status-section,
#result-section {
    text-align: center;
}

#human-verify-section {
    margin: 1.5rem;
}

#human-verify-section:not(.hidden) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.hidden {
    display: none;
}

.status-queued {
    color: rgb(255, 223, 101);
}
.status-processing {
    color: var(--processing-accent);
}
.status-done {
    color: var(--accent-primary);
}
.status-failed {
    color: rgb(255, 115, 115);
}
.status-canceled {
    color: var(--text-muted);
}

@keyframes pulseGlow {
    0%,
    100% {
        text-shadow: 0 0 5px currentColor;
    }

    50% {
        text-shadow: 0 0 20px currentColor;
    }
}

#status-text {
    animation: pulseGlow 1.5s infinite;
}

#result-section h2 {
    margin-top: 1rem;
    text-align: center;
}

#result-actions {
    margin: 0.8rem 0;
}

.surface-panel {
    border: 1px solid var(--panel-border, var(--surface-panel-border));
    border-radius: 16px;
    background: var(--panel-background, var(--surface-panel-gradient));
    box-shadow: var(--panel-shadow, 0 16px 42px rgb(0 0 0 / 38%), 0 0 28px rgb(45 230 255 / 7%));
}

#result-container {
    width: min(100%, var(--review-content-width));
    margin: 1rem auto;
    padding: clamp(1rem, 4vw, 1.5rem);
    color: var(--text-on-dark-soft);
    font-family: Arial, sans-serif;
    line-height: 1.6;
    text-align: left;
    white-space: pre-wrap;
}

.error-message,
.rate-limit-message {
    color: var(--error-text);
}

.rate-limit-message {
    display: grid;
    gap: 1rem;
}

.rate-limit-message p {
    margin: 0;
}

.rate-limit-support-btn {
    justify-self: start;
}

a {
    color: var(--accent-primary);
}
a:hover {
    color: rgb(206, 166, 255);
}

#result-container li {
    list-style-type: disc;
    padding-left: 0.25rem;
}

#result-container a {
    overflow-wrap: anywhere;
}

.video-section {
    display: flex;
    justify-content: center;
    padding: 0 1rem;
    margin: 0.5rem 0 1.8rem;
}

.video-embed {
    width: min(100%, 960px);
}

.video-embed-inner {
    --panel-background: var(--surface-panel);
    --panel-border: rgb(110 183 255 / 33%);
    --panel-shadow: 0 18px 42px rgb(0 0 0 / 44%), 0 0 26px rgb(100 76 255 / 13%);

    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.video-embed-inner iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

footer {
    max-width: 1400px;
    padding: 1.25rem 1rem 2rem;
    margin: auto;
    color: var(--text-muted);
    font-family: system-ui, sans-serif;
    font-size: 0.8rem;
    text-align: center;
}

.footer-row,
.footer-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.footer-row p {
    margin: 0;
}
.footer-subscribe-widget {
    display: flex;
    align-items: center;
}

.modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4vh 1rem;
    overflow: hidden;
    background: var(--surface-overlay);
    backdrop-filter: blur(7px) saturate(1.08);
}

.modal.hidden {
    display: none;
}
html:has(#donate-modal:not(.hidden)),
body:has(#donate-modal:not(.hidden)) {
    overflow: hidden;
}

.modal-content {
    position: relative;
    width: min(100%, 900px);
    max-height: calc(100vh - 8vh);
    max-height: calc(100dvh - 8vh);
    padding: 1rem 1.25rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
    color: var(--text-on-dark);
}

.modal-close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 10;
    width: var(--control-height);
    padding: 0;
}

.modal-close-icon {
    width: 1.125rem;
    height: 1.125rem;
    fill: none;
    stroke: currentcolor;
    stroke-linecap: round;
    stroke-width: 2;
}

#donate-title {
    margin-right: calc(var(--control-height) + 0.75rem);
}

.donate-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}
.donate-table th,
.donate-table td {
    padding: 0.6rem;
    border-bottom: 1px solid var(--surface-border-subtle);
    color: var(--text-on-dark-soft);
    font-family: monospace;
    text-align: left;
    vertical-align: top;
}
.donate-table th {
    color: var(--accent-primary);
}
img.donate-qr {
    display: block;
    width: clamp(140px, 38vw, 200px);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgb(0 0 0 / 48%);
    margin-bottom: 0.4rem;
}
.donate-qr > a {
    display: inline-block;
}
.modal code {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    background: var(--surface-fill-subtle);
    color: var(--text-on-dark-soft);
    font-family: monospace;
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.copy-btn {
    padding: 0.3rem 0.6rem;
}

.site-banner {
    display: none;
    position: relative;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 2.8rem 0.7rem 1rem;
    border-top: 1px solid rgb(45 230 255 / 28%);
    border-bottom: 1px solid rgb(163 100 255 / 28%);
    background: linear-gradient(90deg, rgb(16 45 76 / 88%), rgb(38 21 76 / 88%));
    color: var(--text-on-banner);
    font-size: 0.88rem;
    font-weight: 600;
    text-align: center;
}

.site-banner:not(.hidden) {
    display: flex;
}
.site-banner.banner-info {
    border-block-color: var(--banner-info-border);
    background: var(--banner-info-surface);
    color: var(--text-on-banner-info);
}
.site-banner.banner-warn {
    border-block-color: var(--banner-warn-border);
    background: var(--banner-warn-surface);
    color: var(--text-on-banner-warn);
}
.site-banner.banner-error {
    border-block-color: var(--banner-error-border);
    background: var(--banner-error-surface);
    color: var(--error-text);
}
.banner-message {
    overflow-wrap: anywhere;
}
.banner-link {
    font-weight: 700;
}
.banner-close {
    --utility-background: rgb(8 15 34 / 58%);
    --utility-transform-active: translateY(-50%);

    position: absolute;
    top: 50%;
    right: 8px;
    z-index: 1;
    min-width: 34px;
    min-height: 34px;
    padding: 0.15rem 0.45rem;
    font-size: 1.1rem;
    line-height: 1;
    transform: translateY(-50%);
}

.modal-content::-webkit-scrollbar {
    width: 10px;
}

.modal-content::-webkit-scrollbar-track {
    border-radius: 8px;
    background: var(--scrollbar-track);
}

.modal-content::-webkit-scrollbar-thumb {
    border: 2px solid rgb(8, 13, 29);
    border-radius: 8px;
    background: linear-gradient(180deg, rgb(163 100 255 / 46%), rgb(45 230 255 / 46%));
}

.modal-content::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgb(163 100 255 / 62%), rgb(45 230 255 / 62%));
}

@media (max-width: 640px) {
    #hero {
        padding: 1.25rem 0 0.75rem;
    }
    #input-section {
        flex-direction: column;
        margin-bottom: 2rem;
    }
    #submit-btn {
        width: 100%;
    }
    .hero-inner h2 {
        letter-spacing: 0.01em;
    }
    .footer-actions {
        width: 100%;
    }
    footer p {
        line-height: 1.6;
    }
    .banner-close {
        font-size: 1.2rem;
    }
    .modal-content {
        padding: 0.9rem;
    }
}

@media (min-width: 1100px) {
    .footer-row,
    .footer-actions {
        flex-wrap: nowrap;
    }

    .footer-row p {
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    body::before,
    header,
    #site-banner,
    #hero,
    #input-section,
    #human-verify-section,
    #status-section,
    #result-actions,
    #cancel-btn,
    .video-section {
        display: none !important;
    }
    body {
        display: flex !important;
        flex-direction: column !important;
    }
    body,
    #result-section,
    #result-container {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }
    main {
        order: 0;
        width: 100%;
    }
    #result-section {
        position: static !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    footer {
        order: -1;
        padding: 1rem 0;
        margin-bottom: 2rem;
        color: black !important;
    }
    #result-container {
        max-width: 100% !important;
        font-family: serif !important;
        line-height: 1.4 !important;
    }
    a {
        color: black !important;
        text-decoration: underline !important;
    }
}
