:root{--ink:#fff;--paper:#151e66;--muted:#a3b7df;--orange:#29b5e8;--border:#ffffff29;--ease:cubic-bezier(.22,.8,.25,1)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,.deck:focus-visible{outline:3px solid #ffd43c;outline-offset:5px}
.shell{max-width:1264px;margin:auto;padding:34px 56px 22px}
header{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--border)}
.wordmark{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:-1px}
.brand-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;border:1.5px solid var(--ink);border-radius:12px;width:37px;height:39px;font-size:33px;line-height:1;font-weight:800;padding-bottom:4px}
.brand-icon span{position:absolute;right:-5px;top:-9px;font-size:21px;background:var(--paper);height:20px}
.icon-button{background:transparent;border:1px solid var(--border);border-radius:50%;width:46px;height:46px;padding:12px}
.icon-button svg{width:100%;fill:var(--ink)}
main{display:grid;grid-template-columns:1fr 1fr;gap:68px;padding:44px 0 35px}
.intro{padding:58px 0 0}
.event-date{font-size:11px;letter-spacing:1.8px;display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}
.live-dot{height:7px;width:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #ed694819}
.divider{margin:0 5px;color:#a0a297}
h1{font-size:clamp(64px,6.5vw,88px);line-height:1.015;letter-spacing:-5px;margin:35px 0 46px;font-weight:700;position:relative}
h1>span{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-5px}
.spark{stroke:var(--orange);stroke-width:2.1;width:45px;height:45px;position:absolute;bottom:25px;margin-left:10px;transform:rotate(13deg)}
.desktop-meta{display:flex;flex-direction:column;gap:20px;color:var(--muted);font-size:14px}
.desktop-meta a{color:var(--ink);width:fit-content;border-bottom:1px solid var(--border);padding-bottom:5px}
.experience{min-width:0;max-width:502px}
.filters{display:flex;gap:4px;align-items:center;margin-bottom:30px;background:#eaece3;border-radius:35px;padding:5px}
.filters button{flex:1;white-space:nowrap;border:0;background:transparent;border-radius:30px;font-size:12px;padding:12px 10px;transition:background .23s,color .23s,box-shadow .23s}
.filters button span{font-size:10px;opacity:.65;margin-left:3px}
.filters button.active{background:var(--ink);color:white;box-shadow:0 3px 7px #0000000d}
.deck{height:405px;position:relative;touch-action:pan-y;user-select:none;isolation:isolate}
.back-card{position:absolute;inset:0;border:1px solid #c9cdbd;border-radius:26px;background:#e7ebd8;pointer-events:none}
.back-one{transform:translateY(12px) scale(.954);opacity:.8}
.back-two{transform:translateY(23px) scale(.906);opacity:.55}
.card{position:absolute;inset:0;border-radius:26px;background:#e0e7c9;padding:26px 28px 24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 22px -18px #22262c45;will-change:transform,opacity;contain:paint}
.card.workshop{background:#ddd7ed}
.card.demo{background:#f1d5c2}
.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;z-index:2}
.tag{border:1px solid #20221d33;border-radius:15px;padding:7px 11px}
.card h2{font-size:clamp(28px,2.6vw,36px);line-height:1.06;letter-spacing:-1.2px;font-weight:700;max-width:100%;margin:27px 0 0;position:relative;z-index:2}
.card.demo h2{font-size:43px;letter-spacing:-1.7px}
.art{width:158px;height:146px;position:absolute;right:-24px;bottom:52px;opacity:.35;transform:rotate(-17deg);pointer-events:none}
.art svg{width:100%;height:100%;stroke:#60723a;stroke-width:1.2;fill:none}
.card.workshop .art svg{stroke:#6c548c}
.card.demo .art svg{stroke:#a16842}
.speaker{display:flex;gap:12px;align-items:center;margin-top:auto;position:relative;z-index:2;padding-top:24px}
.avatar{width:43px;height:43px;border-radius:50%;background:#ffffff7a;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:1px solid #20221d14;flex-shrink:0}
.speaker-name{font-size:15px;font-weight:700;line-height:1.3}
.speaker-company{font-size:12px;margin-top:5px;opacity:.6}
.browse-controls{display:flex;align-items:center;justify-content:center;gap:33px;margin-top:38px}
.round-button{border:1px solid #cfd2c7;background:transparent;border-radius:50%;width:43px;height:43px;font-size:23px;transition:background .2s,transform .2s}
.round-button:hover{background:#e4e7dc}
.round-button:active{transform:scale(.93)}
.round-button:disabled{opacity:.3}
.position{font-size:13px;font-variant-numeric:tabular-nums;min-width:68px;text-align:center}
.position #current{font-weight:700}
.slash{color:#b7bbae;margin:0 10px}
#total{color:#8c8f82}
.progress{height:3px;width:100%;background:#dce0d3;margin:17px 0 20px;border-radius:9px;overflow:hidden}
.progress span{height:100%;display:block;background:var(--orange);width:5.55%;transition:width .32s var(--ease)}
.vote-button{width:100%;border:0;background:var(--ink);color:#fff;border-radius:15px;min-height:58px;padding:17px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;transition:background .18s,transform .18s}
.vote-button:hover{background:#383c31}
.vote-button:active{transform:scale(.987)}
.vote-button:disabled{opacity:.6}
.vote-button.recorded{background:#dfe5d3;color:#475338}
.vote-button svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;fill:none}
#status{font-size:12px;color:var(--muted);text-align:center;min-height:16px;margin:10px 0 0}
footer{border-top:1px solid var(--border);padding-top:19px;font-size:11px;color:#8a8d80;display:flex;justify-content:space-between;align-items:center}
footer a{font-weight:700;color:#454a3b}
footer button{border:0;background:none;font-size:11px;color:inherit;padding:5px}
dialog{border:1px solid #d6d9cf;background:var(--paper);color:var(--ink);border-radius:27px;padding:40px 30px 29px;max-width:440px;width:calc(100% - 36px);box-shadow:0 28px 90px #11131b22}
dialog::backdrop{background:#20231b66;backdrop-filter:blur(7px)}
dialog[open]{animation:dialog-in .3s var(--ease)}
dialog h2{font-size:32px;letter-spacing:-1.3px;line-height:1.08;margin:20px 0}
dialog p{color:#69705d;line-height:1.5;font-size:14px}
dialog a{text-decoration:underline;text-underline-offset:3px}
.dialog-kicker{font-size:10px;font-weight:700;letter-spacing:1.8px}
.close{position:absolute;right:15px;top:10px;width:40px;height:40px;border:0;background:none;font-size:28px;font-weight:300;color:#777d6d}
.dialog-note{text-align:center;font-size:11px!important;margin:15px 0 0}
#vote-error{font-size:13px;color:#b34d37}
#chosen-speaker{margin-bottom:30px}
.check-mark{width:58px;height:58px;background:#dce5c8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:28px}
#thanks-dialog .vote-button{margin-top:29px}
#qr-dialog{text-align:center}
#qr-dialog img{display:block;max-width:100%;height:auto;margin:18px auto;background:white;border-radius:15px}
#qr-dialog h2{margin:13px 0}
#qr-dialog .qr-address{font-size:18px;color:var(--ink);font-weight:700;letter-spacing:-.4px}
.text-link{font-size:12px;display:inline-block;margin-top:6px}
#privacy-dialog p{font-size:13px}
#privacy-dialog a{word-break:break-word}
.card.is-out{pointer-events:none}
@keyframes dialog-in{from{opacity:0;transform:translateY(22px) scale(.97)}
to{opacity:1;transform:none}
}
@media(min-width:1100px){.experience{margin-left:auto;width:100%}
}
@media(max-width:800px){.shell{padding:23px 24px 18px;max-width:550px}
header{padding-bottom:18px}
.wordmark{font-size:22px}
.brand-icon{width:32px;height:34px;font-size:29px}
.icon-button{width:41px;height:41px;padding:11px}
main{display:block;padding:24px 0 26px}
.intro{padding:0}
.event-date{font-size:9px;letter-spacing:1.2px;gap:8px}
h1{font-size:53px;letter-spacing:-2.8px;line-height:.97;margin:19px 0 26px}
h1 br{display:initial}
h1 span{letter-spacing:-3px}
.spark{width:26px;height:26px;bottom:14px;margin-left:7px}
.desktop-meta{display:none}
.experience{max-width:100%}
.filters{margin-bottom:24px;gap:2px;padding:4px}
.filters button{font-size:11px;padding:10px 6px}
.filters button span{font-size:9px}
.deck{height:367px}
.card{padding:23px 24px}
.card-top{font-size:9px;letter-spacing:1px}
.card h2{font-size:31px;line-height:1.045;letter-spacing:-1px;margin-top:27px}
.card.demo h2{font-size:42px}
.art{height:128px;width:143px;bottom:65px}
.speaker{gap:10px}
.speaker-name{font-size:14px}
.speaker-company{font-size:11px}
.browse-controls{margin-top:33px;gap:29px}
.round-button{width:42px;height:42px}
.progress{margin:15px 0 18px}
.vote-button{min-height:56px;font-size:13px;padding:17px 20px}
footer{font-size:10px;padding-top:14px}
#status{margin-top:9px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


@font-face{font-family:DMMono;src:url('/dm-mono-regular.fd7521f3531a.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DMMono;src:url('/dm-mono-medium.0e263db52797.woff2') format('woff2');font-style:normal;font-weight:500 800;font-display:swap}

/* SVAI Hub direction: navy, cyan, mono display, and architectural linework */
body{background-color:var(--paper);background-image:linear-gradient(90deg,#a5beff06 1px,transparent 1px),linear-gradient(#a5beff06 1px,transparent 1px);background-size:120px 120px}
.shell{position:relative}
.wordmark{font-family:DMMono,monospace;font-size:21px;letter-spacing:-.7px;font-weight:500;gap:10px}
.brand-icon{padding:0;border:0;border-radius:0;width:31px;height:31px}
.brand-icon svg{width:28px;height:28px;stroke:#29b5e8;stroke-width:2.8}
.icon-button{border-radius:7px;color:white}
.icon-button svg{fill:white}
.event-date{font-family:DMMono,monospace;font-weight:400;color:#b0c6ee;letter-spacing:1.1px}
.live-dot{background:#29b5e8;box-shadow:0 0 0 4px #29b5e815}
.divider{color:#6877b0}
h1{font-family:DMMono,monospace;font-weight:400;font-size:62px;line-height:1.12;letter-spacing:-3.9px;margin:34px 0 30px}
h1>span{font-family:inherit;font-weight:400;font-style:normal;letter-spacing:-3.9px;color:#fff}
.intro{position:relative;padding-top:55px}
.drawn-arrow{width:130px;height:77px;position:absolute;right:3px;top:230px;fill:none;stroke:#ffd43c;stroke-width:3.5;transform:rotate(-13deg);pointer-events:none}
.desktop-meta{gap:15px;font-size:12px}
.venue-label{font-family:DMMono,monospace;color:#29b5e8;letter-spacing:.7px}
.desktop-meta a{color:#dce9ff}
.venue-photo{display:block;width:calc(100% - 35px);height:166px;object-fit:cover;object-position:center 60%;margin-top:29px;border-radius:3px;opacity:.92}
.filters{background:#0f1853;border-radius:8px;padding:5px;gap:3px;border:1px solid #ffffff17}
.filters button{font-family:DMMono,monospace;text-transform:uppercase;border-radius:4px;font-weight:400;font-size:11px;color:#c2d3ed}
.filters button.active{background:#29b5e8;color:#091b5b;box-shadow:none}
.back-card{border-color:#526eaa;border-radius:10px;background:#223b89}
.card{background:#203982;border:1px solid #6b91c655;border-radius:10px;box-shadow:0 15px 35px -20px #0008}
.card.workshop{background:#12517a;border-color:#3db0d355}
.card.demo{background:#2b3085;border-color:#939bff44}
.card-top{font-family:DMMono,monospace;font-weight:400;font-size:10px;letter-spacing:.7px;color:#c4e9ff}
.tag{border-color:#67b1d766;border-radius:4px;padding:7px 9px}
.card h2{font-family:DMMono,monospace;font-weight:400;font-size:29px;line-height:1.15;letter-spacing:-1.3px;margin-top:27px}
.card.demo h2{font-size:39px;font-weight:400;letter-spacing:-2px}
.art{opacity:.44;right:-24px;bottom:48px;width:170px;height:154px;transform:rotate(-8deg)}
.art svg,.card.workshop .art svg{stroke:#29b5e8}
.card.demo .art svg{stroke:#b2c0ff}
.avatar{background:#ffffff13;border-color:#ffffff1a;border-radius:7px;color:#99e0fa;font-family:DMMono,monospace;font-weight:400}
.speaker-company{color:#c4d7f0;opacity:.7}
.speaker-name{font-weight:400}
.round-button{border-color:#7386c45c;border-radius:7px;color:white;background:#ffffff04}
.round-button:hover{background:#ffffff12}
.position{font-family:DMMono,monospace;font-size:12px}
#total{color:#a5b9e1}
.slash{color:#7583b1}
.progress{background:#3f4c8c;height:2px;border-radius:0}
.vote-button{background:#29b5e8;color:#0b205b;border-radius:7px;font-family:DMMono,monospace;font-size:13px;font-weight:500}
.vote-button:hover{background:#74d7f4}
.vote-button.recorded{background:#223769;color:#83d1ed}
footer{color:#a6b7dd;font-family:DMMono,monospace;font-size:10px}
footer a{color:#e4f6ff;font-weight:400}
dialog{border-color:#ffffff30;border-radius:12px;background:#172b6b;box-shadow:0 30px 100px #0005}
dialog::backdrop{background:#070d3899}
dialog h2{font-family:DMMono,monospace;font-weight:400;font-size:29px;letter-spacing:-1.5px;line-height:1.14}
dialog p{color:#c1d6f4}
.dialog-kicker{font-family:DMMono,monospace;font-weight:400;color:#29b5e8}
.close{color:#a7c9ea}
.check-mark{background:#29b5e821;color:#50d1fa;border-radius:8px}
.qr-address{color:#fff!important}
.text-link{color:#b8e7ff}
#qr-dialog img{padding:10px;border-radius:5px}
.dialog-note{color:#a7bedc}
.dialog-note,#status{font-family:DMMono,monospace;font-size:10px}
#vote-error{color:#ffcdad}

@media(max-width:800px){.wordmark{font-size:19px}
.brand-icon{width:26px;height:26px}
.brand-icon svg{width:25px;height:25px}
.intro{padding-top:0}
h1{font-size:41px;letter-spacing:-2.5px;line-height:1.14;margin:19px 0 25px}
h1>span{letter-spacing:-2.5px}
.event-date{font-size:8px;letter-spacing:1px}
.drawn-arrow{width:80px;height:50px;top:79px;right:14px;transform:rotate(-4deg)}
.venue-photo{display:none}
.filters button{font-size:10px;letter-spacing:-.25px;padding:11px 5px}
.filters button span{font-size:8px;margin-left:1px}
.card h2{font-size:26px;line-height:1.13;letter-spacing:-1.1px;margin-top:27px}
.card.demo h2{font-size:36px;letter-spacing:-1.9px}
.card-top{font-size:9px}
.art{width:152px;height:136px;bottom:59px}
.vote-button{font-size:12px}
.speaker-name{font-size:14px}
.speaker-company{font-size:11px}
footer{font-size:9px}
.intro h1 br{display:initial}
}


.filters{overflow-x:auto;max-width:100%}
