@font-face{font-family:Anton;font-weight:400;font-display:block;src:url(../assets/fonts/anton-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Anton;font-weight:400;font-display:block;src:url(../assets/fonts/anton-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'IBM Plex Mono';font-weight:400;font-display:block;src:url(../assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:block;src:url(../assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02FF,U+1E00-1EFF}
@font-face{font-family:'IBM Plex Mono';font-weight:700;font-display:block;src:url(../assets/fonts/ibm-plex-mono-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212}
@font-face{font-family:'IBM Plex Mono';font-weight:700;font-display:block;src:url(../assets/fonts/ibm-plex-mono-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02FF,U+1E00-1EFF}
@font-face{font-family:'Instrument Serif';font-weight:400;font-style:normal;font-display:block;src:url(../assets/fonts/instrument-serif-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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';font-weight:400;font-style:normal;font-display:block;src:url(../assets/fonts/instrument-serif-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:400;font-style:italic;font-display:block;src:url(../assets/fonts/instrument-serif-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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';font-weight:400;font-style:italic;font-display:block;src:url(../assets/fonts/instrument-serif-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'DM Sans';font-weight:400;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-weight:400;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'DM Sans';font-weight:500;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-weight:500;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'DM Sans';font-weight:700;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-weight:700;font-style:normal;font-display:block;src:url(../assets/fonts/dm-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}

/* ---------- palette: indie.md dark theme (see NOTES.md) ---------- */
:root{--bg:#161412;--card:#221F1C;--surface:#272421;--border:#37332F;--cream:#EBE7E0;--muted:#989081;--orange:#E87A30;--orange-deep:#E66B19;--orange-light:#EB8947;--yellow:#FACC15;--ink:#161412;
  --ease:cubic-bezier(.2,.9,.25,1)}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#0B0A09;overflow:hidden;cursor:none}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--cream);-webkit-font-smoothing:antialiased;font-kerning:normal}
#stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;opacity:0;transition:opacity .4s}
body.ready #stage{opacity:1}
#bg,#back,#gl,#slides,#chrome{position:absolute;inset:0;width:1920px;height:1080px}
#bg{background:var(--bg)}
#bg::before{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .5  0 0 0 0 .45  0 0 0 .18 0'/></filter><rect width='400' height='400' filter='url(%23n)'/></svg>")}
#bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 72% 30%,rgba(232,122,48,.10),transparent 70%),radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.35) 100%)}
#gl{pointer-events:none}
.slide{position:absolute;inset:0;display:none}
.slide.active,.slide.leaving{display:block}
.slide.leaving{animation:leave .3s ease forwards}
@keyframes leave{to{opacity:0;translate:0 -14px}}
.slide>*{position:absolute}
.fb{display:block}
body.gl .fb{display:none!important}

/* ---------- chrome ---------- */
#chrome{pointer-events:none;font:500 16px/1 'DM Sans';letter-spacing:.24em;text-transform:uppercase;color:var(--muted);transition:opacity .3s}
#chrome.off{opacity:0}
#chrome>div{position:absolute}
.c-tl{left:90px;top:34px}.c-tr{right:90px;top:34px}.c-bl{left:90px;bottom:30px}
.c-br{right:90px;bottom:26px;font:400 20px 'IBM Plex Mono';letter-spacing:.06em}
.c-rail{left:0;bottom:0;height:5px;width:100%;background:rgba(235,231,224,.06)}
#c-bar{height:100%;width:0;background:var(--orange);transition:width .6s var(--ease)}
#stage[data-slide=decision-4] #chrome{color:var(--ink)}

/* ---------- type ---------- */
.h-serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;margin:0;line-height:1;letter-spacing:-.005em;color:var(--cream)}
.h-serif em{color:var(--orange);font-style:italic}
.h-anton{font-family:Anton;font-weight:400;margin:0;line-height:1;letter-spacing:.01em;color:var(--cream)}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.kicker{font:700 22px/1 'DM Sans';letter-spacing:.3em;text-transform:uppercase;color:var(--orange);white-space:nowrap}
.star{color:var(--orange)}
.photo{display:block;height:auto;object-fit:contain;max-width:none}
.mount{background:var(--cream);padding:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4);line-height:0}
canvas.robot{display:block}
.w{white-space:nowrap;display:inline-block}
.ch{display:inline-block}

/* ---------- entry animations (individual transform props so element rotations survive) ---------- */
.slide.play [data-a]{animation-duration:.7s;animation-fill-mode:both;animation-delay:var(--d,0s);animation-timing-function:cubic-bezier(.2,.9,.25,1)}
.slide.play [data-a=up]{animation-name:a-up}
.slide.play [data-a=drop]{animation-name:a-drop;animation-duration:.8s}
.slide.play [data-a=pop]{animation-name:a-pop;animation-duration:.5s}
.slide.play [data-a=stamp]{animation-name:a-stamp;animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.9,.25,1)}
.slide.play [data-a=hero]{animation-name:a-hero;animation-duration:1.1s;animation-timing-function:cubic-bezier(.2,.9,.25,1)}
.slide.play [data-a=type]{animation-name:a-type;animation-duration:.55s;animation-timing-function:steps(22,end)}
.slide.play [data-a=wipe]{animation-name:a-type;animation-duration:.8s}
.slide.play [data-a=slam]{animation-name:a-slam;animation-duration:.75s;animation-timing-function:linear}
.slide.play [data-a=thud]{animation-name:a-thud;animation-duration:.3s;animation-timing-function:cubic-bezier(.7,0,1,.5)}
.slide.play [data-a=land]{animation-name:a-land;animation-duration:.55s}
.slide.play [data-a=grow]{animation-name:a-grow;transform-origin:top}
.slide.play [data-a=grow-x]{animation-name:a-growx;transform-origin:center}
@keyframes a-up{from{opacity:0;translate:0 44px}to{opacity:1;translate:0 0}}
@keyframes a-drop{from{opacity:0;translate:0 -90px;scale:1.08}to{opacity:1;translate:0 0;scale:1}}
@keyframes a-pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes a-stamp{from{opacity:0;scale:1.25}to{opacity:1;scale:1}}
@keyframes a-hero{from{opacity:0;scale:.55;translate:0 40px}to{opacity:1;scale:1;translate:0 0}}
@keyframes a-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes a-slam{0%{translate:0 -900px;animation-timing-function:cubic-bezier(.55,0,1,.45)}55%{translate:0 0;animation-timing-function:cubic-bezier(0,.55,.45,1)}70%{translate:0 -60px;animation-timing-function:cubic-bezier(.55,0,1,.45)}85%{translate:0 0}92%{translate:0 -14px}100%{translate:0 0}}
@keyframes a-thud{from{opacity:0;scale:4}to{opacity:1;scale:1}}
@keyframes a-land{from{opacity:0;translate:0 -70px}to{opacity:1;translate:0 0}}
@keyframes a-grow{from{scale:1 0}to{scale:1 1}}
@keyframes a-growx{from{scale:0 1}to{scale:1 1}}
.shake{animation:shake .4s linear}
@keyframes shake{0%,100%{translate:0 0}15%{translate:-14px 6px}30%{translate:12px -8px}45%{translate:-9px 4px}60%{translate:7px -3px}75%{translate:-4px 2px}}
.static [data-a],.static .ch{animation:none!important}


/* ---------- 0 title: steam-engine power-on ---------- */
.s0-engine{position:absolute;left:1190px;top:96px;height:470px;width:auto;opacity:.95}
.s0-head,.s0-name,.s0-foot{font:500 22px/1 'DM Sans';letter-spacing:.26em;white-space:nowrap;color:var(--muted)}
.s0-head{left:92px;top:60px}.s0-name{right:92px;top:60px;color:var(--cream)}
.s0-foot{left:92px;bottom:56px}
.s0-title{left:84px;top:560px;margin:0;font:italic 400 214px/1 'Instrument Serif';letter-spacing:-.01em;white-space:nowrap}
.s0-title>span{display:block;padding-right:.08em}
.s0-title .l1{color:var(--cream)}.s0-title .l2{color:var(--orange)}
.s0-gear{left:1020px;top:250px;width:310px;height:310px}
.slide.play .s0-title .ch{animation:a-up .8s var(--ease) both;animation-delay:calc(.15s + var(--i) * 28ms)}
.slide.play .s0-title .l2 .ch{animation-delay:calc(.45s + var(--i) * 28ms)}
.slide.play .s0-head .ch,.slide.play .s0-foot .ch,.slide.play .s0-name .ch{animation:ch-fade .6s ease-out both;animation-delay:calc(.6s + var(--i) * 10ms)}
@keyframes ch-fade{from{opacity:0}to{opacity:1}}
.power .flip .ch{animation:flipx .75s cubic-bezier(.65,0,.35,1) both!important;animation-delay:calc(var(--i) * 45ms)!important}
.power .s0-title .l1 .ch{color:var(--orange)}.power .s0-title .l2 .ch{color:var(--cream)}
@keyframes flipx{from{transform:rotateX(0)}to{transform:rotateX(360deg)}}

/* ---------- 1 indie tm ---------- */
.s1-logo{left:92px;top:92px;background:var(--cream);padding:16px 24px;border-radius:12px;line-height:0}
.s1-kicker{left:94px;top:262px}
.s1-title{left:86px;top:298px;font-size:200px}
.s1-host{left:94px;top:530px;margin:0;font:400 34px/1.3 'DM Sans';color:var(--cream)}
.s1-list{left:94px;top:600px;margin:0;padding:0;list-style:none;font-size:30px;line-height:1.6;color:var(--muted)}
.s1-list li{display:block;width:max-content}
.s1-count{left:94px;top:812px;display:flex;align-items:center;gap:30px}
.s1-count .num{font:400 150px/1 Anton;color:var(--orange);min-width:1.1em}
.s1-meta{display:flex;flex-direction:column;gap:20px}
.s1-meta .lbl{font:700 22px/1 'DM Sans';letter-spacing:.3em;color:var(--cream)}
.dots{display:flex;gap:10px}
.dots i{width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 2px var(--border);transition:background .45s ease-out,box-shadow .45s ease-out,scale .45s var(--ease)}
.dots i.on{background:var(--orange);box-shadow:none}
.static .dots i{background:var(--orange);box-shadow:none}
.s1-photo{left:1030px;top:180px}

/* ---------- 2 halloween ---------- */
.s2-photo{left:170px;top:96px}
.s2-kicker{left:1004px;top:318px}.s2-kicker .dot{color:var(--yellow)}
.s2-title{left:996px;top:360px;font-size:150px;line-height:1.02}
.s2-copy{left:1004px;top:700px;margin:0;font:400 34px/1.3 'DM Sans';color:var(--muted)}

/* ---------- 3 calm companies ---------- */
.s3-kicker{left:92px;top:118px}
.s3-title{left:86px;top:156px;font-size:184px}
.s3-tag{left:92px;top:548px;background:var(--cream);color:var(--ink);padding:18px 40px 22px 76px;font:700 46px/1 'DM Sans';clip-path:polygon(40px 0,100% 0,100% 100%,40px 100%,0 50%);display:flex;align-items:baseline;gap:8px}
.s3-tag::before{content:"";position:absolute;left:30px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--bg)}
.s3-tag span{font:400 96px/1 Anton;color:var(--orange-deep)}
.s3-count{left:86px;top:716px;display:flex;align-items:flex-end;gap:26px}
.s3-count .num{font:400 280px/.9 Anton;color:var(--orange);min-width:2.1ch;display:inline-block}
.s3-count .num.done{animation:a-pop .5s var(--ease)}
.s3-count .lbl{font:500 38px/1.25 'DM Sans';padding-bottom:30px;width:300px;color:var(--cream)}
.s3-tray{left:1140px;top:700px;width:670px;height:312px;border:8px solid var(--border);border-top:none;background:linear-gradient(transparent,rgba(235,231,224,.03))}

/* ---------- 4 sabbatical ---------- */
.s4-kicker{left:94px;top:122px}
.s4-title{left:86px;top:160px;font-size:170px;line-height:1.02}
.s4-copy{left:94px;top:540px;margin:0;width:860px;font:400 40px/1.45 'DM Sans';color:var(--cream)}
.s4-copy b{font-weight:700;color:var(--orange)}.s4-copy em{font-style:normal;color:var(--yellow)}
.s4-payoff{left:92px;top:820px;font-size:110px;color:var(--orange)}
.s4-env{left:1120px;top:520px;width:620px;height:400px;background:#BDB3A3;border:6px solid var(--bg)}
.fb-notes{position:absolute;left:0;top:-330px;display:grid;grid-template-columns:repeat(5,110px);gap:14px}
.fb-notes span{display:block;height:80px;background:var(--cream);font:400 50px/80px Anton;color:var(--orange-deep);text-align:center}

/* ---------- 5 new york ---------- */
.s5-kicker{left:92px;top:118px;color:var(--muted)}
.s5-photo{left:506px;top:92px}

/* ---------- 6 binder bet ---------- */
.s6-photo{left:92px;top:160px}
.s6-kicker{left:1214px;top:250px}
.s6-quote{left:1206px;top:296px;width:640px;margin:0;font-size:104px;line-height:1.02}
.s6-quote span{display:block;margin-bottom:40px}
.s6-quote .hot{color:var(--orange)}

/* ---------- 7 money arc ---------- */
.s7-kicker{left:94px;top:122px}
.s7-row{left:0;right:0;top:230px;height:420px;display:flex;align-items:center;justify-content:center;gap:40px}
.s7-row>*{position:relative}
.s7-row .m{display:flex;flex-direction:column;align-items:center;gap:14px}
.s7-row .step{font-size:22px;color:var(--muted);letter-spacing:.1em}
.s7-row .small .amt{font:400 150px/1 Anton;color:var(--muted)}
.s7-row .hero .amt{font:400 330px/1 Anton;color:var(--orange)}
.s7-row .hero .step{color:var(--orange)}
.s7-line{width:120px;height:4px;background:var(--border);border-radius:2px}
.s7-quote{left:200px;right:200px;top:730px;margin:0;font-size:60px;line-height:1.2;text-align:center}

/* ---------- 8 show of hands ---------- */
.s8-half{position:absolute;top:0;bottom:0;width:960px}
.s8-half.l{left:0;background:var(--cream)}.s8-half.r{left:960px;background:var(--orange)}
.s8-kicker{left:0;right:0;margin:0 auto;width:max-content;top:84px;background:var(--ink);color:var(--cream);padding:16px 28px;white-space:nowrap}
.s8-word{top:0;bottom:0;width:960px;display:flex;align-items:center;justify-content:center;text-align:center;font:400 220px/.92 Anton;padding:0 60px;letter-spacing:.01em}
.s8-word.l{left:0;color:var(--ink)}
.s8-word.r{left:960px;color:var(--ink);line-height:1;flex-wrap:wrap;align-content:center}
.s8-word.r .w{display:block;width:100%}
.s8-hand{bottom:70px;width:960px;text-align:center;font-size:30px;font-weight:700;letter-spacing:.2em;display:flex;align-items:center;justify-content:center;gap:18px;color:var(--ink)}
.s8-hand.l{left:0}.s8-hand.r{left:960px}
.s8-hand .hand{width:46px;height:58px;color:var(--ink)}
.s8-or{left:845px;top:425px;width:230px;height:230px;border-radius:50%;background:var(--ink);color:var(--cream);font:400 120px/230px Anton;text-align:center;box-shadow:0 0 0 10px var(--yellow)}

/* ---------- 9 the answer ---------- */
.s9-kicker{left:92px;top:118px}
.s9-title{left:86px;top:154px;font-size:120px}
.s9-grid{left:90px;right:90px;top:320px;height:590px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:28px}
.s9-grid>.cell{position:relative;border-radius:14px;padding:34px 30px;display:flex;flex-direction:column;color:var(--ink)}
.cell .big{font:400 128px/1 Anton;white-space:nowrap}
.cell.c1 .lbl,.cell.c2 .lbl,.cell.c4 .lbl{margin-top:auto;font:700 42px/1.2 'DM Sans'}
.cell .big .unit{font-size:70px}
.cell .lbl{font:500 32px/1.3 'DM Sans';margin-top:14px}
.cell.c3 .c3l{margin-top:auto;font:700 42px/1.2 'DM Sans'}
.c1{background:var(--cream)}.c2{background:var(--orange)}.c3{background:var(--card);color:var(--cream)!important;box-shadow:inset 0 0 0 2px var(--border)}.c4{background:var(--yellow)}
.c3 .zero{position:relative;margin-top:auto;font:400 230px/.85 Anton;color:var(--orange);width:max-content}
.c3 .zl{margin-top:0;font:700 42px/1.2 'DM Sans'}

/* ---------- 10 closer ---------- */
.s10-mark{left:56px;top:70px;font:italic 400 360px/1 'Instrument Serif';color:var(--orange)}
.tw{left:236px;top:150px;right:60px;font-size:48px;line-height:1.6;color:var(--cream)}
.tw p{margin:0;white-space:nowrap}
.tw .k{visibility:hidden}.tw .k.on{visibility:visible}
.tw .finale{font:400 132px/1.05 Anton;color:var(--orange);margin-top:26px;letter-spacing:.01em}
.tw .finale.lit{animation:a-pop .5s var(--ease)}
.tw .finale .cursor{background:var(--orange)}
.cursor{display:inline-block;width:.55em;height:1.05em;background:var(--cream);vertical-align:-.15em;animation:blink 1.1s ease-in-out infinite}
@keyframes blink{50%{opacity:.15}}
.s10-by{left:240px;top:930px;font-size:32px;font-weight:700;color:var(--muted)}

/* ---------- 11 setups ---------- */
.s11-kicker{left:92px;top:70px}
.s11-title{left:86px;top:104px;font-size:100px}
.s11-count{right:92px;top:104px;display:flex;align-items:center;gap:20px}
.s11-count .num{font:400 136px/1 Anton;color:var(--yellow);min-width:1.15em;text-align:right}
.s11-count .lbl{font:700 22px/1.35 'DM Sans';letter-spacing:.3em;color:var(--orange)}
.s11-more{right:152px;top:316px;font-size:20px;letter-spacing:.06em;color:var(--muted)}
.s11-raul{left:850px;top:70px;width:220px;height:170px;background:var(--orange);border-radius:14px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}
.s11-raul .nm{font:400 84px/1 Anton}.s11-raul .mono{font-size:20px;font-weight:700}
.s11-stem{left:957px;top:240px;width:6px;height:124px;background:var(--cream)}
.s11-bar{left:152px;top:360px;width:1616px;height:6px;background:var(--cream)}
.s11-bots{left:60px;right:60px;top:420px;display:grid;grid-template-columns:repeat(9,1fr);gap:10px;text-align:center}
.s11-bots .bot{display:flex;flex-direction:column;align-items:center;font:400 30px/1.1 Anton}
.s11-bots canvas{width:150px;height:150px}.s11-bots .mono{font:700 18px 'IBM Plex Mono';color:var(--muted)}
.s11-vote{left:0;right:0;top:760px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:30px}
.s11-vote .kicker{width:100%;text-align:center;margin-bottom:6px}
.vote{font:400 60px/1 Anton;border-radius:14px;padding:24px 40px 28px;display:flex;align-items:center;gap:22px;color:var(--ink)}
.vote.a{background:var(--orange)}.vote.b{background:var(--cream)}
.vote .tag{display:inline-flex;width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--cream);align-items:center;justify-content:center;font:400 40px/1 Anton}
.vs{font:700 30px 'IBM Plex Mono';color:var(--muted)}

/* ---------- 12 thanks ---------- */
.s12-thanks{left:84px;top:110px;font-size:300px;line-height:.95}
.s12-x{left:94px;top:760px;font:500 52px/1 'DM Sans';color:var(--cream);display:flex;align-items:center;gap:22px}
.s12-x .lbl{font-size:24px;font-weight:700;color:var(--ink);background:var(--orange);width:52px;height:52px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.s12-qr{left:1170px;top:150px;background:#fff;padding:34px 34px 22px;border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.8)}
.s12-site{margin-top:14px;text-align:center;font:700 34px/1 'IBM Plex Mono';color:#161412;letter-spacing:.04em}

/* ---------- overlays ---------- */
#overlay{position:fixed;left:0;right:0;bottom:0;max-height:40vh;background:rgba(10,10,10,.92);color:#fff;font:20px/1.4 'IBM Plex Mono';padding:14px 24px;display:none;z-index:20;cursor:default}
#overlay.on{display:block}
.ov-top{display:flex;gap:24px;align-items:baseline;color:#FACC15}.ov-next{opacity:.7}.ov-time{margin-left:auto;font-size:28px}
#black{position:fixed;inset:0;background:#000;display:none;z-index:30}#black.on{display:block}
#help{position:fixed;right:20px;top:20px;background:rgba(10,10,10,.9);color:#fff;font:16px/1.6 'IBM Plex Mono';padding:16px 22px;display:none;z-index:40;white-space:pre}#help.on{display:block}
#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;color:#EBE7E0;font:700 18px 'DM Sans';letter-spacing:.3em}
body.ready #loading{display:none}

/* ---------- presenter ---------- */
body.presenter{background:#161412;color:#EBE7E0;cursor:default;overflow:auto;font-family:'DM Sans'}
.p-top{display:flex;gap:28px;align-items:baseline;padding:14px 24px;border-bottom:1px solid #333;font-size:22px}
.p-count{font:700 30px 'IBM Plex Mono';color:#FACC15}.p-title{font-weight:700}.p-timer{margin-left:auto;font:700 44px 'IBM Plex Mono';cursor:pointer;color:#E87A30}.p-clock{font:30px 'IBM Plex Mono';opacity:.8}.p-status{font:14px 'IBM Plex Mono';opacity:.6}
.p-main{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;padding:20px 24px}
.p-label{font:700 14px 'DM Sans';letter-spacing:.3em;opacity:.6;margin-bottom:8px}
.p-frame{position:relative;width:100%;overflow:hidden;background:#000;border-radius:4px}
.p-stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;color:var(--cream)}
.p-stage .p-bg{position:absolute;inset:0;background:var(--bg)}
.p-stage .p-back,.p-stage .slide{position:absolute;inset:0}.p-stage .slide{display:block}
.p-end{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 300px Anton;color:#555;background:#111}
.p-notes{font-size:26px;line-height:1.45;padding-left:28px;margin:22px 0}
.p-notes li{margin-bottom:10px}
.p-btns{display:flex;gap:10px}.p-btns button{flex:1;font:700 18px 'IBM Plex Mono';padding:14px;background:#2a2622;color:#fff;border:1px solid #555;border-radius:6px;cursor:pointer}
body.nogl .s3-tray,.static .s3-tray{display:none}
