/* Public venue page and poster base. Follows docs/ui-standard.md tokens. */
@font-face{font-family:Poppins;src:url('/fonts/Poppins-Regular-latin.woff2?v=ff36646d22d8') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-Medium-latin.woff2?v=d7034c7975f5') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-SemiBold-latin.woff2?v=72db40cb03c4') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-Bold-latin.woff2?v=9f28043d4e0f') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/Poppins-ExtraBold-latin.woff2?v=deef289917e2') format('woff2');font-weight:800;font-display:swap}
:root{--brand:#5B2EA6;--brand-2:#7c5cff;--go:#2BB673;--ink:#120a24;--muted:#6f6688;--line:#ebe5f7;--tint:#f1ecfd;--page:#f6f3fd;--card:#fff;--gold:#ffd166;--gold-2:#f59e0b;--shadow:0 1px 2px #1d153008,0 8px 24px #5b2ea60f}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Poppins,system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background:var(--page);overflow-wrap:anywhere}
a{color:var(--brand-2)}
h1,h2,p{margin:0}

/* confetti (decorative, shared with the poster) */
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;display:block;width:14px;height:6px;border-radius:3px;opacity:.9}
.confetti .c1{left:6%;top:12%;background:#f43f5e;transform:rotate(25deg)}
.confetti .c2{left:16%;top:62%;background:#ffd166;transform:rotate(-30deg);width:10px;height:10px;border-radius:50%}
.confetti .c3{left:28%;top:8%;background:#3b82f6;transform:rotate(60deg)}
.confetti .c4{left:84%;top:10%;background:#2BB673;transform:rotate(-15deg)}
.confetti .c5{left:92%;top:44%;background:#f59e0b;transform:rotate(40deg)}
.confetti .c6{left:74%;top:72%;background:#f43f5e;width:8px;height:8px;border-radius:50%}
.confetti .c7{left:4%;top:86%;background:#8b5cf6;transform:rotate(-50deg);background:#c4b5fd}
.confetti .c8{left:60%;top:6%;background:#ffd166;transform:rotate(80deg)}
.confetti .c9{left:52%;top:3%;background:#3b82f6;width:9px;height:9px;border-radius:50%}
.confetti .c10{left:96%;top:84%;background:#ffd166;transform:rotate(-70deg)}
.confetti .c11{left:12%;top:36%;background:#2BB673;transform:rotate(10deg)}
.confetti .c12{left:88%;top:26%;background:#f43f5e;transform:rotate(-40deg);width:10px}
.confetti .c13{left:22%;top:24%;background:#ffffff40;width:6px;height:6px;border-radius:50%}
.confetti .c14{left:78%;top:58%;background:#ffffff40;width:7px;height:7px;border-radius:50%}

/* chips */
.vp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.vp-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;background:#ffffff1f;border:1.5px solid #ffffff40;color:#fff}
.vp-chip--gold{background:linear-gradient(90deg,var(--gold-2),var(--gold));color:#3d2400;border:0}
.vp-chip--party{background:linear-gradient(120deg,#f43f5e,#f59e0b);color:#fff;border:0}

/* venue page */
.vp-wrap{max-width:760px;margin:0 auto;padding:0 20px}
.vp-hero{position:relative;overflow:hidden;color:#fff;text-align:center;background:radial-gradient(circle at 20% 0%,#7c5cff 0,#5b2ea6 45%,#2a1060 100%);padding:24px 0 40px}
.vp-hero .vp-wrap{position:relative}
.vp-logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:18px;color:#fff;text-decoration:none;background:#ffffff1a;padding:6px 14px 6px 8px;border-radius:999px}
.vp-logo img{width:28px;height:28px}
.vp-kicker{margin-top:28px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.vp-hero h1{font-size:clamp(32px,8vw,52px);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-top:4px}
.vp-blurb{margin:12px auto 0;max-width:520px;opacity:.9;white-space:pre-wrap}
.vp-next{margin-top:18px;font-size:14px;opacity:.95}
.vp-next b{color:var(--gold)}
.vp-main{margin-top:-20px;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:16px}
.vp-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px}
.vp-card h2{font-size:20px;font-weight:700;margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.vp-sub{font-size:13px;font-weight:500;color:var(--muted)}
.vp-empty{color:var(--muted)}
.vp-nights{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vp-night{display:flex;align-items:center;gap:14px;padding:10px;border-radius:16px;border:1px solid var(--line);min-width:0}
.vp-night--next{background:var(--tint);border-color:transparent}
.vp-date{flex:none;width:58px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 0;line-height:1.1}
.vp-date span{display:block;font-size:11px;font-weight:600;color:var(--brand);text-transform:uppercase;letter-spacing:.06em}
.vp-date b{display:block;font-size:24px;font-weight:800;color:var(--brand)}
.vp-night-text{flex:1;min-width:0}
.vp-night-text b{display:block;font-weight:600}
.vp-night-text span{display:block;font-size:13px;color:var(--muted)}
.vp-tag{flex:none;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;background:#dcf5e7;color:var(--ink)}
.vp-tag--party{background:linear-gradient(120deg,#f43f5e,#f59e0b);color:#fff}
.vp-how ol{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
.vp-how li{display:grid;grid-template-columns:36px 1fr;column-gap:12px;counter-increment:s}
.vp-how li::before{content:counter(s);grid-row:span 2;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--brand);font-weight:800}
.vp-how li b{font-weight:600}
.vp-how li span{font-size:13px;color:var(--muted)}
.vp-table{width:100%;border-collapse:collapse}
.vp-table th,.vp-table td{text-align:left;padding:10px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.vp-table tr:last-child>*{border-bottom:0}
.vp-table thead th{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-top:0}
.vp-table tbody th{font-weight:400}
.vp-pos{width:44px;white-space:nowrap}
.vp-pos span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--tint);color:var(--brand);font-weight:700;font-size:13px}
.vp-top1 .vp-pos span{background:var(--gold);color:#3d2400}
.vp-top2 .vp-pos span{background:#e3e5ee;color:#3a3f55}
.vp-top3 .vp-pos span{background:#f0d6c3;color:#5a3418}
.vp-num{width:72px;text-align:right!important;white-space:nowrap}
.vp-num b{font-size:17px;font-weight:800}
.vp-team{display:flex;align-items:center;gap:10px;min-width:0}
.vp-team>span{min-width:0}
.vp-team b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vp-team small{display:block;font-size:12px;color:var(--muted)}
.vp-av{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;font-weight:700;font-size:12px}
.vp-foot{text-align:center;padding:24px 20px 32px}
.cslabs{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;text-decoration:none}
.cslabs b{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11px}
.cslabs img{width:26px;height:16px;object-fit:contain}
@media(min-width:720px){.vp-card{padding:24px}.vp-hero{padding:32px 0 56px}.vp-main{margin-top:-28px}}
