/* AMPHS.CLUB — tema de Halloween (sazonal). Só entra entre 15/10 e 02/11 (season_assets() em inc/render.php).
   Parte 1 gerada por gen_recolor.py (rosa → abóbora, lilás → roxo); parte 2 = decoração. */
/* -- recolor de style.css -- */
:root { --pink: #fa7d29; --pink-hi: #ff9853; --pink-deep: #f96e12; --pink-soft: rgba(250, 125, 41, 0.09); --purple: #ba7bf2; --lav: #ba7bf2; }
body { background:
    radial-gradient(900px 460px at 85% -5%, rgba(158, 69, 237, 0.08), transparent 60%),
    radial-gradient(800px 400px at 8% 108%, rgba(250, 125, 41, 0.05), transparent 60%),
    var(--bg); }
.nav-admin:hover { color: #ce95ff; background: rgba(186, 123, 242, 0.08); }
.wordmark a { background: linear-gradient(180deg, #ffffff 0%, #ffeee3 46%, #fa7d29 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 16px rgba(250, 125, 41, 0.45)) drop-shadow(0 3px 10px rgba(186, 123, 242, 0.25)); }
.wordmark a:hover { filter: drop-shadow(0 0 24px rgba(250, 125, 41, 0.6)) drop-shadow(0 3px 12px rgba(186, 123, 242, 0.35)); }
.skull-logo { filter: drop-shadow(0 0 26px rgba(154, 60, 237, 0.4)) drop-shadow(0 6px 20px rgba(250, 125, 41, 0.28)); }
.wordmark a:hover .skull-logo { filter: drop-shadow(0 0 40px rgba(154, 60, 237, 0.6)) drop-shadow(0 6px 22px rgba(250, 125, 41, 0.4)); }
.badge-admin { background: rgba(250, 125, 41, 0.12); border: 1px solid rgba(250, 125, 41, 0.45); }
.badge-user { background: rgba(186, 123, 242, 0.1); border: 1px solid rgba(186, 123, 242, 0.3); }
.uid { background: rgba(186, 123, 242, 0.08); border: 1px solid rgba(186, 123, 242, 0.3); }
.btn-primary { box-shadow: 0 4px 16px rgba(249, 110, 18, 0.3); }
.field input:focus, .field textarea:focus, textarea#replyArea:focus, .search-form input:focus, .shout-input input:focus, .wall-input input:focus { box-shadow: 0 0 0 3px rgba(250, 125, 41, 0.12); }
.flash-err { border-color: rgba(250, 125, 41, 0.45); }
.staff-box { border-color: rgba(250, 125, 41, 0.28); }
.auth-logo-big { background: linear-gradient(180deg, #ffffff 0%, #ffeee3 46%, #fa7d29 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 18px rgba(250, 125, 41, 0.5)) drop-shadow(0 3px 12px rgba(186, 123, 242, 0.28)); }
.auth-row input[type="text"], .auth-row input[type="password"], .auth-row input[type="email"] { background: #f0e3fc; border: 1px solid #b774f1; }
.auth-row input:focus { box-shadow: 0 0 0 3px rgba(250, 125, 41, 0.2); }
/* -- recolor de v2.css -- */
.v2 { --pink: #fa873a; --pink-hi: #fba064; --pink-deep: #f96d10; --pink-soft: rgba(250, 135, 58, 0.1); --purple: #ba7bf2; --violet: #aa58f2; background:
    radial-gradient(circle at 50% -8%, rgba(170, 88, 242, 0.11), transparent 52%),
    radial-gradient(circle at 12% 22%, rgba(250, 135, 58, 0.06), transparent 42%),
    radial-gradient(circle at 92% 70%, rgba(170, 88, 242, 0.05), transparent 45%),
    var(--bg); background-attachment: fixed; }
.v2 ::selection { background: rgba(250, 135, 58, 0.35); }
.v2 ::-webkit-scrollbar-thumb:hover { background: rgba(250, 135, 58, 0.55); background-clip: padding-box; }
.v2 .topnav { border-bottom: 1px solid rgba(250, 135, 58, 0.28); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.6), 0 10px 30px -20px rgba(250, 135, 58, 0.35); }
.v2 .nav-brand:hover { text-shadow: 0 0 18px rgba(250, 135, 58, 0.45); }
.v2 .acct-btn:hover, .v2 .acct.open .acct-btn { background: rgba(250, 135, 58, 0.12); border-color: rgba(250, 135, 58, 0.25); }
.v2 .acct-pop { box-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(0, 0, 0, 0.5), 0 -6px 30px -16px rgba(250, 135, 58, 0.5); }
.v2 .acct-head a:hover .acct-avatar { box-shadow: 0 0 0 2px var(--pink), 0 10px 26px -10px rgba(250, 135, 58, 0.6); }
.v2 .acct-link:hover { background: rgba(250, 135, 58, 0.11); }
.v2 .acct-status input:focus { box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.14); }
.v2 .block-title::before, .v2 .side-title::before { box-shadow: 0 0 8px rgba(250, 135, 58, 0.55); }
.v2 .cat-row:hover { background: rgba(250, 135, 58, 0.045); }
.v2 .cat-icon { background: rgba(250, 135, 58, 0.16); border: 1px solid rgba(250, 135, 58, 0.5); box-shadow: 0 0 0 4px rgba(250, 135, 58, 0.07); }
.v2 .cat-row:hover .cat-icon { background: rgba(250, 135, 58, 0.24); box-shadow: 0 0 0 5px rgba(250, 135, 58, 0.1), 0 8px 20px -8px rgba(250, 135, 58, 0.6); }
.v2 .recent-row:hover { background: rgba(250, 135, 58, 0.05); }
.v2 .btn-primary { background: linear-gradient(135deg, #fa914c, var(--pink) 45%, var(--pink-deep)); box-shadow: 0 8px 22px -10px rgba(250, 135, 58, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.35); }
.v2 .btn-primary:hover { box-shadow: 0 12px 26px -10px rgba(250, 135, 58, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
.v2 .thread-row:hover { background: rgba(250, 135, 58, 0.045); }
@keyframes v2-flash {0% { background: rgba(250, 135, 58, 0.16); } 100% { background: transparent; }}
.v2 .ph { background: linear-gradient(180deg, rgba(250, 135, 58, 0.07), transparent 70%), #13151b; }
.v2 .ph-avatar img { border: 2px solid rgba(250, 135, 58, 0.4); box-shadow: 0 10px 30px -14px rgba(250, 135, 58, 0.85); }
.v2 .ph-avatar img:hover { border-color: rgba(250, 135, 58, 0.75); box-shadow: 0 18px 38px -14px rgba(250, 135, 58, 1); }
.v2 .ph-btn:hover { background: rgba(250, 135, 58, 0.12); }
.v2 .pp-new input:focus { box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.14); }
.v2 .act-row:hover { background: rgba(250, 135, 58, 0.05); }
.v2 .act-snip { border-left: 2px solid rgba(250, 135, 58, 0.3); }
.auth-topbar .auth-discord { color: #ba7bf2; }
.auth-topbar .auth-discord:hover { color: #cf99ff; }
.v2 .nav-discord { color: #ba7bf2; }
.v2 .nav-discord:hover { color: #cf99ff; background: rgba(155, 57, 240, 0.12); }
.v2 .dc-card { border-color: rgba(155, 57, 240, 0.28); background: linear-gradient(160deg, rgba(155, 57, 240, 0.12), transparent 60%), var(--card-bg), var(--panel); }
.v2 .dc-card .side-title::before { background: linear-gradient(180deg, #b866ff, #9b39f0); box-shadow: 0 0 8px rgba(155, 57, 240, 0.6); }
.v2 .dc-card .side-title { color: #ba7bf2; }
.v2 .dc-icon { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 18px -10px rgba(155, 57, 240, 0.9); }
.v2 .dc-icon-ph { background: #9b39f0; }
.v2 .dc-join { background: linear-gradient(135deg, #b056ff, #9b39f0); box-shadow: 0 8px 22px -10px rgba(155, 57, 240, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.3); }
.v2 .dc-join:hover { box-shadow: 0 12px 26px -10px rgba(155, 57, 240, 1), inset 0 1px 0 rgba(255, 255, 255, 0.35); }
.v2 .tl-quick input:focus { box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.14); }
.v2 .tl-row:hover { background: rgba(250, 135, 58, 0.05); }
.v2 .tl-row.pinned { background: rgba(250, 135, 58, 0.035); border-left-color: rgba(250, 135, 58, 0.6); }
.v2 .tp:target { border-color: rgba(250, 135, 58, 0.55); box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.12), var(--card-shadow); }
.v2 a.tp-av:hover img { box-shadow: 0 0 0 2px rgba(250, 135, 58, 0.7), 0 10px 26px -10px rgba(250, 135, 58, 0.7); }
.v2 .tp-staff { background: linear-gradient(90deg, #aa58f2, #fa873a); box-shadow: 0 4px 12px -6px rgba(250, 135, 58, 0.9); }
.v2 .tp-foot .mini-btn:hover { background: rgba(250, 135, 58, 0.08); }
.v2 .tp-reply textarea:focus { box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.14); }
.v2 .tp-reply-foot .btn { background: linear-gradient(90deg, #aa58f2, #fa873a); }
.v2 .ms-link.on { background: rgba(250, 135, 58, 0.1); }
.v2 .ms-find input:focus { box-shadow: 0 0 0 3px rgba(250, 135, 58, 0.14); }
.v2 .ms-newest a:hover img { box-shadow: 0 0 0 2px var(--pink), 0 6px 16px -6px rgba(250, 135, 58, 0.8); }
.v2 .mo-more:hover { background: rgba(250, 135, 58, 0.14); border-color: rgba(250, 135, 58, 0.35); }
.v2 .ml-row:hover { background: rgba(250, 135, 58, 0.045); }
.v2 .staff-box { border-color: rgba(250, 135, 58, 0.22); }
.v2 .lic-chip { background: rgba(250, 135, 58, 0.08); border: 1px solid rgba(250, 135, 58, 0.3); }
.v2 .lic-chip:hover { background: rgba(250, 135, 58, 0.18); box-shadow: 0 6px 14px -8px rgba(250, 135, 58, 0.8); }
.v2 .gw-result { border-color: rgba(250, 135, 58, 0.35); box-shadow: var(--card-shadow), 0 0 40px -18px rgba(250, 135, 58, 0.7); }
.v2 .gw-winner { background: rgba(250, 135, 58, 0.06); border: 1px solid rgba(250, 135, 58, 0.2); }
.v2 .gw-winner:hover { background: rgba(250, 135, 58, 0.12); }
.v2 .gw-winner img { box-shadow: 0 0 0 2px rgba(250, 135, 58, 0.5), 0 8px 20px -8px rgba(250, 135, 58, 0.8); }
.brand-lockup, .wordmark a.brand-lockup { color: #f6eefd; }
.wordmark a.brand-lockup:hover { filter: drop-shadow(0 0 18px rgba(250, 125, 41, 0.35)); }
.bl-club { color: #ba7bf2; }
.bl-mk svg { filter: drop-shadow(0 0 18px rgba(250, 125, 41, 0.45)) drop-shadow(0 4px 14px rgba(186, 123, 242, 0.25)); }
.bl-dot { filter: drop-shadow(0 0 14px rgba(250, 125, 41, 0.5)); }
.bl-ring { border: 2px solid #fa7d29; }
@keyframes bl-breathe {0%, 100% { filter: drop-shadow(0 0 18px rgba(250, 125, 41, 0.45)) brightness(1); } 50% { filter: drop-shadow(0 0 24px rgba(250, 125, 41, 0.6)) brightness(1.2); }}
.ci .st { stroke: #f3e7fd; }
.ci .pk { fill: #fa7d29; }
.ci .w { fill: #f3e7fd; }
.ci .l { fill: #ba7bf2; }
.ci .sl { stroke: #ba7bf2; }
.ci .spk { stroke: #fa7d29; }
.ci .ring { stroke: #fa7d29; }
.v2 a.stat-tile:hover { border-color: rgba(250, 135, 58, 0.4); }
.v2 .pill.info { background: rgba(186, 123, 242, 0.12); }
.v2 .chip:hover { border-color: rgba(250, 135, 58, 0.4); }
.v2 .chip.on { background: rgba(250, 135, 58, 0.16); border-color: rgba(250, 135, 58, 0.5); }
.v2 .au2[open] > .au2-row { background: rgba(250, 135, 58, 0.05); }
.v2 .au2-body { background: rgba(250, 135, 58, 0.03); }
.v2 .ph-btn-bio { background: linear-gradient(90deg, var(--pink), #ba7bf2) !important; }
.v2 .be-sub { background: rgba(155, 57, 240, 0.07); border: 1px solid rgba(155, 57, 240, 0.25); }
.v2 .be-sub > b { color: #ce9ff8; }
/* -- recolor de lua-docs.css -- */
html.hw .ld-toc a.on { border-left-color: var(--pink, #fa7d29); background: rgba(250, 125, 41, 0.08); }
html.hw .ld-h2 a { color: var(--pink, #fa7d29); }
html.hw .ld-note { border-left: 2px solid rgba(250, 125, 41, 0.5); }
html.hw .ld-copy:hover { border-color: var(--pink, #fa7d29); }
html.hw .ld-code .k { color: #f97923; }

/* ---------- decoração (lua, cemitério, névoa, teias, aranha, morcegos, chapéu) ---------- */
html.hw {
  --hw-orange: #ff7b1c;
  --hw-orange-hi: #ffa04d;
  --hw-purple: #9d4dff;
  --hw-green: #8cff5a;
  --hw-night: #08060d;
}
html.hw body.v2, html.hw body.auth-body {
  background:
    radial-gradient(1100px 520px at 50% -12%, rgba(157, 77, 255, 0.16), transparent 60%),
    radial-gradient(700px 380px at 6% 104%, rgba(255, 123, 28, 0.09), transparent 62%),
    radial-gradient(700px 380px at 96% 104%, rgba(140, 255, 90, 0.035), transparent 62%),
    var(--hw-night);
  background-attachment: fixed;
}
html.hw ::selection { background: rgba(255, 123, 28, 0.4); color: #fff; }

/* velas: pílulas do fundo trocadas pelas do halloween.js */
html.hw #pills { display: none !important; }
#hwCandy { position: fixed; inset: 0; z-index: 0; width: 100vw; height: 100vh; display: block; pointer-events: none; opacity: 0.13; }
.auth-body #hwCandy { opacity: 0.5; }

/* lua */
.hw-moon {
  position: fixed; z-index: 0; pointer-events: none;
  top: 74px; right: max(2vw, calc(50vw - 760px)); width: 130px; height: 130px; border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(0, 0, 0, 0.13) 0 9%, transparent 10%),
    radial-gradient(circle at 62% 58%, rgba(0, 0, 0, 0.11) 0 13%, transparent 14%),
    radial-gradient(circle at 40% 72%, rgba(0, 0, 0, 0.09) 0 6%, transparent 7%),
    radial-gradient(circle at 70% 28%, rgba(0, 0, 0, 0.08) 0 5%, transparent 6%),
    radial-gradient(circle at 38% 36%, #fff6dc, #ffd88f 55%, #f7a948 100%);
  box-shadow: 0 0 60px 14px rgba(255, 170, 70, 0.22), 0 0 180px 60px rgba(255, 123, 28, 0.1);
  opacity: 0.85;
  animation: hw-moon 9s ease-in-out infinite;
}
.auth-body .hw-moon { top: 70px; width: 210px; height: 210px; opacity: 0.95; }
@keyframes hw-moon { 50% { box-shadow: 0 0 74px 18px rgba(255, 170, 70, 0.28), 0 0 220px 70px rgba(255, 123, 28, 0.13); } }

/* cemitério no rodapé da tela (atrás do conteúdo) */
.hw-ground {
  position: fixed; z-index: 0; pointer-events: none; left: 0; right: 0; bottom: 0; height: 170px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 170' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='%23050308'%3E%3Cpath d='M0 150 Q200 128 420 142 T860 138 T1300 144 T1600 136 V170 H0Z'/%3E%3Cpath d='M118 150 V112 a22 22 0 0 1 44 0 V150Z'/%3E%3Cpath d='M196 152 V126 a15 15 0 0 1 30 0 V152Z'/%3E%3Cpath d='M300 148 h8 v-34 h-16 v-8 h16 v-14 h8 v14 h16 v8 h-16 v34 h8Z'/%3E%3Cpath d='M1130 146 V104 a26 26 0 0 1 52 0 V146Z'/%3E%3Cpath d='M1222 148 V122 a14 14 0 0 1 28 0 V148Z'/%3E%3Cpath d='M1420 146 h8 v-30 h-14 v-7 h14 v-12 h7 v12 h14 v7 h-14 v30 h8Z'/%3E%3Cpath d='M520 144 C516 110 524 86 512 52 C506 36 492 30 478 22 C496 26 508 34 516 44 C518 26 512 12 500 2 C520 12 528 30 526 48 C536 36 552 30 570 30 C550 38 536 52 532 70 C540 64 556 62 568 66 C552 68 538 78 534 92 C532 110 538 128 540 144Z'/%3E%3Cpath d='M1500 144 C1498 118 1504 96 1494 70 C1488 56 1474 50 1462 44 C1478 46 1490 54 1497 64 C1500 48 1494 34 1484 24 C1502 34 1510 50 1508 66 C1518 56 1532 52 1546 54 C1530 60 1518 70 1514 86 C1512 104 1518 126 1520 144Z'/%3E%3Cg%3E%3Crect x='620' y='118' width='4' height='30'/%3E%3Crect x='644' y='118' width='4' height='30'/%3E%3Crect x='668' y='118' width='4' height='30'/%3E%3Crect x='692' y='118' width='4' height='30'/%3E%3Crect x='716' y='118' width='4' height='30'/%3E%3Crect x='740' y='118' width='4' height='30'/%3E%3Crect x='612' y='126' width='140' height='3'/%3E%3Crect x='612' y='138' width='140' height='3'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23ff7b1c'%3E%3Cellipse cx='880' cy='140' rx='17' ry='13'/%3E%3Cellipse cx='1018' cy='143' rx='12' ry='9'/%3E%3C/g%3E%3Cg fill='%23ffd27a'%3E%3Cpath d='M872 136 l4 -5 l4 5Z M882 136 l4 -5 l4 5Z M872 145 q8 5 16 0 l-3 -2 l-2 2 l-3 -2 l-3 2 l-2 -2Z'/%3E%3Cpath d='M1013 140 l3 -4 l3 4Z M1019 140 l3 -4 l3 4Z M1013 146 q6 3 11 0Z'/%3E%3C/g%3E%3Cg fill='%233a5d12'%3E%3Crect x='878' y='124' width='4' height='6' rx='1'/%3E%3Crect x='1016' y='131' width='3' height='5' rx='1'/%3E%3C/g%3E%3C/svg%3E") center bottom / auto 100% repeat-x;
  opacity: 0.95;
}
.hw-ground::after { /* brilho das abóboras */
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(160px 60px at 55% 92%, rgba(255, 123, 28, 0.16), transparent 70%), radial-gradient(120px 50px at 63.6% 94%, rgba(255, 123, 28, 0.12), transparent 70%);
  animation: hw-flicker 3.2s steps(1) infinite;
}
.v2 .hw-ground { opacity: 0.8; }

/* névoa */
.hw-fog { position: fixed; z-index: 0; pointer-events: none; left: -50vw; right: -50vw; bottom: -40px; height: 240px; }
.hw-fog i {
  position: absolute; inset: 0; display: block;
  background:
    radial-gradient(38% 50% at 18% 70%, rgba(190, 170, 220, 0.11), transparent 70%),
    radial-gradient(30% 46% at 46% 80%, rgba(190, 170, 220, 0.09), transparent 70%),
    radial-gradient(34% 52% at 74% 72%, rgba(190, 170, 220, 0.1), transparent 70%);
  filter: blur(14px);
  animation: hw-fog 46s linear infinite;
}
.hw-fog i + i { animation-duration: 70s; animation-direction: reverse; opacity: 0.8; bottom: 30px; }
@keyframes hw-fog { 0% { transform: translateX(-12%); } 50% { transform: translateX(12%); } 100% { transform: translateX(-12%); } }

/* teias nos cantos */
.hw-web { position: fixed; z-index: 0; pointer-events: none; top: 52px; width: 230px; height: 230px; opacity: 0.16;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23f2e8ff' stroke-width='1.2'%3E%3Cpath d='M0 0 L200 30 M0 0 L170 110 M0 0 L110 170 M0 0 L30 200'/%3E%3Cpath d='M40 6 Q36 26 34 22 Q30 36 6 40'/%3E%3Cpath d='M80 12 Q72 44 68 44 Q46 68 12 80'/%3E%3Cpath d='M124 19 Q110 62 104 66 Q66 104 19 124'/%3E%3Cpath d='M166 25 Q148 82 140 88 Q86 140 25 166'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%; }
.hw-web.l { left: 0; }
.hw-web.r { right: 0; transform: scaleX(-1); }
.auth-body .hw-web { top: 0; }
@media (max-width: 900px) { .hw-web { width: 140px; height: 140px; } .hw-moon { width: 96px; height: 96px; top: 70px; } .hw-ground { height: 110px; } }
@media (max-width: 640px) { .hw-moon, .auth-body .hw-moon { width: 58px; height: 58px; top: 58px; right: 10px; opacity: 0.75; } .hw-web { width: 96px; height: 96px; opacity: 0.12; } }

/* aranha pendurada no menu */
.hw-spider { position: absolute; left: max(64px, calc(50vw - 640px)); top: 100%; width: 26px; z-index: 55; cursor: pointer; transform-origin: 50% 0; animation: hw-sway 5s ease-in-out infinite; }
.hw-spider .t { display: block; width: 1px; margin: 0 auto; height: var(--hw-len, 70px); background: linear-gradient(rgba(240, 230, 255, 0.05), rgba(240, 230, 255, 0.45)); transition: height 0.9s cubic-bezier(0.5, 0, 0.3, 1); }
.hw-spider svg { display: block; width: 26px; height: 26px; margin-top: -2px; filter: drop-shadow(0 0 5px rgba(190, 140, 255, 0.75)); }
.hw-spider.up .t { height: 0; }
.hw-spider .eye { animation: hw-blink 4.5s infinite; transform-box: fill-box; transform-origin: center; }
@keyframes hw-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes hw-blink { 0%, 94%, 100% { transform: scaleY(1); } 96% { transform: scaleY(0.1); } }
@media (max-width: 760px) { .hw-spider { display: none; } }

/* cera escorrendo embaixo do menu */
html.hw .v2 .topnav { border-bottom-color: rgba(255, 123, 28, 0.45); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.6), 0 10px 34px -18px rgba(255, 123, 28, 0.5); }
html.hw .v2 .topnav::after {
  content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 14'%3E%3Cpath fill='%23ff7b1c' fill-opacity='.55' d='M0 0H240V1.5C232 1.5 230 3 229 7 228 11 223 11 222 7 221 3 214 1.5 196 1.5 180 1.5 178 3 177 4.5 176 6 172 6 171 4.5 170 3 150 1.5 126 1.5 112 1.5 110 3 109.5 9 109 13.5 104 13.5 103.5 9 103 3 96 1.5 70 1.5 52 1.5 50 3 49.4 5.5 48.8 8 45 8 44.4 5.5 43.8 3 30 1.5 12 1.5 6 1.5 5 2.5 4.6 4 4.2 5.5 1.5 5.5 1 4 .6 2.5 .4 1.5 0 1.5Z'/%3E%3C/svg%3E") 0 0 / 240px 14px repeat-x;
}
html.hw .v2 .nav-brand span { color: var(--hw-orange); text-shadow: 0 0 14px rgba(255, 123, 28, 0.55); }
html.hw .v2 .nav-link.active { color: #fff; }

/* chapéu de bruxa na marca */
html.hw .bl-mk::after {
  content: ""; position: absolute; left: 0.02em; top: -0.62em; width: 0.98em; height: 0.78em; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23b06bff'/%3E%3Cstop offset='1' stop-color='%234a1c8c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M30 62 C36 44 42 26 52 12 C58 4 70 0 80 6 C72 6 66 10 64 18 C62 30 66 46 72 62Z'/%3E%3Cellipse cx='50' cy='64' rx='48' ry='11' fill='%233d1677'/%3E%3Cellipse cx='50' cy='62' rx='46' ry='9' fill='%23662bb8'/%3E%3Cpath fill='%23ff7b1c' d='M31 56 C44 59 58 59 70 56 L72 63 C58 66 44 66 30 63Z'/%3E%3Crect x='46' y='55' width='9' height='9' rx='1.5' fill='none' stroke='%23ffd27a' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat center / contain;
  transform: rotate(-14deg); transform-origin: 40% 90%;
  animation: hw-hat 0.6s cubic-bezier(0.3, 1.6, 0.5, 1) 2.2s both, hw-hat-tip 5s ease-in-out 3.2s infinite;
}
@keyframes hw-hat { 0% { opacity: 0; transform: translateY(-1.2em) rotate(-40deg); } 100% { opacity: 1; transform: rotate(-14deg); } }
@keyframes hw-hat-tip { 0%, 84%, 100% { transform: rotate(-14deg); } 89% { transform: rotate(-22deg) translateY(-0.06em); } 94% { transform: rotate(-9deg); } }
html.hw .bl-club { color: var(--hw-orange-hi); }
html.hw .bl-mk svg, html.hw .bl-dot { animation-name: hw-breathe; }
html.hw .bl-dot { animation: bl-dot .8s cubic-bezier(.3, 1.6, .5, 1) 2.1s both; filter: drop-shadow(0 0 14px rgba(255, 123, 28, 0.6)); }
@keyframes hw-breathe { 0%, 100% { filter: drop-shadow(0 0 18px rgba(255, 123, 28, 0.5)) drop-shadow(0 4px 14px rgba(157, 77, 255, 0.3)) brightness(1); } 50% { filter: drop-shadow(0 0 28px rgba(255, 123, 28, 0.7)) drop-shadow(0 4px 18px rgba(157, 77, 255, 0.4)) brightness(1.18); } }
html.hw .bl-pl path:first-child, html.hw .bl-dot path:first-child { fill: var(--hw-orange); }
html.hw #blGrad stop:first-child { stop-color: #ff7b1c; }
html.hw #blGrad stop:last-child { stop-color: #9d4dff; }
html.hw .bl-ring { border-color: var(--hw-orange); }
html.hw .wordmark a.brand-lockup:hover { filter: drop-shadow(0 0 20px rgba(255, 123, 28, 0.45)); }

/* cards: fio de luz de abóbora no topo */
html.hw .v2 .card { position: relative; border-color: rgba(255, 255, 255, 0.065); }
html.hw .v2 .card::before {
  content: ""; position: absolute; left: 18px; right: 18px; top: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 123, 28, 0.55), rgba(157, 77, 255, 0.45), transparent);
}
html.hw .v2 .btn-primary, html.hw .auth-body .btn-primary {
  background: linear-gradient(180deg, #ff8f3a, #f0620a); border-color: #ff8f3a; color: #1a0b02;
  box-shadow: 0 6px 20px -6px rgba(255, 123, 28, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
html.hw .v2 .btn-primary:hover, html.hw .auth-body .btn-primary:hover { background: linear-gradient(180deg, #ffa257, #ff6f12); color: #120700; }
html.hw .online-dot { background: var(--hw-green); box-shadow: 0 0 8px rgba(140, 255, 90, 0.7); }

/* rodapé */
.hw-greet { display: inline-flex; align-items: center; gap: 6px; color: var(--hw-orange-hi); font-weight: 600; }
.hw-greet svg { width: 16px; height: 16px; animation: hw-flicker 2.6s steps(1) infinite; }
@keyframes hw-flicker { 0%, 100% { opacity: 1; } 31% { opacity: 0.86; } 33% { opacity: 1; } 62% { opacity: 0.92; } 64% { opacity: 1; } 80% { opacity: 0.8; } 81% { opacity: 1; } }

/* morcegos */
.hw-bat { position: fixed; left: 0; top: 0; z-index: 45; pointer-events: none; width: 34px; height: 20px; color: #0b0712; will-change: transform; }
.hw-bat svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 4px rgba(157, 77, 255, 0.55)); }
.hw-bat .w { transform-box: fill-box; animation: hw-flap 0.22s ease-in-out infinite alternate; }
.hw-bat .wl { transform-origin: 100% 40%; }
.hw-bat .wr { transform-origin: 0% 40%; }
@keyframes hw-flap { 0% { transform: scaleY(1); } 100% { transform: scaleY(-0.55); } }

/* botão liga/desliga */
.hw-toggle {
  position: fixed; left: 14px; bottom: 14px; z-index: 70; width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; padding: 0;
  background: rgba(12, 9, 18, 0.85); border: 1px solid rgba(255, 123, 28, 0.4); box-shadow: 0 8px 24px -10px rgba(255, 123, 28, 0.6);
  backdrop-filter: blur(6px); transition: transform 0.2s, border-color 0.2s;
}
.hw-toggle:hover { transform: translateY(-2px) rotate(-8deg); border-color: rgba(255, 123, 28, 0.8); }
.hw-toggle svg { width: 22px; height: 22px; }

@media (prefers-reduced-motion: reduce) {
  .hw-moon, .hw-fog i, .hw-spider, .hw-spider .eye, .hw-greet svg, .hw-ground::after, html.hw .bl-mk::after { animation: none !important; }
  .hw-bat { display: none; }
}
