/* The floating ticket for the sign-up question and the trip ticket (onboard.js). A ticket keeps its paper colours
   in both themes, so this sheet carries its own and does not depend on the page's tokens. */
.ob{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:min(460px,calc(100vw - 24px));
  transform:translate(-50%,24px);opacity:0;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .22s}
.ob.in{transform:translate(-50%,0);opacity:1}
@media (max-width:900px){.ob{bottom:calc(64px + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:reduce){.ob{transition:none}}
.ob-tk{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;background:var(--record-techno,#d3caf6);color:#0d0f14;
  box-shadow:0 18px 40px -18px rgba(8,10,16,.55),0 2px 0 rgba(8,10,16,.08);max-height:calc(100vh - 120px);overflow:auto}
.ob-main{padding:16px 16px 16px;display:grid;gap:8px;min-width:0;font:400 11px/1.45 "Martian Mono",ui-monospace,monospace}
.ob-stub{border-left:2px dashed #0d0f14;display:grid;place-items:center}
.ob-stub svg{width:18px;height:18px}
.ob-x{all:unset;cursor:pointer;position:absolute;top:8px;right:52px;width:28px;height:28px;display:grid;place-items:center}
.ob-x svg{width:14px;height:14px}
.ob-no{font:500 9.5px/1.2 "Martian Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.7;padding-right:30px}
.ob-title{font:800 26px/.9 "Doto","Martian Mono",monospace;text-transform:uppercase;letter-spacing:-.01em}
.ob-sub{font:400 10.5px/1.45 "Martian Mono",ui-monospace,monospace}
.ob-form{display:grid;gap:12px}
.ob fieldset{border:0;margin:0;padding:0;display:grid;gap:6px}
.ob legend{padding:0;margin-bottom:6px;font:500 9.5px/1.2 "Martian Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}
.ob-opts{display:flex;flex-wrap:wrap;gap:6px}
.ob-opts[hidden]{display:none}
.ob-roles{padding-top:2px}
.ob-roles .ob-o span{padding:7px 8px;font-size:10px}
.ob-o{position:relative;cursor:pointer}
.ob-o input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ob-o span{display:inline-block;white-space:nowrap;border:1px solid #0d0f14;padding:9px 10px;font:500 10.5px/1 "Martian Mono",ui-monospace,monospace}
.ob-o input:checked+span{background:#0d0f14;color:var(--record-techno,#d3caf6)}
.ob-o input:focus-visible+span{outline:2px solid #0d0f14;outline-offset:2px}
.ob-btns{display:flex;gap:8px;align-items:center;margin-top:4px}
.ob-go{all:unset;cursor:pointer;background:#0d0f14;color:var(--record-techno,#d3caf6);font:600 11px/1 "Martian Mono",ui-monospace,monospace;padding:13px 16px}
.ob-ghost{all:unset;cursor:pointer;font:600 10.5px/1 "Martian Mono",ui-monospace,monospace;padding:13px 10px;text-decoration:underline;text-underline-offset:3px}
:is(.ob-go,.ob-ghost,.ob-x):focus-visible{outline:2px solid #0d0f14;outline-offset:2px}
