/* The mini campaign uses typography and a drawn-in-CSS receiver, with no stock art. */
.vf-mini-modal{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:#f5f2e9;overflow:hidden}
.vf-mini-modal:not([open]){display:none}
.vf-mini-modal[open]{display:grid;place-items:center}
.vf-mini-modal::backdrop{background:rgba(0,4,9,.84);backdrop-filter:blur(9px)}
.vf-mini-card{--mini-gold:#e1bd6d;position:relative;display:grid;grid-template-columns:.85fr 1.15fr;width:min(1140px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;border:1px solid #665436;background:#071018;box-shadow:0 40px 120px #000b;animation:vf-mini-arrive .5s ease both;scrollbar-color:#7d6334 #071018}
.vf-mini-card [hidden]{display:none!important}
.vf-mini-story{position:relative;padding:44px 36px 32px;background:radial-gradient(ellipse at 45% 52%,#17232a 0,transparent 68%),#080e14;border-right:1px solid #e1bd6d26}
.vf-mini-eyebrow{margin:0 0 18px;color:#e1bd6d;font:600 10px/1.6 'Segoe UI',sans-serif;letter-spacing:.19em;text-transform:uppercase}
.vf-mini-story h2{margin:0;font:400 clamp(38px,4vw,55px)/1.02 Georgia,serif;letter-spacing:-.035em;max-width:390px}
.vf-mini-story h2 em{color:#f4ddb0;font-style:normal}
.vf-mini-intro{max-width:370px;margin:20px 0 0;color:#c2c9ce;font:14px/1.7 'Segoe UI',sans-serif}
.vf-mini-receiver{--mini-scan-period:16s;position:relative;display:grid;place-items:center;width:190px;height:190px;margin:26px auto 22px;border:1px solid #e1bd6d30;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 29px,#e1bd6d13 30px 31px,transparent 32px 40px);isolation:isolate}
.vf-mini-receiver::before{content:'';position:absolute;inset:9px;border-radius:50%;background:conic-gradient(from 0deg,transparent 260deg,#e1bd6d00 275deg,#e1bd6d24 358deg,#edc880a6 360deg);animation:vf-mini-scan var(--mini-scan-period) linear infinite}
.vf-mini-receiver::after{content:'';position:absolute;inset:26px;border:1px dashed #e1bd6d36;border-radius:50%}
.vf-mini-receiver span{z-index:1;text-align:center;font:10px/1.5 monospace;color:#acbcc5;letter-spacing:.18em}
.vf-mini-receiver strong{display:block;color:#f4ddb0;font:400 47px/1.1 Georgia,serif;letter-spacing:-.02em}
/* A signal's angular position and first echo use the same fraction of the sweep.
   No backwards fill: signals stay dark until their first actual scan. */
.vf-mini-receiver i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#f4ddb0;opacity:0;transform:rotate(calc(var(--signal) * 40deg)) translateY(-78px);animation:vf-mini-echo var(--mini-scan-period) linear infinite;animation-delay:calc(var(--signal) * var(--mini-scan-period) / 9)}
.vf-mini-process{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding-top:20px;border-top:1px solid #e1bd6d26}
.vf-mini-process div{min-width:0}.vf-mini-process dt{color:#f4ddb0;font:400 22px/1.3 Georgia,serif}.vf-mini-process dd{margin:6px 0 0;color:#aeb9c1;font:10px/1.5 'Segoe UI',sans-serif}
.vf-mini-voting{min-width:0;padding:68px 30px 24px;background:linear-gradient(135deg,#0b1720,#060c12)}
.vf-mini-toolbar{position:absolute;right:18px;top:16px;z-index:5;display:flex;gap:6px}
.vf-mini-tool{display:grid;place-items:center;width:44px;height:40px;padding:12px;border:1px solid #e1bd6d30;background:#0a131c;color:#c1c9cd;cursor:pointer}
.vf-mini-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.vf-mini-tool:hover{color:#f4ddb0;border-color:#e1bd6d}
.vf-mini-status{display:flex;align-items:center;gap:8px;margin:0 0 15px;color:#d7c499;font:10px/1.5 'Segoe UI',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.vf-mini-status::before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:#e1bd6d;box-shadow:0 0 8px #e1bd6d66}
.vf-mini-form{margin:0}.vf-mini-form fieldset{min-width:0;margin:0;padding:0;border:0}.vf-mini-form legend{margin:0 0 16px;padding:0;color:#f5f2e9;font:400 24px/1.2 Georgia,serif}
.vf-mini-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vf-mini-choice{position:relative;min-width:0;cursor:pointer}
.vf-mini-choice input{position:absolute;top:12px;right:10px;width:14px;height:14px;margin:0;accent-color:#e1bd6d;color-scheme:dark;cursor:pointer}
.vf-mini-choice>span{display:flex;flex-direction:column;min-height:105px;padding:11px 10px 12px;border:1px solid #a2bac228;background:#0d1a24;transition:background .2s,border-color .2s}
.vf-mini-choice small{margin-bottom:13px;color:#899ea9;font:9px/1 monospace;letter-spacing:.1em}
.vf-mini-choice strong{color:#d7d8d0;font:400 16px/1.2 Georgia,serif}
.vf-mini-choice em{margin-top:6px;color:#a3b3bc;font:10px/1.5 'Segoe UI',sans-serif;font-style:normal}
.vf-mini-choice:hover>span{background:#15252d;border-color:#e1bd6d80}
.vf-mini-choice input:checked+span{border-color:#e1bd6d;background:linear-gradient(130deg,#322a19,#15232a)}
.vf-mini-choice input:checked+span strong{color:#ffebbe}
.vf-mini-choice input:focus-visible+span{outline:2px solid #f4ddb0;outline-offset:3px}
.vf-mini-note{margin:16px 0;color:#b4c0c7;font:12px/1.65 'Segoe UI',sans-serif}
.vf-mini-note a{color:#ead3a4;text-underline-offset:3px}
.vf-mini-submit{width:100%;min-height:45px;padding:12px;border:1px solid #e1bd6d88;background:#e1bd6d19;color:#f4ddb0;font:600 11px/1.5 'Segoe UI',sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
.vf-mini-submit:hover:enabled{background:#e1bd6d30;border-color:#f4ddb0}
.vf-mini-submit:disabled{color:#a9b1b6;border-color:#53636c;background:#17232c;cursor:default}
.vf-mini-message{min-height:19px;margin:10px 0 0;color:#c5d7dc;font:12px/1.6 'Segoe UI',sans-serif}
.vf-mini-message.is-error{color:#ffb4a3}
.vf-mini-voting .vf-cta-pagination{margin-top:16px;padding-top:10px}
.vf-mini-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vf-mini-archive-link{color:#ccb889;font:10px/1.5 'Segoe UI',sans-serif;text-underline-offset:4px;margin-top:16px}
.vf-mini-modal.is-closing .vf-mini-card{animation:vf-mini-flip .65s ease-in forwards;pointer-events:none}
.vf-mini-modal.is-closing::backdrop{animation:vf-mini-backdrop .65s ease forwards}
.vf-mini-modal :focus-visible,.vf-mini-entry :focus-visible{outline:2px solid #f4ddb0;outline-offset:4px}
.vf-mini-entry{margin:26px 0 70px;padding:32px;border:1px solid #e1bd6d48;background:linear-gradient(120deg,#0d1921ed,#091016ed)}
.vf-mini-entry h2{margin:0 0 14px;color:#f4ddb0;font:400 clamp(30px,4vw,46px)/1.08 Georgia,serif}
.vf-mini-entry p:not(.vf-mini-eyebrow){max-width:770px;color:#bbc6cd;line-height:1.7;font-size:14px}
.vf-mini-entry a{display:inline-block;margin-top:10px;padding:12px 18px;border:1px solid #e1bd6d80;color:#f4ddb0;text-decoration:none;font:11px/1.5 'Segoe UI',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.vf-mini-entry a:hover{background:#e1bd6d20}
@keyframes vf-mini-scan{to{transform:rotate(360deg)}}
@keyframes vf-mini-echo{0%{opacity:1;box-shadow:0 0 4px #fff3ca,0 0 12px #e1bd6dcc}3%{opacity:.85;box-shadow:0 0 9px #e1bd6d80}16%{opacity:.22;box-shadow:0 0 5px #e1bd6d30}25%,100%{opacity:0;box-shadow:0 0 0 #e1bd6d00}}
@keyframes vf-mini-arrive{from{opacity:0;transform:perspective(1400px) rotateY(-8deg) translateY(12px)}to{opacity:1;transform:none}}
@keyframes vf-mini-flip{0%{opacity:1;transform:perspective(1400px) rotateY(0)}30%{opacity:1;transform:perspective(1400px) rotateY(-8deg)}100%{opacity:0;transform:perspective(1400px) rotateY(92deg) scale(.8)}}
@keyframes vf-mini-backdrop{to{background:transparent;backdrop-filter:blur(0)}}
@media(max-width:820px){.vf-mini-modal{padding:12px}.vf-mini-card{grid-template-columns:1fr;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.vf-mini-story{padding:60px 26px 24px;border-right:0;border-bottom:1px solid #e1bd6d26}.vf-mini-story h2{max-width:550px;font-size:42px}.vf-mini-intro{max-width:550px}.vf-mini-receiver{display:none}.vf-mini-process{margin-top:22px}.vf-mini-voting{padding:24px 26px}.vf-mini-toolbar{position:sticky;top:10px;float:right;grid-column:1;justify-self:end;height:0;margin-right:14px;right:auto}.vf-mini-entry{padding:24px}}
@media(max-width:420px){.vf-mini-modal{padding:6px}.vf-mini-card{max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px)}.vf-mini-story{padding:60px 18px 22px}.vf-mini-story h2{font-size:36px}.vf-mini-voting{padding:22px 18px}.vf-mini-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.vf-mini-choice>span{min-height:99px}.vf-mini-footer{flex-wrap:wrap}.vf-mini-choice strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.vf-mini-card,.vf-mini-receiver::before,.vf-mini-receiver i,.vf-mini-modal.is-closing .vf-mini-card,.vf-mini-modal.is-closing::backdrop{animation:none}.vf-mini-receiver i{opacity:.65;box-shadow:none}.vf-mini-choice>span{transition:none}}
