@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff")}:root{--bg:#0a0f1a;--panel:#101828;--line:#2c3a58;--line-hi:#4a5a82;--text:#e9edf7;--muted:#93a0bf;--green:#3ecf8e;--green-dark:#1f8f5f;--purple:#7c6aef;--red:#ff5d6c;--gold:#ffd166;--paper:#f4f1e4;--ink:#161a26;--px:3px;--font-pixel:"Press Start 2P", ui-monospace, monospace;--font-body:"VT323", ui-monospace, monospace;--app-h:100dvh;--app-top:0px;--strip-h:156px}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);height:100%;margin:0;overflow:hidden}body{color:var(--text);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:22px;line-height:1.15}button,input,select,textarea{font:inherit;color:inherit;border-radius:0}a{color:var(--green)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{left:0;top:var(--app-top);width:100%;height:var(--app-h);background:var(--bg);position:fixed;overflow:hidden}.scene{image-rendering:crisp-edges;image-rendering:pixelated;touch-action:manipulation;cursor:pointer;display:block;position:absolute;bottom:0;left:0}.ui{pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.content{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;min-height:0;padding:6px 12px 10px;display:flex}.strip{height:var(--strip-h);flex:none}@media (width>=900px) and (height>=700px){.content{justify-content:center}}.app.compact{--strip-h:70px}.app.compact .panel{min-height:0}.app.compact .panel-actions.pinned{position:static}.app.compact .hud,.app.compact .bubble,.app.compact .floater{display:none}.hud{padding:max(8px, env(safe-area-inset-top)) 12px 10px;pointer-events:auto;background:linear-gradient(#0a0f1ad9,#0a0f1a00);flex:none;align-items:center;gap:10px;display:flex}.brand{font-family:var(--font-pixel);color:var(--text);align-items:center;gap:8px;font-size:10px;text-decoration:none;display:flex}.brand img{width:30px;height:30px}.hud-mid{flex:1;justify-content:center;gap:5px;display:flex}.pip{background:var(--line);width:12px;height:12px;box-shadow:0 0 0 2px #05080f}.pip.done{background:var(--green)}.pip.current{background:var(--gold);animation:1s steps(2,end) infinite blink}.hearts{gap:3px;display:flex}.icon-btn{background:var(--panel);width:38px;height:38px;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--line), 0 var(--px) 0 0 var(--line), calc(-1 * var(--px)) 0 0 0 var(--line), var(--px) 0 0 0 var(--line);cursor:pointer;border:0;place-items:center;padding:0;display:grid}.icon-btn:focus-visible,.btn:focus-visible,.chip:focus-visible,.hero-card:focus-visible,.link-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.panel{width:calc(100% - 2 * var(--px));max-width:620px;min-height:min(100% - 2 * var(--px), var(--app-h) * .58);max-height:calc(100% - 2 * var(--px));margin:var(--px);--pad-x:20px;--pad-b:20px;padding:20px var(--pad-x) var(--pad-b);overscroll-behavior:contain;box-shadow:0 calc(-1 * var(--px)) 0 0 var(--line-hi), 0 var(--px) 0 0 var(--line-hi), calc(-1 * var(--px)) 0 0 0 var(--line-hi), var(--px) 0 0 0 var(--line-hi), calc(3 * var(--px)) calc(3 * var(--px)) 0 0 #00000073;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--line-hi) transparent;background:#101828f5;flex-direction:column;display:flex;overflow-y:auto}.panel>*{flex:none}.panel.narrow{text-align:center;max-width:500px;min-height:0}.panel.narrow .stage-tag{align-self:center}.stage-tag{font-family:var(--font-pixel);color:var(--ink);background:var(--gold);align-self:flex-start;padding:5px 7px 4px;font-size:9px;display:inline-block}.stage-name{font-family:var(--font-pixel);color:var(--text);outline:none;margin:12px 0 6px;font-size:15px;font-weight:400;line-height:1.4}.stage-story{color:var(--muted);margin:0 0 20px}.panel-actions{gap:12px;margin-top:auto;padding-top:6px;display:flex}.panel-actions .btn.primary{flex:1}.field{min-width:0;margin-bottom:18px;position:relative}.field-row{grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr;column-gap:12px;margin-bottom:18px;display:grid}.field-row .field{grid-template-rows:subgrid;grid-row:span 3;margin-bottom:0;display:grid}.field-row .label{align-self:end}.label{font-family:var(--font-pixel);letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-bottom:9px;padding-right:46px;font-size:10px;line-height:1.5;display:block}.field .ok{font-family:var(--font-pixel);color:var(--green);font-size:10px;line-height:1.5;position:absolute;top:0;right:0}.label .optional{color:var(--line-hi);margin-left:8px}@media (width<=660px){.field-row .label{width:min-content}}.input{width:100%;color:var(--text);background:var(--bg);border:var(--px) solid var(--line);outline:none;padding:10px 12px 9px;font-size:24px;display:block}.input::placeholder{color:#4d5878}.input:focus{border-color:var(--purple)}.field.valid .input{border-color:var(--green-dark)}.field.invalid .input{border-color:var(--red);animation:.25s steps(5,end) shake}textarea.input{resize:vertical;min-height:96px}select.input{appearance:none;text-overflow:ellipsis;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' shape-rendering='crispEdges'%3E%3Cpath fill='%2393a0bf' d='M0 0h14v2H0zM2 2h10v2H2zM4 4h6v2H4zM6 6h2v2H6z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}select.input option,select.input optgroup{color:var(--text);background:var(--panel)}.hint,.error{margin:7px 0 0;font-size:19px;line-height:1.1}.hint{color:var(--muted)}.error{color:var(--red)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);background:var(--bg);border:var(--px) solid var(--line);cursor:pointer;padding:5px 10px 4px;font-size:20px}.chip:hover{border-color:var(--line-hi)}.chip[aria-pressed=true],.chip.on{color:var(--green);border-color:var(--green);background:#10301f}.chip input{opacity:0;pointer-events:none;position:absolute}.chip:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}.btn{font-family:var(--font-pixel);text-align:center;text-transform:uppercase;color:var(--text);background:var(--panel);box-shadow:inset 0 -4px 0 0 #0000004d, 0 calc(-1 * var(--px)) 0 0 var(--line-hi), 0 var(--px) 0 0 var(--line-hi), calc(-1 * var(--px)) 0 0 0 var(--line-hi), var(--px) 0 0 0 var(--line-hi);margin:var(--px);cursor:pointer;pointer-events:auto;border:0;padding:17px 18px 18px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.btn.primary{color:#06281a;background:var(--green);box-shadow:inset 0 -4px 0 0 var(--green-dark), 0 calc(-1 * var(--px)) 0 0 #05080f, 0 var(--px) 0 0 #05080f, calc(-1 * var(--px)) 0 0 0 #05080f, var(--px) 0 0 0 #05080f}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{opacity:.55;cursor:default}.btn.big{padding:18px 22px 19px;font-size:13px}.link-btn{color:var(--muted);cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;font-size:19px;text-decoration:underline}.link-btn:hover{color:var(--text)}.title .link-btn{color:var(--text);background:#0a0f1ab8;padding:4px 10px}.title{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:560px;margin:auto 0;padding:8px 0;display:flex}.title>*{pointer-events:auto}.title img{filter:drop-shadow(4px 4px #00000080);width:92px;height:92px}.title h1{font-family:var(--font-pixel);color:#fff;text-shadow:4px 4px #05080f,-2px 0 #05080f,0 -2px #05080f;margin:0;font-size:clamp(24px,8vw,44px);font-weight:400;line-height:1.25}.title h1 span{color:var(--green)}.tagline{color:var(--text);text-shadow:2px 2px #05080f;margin:0;font-size:24px}.badge{font-family:var(--font-pixel);color:var(--ink);background:var(--gold);margin:0;padding:6px 9px 5px;font-size:9px;line-height:1.6}.badge.invite{color:#e6e0ff;background:#3b2f8f}.blink{animation:1.1s steps(2,end) infinite blink}.fine{color:var(--text);background:#0a0f1ab8;margin:0;padding:6px 10px;font-size:19px}.big-title{font-family:var(--font-pixel);color:var(--gold);margin:4px 0 12px;font-size:17px;font-weight:400;line-height:1.5}.panel p{margin:0 0 12px}.socials{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 6px;display:grid}.email-box{color:var(--green);background:var(--bg);border:var(--px) dashed var(--green-dark);overflow-wrap:anywhere;margin:0 0 12px;padding:8px 10px;font-size:22px}.hero-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 4px;display:grid}.hero-card{min-width:0;color:var(--text);background:var(--bg);border:var(--px) solid var(--line);cursor:pointer;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:10px 4px 8px;display:flex}.hero-card[aria-checked=true]{border-color:var(--green);background:#10301f}.hero-card .name{font-family:var(--font-pixel);font-size:9px}.hero-sprite{image-rendering:crisp-edges;image-rendering:pixelated;animation:sprite-play var(--dur) steps(var(--frames)) infinite;background-repeat:no-repeat}.hero-blurb{min-height:2.3em;color:var(--muted);margin:10px 0 0}@keyframes sprite-play{0%{background-position-x:var(--from)}to{background-position-x:var(--to)}}.scroll{margin:0 0 4px;padding:0;list-style:none}.scroll li{border-bottom:2px dashed var(--line);justify-content:space-between;gap:12px;padding:6px 0 5px;display:flex}.scroll .k{color:var(--muted);flex:none}.scroll .v{text-align:right;overflow-wrap:anywhere;min-width:0}.scroll-group{font-family:var(--font-pixel);color:var(--gold);justify-content:space-between;align-items:center;margin:12px 0 2px;font-size:9px;display:flex}.scroll-group .link-btn{font-family:var(--font-body)}.panel-actions.pinned{bottom:calc(-1 * var(--pad-b));margin:auto calc(-1 * var(--pad-x)) calc(-1 * var(--pad-b));padding:14px var(--pad-x) var(--pad-b);background:var(--panel);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--line);position:sticky}.alert{color:#ffd9dd;border:var(--px) solid var(--red);background:#3a1220;margin:14px 0 0;padding:9px 10px}.alert .link-btn{color:#ffd9dd}.bubble{--bubble-bg:var(--paper);z-index:3;max-width:min(66vw,320px);color:var(--ink);background:var(--bubble-bg);box-shadow:0 calc(-1 * var(--px)) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(-1 * var(--px)) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink);pointer-events:none;padding:7px 10px 6px;font-size:21px;line-height:1.05;animation:.16s steps(3,end) pop;position:absolute}.bubble.villain{--bubble-bg:#ffe3e0;color:#3a0d16}.bubble:after{content:"";bottom:calc(-1 * var(--px));width:var(--px);height:var(--px);background:var(--bubble-bg);box-shadow:calc(-1 * var(--px)) 0 0 0 var(--bubble-bg), var(--px) 0 0 0 var(--bubble-bg), calc(-2 * var(--px)) var(--px) 0 0 var(--ink), calc(-1 * var(--px)) var(--px) 0 0 var(--bubble-bg), 0 var(--px) 0 0 var(--bubble-bg), var(--px) var(--px) 0 0 var(--bubble-bg), calc(2 * var(--px)) var(--px) 0 0 var(--ink), calc(-1 * var(--px)) calc(2 * var(--px)) 0 0 var(--ink), 0 calc(2 * var(--px)) 0 0 var(--bubble-bg), var(--px) calc(2 * var(--px)) 0 0 var(--ink), 0 calc(3 * var(--px)) 0 0 var(--ink);position:absolute}.bubble.hero:after{left:calc(var(--tail) - var(--px) / 2)}.bubble.villain:after{right:calc(var(--tail) - var(--px) / 2)}.floater{z-index:4;font-family:var(--font-pixel);white-space:nowrap;text-shadow:2px 2px #05080f,-2px 0 #05080f,0 -2px #05080f,2px 0 #05080f;pointer-events:none;font-size:10px;animation:1s steps(12,end) forwards float-up;position:absolute;transform:translate(-50%,-100%)}.floater.good{color:#fff}.floater.bad{color:var(--red)}.floater.gold{color:var(--gold)}@keyframes blink{50%{opacity:.25}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes float-up{to{opacity:0;transform:translate(-50%,calc(-100% - 32px))}}@media (prefers-reduced-motion:reduce){.blink,.pip.current,.hero-sprite,.field.invalid .input,.bubble{animation:none}}@media (width<=380px){.brand span{display:none}.panel{--pad-x:14px;--pad-b:16px;padding-top:16px}.btn{font-size:10px}}
