/* ============================================================
   VDH // OPERACIÓN NAMING — hoja de estilo
   Fiel al tema oficial vdh-cyberpunk (viernesdehacking.com.ar)
   ============================================================ */
:root{
  --vdh-black:#050507;--vdh-black2:#080a0e;--vdh-panel:#0d1218;--vdh-panel2:#10161d;
  --vdh-pink:#ff0066;--vdh-pink2:#ff2b83;--vdh-cyan:#00eaff;--vdh-white:#f1f4f6;
  --vdh-muted:#7c8791;--vdh-dim:#4d5963;--vdh-border:rgba(0,234,255,.22);
  --vdh-border-pink:rgba(255,0,102,.28);--vdh-display:'Orbitron',sans-serif;
  --vdh-body:'Inter',sans-serif;--vdh-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vdh-black);color:var(--vdh-white);font:15px/1.55 var(--vdh-body);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:linear-gradient(transparent 50%,rgba(255,255,255,.012) 50%);background-size:100% 6px;mix-blend-mode:screen;opacity:.3}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.vdh-page-noise{position:fixed;inset:0;z-index:9998;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");opacity:.035;mix-blend-mode:screen}

/* ---------- HEADER ---------- */
.vdh-header{position:sticky;top:0;z-index:1000;height:66px;background:rgba(5,5,7,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,234,255,.15)}
.vdh-header-inner{height:100%;max-width:1500px;margin:auto;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between}
.vdh-brand{display:flex;align-items:center;gap:11px;font:700 11px var(--vdh-display);letter-spacing:.14em;white-space:nowrap}
.vdh-brand-glyph{font-size:21px;color:var(--vdh-pink);text-shadow:0 0 16px rgba(255,0,102,.6)}
.vdh-nav{display:flex;align-items:center;gap:27px}
.vdh-nav a{color:#89929b;font:600 9px var(--vdh-mono);letter-spacing:.13em;transition:.2s}
.vdh-nav a:hover{color:var(--vdh-cyan)}
.vdh-nav-external{color:var(--vdh-cyan)!important}
.vdh-nav-toggle{display:none;background:none;border:1px solid var(--vdh-border);color:#fff;padding:9px 12px;font:700 9px var(--vdh-mono)}

/* ---------- HERO ---------- */
.vdh-vote-hero{position:relative;min-height:calc(100vh - 66px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#05070a;text-align:center}
.vdh-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,0,102,.07),transparent 35%,rgba(0,234,255,.06)),radial-gradient(circle at 50% 38%,rgba(255,0,102,.09),transparent 36%),#05070a;opacity:.6}
.vdh-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,234,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,102,.05) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.vdh-hero-inner{position:relative;z-index:5;width:min(1180px,92vw);padding:70px 20px}
.vdh-hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:40px;text-align:left}
.vdh-hero-copy h1{margin:14px 0 0;font:900 clamp(38px,6vw,82px)/.95 var(--vdh-display);letter-spacing:-.045em;text-shadow:3px 0 var(--vdh-pink),-3px 0 var(--vdh-cyan);position:relative;animation:vdhTitleFlicker 2.8s infinite,vdhTitleJitter 3.6s steps(2,end) infinite}
.vdh-hero-copy h1:before{content:"NOMBRÁ A LA MASCOTA";position:absolute;inset:0;color:transparent;text-shadow:-4px 0 var(--vdh-cyan),4px 0 rgba(255,0,102,.9);clip-path:inset(12% 0 78% 0);opacity:0;pointer-events:none;animation:vdhTitleSliceA 2.1s steps(1,end) infinite}
.vdh-hero-copy h1:after{content:"NOMBRÁ A LA MASCOTA";position:absolute;inset:0;color:transparent;text-shadow:-6px 0 rgba(0,234,255,1),6px 0 rgba(255,0,102,1);clip-path:inset(52% 0 34% 0);pointer-events:none;animation:vdhTitleSliceB 1.8s steps(1,end) infinite}
.vdh-hero-copy h1 span{color:var(--vdh-pink)}
@keyframes vdhTitleFlicker{0%,86%,100%{filter:none;opacity:1;transform:none}87%{filter:brightness(2) contrast(1.6) saturate(1.6);opacity:.85;transform:translate(-6px,2px) skewX(-4deg)}88%{filter:brightness(.5) contrast(1.8) invert(.08);opacity:1;transform:translate(7px,-2px) skewX(5deg) scaleY(1.06)}89%{filter:brightness(1.7) contrast(1.2);opacity:.9;transform:translate(-9px,1px) skewX(-6deg) scaleY(.94)}90%{filter:none;opacity:1;transform:none}}
@keyframes vdhTitleJitter{0%,84%,100%{transform:none;filter:none}85%{transform:translate(-10px,2px) skewX(-7deg) scaleY(1.08);filter:brightness(1.5)}86%{transform:translate(12px,-3px) skewX(6deg) scaleY(.92);filter:contrast(1.6)}87%{transform:translate(-14px,1px) skewX(-4deg);filter:brightness(.7)}88%{transform:translate(6px,0) skewX(3deg)}89%{transform:none}}
@keyframes vdhTitleSliceA{0%,70%,100%{opacity:0;transform:none;clip-path:inset(12% 0 78% 0)}71%{opacity:1;transform:translate(-22px,0) skewX(-8deg) scaleY(1.15);clip-path:inset(5% 0 78% -2%)}72%{opacity:1;transform:translate(18px,2px) skewX(7deg) scaleY(.85);clip-path:inset(32% 0 48% -2%)}73%{opacity:1;transform:translate(-16px,-2px) skewX(-5deg);clip-path:inset(58% 0 28% -2%)}74%{opacity:1;transform:translate(20px,1px) skewX(6deg) scaleY(1.1);clip-path:inset(80% 0 4% -2%)}75%{opacity:0;transform:none}}
@keyframes vdhTitleSliceB{0%,66%,100%{opacity:.6;transform:none;clip-path:inset(52% 0 34% 0)}24%{opacity:.85;transform:translate(9px,0);clip-path:inset(40% 0 45% 0)}67%{opacity:1;transform:translate(-20px,0) skewX(-9deg) scaleY(1.2);clip-path:inset(8% 0 72% -2%)}68%{opacity:1;transform:translate(19px,-2px) skewX(8deg) scaleY(.8);clip-path:inset(45% 0 38% -2%)}69%{opacity:1;transform:translate(-17px,3px) skewX(-6deg);clip-path:inset(68% 0 12% -2%)}70%{opacity:1;transform:translate(14px,-1px) skewX(5deg) scaleY(1.12);clip-path:inset(22% 0 60% -2%)}71%{opacity:.6;transform:none;clip-path:inset(52% 0 34% 0)}}
.vdh-hero-kicker,.vdh-kicker,.vdh-terminal-label{font:700 9px var(--vdh-mono);letter-spacing:.22em;color:var(--vdh-cyan)}
.vdh-tagline{margin:20px 0 0;color:#9aa2aa;font:500 9px var(--vdh-mono);letter-spacing:.18em}
.vdh-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.vdh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:12px 20px;border:1px solid rgba(241,244,246,.24);background:transparent;color:#fff;font:700 9px var(--vdh-mono);letter-spacing:.13em;transition:.22s;cursor:pointer}
.vdh-btn:hover{border-color:var(--vdh-cyan);box-shadow:0 0 26px rgba(0,234,255,.12);transform:translateY(-2px)}
.vdh-btn-primary{background:var(--vdh-pink);border-color:var(--vdh-pink);color:#fff;box-shadow:0 0 32px rgba(255,0,102,.18)}
.vdh-btn-primary:hover{border-color:var(--vdh-pink)}
.vdh-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.vdh-btn-slim{min-height:34px;padding:9px 13px;font-size:8px}
.vdh-hero-corner{position:absolute;z-index:3;color:#44505a;font:8px var(--vdh-mono);letter-spacing:.14em}
.vdh-corner-tl{left:4vw;top:96px}
.vdh-corner-br{right:4vw;bottom:34px}

/* mascota con glitch sutil */
.vdh-mascot-glitch{position:relative;justify-self:center;width:min(340px,60vw);filter:drop-shadow(-8px 0 18px rgba(255,0,102,.3)) drop-shadow(8px 0 18px rgba(0,234,255,.25)) drop-shadow(0 0 24px rgba(0,234,255,.12));animation:vdhFloat 6s ease-in-out infinite}
.vdh-mascot{display:block;width:100%;height:auto;mix-blend-mode:screen}
@keyframes vdhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---------- SECCIONES ---------- */
.vdh-section{position:relative;padding:88px 4.5vw;max-width:1600px;margin:auto}
.vdh-dark-section{max-width:none;background:#080a0e}
.vdh-section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px;flex-wrap:wrap}
.vdh-section h2{margin:7px 0 0;font:800 clamp(32px,4vw,58px)/1 var(--vdh-display);letter-spacing:-.045em}
.vdh-section h2 b{color:var(--vdh-pink)}
.vdh-system-label{font:700 8px var(--vdh-mono);letter-spacing:.14em;color:var(--vdh-cyan)}
.vdh-small-link{border:1px solid rgba(241,244,246,.16);padding:10px 13px;font:700 9px var(--vdh-mono);letter-spacing:.12em;color:#dfe4e8;cursor:pointer;background:none}
.vdh-small-link:hover{border-color:var(--vdh-cyan);color:var(--vdh-cyan)}
.vdh-text-link{display:inline-block;margin-top:16px;color:var(--vdh-cyan);font:700 9px var(--vdh-mono);background:none;border:0;cursor:pointer;padding:0}

/* tarjeta de alias */
.vdh-alias-card{position:relative;background:linear-gradient(135deg,#0d1218,#090d12);border:1px solid var(--vdh-border);clip-path:polygon(0 0,99% 0,100% 9%,100% 94%,98.5% 100%,1.5% 100%,0 94%);padding:28px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.vdh-alias-card p{margin:6px 0 0;color:#89939c;font:11px var(--vdh-mono)}
.vdh-alias-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vdh-alias-active{text-align:right;border-left:1px solid rgba(255,255,255,.08);padding-left:26px}
.vdh-alias-active strong{display:block;font:800 17px var(--vdh-display);color:#fff;margin:4px 0 2px}
.vdh-alias-active em{font:700 9px var(--vdh-mono);color:var(--vdh-cyan);font-style:normal}
.vdh-alias-active .vdh-text-link{margin-top:8px}

/* terminal de estado */
.vdh-status-term{margin-top:22px}
.vdh-terminal{position:relative;background:#020305;border:1px solid rgba(0,234,255,.16);padding:17px;font:11px/1.9 var(--vdh-mono);color:#737f89;max-width:100%;white-space:normal;word-break:break-word}
.vdh-terminal span{color:var(--vdh-pink)}
.vdh-terminal strong{color:var(--vdh-cyan)}
.vdh-cursor{color:var(--vdh-cyan);animation:vdhBlink 1s steps(1) infinite}
@keyframes vdhBlink{50%{opacity:0}}

/* balotage */
.vdh-ballot{display:grid;gap:10px;margin-top:22px}
.vdh-ballot-row{position:relative;display:grid;grid-template-columns:52px 1fr auto;gap:18px;align-items:center;padding:18px 20px;background:#0a0d12;border:1px solid rgba(0,234,255,.18);transition:.2s}
.vdh-ballot-row:hover{border-color:var(--vdh-cyan);transform:translateY(-2px);box-shadow:0 0 20px rgba(0,234,255,.06)}
.vdh-ballot-row.vdh-voted{border-color:var(--vdh-border-pink);background:#0b0710}
.vdh-rank{color:#36414b;font:900 13px var(--vdh-display);letter-spacing:.05em}
.vdh-ballot-row.vdh-voted .vdh-rank{color:var(--vdh-pink)}
.vdh-ballot-name{font:800 20px var(--vdh-display);letter-spacing:.01em}
.vdh-ballot-meta{margin-top:3px;color:#56616a;font:8px var(--vdh-mono);letter-spacing:.08em}
.vdh-bar{height:7px;background:#1a2128;overflow:hidden;margin-top:12px}
.vdh-bar i{display:block;width:var(--score);height:100%;background:linear-gradient(90deg,var(--vdh-pink),var(--vdh-cyan));box-shadow:0 0 12px rgba(0,234,255,.25)}
.vdh-ballot-side{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.vdh-ballot-count{font:700 11px var(--vdh-mono);color:#dfe4e8;white-space:nowrap}
.vdh-ballot-count b{color:var(--vdh-cyan)}
.vdh-vote-btn{min-width:118px}
.vdh-vote-btn.voted{background:rgba(255,0,102,.12);border-color:var(--vdh-pink);color:var(--vdh-pink);opacity:1;cursor:default}
.vdh-vote-btn.locked{border-color:rgba(241,244,246,.12);color:#4f5a63}
.vdh-ballot-empty{border:1px dashed rgba(0,234,255,.18);padding:44px;text-align:center;background:#080b0f;color:#657079;font:11px var(--vdh-mono)}

/* msj del sistema */
.vdh-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);z-index:4000;background:rgba(2,3,5,.97);border:1px solid var(--vdh-cyan);color:#dfe4e8;padding:13px 18px;font:700 10px var(--vdh-mono);letter-spacing:.08em;opacity:0;pointer-events:none;transition:.25s;max-width:min(90vw,560px);box-shadow:0 0 30px rgba(0,234,255,.12)}
.vdh-toast.show{opacity:1;transform:translate(-50%,0)}
.vdh-toast.err{border-color:var(--vdh-pink);box-shadow:0 0 30px rgba(255,0,102,.14)}

/* ---------- PROPUESTAS ---------- */
.vdh-propose-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:stretch}
.vdh-propose-card{border:1px solid var(--vdh-border);background:#0d1218;padding:26px;display:flex;flex-direction:column;gap:8px}
.vdh-propose-card label{color:#8e989f;font:700 9px var(--vdh-mono);letter-spacing:.14em}
.vdh-propose-card input{background:#080b0f;border:1px solid rgba(0,234,255,.18);color:#eef1f3;border-radius:0;padding:12px;margin-bottom:8px;width:100%}
.vdh-propose-card input:focus{outline:none;border-color:var(--vdh-cyan);box-shadow:0 0 14px rgba(0,234,255,.08)}
.vdh-propose-card input:disabled{opacity:.5}
.vdh-propose-card .vdh-btn{align-self:flex-start;margin-top:4px}
.vdh-form-note{margin:10px 0 0;color:#4f5a63;font:8px var(--vdh-mono);letter-spacing:.08em}
.vdh-rules-terminal{display:flex;flex-direction:column;justify-content:center}
.vdh-rules-terminal div{margin:1px 0}

/* ---------- FOOTER ---------- */
.vdh-footer{border-top:1px solid rgba(0,234,255,.16);background:#040506;padding:45px 4.5vw 20px}
.vdh-footer-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.vdh-footer-brand,.vdh-footer-title{font:700 9px var(--vdh-mono);letter-spacing:.12em}
.vdh-footer p{color:#56616a;font:10px/1.7 var(--vdh-mono)}
.vdh-footer-links{display:flex;flex-direction:column;gap:8px;margin-top:13px}
.vdh-footer-links a{color:#69747e;font:9px var(--vdh-mono)}
.vdh-footer-links a:hover{color:var(--vdh-cyan)}
.vdh-footer-bottom{max-width:1500px;margin:35px auto 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;color:#3e484f;font:8px var(--vdh-mono)}

/* ---------- MISC ---------- */
.vdh-noscript{border:1px solid var(--vdh-pink);background:#0b0710;color:#dfe4e8;padding:22px;text-align:center;font:11px var(--vdh-mono);margin:30px auto;max-width:640px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1050px){
  .vdh-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .vdh-hero-split{grid-template-columns:1fr;text-align:center;gap:10px}
  .vdh-hero-copy{display:flex;flex-direction:column;align-items:center}
  .vdh-actions{justify-content:center}
  .vdh-mascot-glitch{width:min(300px,70vw)}
  .vdh-hero-inner{padding-top:54px}
  .vdh-alias-card{grid-template-columns:1fr}
  .vdh-alias-active{text-align:left;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.08);padding-top:16px}
  .vdh-propose-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  body:before{opacity:.18}
  .vdh-header{height:58px}
  .vdh-header-inner{padding:0 18px}
  .vdh-brand{font-size:9px}
  .vdh-nav-toggle{display:block}
  .vdh-nav{display:none;position:absolute;top:58px;left:0;right:0;background:#07090d;border-bottom:1px solid var(--vdh-border);padding:17px 18px;flex-direction:column;align-items:stretch;gap:0}
  .vdh-nav.open{display:flex}
  .vdh-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.05)}
  .vdh-section{padding:58px 18px}
  .vdh-section-head{align-items:flex-start;flex-direction:column}
  .vdh-section h2{font-size:34px}
  .vdh-corner-tl,.vdh-corner-br{display:none}
  .vdh-ballot-row{grid-template-columns:40px 1fr;grid-template-areas:"rank side" "main main"}
  .vdh-rank{grid-area:rank}
  .vdh-ballot-main{grid-area:main}
  .vdh-ballot-side{grid-area:side;flex-direction:row;align-items:center;gap:11px}
  .vdh-ballot-count{font-size:10px}
  .vdh-vote-btn{min-width:0}
  .vdh-footer-grid{grid-template-columns:1fr;gap:25px}
  .vdh-footer-bottom{flex-direction:column;gap:8px}
}
@media(max-width:430px){
  .vdh-section h2{font-size:31px}
  .vdh-hero h1{font-size:34px}
  .vdh-terminal{font-size:9px}
  .vdh-alias-form{flex-direction:column;align-items:stretch}
  .vdh-alias-form .vdh-btn{width:100%}
  .vdh-actions{flex-direction:column;width:100%}
  .vdh-actions .vdh-btn{width:100%}
}
@media(hover:none){
  .vdh-btn:hover,.vdh-ballot-row:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .vdh-mascot-glitch{animation:none}
  .vdh-cursor{animation:none}
  .vdh-hero-copy h1{animation:none}
  .vdh-hero-copy h1:before{opacity:0}
  .vdh-hero-copy h1:after{opacity:.55;transform:none}
  html{scroll-behavior:auto}
}