@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Space+Grotesk:wght@600;700&display=swap');
:root{--pink:#ff35c9;--purple:#8a5cff;--ink:#f8f5ff;--muted:#aaa4b8;--panel:rgba(20,14,35,.78)}
*{box-sizing:border-box} body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,sans-serif;background-color:#07050c;background-image:radial-gradient(circle at 15% 10%,#39134c 0,transparent 28%),radial-gradient(circle at 90% 20%,#12295b 0,transparent 30%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px}
.vote-header{text-align:center;padding:44px 20px 30px;position:relative}.back{position:absolute;left:max(24px,5vw);top:34px;color:#ddd4ed;text-decoration:none;font-weight:700}.back:hover{color:var(--pink)}
.eyebrow{color:#ff8fe1;letter-spacing:.18em;font-size:.75rem;font-weight:800}.vote-header h1{font:700 clamp(2.6rem,7vw,5.7rem)/.95 Space Grotesk;margin:15px 0;background:linear-gradient(120deg,#fff 35%,#ff83e2);color:transparent;background-clip:text}.intro{max-width:650px;margin:0 auto;color:var(--muted);line-height:1.65}.security{display:inline-flex;gap:9px;align-items:center;margin-top:22px;padding:10px 16px;border:1px solid #ffffff18;border-radius:99px;color:#c9c4d2;background:#ffffff08;font-size:.78rem}.security span{color:#58f2b7}
.vote-timer{width:max-content;min-width:180px;margin:20px auto 0;padding:12px 22px;border:1px solid #ffffff20;border-radius:16px;background:#0b0714aa}.vote-timer span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.vote-timer strong{display:block;margin-top:3px;font:700 1.8rem Space Grotesk;color:#6df4bd}.vote-timer.ended strong{color:#ff7b91}
main{width:min(1280px,92%);margin:20px auto 90px}.status{text-align:center;color:var(--muted);margin:22px}.status.success{color:#5df0b7;font-size:1.1rem}.status.error{color:#ff8d9c}.contestants{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:26px}
.couple-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #ffffff17;border-radius:24px;background:var(--panel);box-shadow:0 16px 45px #0008}.person-choice{min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:transform .3s,box-shadow .3s,background .3s}.person-choice+ .person-choice{border-left:1px solid #ffffff17}.person-choice:hover,.person-choice:focus-visible{z-index:2;outline:0;transform:scale(1.025)}.person-choice.miss:hover,.person-choice.miss:focus-visible,.person-choice.miss.selected{background:#ff2ebd1c;box-shadow:inset 0 0 34px #ff2ebd66,0 0 28px #ff2ebd55}.person-choice.mister:hover,.person-choice.mister:focus-visible,.person-choice.mister.selected{background:#2388ff1c;box-shadow:inset 0 0 34px #2388ff66,0 0 28px #2388ff55}.person-choice.selected{position:relative}.person-choice.selected:after{content:'✓';position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#161020;font-weight:900}.person-choice.miss .category,.person-choice.miss .choose{color:#ff77dc}.person-choice.mister .category,.person-choice.mister .choose{color:#65b4ff}.person-choice.mister .choose i{background:linear-gradient(135deg,#32a8ff,#5359ff)}
.contestant{position:relative;isolation:isolate;overflow:hidden;padding:0;border:1px solid #ffffff17;border-radius:24px;background:var(--panel);color:white;text-align:left;cursor:pointer;box-shadow:0 16px 45px #0008;transition:transform .35s,border-color .35s,box-shadow .35s}.contestant:before{content:"";position:absolute;inset:-1px;z-index:2;border-radius:24px;box-shadow:inset 0 0 0 1px transparent;transition:.35s;pointer-events:none}.contestant:hover,.contestant:focus-visible{transform:translateY(-9px) scale(1.018);border-color:#ff42cf9c;box-shadow:0 20px 55px #000a,0 0 35px #ff24c43d;outline:none}.contestant:hover:before,.contestant:focus-visible:before{box-shadow:inset 0 0 28px #ff27c235}.photo{aspect-ratio:4/5;overflow:hidden}.photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s}.contestant:hover img,.contestant:focus-visible img{transform:scale(1.075)}.card-info{padding:21px}.category{color:#df91ff;font-size:.72rem;letter-spacing:.16em;font-weight:800}.card-info h2{margin:8px 0 18px;font:700 1.25rem Space Grotesk}.choose{display:flex;justify-content:space-between;align-items:center;color:#ff73dd;font-size:.78rem;font-weight:800;letter-spacing:.08em}.choose i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--purple));color:white;font-style:normal;font-size:1rem}
.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#030207d9;backdrop-filter:blur(12px)}.modal[hidden]{display:none}.modal-card{position:relative;width:min(480px,100%);padding:27px;border:1px solid #ffffff20;border-radius:28px;background:#151020;text-align:center;box-shadow:0 25px 90px #000}.selected-couple{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:5px 30px 20px}.selected-person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}.selected-person span{display:block;margin-top:7px;font-weight:700;font-size:.85rem}.selected-person.miss img{border:3px solid #ff35c9;box-shadow:0 0 22px #ff35c955}.selected-person.mister img{border:3px solid #329eff;box-shadow:0 0 22px #329eff55}.modal-card h2{font:700 1.75rem Space Grotesk;margin:8px}.modal-card small{display:block;color:#8f899a;margin-top:14px}.close{position:absolute;right:17px;top:12px;border:0;background:none;color:#aaa;font-size:2rem;cursor:pointer}.vote-button{width:100%;margin-top:18px;border:0;border-radius:14px;padding:16px;background:linear-gradient(110deg,#ff35c9,#318fff);color:white;font-weight:800;letter-spacing:.08em;cursor:pointer}.vote-button:disabled{opacity:.5;cursor:wait}.error{min-height:18px;color:#ff8595;font-size:.85rem}#captcha{display:flex;justify-content:center;min-height:10px}footer{text-align:center;padding:28px;color:#767080;border-top:1px solid #ffffff0d}
@media(max-width:650px){.vote-header{padding-top:90px}.back{top:15px}.status{transform:translateX(-8px)}.vote-timer{width:100%;min-width:0}.vote-timer span{line-height:1.35;white-space:normal}.contestants{grid-template-columns:1fr;gap:14px}.couple-card{border-radius:17px}.card-info{padding:14px}.card-info h2{font-size:.95rem}.choose{font-size:.6rem}.photo{aspect-ratio:3/4}}
@media(max-width:420px){.contestants{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important}}
.person-choice:hover img,.person-choice:focus-visible img{transform:scale(1.075)}

/* 2026 visual refresh */
.vote-header{padding:58px 20px 38px;overflow:hidden}.vote-header:before{content:"VOTE";position:absolute;z-index:-1;left:50%;top:46%;transform:translate(-50%,-50%);font:800 clamp(9rem,26vw,24rem)/1 Space Grotesk;color:#ffffff05;letter-spacing:-.08em}.back{padding:11px 15px;border:1px solid #ffffff17;border-radius:99px;background:#ffffff08}.back:hover{border-color:#ff35c966}.vote-steps{display:flex;justify-content:center;align-items:center;gap:12px;margin:28px auto 0}.vote-steps span{display:flex;align-items:center;gap:8px;color:#81798d;font-size:.76rem;font-weight:700}.vote-steps span.active{color:#fff}.vote-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff0d;border:1px solid #ffffff19}.vote-steps .active b{background:linear-gradient(135deg,var(--pink),var(--purple));border:0}.vote-steps i{width:35px;height:1px;background:#ffffff1a}.couple-card{border-radius:28px;transition:transform .35s,border-color .35s,box-shadow .35s}.couple-card:hover{transform:translateY(-7px);border-color:#ffffff31;box-shadow:0 25px 70px #000b,0 0 40px #a62d9e20}
@media(max-width:650px){.vote-steps{gap:6px}.vote-steps i{width:12px}.vote-steps span{font-size:.62rem}}
