@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1icgra-w5i50b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.1g73gv09-xcb6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_e6af40ad-module__HY7LwG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_e6af40ad-module__HY7LwG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_1f89aa1c-module__6i8-Tq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_1f89aa1c-module__6i8-Tq__variable{--font-plus-jakarta-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_1a89b578-module__QiOztG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_1a89b578-module__QiOztG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}

:root{--blue-50:#eef4ff;--blue-100:#dbe7ff;--blue-200:#bcd2ff;--blue-300:#8fb4ff;--blue-400:#5b8dfb;--blue-500:#2f6bf3;--blue-600:#1e4be0;--blue-700:#1839b4;--blue-800:#17308c;--blue-900:#0b1b4d;--blue-950:#071235;--cyan-50:#ecfdff;--cyan-100:#cff8fe;--cyan-200:#a5f0fc;--cyan-300:#6fe3f6;--cyan-400:#35e0f0;--cyan-500:#12bedb;--cyan-600:#0a98b8;--cyan-700:#0e7794;--cyan-800:#155e78;--cyan-900:#164e64;--ink-0:#fff;--ink-25:#fbfcfe;--ink-50:#f5f7fb;--ink-100:#edf0f7;--ink-200:#dfe4ef;--ink-300:#c4cbdc;--ink-400:#98a2bc;--ink-500:#6c7793;--ink-600:#4e5871;--ink-700:#3a4257;--ink-800:#252c3d;--ink-900:#141926;--green-100:#dcfce9;--green-500:#12a150;--green-700:#0b7038;--amber-100:#fef3c7;--amber-500:#e8a007;--amber-700:#9a6700;--red-100:#fee4e2;--red-500:#e5484d;--red-700:#a3161b;--grape-100:#f0e7fe;--grape-500:#7c4de8;--gradient-here:linear-gradient(45deg,var(--blue-600) 0%,#2a9bee 55%,var(--cyan-400) 100%);--gradient-here-soft:linear-gradient(45deg,var(--blue-50) 0%,var(--cyan-50) 100%);--gradient-night:linear-gradient(160deg,var(--blue-900) 0%,var(--blue-950) 100%);--gradient-scrim:linear-gradient(180deg,#0b1b4d00 0%,#0b1b4dd1 100%);--brand:var(--blue-600);--brand-hover:var(--blue-700);--brand-press:var(--blue-800);--brand-subtle:var(--blue-50);--brand-on:var(--ink-0);--accent:var(--cyan-400);--accent-ink:var(--cyan-700);--text-strong:var(--blue-900);--text-body:var(--ink-800);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-on-brand:var(--ink-0);--text-link:var(--blue-600);--text-link-hover:var(--blue-700);--surface-page:var(--ink-50);--surface-bar:var(--ink-25);--surface-card:var(--ink-0);--surface-sunken:var(--ink-100);--surface-inverse:var(--blue-900);--surface-brand-tint:var(--blue-50);--border-hairline:var(--ink-200);--border-strong:var(--ink-300);--border-brand:var(--blue-300);--border-focus:var(--blue-500);--status-live:var(--green-500);--status-live-tint:var(--green-100);--status-warn:var(--amber-500);--status-warn-tint:var(--amber-100);--status-error:var(--red-500);--status-error-tint:var(--red-100);--status-perk:var(--grape-500);--status-perk-tint:var(--grape-100)}
:root{--font-display:var(--font-instrument-serif),"Instrument Serif",Georgia,"Times New Roman",serif;--font-sans:var(--font-plus-jakarta-sans),"Plus Jakarta Sans","Helvetica Neue",Helvetica,sans-serif;--font-mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--text-display-1:400 clamp(48px,6vw,84px)/1.06 var(--font-display);--text-display-2:400 clamp(38px,4.4vw,60px)/1.1 var(--font-display);--text-display-3:400 34px/1.14 var(--font-display);--text-h1:700 32px/1.15 var(--font-sans);--text-h2:700 24px/1.2 var(--font-sans);--text-h3:600 19px/1.25 var(--font-sans);--text-h4:600 16px/1.3 var(--font-sans);--text-body-lg:400 18px/1.55 var(--font-sans);--text-body-md:400 15px/1.55 var(--font-sans);--text-body-sm:400 13px/1.5 var(--font-sans);--text-label:600 13px/1.2 var(--font-sans);--text-caption:500 12px/1.35 var(--font-sans);--text-overline:700 11px/1.1 var(--font-sans);--text-mono-sm:400 12px/1.4 var(--font-mono);--tracking-display:-.02em;--tracking-tight:-.011em;--tracking-normal:0;--tracking-overline:.14em}
:root{--space-0:0px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:112px;--gutter-mobile:20px;--gutter-desktop:32px;--page-max:1160px;--prose-max:64ch;--tap-min:44px;--venue-media-h:104px;--venue-hero-h:200px}
:root{--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-card:18px;--radius-sheet:26px;--radius-pill:999px;--border-width:1px;--border-width-strong:1.5px;--focus-ring:0 0 0 3px #2f6bf352}
:root{--shadow-xs:0 1px 2px #0b1b4d0f;--shadow-sm:0 1px 2px #0b1b4d0d,0 2px 6px #0b1b4d0f;--shadow-md:0 2px 4px #0b1b4d0d,0 8px 20px #0b1b4d14;--shadow-lg:0 4px 8px #0b1b4d0f,0 18px 40px #0b1b4d1f;--shadow-sheet:0 -8px 40px #0b1b4d29;--shadow-brand:0 6px 20px #1e4be047;--shadow-inset-hairline:inset 0 0 0 1px #0b1b4d0f;--blur-glass:saturate(180%) blur(18px);--glass-light:#ffffffb8;--glass-dark:#0b1b4d94}
:root{--ease-standard:cubic-bezier(.2,.6,.25,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.4,.5,1);--dur-instant:90ms;--dur-fast:.15s;--dur-base:.22s;--dur-slow:.34s;--dur-sheet:.42s;--press-scale:.97}
*,:before,:after{box-sizing:border-box}html{background:var(--surface-bar)}body{min-height:100dvh;font:var(--text-body-md);letter-spacing:var(--tracking-tight);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover);text-underline-offset:2px;text-decoration:underline}::selection{background:var(--blue-200);color:var(--blue-900)}:focus-visible{box-shadow:var(--focus-ring);outline:none}button{font:inherit;letter-spacing:inherit}
.h-icon{background:currentColor;flex:none;width:20px;height:20px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.h-btn{justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-pill);font:var(--text-label);letter-spacing:var(--tracking-tight);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard);text-decoration:none;display:inline-flex}.h-btn:active{transform:scale(var(--press-scale))}.h-btn:disabled,.h-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.h-btn--sm{height:34px;padding:0 var(--space-4);font-size:13px}.h-btn--md{height:44px;padding:0 var(--space-6);font-size:15px}.h-btn--lg{height:54px;padding:0 var(--space-8);font-size:16px}.h-btn--block{width:100%}.h-btn--primary{background:var(--brand);color:var(--brand-on);box-shadow:var(--shadow-brand)}.h-btn--primary:hover{background:var(--brand-hover)}.h-btn--primary:active{background:var(--brand-press)}.h-btn--gradient{background:var(--gradient-here);color:var(--brand-on);box-shadow:var(--shadow-brand)}.h-btn--gradient:hover{filter:brightness(1.06)}.h-btn--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-hairline);box-shadow:var(--shadow-xs)}.h-btn--secondary:hover{background:var(--ink-50);border-color:var(--border-strong)}.h-btn--ghost{color:var(--brand);background:0 0}.h-btn--ghost:hover{background:var(--brand-subtle)}.h-btn--danger{background:var(--status-error);color:#fff}.h-btn--danger:hover{filter:brightness(.94)}.h-btn--inverse{color:#fff;-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);background:#ffffff24}.h-btn--inverse:hover{background:#ffffff3d}.h-iconbtn{border:var(--border-width) solid transparent;border-radius:var(--radius-pill);color:var(--text-body);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard);background:0 0;place-items:center;display:inline-grid}.h-iconbtn:active{transform:scale(var(--press-scale))}.h-iconbtn--sm{width:32px;height:32px}.h-iconbtn--md{width:44px;height:44px}.h-iconbtn--lg{width:52px;height:52px}.h-iconbtn--plain:hover{background:var(--ink-100)}.h-iconbtn--outline{border-color:var(--border-hairline);background:var(--surface-card);box-shadow:var(--shadow-xs)}.h-iconbtn--outline:hover{background:var(--ink-50)}.h-iconbtn--brand{background:var(--brand-subtle);color:var(--brand)}.h-iconbtn--brand:hover{background:var(--blue-100)}.h-iconbtn--glass{background:var(--glass-light);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);color:var(--text-strong);box-shadow:var(--shadow-sm)}.h-card{background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--border-hairline);flex:none;overflow:hidden}.h-card--flat{box-shadow:none}.h-card--raised{box-shadow:var(--shadow-md);border-color:#0000}.h-card--tint{background:var(--surface-brand-tint);border-color:var(--blue-100)}.h-card--inverse{background:var(--gradient-night);color:#fff;border-color:#0000}.h-card--interactive{cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.h-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.h-card--interactive:active{transform:translateY(0)scale(.995)}.h-badge{white-space:nowrap;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font:var(--text-caption);letter-spacing:var(--tracking-tight);padding:4px var(--space-3);min-height:22px;display:inline-flex}.h-badge--neutral{background:var(--ink-100);color:var(--ink-600)}.h-badge--brand{background:var(--brand-subtle);color:var(--blue-700)}.h-badge--live{background:var(--status-live-tint);color:var(--green-700)}.h-badge--perk{background:var(--status-perk-tint);color:var(--grape-500)}.h-badge--warn{background:var(--status-warn-tint);color:var(--amber-700)}.h-badge--error{background:var(--status-error-tint);color:var(--red-700)}.h-badge--gradient{background:var(--gradient-here);color:#fff}.h-badge--solid-dark{background:var(--surface-inverse);color:#fff}.h-tag{white-space:nowrap;align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--surface-card);border:var(--border-width) solid var(--border-hairline);font:var(--text-caption);color:var(--text-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);flex:none;display:inline-flex}.h-tag:hover{border-color:var(--border-strong)}.h-tag[data-selected=true]{background:var(--surface-inverse);border-color:var(--surface-inverse);color:#fff}.h-tag__x{opacity:.5;font-size:14px;line-height:1}.h-tag__x:hover{opacity:1}.h-avatar{border-radius:var(--radius-pill);background:var(--gradient-here);color:#fff;font-family:var(--font-sans);flex:none;place-items:center;font-weight:700;display:inline-grid;position:relative;overflow:visible}.h-avatar img{object-fit:cover;border-radius:var(--radius-pill);width:100%;height:100%}.h-avatar__ring{border-radius:var(--radius-pill);border:2px solid var(--status-live);position:absolute;inset:-3px}.h-avatarstack{align-items:center;display:inline-flex}.h-avatarstack>*{box-shadow:0 0 0 2px var(--surface-card);border-radius:var(--radius-pill)}.h-avatarstack>*+*{margin-left:-10px}.h-avatarstack__more{background:var(--ink-100);color:var(--ink-600);font:var(--text-caption);place-items:center;font-weight:700;display:inline-grid}.h-field{gap:var(--space-2);flex-direction:column;display:flex}.h-label{font:var(--text-label);color:var(--text-strong)}.h-hint{font:var(--text-caption);color:var(--text-muted)}.h-hint--error{color:var(--status-error)}.h-input,.h-select{width:100%;height:48px;padding:0 var(--space-5);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-hairline);background:var(--surface-card);font:var(--text-body-md);color:var(--text-body);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.h-input::placeholder{color:var(--text-faint)}.h-input:hover,.h-select:hover{border-color:var(--border-strong)}.h-input:focus,.h-select:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring);outline:none}.h-input[data-invalid=true]{border-color:var(--status-error)}.h-input--textarea{height:auto;padding:var(--space-4) var(--space-5);resize:vertical;min-height:104px;line-height:1.5}.h-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236C7793' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-9);background-size:18px}.h-search{align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--surface-sunken);border:var(--border-width) solid transparent;transition:all var(--dur-fast) var(--ease-standard);display:flex}.h-search:focus-within{background:var(--surface-card);border-color:var(--border-focus);box-shadow:var(--focus-ring)}.h-search input{font:var(--text-body-md);color:var(--text-body);background:0 0;border:0;outline:none;flex:1}.h-checkbox{align-items:flex-start;gap:var(--space-3);cursor:pointer;font:var(--text-body-md);color:var(--text-body);display:inline-flex}.h-checkbox__box{border-radius:var(--radius-xs);border:var(--border-width-strong) solid var(--border-strong);background:var(--surface-card);width:22px;height:22px;transition:all var(--dur-fast) var(--ease-standard);flex:none;place-items:center;display:grid}.h-checkbox[data-checked=true] .h-checkbox__box{background:var(--brand);border-color:var(--brand)}.h-checkbox:hover .h-checkbox__box{border-color:var(--brand)}.h-switch{border-radius:var(--radius-pill);background:var(--ink-300);cursor:pointer;width:50px;height:30px;transition:background var(--dur-base) var(--ease-standard);border:0;padding:3px;display:flex}.h-switch[data-checked=true]{background:var(--brand)}.h-switch__knob{border-radius:var(--radius-pill);width:24px;height:24px;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-spring);background:#fff}.h-switch[data-checked=true] .h-switch__knob{transform:translate(20px)}.h-toast{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-inverse);color:#fff;box-shadow:var(--shadow-lg);font:var(--text-body-sm);min-width:280px;display:flex}.h-toast--success .h-toast__dot{background:var(--status-live)}.h-toast--error .h-toast__dot{background:var(--status-error)}.h-toast__dot{border-radius:var(--radius-pill);background:var(--accent);flex:none;width:8px;height:8px}.h-toast__action{color:var(--cyan-300);cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:700}.h-dialog__scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--space-6);background:#0b1b4d70;place-items:center;display:grid;position:absolute;inset:0}.h-dialog{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:var(--space-7);gap:var(--space-4);flex-direction:column;display:flex}.h-dialog__title{font:var(--text-h3);color:var(--text-strong)}.h-dialog__body{font:var(--text-body-md);color:var(--text-muted)}.h-dialog__actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.h-tooltip{display:inline-flex;position:relative}.h-tooltip__bubble{background:var(--surface-inverse);color:#fff;font:var(--text-caption);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xs);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.h-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);color:var(--text-muted);flex-direction:column;display:flex}.h-empty__title{font:var(--text-h3);color:var(--text-strong)}.h-topbar{align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-5);background:var(--surface-bar);border-bottom:var(--border-width) solid var(--border-hairline);display:flex}.h-topbar__title{font:var(--text-h4);color:var(--text-strong);flex:1}.h-tabbar{background:var(--glass-light);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border-top:var(--border-width) solid var(--border-hairline);padding:var(--space-2) var(--space-2) var(--space-5);align-items:stretch;display:flex}.h-tabbar__item{padding:var(--space-2) 0;cursor:pointer;color:var(--text-faint);font:var(--text-overline);letter-spacing:.04em;text-transform:none;transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.h-tabbar__item[data-active=true]{color:var(--brand)}.h-tabs{gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-pill);display:inline-flex}.h-tabs__item{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);height:34px;font:var(--text-label);color:var(--text-muted);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);background:0 0;border:0}.h-tabs__item[data-active=true]{background:var(--surface-card);color:var(--text-strong);box-shadow:var(--shadow-xs)}.h-livedot{align-items:center;gap:var(--space-2);font:var(--text-caption);color:var(--green-700);display:inline-flex}.h-livedot__pulse{border-radius:var(--radius-pill);background:var(--status-live);width:8px;height:8px;animation:h-pulse 2s var(--ease-out) infinite;box-shadow:0 0 #12a15080}@keyframes h-pulse{70%{box-shadow:0 0 0 8px #12a15000}to{box-shadow:0 0 #12a15000}}.h-venue{text-align:left;border:var(--border-width) solid var(--border-hairline);background:var(--surface-card);border-radius:var(--radius-card);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);flex:none;padding:0;display:block;position:relative;overflow:hidden}.h-venue:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.h-venue__media{height:var(--venue-media-h);background:var(--gradient-night);display:block;position:relative}.h-venue__media img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.h-venue__scrim{background:var(--gradient-scrim);display:block;position:absolute;inset:0}.h-venue__float{left:var(--space-4);bottom:var(--space-4);gap:var(--space-2);display:flex;position:absolute}.h-venue__body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.h-venue__name{font:var(--text-h4);color:var(--text-strong);display:block}.h-venue__meta{font:var(--text-body-sm);color:var(--text-muted);gap:var(--space-2);align-items:center;display:flex}.h-venue__foot{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:30px;display:flex}.h-perk{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-card);border:var(--border-width) dashed var(--border-brand);flex:none;align-items:center;display:flex}.h-perk--locked{border-style:solid;border-color:var(--border-hairline);opacity:.65}.h-perk__icon{border-radius:var(--radius-sm);background:var(--gradient-here-soft);width:44px;height:44px;color:var(--brand);flex:none;place-items:center;display:grid}.h-perk__title{font:var(--text-h4);color:var(--text-strong)}.h-perk__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.h-perk__right{flex:none}.h-perk__sub{font:var(--text-body-sm);color:var(--text-muted)}.h-friendrow{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;display:flex}.h-friendrow__name{font:var(--text-h4);color:var(--text-strong)}.h-friendrow__where{font:var(--text-body-sm);color:var(--text-muted)}.h-friendrow__right{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.h-checkin{justify-content:center;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-8);border-radius:var(--radius-pill);background:var(--gradient-here);color:#fff;font:var(--text-h4);cursor:pointer;box-shadow:var(--shadow-brand);transition:transform var(--dur-instant) var(--ease-standard),filter var(--dur-fast) var(--ease-standard);border:0;display:inline-flex;position:relative}.h-checkin:hover{filter:brightness(1.06)}.h-checkin:active{transform:scale(var(--press-scale))}.h-checkin[data-state=checked]{background:var(--status-live-tint);color:var(--green-700);box-shadow:none}.h-checkin[data-state=disabled]{background:var(--ink-100);color:var(--text-faint);box-shadow:none;pointer-events:none}.h-liveclock{flex-direction:column;align-items:center;gap:2px;display:flex}.h-liveclock__time{font:var(--text-h3);color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:.04em}.h-liveclock__label{font:var(--text-body-sm);color:var(--text-muted)}.h-shimmer{position:relative;overflow:hidden}.h-shimmer:after{content:"";pointer-events:none;animation:h-shimmer 3s var(--ease-standard) infinite;background:linear-gradient(105deg,#0000 35%,#ffffff8c 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}@keyframes h-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.h-shimmer:after{animation:none;display:none}}.h-modeswitch{align-items:center;gap:var(--space-2);display:flex}.h-modeswitch__label{font:var(--text-body-sm);color:var(--text-muted);display:none}.h-modeswitch__select{font:var(--text-body-sm);color:var(--text-strong);background:var(--surface-sunken);border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer}@media (min-width:768px){.h-modeswitch__label{display:inline}}
:root{--tabbar-h:72px}.h-page{max-width:var(--page-max);padding:var(--space-7) var(--gutter-mobile) var(--space-10);margin:0 auto}.app-tabbar{z-index:30;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.app-nav-links{align-items:center;gap:var(--space-2);display:flex}.app-nav-links [data-active=true]{background:var(--brand-subtle)}@media (max-width:767px){.app-nav-links{display:none}.h-page{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-6))}}@media (min-width:768px){.app-tabbar{display:none}.h-page{padding-left:var(--gutter-desktop);padding-right:var(--gutter-desktop)}}

