/* Prévia do torneio: identidade da marca, acentos de terror e artes preservadas. */
body[data-active-tab="proxima"] { --filterbar-h: 0px; }
.event-hero { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; padding:30px 0 40px; overflow:hidden; }
.event-hero-copy { position:relative; z-index:1; }
.event-hero h1 { font-family:var(--font-display); font-size:clamp(36px,4.5vw,62px); line-height:1.1; margin:18px 0 22px; letter-spacing:-.03em; }
.event-hero h1 em { color:#ee7367; font-style:normal; }
.event-when { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.event-when time { font-size:21px; font-weight:600; }
.event-badge { display:inline-flex; font-size:12px; padding:5px 10px; border:1px solid var(--hair-2); border-radius:100px; color:var(--ink-2); background:var(--surface-2); }
.event-lede { font-size:19px; max-width:480px; margin-bottom:10px; }
.event-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.event-hero-actions .btn { height:auto; min-height:40px; padding-top:9px; padding-bottom:9px; }
.event-hero-poster { position:relative; padding:22px 0; }
.event-hero-poster::before { content:""; position:absolute; inset:-40px -20px; background:radial-gradient(ellipse,rgba(167,36,30,.22),transparent 68%); pointer-events:none; }
.event-hero-poster img { position:relative; width:100%; height:auto; border-radius:12px; border:1px solid rgba(238,115,103,.3); box-shadow:0 20px 50px #0007; transform:rotate(2deg); }
.event-hero-poster > span { position:relative; display:block; margin-top:20px; text-align:center; font-size:11px; letter-spacing:.14em; color:var(--ink-2); }
.event-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:24px 0; border-block:1px solid var(--hair-2); gap:24px; }
.event-kpis > div { display:flex; flex-direction:column; gap:3px; }
.event-kpis b { font-size:36px; font-family:var(--font-display); color:var(--accent-2); }
.event-kpis span { font-weight:600; }
.event-kpis small { font-size:12px; color:var(--ink-3); }
.event-how { padding:32px 0; max-width:820px; display:grid; gap:10px; }
.event-how h2 { font-size:22px; }
.event-how > p { color:var(--ink-2); }
.event-note { font-size:13px; color:var(--ink-2); line-height:1.6; }
.event-section { margin-top:44px; scroll-margin-top:80px; }
.event-stats-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:20px; align-items:start; }
.event-styles { margin-top:20px; }
.event-styles .event-bars { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; }
.event-bars { display:grid; gap:14px; margin-bottom:18px; }
.event-bar-row > div:first-child { display:flex; justify-content:space-between; gap:10px; font-size:13px; margin-bottom:7px; }
.event-bar-row b { font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.event-bar-track { height:6px; border-radius:3px; background:var(--surface-3); overflow:hidden; }
.event-bar-track span { display:block; height:100%; background:var(--accent); border-radius:3px; }
.event-subheading { margin:24px 0 12px; font-size:16px; }
.event-facts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.event-deck-link { border:0; padding:0; background:none; color:var(--accent-2); text-align:left; font-weight:500; line-height:1.4; }
.event-deck-link:hover { text-decoration:underline; }
.event-frequency td { padding-block:12px; }
.event-frequency th { white-space:normal; }
.event-more { margin:12px 0; }
.event-more summary, .event-potential summary { color:var(--accent-2); cursor:pointer; font-size:13px; padding:8px 0; }
.event-cards-panel { scroll-margin-top:80px; }
.event-cards-panel .eyebrow { display:block; margin-bottom:8px; }
.event-cards-panel .panel-head h3 { font-family:var(--font-display); font-size:25px; }
.event-checkbox { display:flex; align-items:center; gap:8px; font-size:13px; margin-bottom:12px; width:fit-content; cursor:pointer; }
.event-checkbox input { width:17px; height:17px; accent-color:var(--accent); }
.event-card-list { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(var(--rows,5),auto); grid-auto-flow:column; gap:0 28px; margin:20px 0; }
.event-card-rank { display:flex; gap:13px; align-items:center; padding:12px 4px; width:100%; min-width:0; border:0; border-bottom:1px solid var(--hair); color:var(--ink); background:transparent; text-align:left; }
.event-card-rank:hover { background:var(--surface-2); }
.event-card-rank > img { width:44px; height:61px; object-fit:cover; border-radius:4px; }
.event-rank-number { font-family:var(--font-display); color:var(--ink-3); font-size:18px; min-width:25px; }
.event-card-label { flex:1; min-width:0; }
.event-card-label b { font-size:14px; display:block; overflow-wrap:anywhere; }
.event-card-label small, .event-card-count small { display:block; font-size:11px; color:var(--ink-3); margin-top:3px; }
.event-card-count { text-align:right; font-variant-numeric:tabular-nums; }
.event-card-count b { font-size:17px; color:var(--accent-2); }
.event-roster-tools { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.event-roster-tools input { width:min(430px,100%); padding:11px 14px; border:1px solid var(--hair-2); border-radius:9px; background:var(--surface); }
.event-roster-tools span { font-size:13px; }
.event-teams { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; margin-bottom:20px; }
.event-team { overflow:hidden; border:1px solid var(--hair-2); border-radius:var(--radius); background:var(--surface); min-width:0; }
.event-poster-button { border:0; padding:0; background:var(--page); position:relative; width:100%; display:block; }
.event-poster-button img { width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.event-poster-button > span { position:absolute; bottom:8px; right:8px; background:#000c; border:1px solid #ffffff40; color:#fff; font-size:11px; padding:4px 8px; border-radius:5px; opacity:0; }
.event-poster-button:hover > span, .event-poster-button:focus-visible > span { opacity:1; }
.event-team-info { padding:22px; }
.event-team-info > h3 { font-family:var(--font-display); font-size:20px; margin-bottom:20px; }
.event-team-players { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.event-player-name small { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); }
.event-player-name h4 { font-size:16px; margin:4px 0 8px; }
.event-player > .event-note { font-size:12px; min-height:40px; }
.event-options { display:grid; gap:12px; margin-top:14px; }
.event-option { display:grid; gap:6px; align-content:start; }
.event-option .event-deck-link { font-size:13px; }
.event-option > small { font-size:11px; color:var(--ink-3); }
.event-single-option { color:var(--ink-3); font-size:11px; display:block; margin-top:12px; }
.event-potential { border-top:1px solid var(--hair-2); margin-top:22px; padding-top:10px; }
.event-potential > .event-note { margin:8px 0; }
.event-combination { padding:14px 0; border-bottom:1px solid var(--hair); font-size:13px; display:grid; gap:5px; }
.event-team-info > .event-note { margin-top:16px; }
.event-dialog { width:min(720px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:24px; background:var(--surface); color:var(--ink); border:1px solid var(--hair-2); border-radius:var(--radius); box-shadow:var(--shadow); }
.event-dialog::backdrop { background:#000c; backdrop-filter:blur(4px); }
.event-dialog.is-poster { width:min(1500px,calc(100vw - 24px)); }
.event-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:20px; }
.event-dialog-head h2 { font-size:22px; overflow-wrap:anywhere; }
.event-dialog-head .btn { flex-shrink:0; }
.event-dialog > h3 { margin:24px 0 12px; font-size:16px; }
.event-dialog > .event-note, .event-dialog > .secondary { margin:12px 0; }
.event-dialog-meta { display:flex; gap:12px; align-items:center; }
.event-poster-full { width:100%; height:auto; }
.event-source-row { border-bottom:1px solid var(--hair); padding:13px 0; display:grid; gap:5px; font-size:13px; }
.event-source-row > p { color:var(--ink-2); }
.event-source-link { display:block; margin-top:18px; font-size:13px; }
.event-card-detail { display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:start; }
.event-card-image { width:160px; height:auto; border-radius:9px; }
.event-card-total { font-size:20px; margin:10px 0; }
.event-exclusion-list { columns:2; font-size:13px; padding-left:20px; }
.event-exclusion-list li { padding:4px 0; break-inside:avoid; }
.event-home-banner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; border:1px solid rgba(238,115,103,.25); border-radius:var(--radius); padding:22px; margin-bottom:24px; background:linear-gradient(110deg,rgba(167,36,30,.12),var(--surface)); }
.event-home-banner h3 { margin:6px 0; font-family:var(--font-display); }
.event-home-banner p { color:var(--ink-2); font-size:13px; }
@media (max-width:900px) { .event-hero { gap:24px; } .event-hero-actions { flex-direction:column; align-items:start; } .event-stats-grid { grid-template-columns:1fr; } .event-team-players { grid-template-columns:1fr; gap:22px; } .event-player > .event-note { min-height:0; } .event-options { grid-template-columns:1fr 1fr; gap:14px; } }
@media (max-width:640px) { .event-hero { grid-template-columns:1fr; padding-top:10px; gap:18px; } .event-hero-poster { padding:0 8px 12px; } .event-hero-poster img { transform:rotate(0); } .event-hero-actions { flex-direction:row; } .event-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .event-kpis b { font-size:30px; } .event-kpis span { font-size:13px; } .event-kpis small { font-size:11px; } .event-card-list { grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; } .event-styles .event-bars { grid-template-columns:1fr; } .event-teams { grid-template-columns:1fr; } .event-card-detail { grid-template-columns:110px 1fr; gap:14px; } .event-card-image { width:110px; } .event-dialog { padding:18px; } .event-dialog-head h2 { font-size:18px; } .event-card-total { font-size:17px; } .event-exclusion-list { columns:1; } .event-frequency th { font-size:11px; } .event-team-info { padding:18px; } }
@media (pointer:coarse) { .event-poster-button > span { opacity:1; } .event-deck-link { min-height:36px; } .event-more summary, .event-potential summary { min-height:44px; } }
@media (prefers-reduced-motion:reduce) { .event-hero *, .event-card-rank { scroll-behavior:auto; transition:none; } }
.event-dialog.is-card { margin:0 0 0 auto; width:min(540px,100vw); height:100dvh; max-height:100dvh; border-radius:14px 0 0 14px; }
/* Elenco coletivo na abertura e cards individuais com suas proporções originais. */
.event-ensemble-art { display:block; width:100%; }
.event-player-card-link { margin-top:14px; font-size:12px; }
.event-dialog-decks { display:flex; flex-wrap:wrap; gap:14px; margin-top:16px; }
.event-team .event-player-name > h3 { font-size:20px; margin:6px 0 10px; }
.event-teams.is-individual-view { grid-template-columns:repeat(3,minmax(0,1fr)); }
.event-individual .event-individual-poster img { aspect-ratio:3 / 2; object-fit:contain; }
.event-individual .event-player > .event-note { min-height:0; }
.event-individual .event-options { grid-template-columns:1fr; }
.event-roster-tools .segmented { flex-shrink:0; }
@media (max-width:1000px) { .event-teams.is-individual-view { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .event-teams.is-individual-view { grid-template-columns:1fr; } .event-roster-tools { align-items:flex-start; } }
/* Banner da edição: a cena inteira permanece visível, sem recortar personagens. */
.event-hero.event-hero-banner { display:block; padding:10px 0 30px; }
.event-banner { overflow:hidden; border:1px solid rgba(238,115,103,.3); border-radius:16px; background:var(--surface); }
.event-banner-title { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 30px; background:linear-gradient(110deg,#201417,var(--surface)); }
.event-banner-title h1 { margin:8px 0 3px; font-family:"Bangers",var(--font-display); font-size:clamp(38px,5.4vw,74px); letter-spacing:.04em; line-height:1; }
.event-banner-title .eyebrow { font-size:11px; }
.event-banner-edition { display:block; font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:#ee7367; margin-top:10px; }
.event-banner-date { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.event-banner-date time { font-size:22px; font-weight:600; white-space:nowrap; color:var(--accent-2); }
.event-scene .event-ensemble-art img { width:100%; height:auto; display:block; }
.event-banner-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 20px; font-size:12px; color:var(--ink-2); border-top:1px solid var(--hair); }
.event-banner-caption span:last-child { color:var(--accent-2); }
.event-banner-intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding-top:26px; }
.event-banner-intro h2 { font-family:var(--font-display); font-size:23px; margin-bottom:10px; }
.event-banner-intro .event-lede { font-size:15px; color:var(--ink-2); margin-bottom:0; }
.event-banner-intro .event-hero-actions { margin-top:0; }
@media (max-width:640px) { .event-banner-title { padding:20px; flex-direction:column; align-items:flex-start; gap:18px; } .event-banner-date { flex-direction:row; align-items:center; flex-wrap:wrap; gap:14px; } .event-banner-date time { font-size:18px; } .event-banner-caption { padding:12px 16px; font-size:11px; } .event-banner-intro { gap:18px; } }
/* Relógio do horror: prazo absoluto em Belém, sem animações intermitentes. */
@font-face { font-family:"Event Countdown"; src:url("../assets/fonts/DSEG7Classic-BoldItalic.woff2") format("woff2"); font-display:swap; }
.event-logistics { display:grid; grid-template-columns:1.3fr 1fr; gap:28px; padding:24px 0 30px; border-top:1px solid var(--hair-2); }
.event-logistics .eyebrow { display:block; font-size:11px; margin-bottom:10px; }
.event-logistics h2 { font-family:var(--font-display); font-size:23px; margin-bottom:18px; }
.event-countdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; max-width:470px; margin-bottom:16px; }
.event-countdown-unit { text-align:center; min-width:0; padding:16px 6px 12px; border:1px solid rgba(238,115,103,.22); border-radius:9px; background:linear-gradient(160deg,#241519,var(--surface)); }
.event-countdown-unit b { display:block; font-family:"Event Countdown",monospace; font-weight:700; font-size:clamp(22px,3.8vw,38px); line-height:1.4; font-variant-numeric:tabular-nums; color:#ff998d; }
.event-countdown-unit > span { display:block; font-size:11px; color:var(--ink-2); margin-top:8px; }
.event-countdown.has-started .event-countdown-unit b { color:var(--accent-2); }
.event-location { border-left:1px solid var(--hair-2); padding-left:28px; }
.event-location .btn { margin-top:18px; height:auto; min-height:40px; padding-block:10px; }
@media (max-width:760px) { .event-logistics { grid-template-columns:1fr; gap:24px; } .event-location { border-left:0; border-top:1px solid var(--hair); padding:24px 0 0; } .event-location h2 { margin-bottom:10px; } }
@media (max-width:400px) { .event-countdown { gap:7px; } .event-countdown-unit { padding-inline:4px; } .event-countdown-unit b { font-size:23px; } .event-logistics h2 { font-size:21px; } }
/* Identidade própria do evento: tipografia de horror, metal antigo e ambientação. */
@font-face { font-family:"Nosifer"; src:url("../assets/fonts/Nosifer-Regular.ttf") format("truetype"); font-display:swap; font-weight:400; }
@font-face { font-family:"Creepster"; src:url("../assets/fonts/Creepster-Regular.ttf") format("truetype"); font-display:swap; font-weight:400; }
body[data-active-tab="proxima"] { --accent:#df7160; --accent-2:#ffb09d; --accent-ink:#240808; --accent-soft:rgba(176,39,32,.2); --surface:#191315; --surface-2:#251a1d; --surface-3:#332125; --hair:rgba(199,110,93,.15); --hair-2:rgba(208,116,94,.27); --font-display:"Creepster",Georgia,serif; background:radial-gradient(ellipse at 0 25%,#300c1566,transparent 38%),radial-gradient(ellipse at 100% 70%,#3b0b1466,transparent 35%),#0d090b; }
body[data-active-tab="proxima"] .topbar { background:rgba(17,9,12,.94); border-bottom-color:#612b2c; }
#proxima { position:relative; isolation:isolate; }
#proxima > .container { position:relative; z-index:1; }
#proxima .panel, #proxima .event-team { background:linear-gradient(140deg,rgba(41,20,23,.55),transparent 50%),var(--surface); border-color:#5a3032; box-shadow:0 6px 24px #0004; }
#proxima .panel { border-radius:8px; }
#proxima .btn-primary { background:linear-gradient(#b93d35,#7f211e); color:#fff1df; border-color:#cf6551; box-shadow:inset 0 1px #efae8440,0 4px 12px #0008; }
#proxima .btn-primary:hover { background:linear-gradient(#ca4b3f,#94302a); }
#proxima .btn:not(.btn-primary) { background:linear-gradient(#302024,#1b1317); border-color:#704046; color:#f0d6c8; }
#proxima .eyebrow { color:#c68e79; }
#proxima .section-head h2, #proxima .event-how h2, #proxima .event-logistics h2, #proxima .event-team-info > h3 { font-family:"Creepster",Georgia,serif; font-weight:400; letter-spacing:.025em; color:#f2dfcf; }
#proxima .section-head h2 { font-size:36px; }
#proxima .event-cards-panel .panel-head h3 { font-family:"Creepster",Georgia,serif; font-size:34px; font-weight:400; letter-spacing:.035em; }
#proxima .panel-head h3 { color:#efc5b2; }
#proxima .event-bar-track span { background:linear-gradient(90deg,#81302e,#e66f5e); }
#proxima .event-kpis b { font-family:"Creepster",Georgia,serif; font-weight:400; font-size:44px; color:#ef9d84; }
#proxima .event-banner { border-radius:6px; border-color:#854139; box-shadow:0 0 0 3px #171012,0 0 0 4px #3f2527,0 20px 55px #0009; }
#proxima .event-banner-title { background:radial-gradient(ellipse at 20% 0,#581e2244,transparent 65%),repeating-linear-gradient(3deg,#ffffff03 0 1px,transparent 1px 5px),#1c1115; }
#proxima .event-banner-title h1 { font-family:"Nosifer",fantasy; font-weight:400; color:#ce4034; font-size:clamp(24px,3.8vw,53px); line-height:1.6; letter-spacing:0; text-shadow:0 2px #440506,0 0 24px #bd30233d; margin:4px 0; }
#proxima .event-banner-edition { font-family:"Creepster",fantasy; font-size:24px; letter-spacing:.09em; color:#e7bf9b; margin-top:0; }
#proxima .event-banner-caption { background:#160d10; color:#d2aa97; }
#proxima .event-banner-intro h2 { font-size:32px; font-weight:400; }
#proxima .event-logistics { grid-template-columns:1.4fr 1fr; align-items:start; }
#proxima .event-countdown-panel { position:relative; padding:28px 24px 24px; border:1px solid #80513f; border-radius:9px; background:radial-gradient(circle at 12px 12px,#9b7b5c 0 3px,#37251d 3px 5px,transparent 5px),radial-gradient(circle at calc(100% - 12px) 12px,#9b7b5c 0 3px,#37251d 3px 5px,transparent 5px),radial-gradient(circle at 12px calc(100% - 12px),#9b7b5c 0 3px,#37251d 3px 5px,transparent 5px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#9b7b5c 0 3px,#37251d 3px 5px,transparent 5px),repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 4px),linear-gradient(130deg,#3b3027,#171715 55%,#33251f); box-shadow:inset 0 1px #e0bc743b,inset 0 0 18px #0008,0 12px 30px #0007; }
#proxima .event-countdown-panel h2 { color:#eea88d; font-size:30px; margin-bottom:20px; }
#proxima .event-countdown-panel .eyebrow { font-family:"Share Tech Mono",monospace; color:#c5ab83; }
#proxima .event-countdown { max-width:540px; gap:10px; padding:8px 0 4px; }
#proxima .event-countdown-unit { background:none; border:0; border-radius:0; padding:0; }
#proxima .event-countdown-unit > span { color:#c7ae8b; text-transform:uppercase; font-family:"Share Tech Mono",monospace; font-size:11px; margin-top:16px; letter-spacing:.08em; }
.nixie-pair { display:flex; justify-content:center; gap:4px; }
.nixie-tube { position:relative; isolation:isolate; display:grid; place-items:center; width:clamp(20px,4.1vw,50px); height:clamp(62px,8.5vw,112px); border:1px solid #d8bd8866; border-radius:48% 48% 16% 16% / 30% 30% 10% 10%; background:radial-gradient(ellipse at 50% 75%,#fc74132b,transparent 70%),linear-gradient(100deg,#ffffff24,#10120e50 30%,#3e251e50 72%,#fce4b41c); box-shadow:inset 2px 0 3px #fff2,inset -3px 0 8px #000b,0 0 18px #ed6c0522; }
.nixie-tube::before { content:""; position:absolute; bottom:-7px; left:-2px; right:-2px; height:13px; border-radius:2px 2px 5px 5px; background:repeating-linear-gradient(0deg,#161714 0 2px,#656053 2px 4px,#292722 4px 6px); border:1px solid #85745a; box-shadow:0 5px 4px #0009; }
.nixie-tube::after { content:""; position:absolute; top:12%; bottom:22%; left:16%; width:2px; border-radius:50%; background:linear-gradient(transparent,#fff6,transparent); }
#proxima .nixie-tube b { position:relative; z-index:1; font-family:"Old Standard TT",Georgia,serif; font-weight:400; font-size:clamp(33px,6.2vw,70px); line-height:1; color:#ffb35f; text-shadow:0 0 2px #fff3bb,0 0 7px #ff7a17,0 0 20px #f8440680; }
.nixie-tube i { position:absolute; font-family:Georgia,serif; font-style:normal; font-size:clamp(30px,6vw,65px); color:#a1662a1c; -webkit-text-stroke:.5px #c0842c2b; }
.event-countdown-status { display:flex; align-items:center; gap:8px; font:11px "Share Tech Mono",monospace; letter-spacing:.1em; color:#ba9f7c; margin:18px 0 10px; }
.event-countdown-status i { width:7px; height:7px; border-radius:50%; background:#db4831; box-shadow:0 0 7px #ff5b28; }
#proxima .event-countdown-panel .event-note { color:#d1b99c; font-size:12px; }
#proxima .event-location { border:1px solid #623a35; padding:26px; border-radius:5px; background:linear-gradient(145deg,#2d1d1f,#151013); }
#proxima .event-location h2 { font-size:29px; }
.event-haunt { position:fixed; inset:var(--topbar-h) 0 0; z-index:0; pointer-events:none; overflow:hidden; }
.haunt-web { position:absolute; width:clamp(90px,14vw,250px); height:auto; top:0; stroke:#b49d88; stroke-width:.8; opacity:.24; }
.haunt-web.is-left { left:0; }
.haunt-web.is-right { right:0; transform:scaleX(-1); }
.haunt-eyes { position:absolute; display:flex; gap:10px; top:34%; animation:haunt-blink 11s ease-in-out infinite; }
.haunt-eyes.is-left { left:clamp(16px,calc((100vw - 1240px)/4 - 30px),140px); transform:rotate(-8deg); }
.haunt-eyes.is-right { right:clamp(16px,calc((100vw - 1240px)/4 - 30px),140px); top:62%; animation-delay:-5s; transform:rotate(8deg); }
.haunt-eyes i { position:relative; display:block; width:22px; height:11px; border-radius:80% 10% 70% 20%; background:radial-gradient(ellipse,#130204 0 16%,#e2492c 19% 43%,#6c1516 50%,transparent 75%); box-shadow:0 0 14px #a3181855; }
.haunt-eyes i:last-child { transform:scaleX(-1); }
.haunt-drips { position:absolute; top:0; bottom:0; width:50px; }
.haunt-drips.is-left { left:0; }
.haunt-drips.is-right { right:0; transform:scaleX(-1); }
.haunt-drips i { position:absolute; top:0; left:4px; width:6px; height:160px; border-radius:0 0 80% 80%; background:linear-gradient(#741a20,#721116aa 80%,#a32c2c); transform-origin:top; animation:haunt-drip 14s ease-in-out infinite alternate; }
.haunt-drips i:nth-child(2) { left:18px; width:3px; height:85px; animation-delay:-7s; }
.haunt-drips i:nth-child(3) { left:31px; width:2px; height:240px; animation-delay:-3s; opacity:.4; }
@keyframes haunt-blink { 0%,40%,45%,100% { opacity:.7; scale:1 1; } 42% { opacity:.1; scale:1 .08; } 70% { opacity:.35; } }
@keyframes haunt-drip { from { transform:scaleY(.65); opacity:.45; } to { transform:scaleY(1.3); opacity:.8; } }
@media (max-width:1420px) { .haunt-eyes { display:none; } .haunt-web { opacity:.12; } .haunt-drips { opacity:.35; } }
@media (max-width:900px) { #proxima .event-logistics { grid-template-columns:1fr; } }
@media (max-width:640px) { #proxima .event-banner-title h1 { font-size:clamp(23px,6.3vw,34px); overflow-wrap:anywhere; } #proxima .event-banner-edition { font-size:22px; } #proxima .event-countdown-panel { padding:25px 16px 20px; } #proxima .event-countdown-panel h2 { font-size:27px; } #proxima .event-countdown { gap:6px; } #proxima .nixie-tube b { font-size:33px; } #proxima .section-head h2 { font-size:30px; } }
@media (prefers-reduced-motion:reduce) { .event-haunt * { animation:none !important; } }
body[data-active-tab="proxima"] .event-dialog { background:linear-gradient(140deg,#2c181c,#161013 60%); border-color:#815044; box-shadow:0 0 40px #50151555,0 20px 70px #000b; }
body[data-active-tab="proxima"] .event-dialog h2, body[data-active-tab="proxima"] .event-dialog > h3 { font-family:"Creepster",Georgia,serif; font-weight:400; color:#f0cfba; letter-spacing:.025em; }
body[data-active-tab="proxima"] .event-dialog h2 { font-size:28px; }
/* Detalhes da edição e cátodos de fio, contidos no corpo de vidro. */
#proxima .event-banner-date time { font-family:"Creepster",Georgia,serif; font-size:30px; font-weight:400; letter-spacing:.035em; }
#proxima .event-banner-date .event-badge { font-family:"Creepster",Georgia,serif; font-size:18px; font-weight:400; letter-spacing:.04em; }
#proxima .nixie-tube { display:grid; place-items:center; margin:0; width:clamp(24px,4.1vw,54px); height:clamp(80px,9.4vw,132px); padding:0; background:radial-gradient(ellipse at 50% 75%,#d65b111c,transparent 65%),linear-gradient(100deg,#fff1,#10120ea6 28%,#171715b0 72%,#fce4b423); box-shadow:inset 2px 0 4px #fff2,inset -3px 0 8px #000c,0 0 12px #ed6c051c; }
.nixie-cathodes { position:absolute; top:18%; left:13%; width:74%; height:62%; z-index:1; overflow:hidden; }
.nixie-cathodes path { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.nixie-sleeping-wire { stroke:#c5945c; stroke-width:.7; opacity:.11; }
.nixie-hot-wire { stroke:#ffc783; stroke-width:1.8; filter:drop-shadow(0 0 1px #ffe9b2) drop-shadow(0 0 3px #fc822b) drop-shadow(0 0 7px #eb501066); }
.nixie-grid { position:absolute; z-index:0; top:22%; left:10%; right:10%; bottom:15%; margin:0; background:repeating-linear-gradient(0deg,#b295711c 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,#b2957114 0 1px,transparent 1px 5px); border:1px solid #a68c5222; border-radius:25% 25% 0 0; }
.nixie-pins { position:absolute; bottom:5%; left:21%; width:58%; height:13%; margin:0; background:repeating-linear-gradient(90deg,transparent 0 3px,#ab8c58a6 3px 4px,transparent 4px 8px); }
.nixie-tube::after { z-index:3; top:9%; left:15%; bottom:22%; width:4%; background:linear-gradient(transparent,#fff5 25%,#fff1 75%,transparent); }
#proxima .event-countdown { padding-top:14px; padding-bottom:8px; }
#proxima .event-countdown-unit > span { margin-top:17px; }
/* Piscadas em dois tempos, com ritmos diferentes entre os pares. */
.haunt-eyes { animation:haunt-eyes-awake var(--blink-period,14s) linear infinite; animation-delay:var(--blink-delay,0s); }
.haunt-eyes.is-left { left:clamp(16px,calc((100vw - 1240px)/4 - 30px + var(--eye-offset,0px)),140px); }
.haunt-eyes.is-right { right:clamp(16px,calc((100vw - 1240px)/4 - 30px + var(--eye-offset,0px)),140px); animation-delay:var(--blink-delay,0s); }
.haunt-eyes i { animation:haunt-eyelid var(--blink-period,14s) linear infinite; animation-delay:var(--blink-delay,0s); transform-origin:center; }
@keyframes haunt-eyelid { 0%,30%,34%,70%,75%,100% { scale:1 1; } 31%,33%,72%,74% { scale:1 .06; } 32%,73% { scale:1 .7; } }
@keyframes haunt-eyes-awake { 0%,100% { opacity:.5; } 12%,55%,85% { opacity:.85; } 42%,65% { opacity:.3; } }
.haunt-bat-flight { position:absolute; left:0; top:var(--flight-y); width:52px; height:28px; opacity:0; animation:haunt-flyby var(--flight-duration) linear infinite; animation-delay:var(--flight-delay); }
.haunt-bat { width:100%; height:100%; overflow:visible; fill:#130d13; stroke:#b08a873b; stroke-width:.8; filter:drop-shadow(0 0 2px #c9948366); }
.bat-wing { transform-box:fill-box; animation:haunt-wingbeat .42s ease-in-out infinite alternate; }
.bat-wing.is-left { transform-origin:right center; }
.bat-wing.is-right { transform-origin:left center; }
@keyframes haunt-wingbeat { from { transform:scaleY(.3); } to { transform:scaleY(1); } }
@keyframes haunt-flyby { 0%,70%,100% { opacity:0; transform:translate(-12vw,3vh) rotate(-8deg); } 72% { opacity:.75; transform:translate(-8vw,2vh) rotate(-8deg); } 78% { opacity:.75; transform:translate(32vw,-8vh) rotate(10deg); } 84% { opacity:.75; transform:translate(70vw,4vh) rotate(-12deg); } 90% { opacity:0; transform:translate(112vw,-3vh) rotate(5deg); } 91% { opacity:0; transform:translate(-12vw,3vh); } }
/* Ambientação: reflexos, névoa e pequenas partículas, sem modificar os personagens. */
.event-scene { position:relative; overflow:hidden; isolation:isolate; }
.scene-atmosphere { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.scene-candle-glow { position:absolute; translate:-50% -50%; border-radius:50%; background:radial-gradient(ellipse,#ffd1805c,#e7652820 40%,transparent 70%); mix-blend-mode:screen; animation:scene-candle var(--flame-period) ease-in-out infinite; animation-delay:var(--flame-delay); }
.scene-blue-glow { position:absolute; left:62%; top:4%; width:17%; height:25%; border-radius:50%; background:radial-gradient(ellipse,#69c9fa22,transparent 68%); mix-blend-mode:screen; animation:scene-blue 8s ease-in-out infinite alternate; }
.scene-ember { position:absolute; bottom:9%; width:2px; height:2px; border-radius:50%; background:#ffc88b; box-shadow:0 0 5px #ff9f46; opacity:0; animation:scene-ember var(--ember-period) ease-out infinite; animation-delay:var(--ember-delay); }
.scene-toggle { border:1px solid #94514466; border-radius:4px; padding:4px 9px; background:#211317; color:#ddb49e; font:12px var(--font-ui); }
.event-scene.is-paused .scene-atmosphere * { animation-play-state:paused; }
@keyframes scene-candle { 0%,100% { opacity:.3; scale:.95 1; } 18%,47%,83% { opacity:.65; scale:1.08 1.04; } 33%,69% { opacity:.42; scale:1 .96; } }
@keyframes scene-blue { from { opacity:.2; } to { opacity:.65; } }
@keyframes scene-ember { 0%,20%,100% { opacity:0; transform:translate(0,0); } 30% { opacity:.4; } 75% { opacity:0; transform:translate(16px,-65px); } }
body:not([data-active-tab="proxima"]) .event-haunt *, body:not([data-active-tab="proxima"]) .scene-atmosphere * { animation-play-state:paused; }
@media (max-width:640px) { #proxima .event-banner-date time { font-size:27px; } .nixie-hot-wire { stroke-width:2; } .haunt-bat-flight { width:32px; height:18px; opacity:0; } }
@media (prefers-reduced-motion:reduce) { .scene-atmosphere * { animation:none !important; } .scene-ember, .scene-toggle, .haunt-bat-flight { display:none; } .scene-candle-glow { opacity:.35; } .scene-blue-glow { opacity:.2; } }
