/* Universal no Fansub · Edición Halloween 2026.
   Local artwork only. Decorative elements never intercept clicks. */
.halloween-edition {
    --navy: #21162d;
    --navy-2: #38263f;
    --wine: #91421c;
    --cream: #fbf3e7;
    --paper: #fffaf1;
    --pink: #edc293;
    --gold: #c18b45;
    --ink: #342d38;
    --muted: #746575;
    --border: #e8d3b6;
    accent-color: #91421c;
}
.halloween-ribbon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 35px;
    padding: 8px 16px;
    color: #f1d5aa;
    background: linear-gradient(100deg, #21162d, #38263f 50%, #21162d);
    border-block: 1px solid #9e733b;
    font-size: .64rem;
    font-weight: 650;
    line-height: 1.5;
    letter-spacing: .19em;
    text-align: center;
}
.halloween-ribbon b {
    margin-inline: 8px;
    color: #e7a356;
}
.halloween-ribbon > span:first-child,
.halloween-ribbon > span:last-child {
    color: #e7b96e;
    font-size: 1rem;
    line-height: 1;
}
.halloween-eyebrow {
    margin: 0 0 15px;
    color: #91421c;
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.halloween-edition .home-page {
    background: radial-gradient(ellipse at 0 30%, #edc29326, transparent 32%),
        radial-gradient(ellipse at 100% 72%, #7141610c, transparent 28%), var(--cream);
}
.halloween-edition .site-header {
    background: linear-gradient(110deg, #f8ecd9, #fffaf1 50%, #f8ecd9);
    border-bottom-color: #dac29d;
}
.halloween-edition .site-header::before,
.halloween-edition .site-header::after {
    opacity: .76;
}
.halloween-edition .site-header::after,
.halloween-edition .site-footer::after,
.halloween-edition .home-page::after,
.halloween-edition .mega-menu::before {
    transform: scaleX(-1);
}
.halloween-edition .hero::before,
.halloween-edition .hero::after {
    display: none;
}
.halloween-edition .hero-zone {
    background: #21162d;
}
.halloween-edition .hero-carousel-dot.is-active {
    background: #efbb6b;
}
.halloween-edition .hero-carousel-arrow:hover,
.halloween-edition .hero-carousel-arrow:focus-visible {
    background: #91421ce6;
    border-color: #f2c780;
}
.halloween-edition .button.primary {
    color: #fff9ef;
    background: linear-gradient(125deg, #34213d, #54324a);
    border-color: #67414c;
}
.halloween-edition .button.primary:hover,
.halloween-edition .button.primary:focus-visible {
    background: linear-gradient(125deg, #60354a, #91421c);
    border-color: #ab713d;
}
.halloween-edition .button.secondary {
    color: #783d20;
    background-color: #fff8ed;
    border-color: #dac09a;
}
.halloween-edition .home-dorama-card:hover,
.halloween-edition .blog-card:hover,
.halloween-edition .catalog-card:hover {
    border-color: #c18b45;
    box-shadow: 0 18px 40px #37203818, 0 0 0 1px #c18b4529;
}
.halloween-edition .home-dorama-image::after,
.halloween-edition .blog-card-image::after {
    transition: filter .2s ease;
}
.halloween-edition .home-dorama-image:hover::after,
.halloween-edition .blog-card-image:hover::after {
    filter: drop-shadow(0 0 7px #e6b56377);
}
.halloween-edition .catalog-card {
    position: relative;
}
.halloween-edition .catalog-card::after {
    content: "☾";
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 33px;
    height: 33px;
    place-items: center;
    border: 1px solid #d5a058;
    border-radius: 50%;
    background: #21162de8;
    color: #f1c47d;
    font-size: 1.15rem;
    pointer-events: none;
}
.halloween-edition .blog-hero .blog-hero-inner::before {
    background: url('/assets/img/halloween/stars.svg') center / contain no-repeat;
}
.halloween-edition .series-hero-overlay {
    background-image: linear-gradient(90deg, #21162de8, #21162d55),
        url('/assets/img/halloween/stars.svg');
}
.halloween-edition .site-footer {
    background: linear-gradient(130deg, #efdfc7, #fbf1e1 48%, #e8d6bd);
    border-top: 1px solid #dec69f;
}
.halloween-edition .float-mascot,
.halloween-edition .card-onion,
.halloween-edition .news-onion,
.halloween-edition .reaction-note img {
    mix-blend-mode: normal;
}
.halloween-pumpkin-mark .halloween-pumpkin-shell {
    fill: #da8a38;
    stroke: #f4cd7c;
    stroke-width: 1.5;
}
.halloween-pumpkin-mark .halloween-pumpkin-rib {
    fill: none;
    stroke: #a6642a;
    stroke-width: 1.4;
}
.halloween-pumpkin-mark .halloween-pumpkin-stem {
    fill: #c0a369;
    stroke: #f1d49b;
}
.halloween-pumpkin-mark .halloween-pumpkin-face {
    fill: #382139;
    stroke: none;
}
.halloween-edition details[open] .halloween-pumpkin-mark .project-owner-sakura-bloom {
    transform: translate(32px, 32px) rotate(-8deg);
}
.halloween-onion-gif {
    position: relative;
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-top: 12px;
    vertical-align: middle;
    place-items: center;
}
.halloween-onion-gif::after {
    content: "";
    position: absolute;
    top: -18px;
    left: 6px;
    width: 38px;
    height: 29px;
    background: url('/assets/img/halloween/witch-hat.svg') center / contain no-repeat;
    pointer-events: none;
    transform: rotate(-10deg);
}
.halloween-onion-gif img {
    max-width: 44px;
    max-height: 44px;
}
.halloween-edition .reaction-button .halloween-onion-gif {
    overflow: visible;
}
.halloween-edition .series-global-reactions .halloween-onion-gif {
    width: 40px;
    height: 40px;
}
.halloween-edition .unf-chat-panel {
    border-color: #c18b4588;
    box-shadow: 0 24px 66px #21162d47;
}
.halloween-edition .unf-chat-header {
    background: linear-gradient(120deg, #21162d, #4c2e44);
    border-bottom: 1px solid #c18b45;
}
.halloween-edition .unf-chat-header-copy strong {
    color: #ffe2af;
    font-size: .91rem;
}
.halloween-edition .unf-chat-body {
    background: linear-gradient(#fffaf1ec, #fbf3e7f5),
        url('/assets/img/halloween/stars.svg') center / 380px auto;
}
.halloween-edition .unf-chat-footer {
    background: #fff7eb;
    border-color: #e8d3b6;
}
.halloween-edition .unf-chat-notice {
    color: #734827;
    background: #f4e5cf;
    border-color: #dec69f;
}
.halloween-edition .unf-chat-launcher {
    background: radial-gradient(circle at 35% 30%, #674153, #24192f);
    border-color: #edbd78;
    box-shadow: 0 10px 26px #21162d47, 0 0 0 4px #e2ab591e;
}
.halloween-edition .unf-chat-launcher img {
    border-radius: 0;
}
.halloween-edition .unf-chat-login-button,
.halloween-edition .unf-chat-send-button {
    color: #fff8ed;
    background: linear-gradient(120deg, #71412d, #91421c);
}
.halloween-edition .unf-chat-message.is-own .unf-chat-message-bubble {
    color: #3c293b;
    background: #f1dec0;
    border-color: #ddbb86;
}
.halloween-edition .unf-chat-account-card {
    background: linear-gradient(135deg, #fffaf1, #f7e9d5);
    border-color: #dfc29a;
}
.halloween-edition.unf-reset-page,
.halloween-moderation {
    background: radial-gradient(ellipse at top, #41293d, #171322) fixed !important;
}
.halloween-moderation .chat-admin-header h1,
.halloween-moderation .chat-admin-header .chat-admin-eyebrow {
    color: #f6deb5;
}
.halloween-moderation .chat-admin-header {
    background: linear-gradient(120deg, #302039, #4b3041);
    border: 1px solid #b68a51;
}
.halloween-moderation .mod-header-user {
    color: #fbf3e7;
}
.halloween-moderation .mod-header-blossom {
    filter: none;
}
.halloween-edition :focus-visible {
    outline: 3px solid #aa641f;
    outline-offset: 3px;
}
@media (max-width: 780px) {
    .halloween-ribbon {
        gap: 9px;
        min-height: 32px;
        font-size: .52rem;
        letter-spacing: .12em;
    }
    .halloween-ribbon b {
        margin-inline: 3px;
    }
    .halloween-eyebrow {
        font-size: .6rem;
        letter-spacing: .13em;
    }
    .halloween-edition .home-dorama-image::after,
    .halloween-edition .blog-card-image::after {
        display: block;
        opacity: .75 !important;
    }
    .halloween-edition .unf-chat-panel {
        max-height: calc(100dvh - 94px);
        min-height: min(410px, calc(100dvh - 94px));
    }
}
@media (prefers-reduced-motion: reduce) {
    .halloween-edition *,
    .halloween-edition *::before,
    .halloween-edition *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
