/*
 * BitPoints — Base Styles
 * Editorial flat, dark mode
 */
/* clearfix */
* html .cf {
  zoom: 1;
}
/* IE6 */
*:first-child + html .cf {
  zoom: 1;
}
/* IE */
/**
 * Reset
 */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
code,
del,
em,
font,
img,
small,
strike,
strong,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
nav,
menu,
section,
header,
footer,
main,
article {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1.5;
}
ol,
ul {
  list-style: none;
}
button,
input,
select,
textarea {
  font-family: inherit;
  color: inherit;
}
img {
  max-width: 100%;
  display: block;
}
@keyframes bp-card-bounce {
  0% {
    transform: scale(1) rotate(0deg);
  }
  35% {
    transform: scale(1.12) rotate(-3deg);
  }
  65% {
    transform: scale(0.96) rotate(2deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
/**
 * External (marketing / home) page — editorial flat
 */
#external {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 24px 40px 80px;
  min-height: 100vh;
}
.bp-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0 22px;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  margin-bottom: 56px;
}
.bp-nav .bp-nav-meta {
  display: flex;
  gap: 22px;
  align-items: center;
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #7d839a;
}
.bp-nav .bp-nav-link {
  color: #4a5169;
  font: 500 0.78rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 4px 0;
  border: 0;
  border-radius: 0;
  position: relative;
  transition: color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-nav .bp-nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: #15192a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-nav .bp-nav-link:hover {
  color: #15192a;
  background: transparent;
  border: 0;
}
.bp-nav .bp-nav-link:hover::after {
  transform: scaleX(1);
}
.bp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding: 16px 0 80px;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-hero-copy {
  max-width: 640px;
}
.bp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font: 500 0.74rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #4a5169;
}
.bp-eyebrow .bp-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #128a63;
  box-shadow: 0 0 0 4px rgba(18, 138, 99, 0.18);
  animation: bp-pulse 2.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
@keyframes bp-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 3px rgba(18, 138, 99, 0.22);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(18, 138, 99, 0);
  }
}
.bp-hero-title {
  margin-top: 28px;
  font: 700 clamp(2.8rem, 6vw, 5.4rem)/0.98 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-stretch: 92%;
  letter-spacing: -0.035em;
  color: #15192a;
}
.bp-hero-title em {
  font-style: italic;
  font-family: 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-weight: 400;
  font-stretch: 100%;
  letter-spacing: -0.01em;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
  color: #117a9c;
  padding-right: 0.04em;
}
.bp-hero-lead {
  margin-top: 28px;
  font: 400 1.18rem/1.55 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #4a5169;
  max-width: 540px;
}
.bp-hero-copy::after {
  content: '';
  display: block;
  height: 1px;
  background: rgba(21, 25, 42, 0.1);
  margin: 36px 0 18px;
}
.bp-hero-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  font: 500 0.74rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #7d839a;
}
.bp-hero-specs span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.bp-hero-specs span::before {
  content: '';
  width: 4px;
  height: 4px;
  background: #117a9c;
  display: inline-block;
}
.bp-action-card {
  background: rgba(255, 255, 255, 0.55);
  border: 1.5px solid #15192a;
  border-radius: 5px;
  padding: 0;
  position: relative;
  box-shadow: 8px 8px 0 0 rgba(21, 25, 42, 0.1);
  transition: box-shadow 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-action-card::before {
  content: none;
}
.bp-action-card::after {
  content: '';
  position: absolute;
  top: -8px;
  left: -8px;
  width: 22px;
  height: 22px;
  border-top: 2px solid #117a9c;
  border-left: 2px solid #117a9c;
  pointer-events: none;
}
.bp-action-card:hover {
  box-shadow: 10px 10px 0 0 rgba(21, 25, 42, 0.12);
  transform: translate(-1px, -1px);
}
.bp-action-card:focus-within {
  box-shadow: 8px 8px 0 0 rgba(91, 61, 240, 0.24);
}
.bp-action-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1.5px solid #15192a;
  font: 600 0.78rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #15192a;
  background: #15192a;
}
.bp-action-card-head span {
  color: #ece8de;
}
.bp-action-card-head span:last-child {
  color: rgba(236, 232, 222, 0.7);
}
.bp-tabs {
  display: flex;
  gap: 36px;
  padding: 12px 24px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 0;
}
.bp-tab {
  height: 56px;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: #7d839a;
  font: 600 1.02rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.01em;
  border-radius: 0;
  cursor: pointer;
  position: relative;
  transition: color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: #117a9c;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-tab:hover {
  color: #4a5169;
}
.bp-tab.is-active {
  color: #15192a;
  background: transparent;
  box-shadow: none;
}
.bp-tab.is-active::after {
  transform: scaleX(1);
  height: 3px;
}
.bp-tab-panel {
  display: none;
  padding: 32px 28px 28px;
}
.bp-tab-panel.is-active {
  display: block;
  animation: bp-fade-in 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes bp-fade-in {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.bp-field {
  display: block;
  margin-bottom: 26px;
}
.bp-field .bp-field-label {
  display: block;
  font: 600 0.74rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #15192a;
  margin-bottom: 12px;
}
.bp-field input[type=text],
.bp-field input[type=email] {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  padding: 0 2px;
  font: 400 1.05rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 0;
  transition: border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
  -webkit-appearance: none;
  height: 52px;
  font-size: 1.15rem;
  font-weight: 500;
}
.bp-field input[type=text]::placeholder,
.bp-field input[type=email]::placeholder {
  color: #7d839a;
}
.bp-field input[type=text]:focus,
.bp-field input[type=email]:focus {
  outline: none;
  border-bottom-color: #117a9c;
}
.bp-field input[type=text].error,
.bp-field input[type=email].error {
  border-bottom-color: #d23357;
}
.bp-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.bp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  height: 46px;
  border: 1px solid #4321ee;
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.01em;
  background: #5b3df0;
  color: #ece8de;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
  -webkit-appearance: none;
  width: 100%;
  height: 64px;
  font: 700 1.02rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-top: 18px;
  border-radius: 3px;
}
.bp-btn:hover,
.bp-btn:focus {
  background: #6b50f1;
  border-color: #7b63f3;
  color: #ece8de;
  outline: none;
}
.bp-btn:active {
  transform: translateY(1px);
}
.bp-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bp-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  height: 46px;
  border: 1px solid #4321ee;
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.01em;
  background: #5b3df0;
  color: #ece8de;
  cursor: pointer;
  border-radius: 3px;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
  -webkit-appearance: none;
}
.bp-btn-primary:hover,
.bp-btn-primary:focus {
  background: #6b50f1;
  border-color: #7b63f3;
  color: #ece8de;
  outline: none;
}
.bp-btn-primary:active {
  transform: translateY(1px);
}
.bp-btn-primary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
form.error input.error {
  animation: bp-shake 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes bp-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-6px);
  }
  75% {
    transform: translateX(6px);
  }
}
#supplementalContent {
  margin-top: 0;
}
.bp-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 64px 0 20px;
}
.bp-section-head .bp-section-kicker {
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #7d839a;
}
.bp-section-head h2 {
  font: 600 1.9rem/1.15 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.025em;
  color: #15192a;
}
.bp-section-head h2 em {
  font-style: italic;
  font-family: 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-weight: 400;
  color: #117a9c;
}
.bp-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(21, 25, 42, 0.1);
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-feature {
  padding: 30px 26px 32px;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 0;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
  position: relative;
}
.bp-feature:last-child {
  border-right: 0;
}
.bp-feature:hover {
  transform: none;
  border-color: rgba(21, 25, 42, 0.1);
  background: rgba(21, 25, 42, 0.025);
}
.bp-feature .bp-feature-icon {
  width: 28px;
  height: 28px;
  border-radius: 0;
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: #117a9c;
  margin-bottom: 22px;
  padding: 0;
}
.bp-feature::before {
  content: '0' counter(feat);
  counter-increment: feat;
  position: absolute;
  top: 30px;
  right: 26px;
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.18em;
  color: #7d839a;
}
.bp-feature h3 {
  font: 600 1.05rem/1.3 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.015em;
  margin-bottom: 8px;
  color: #15192a;
}
.bp-feature p {
  font: 400 0.92rem/1.55 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #4a5169;
}
.bp-features {
  counter-reset: feat;
}
.bp-how {
  margin-top: 0;
}
.bp-how h2 {
  font: 600 1.9rem/1.15 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.025em;
  margin-bottom: 0;
  color: #15192a;
}
.bp-steps {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  border-top: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-steps li {
  display: grid;
  grid-template-columns: 90px 1fr 2fr;
  gap: 28px;
  align-items: baseline;
  padding: 28px 8px;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  background: transparent;
  border-radius: 0;
  box-shadow: 0 0 0 transparent;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-steps li:hover {
  background: rgba(21, 25, 42, 0.025);
}
.bp-steps li .bp-step-num {
  font: 400 2.6rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-style: italic;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
  color: #117a9c;
}
.bp-steps li h4 {
  font: 600 1.05rem/1.3 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.015em;
  color: #15192a;
  margin-bottom: 0;
}
.bp-steps li p {
  font: 400 0.95rem/1.55 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #4a5169;
  max-width: 520px;
}
.bp-footer {
  margin-top: 80px;
  padding-top: 22px;
  border-top: 1px solid rgba(21, 25, 42, 0.1);
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7d839a;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bp-footer::after {
  content: 'MMXXVI';
  color: #7d839a;
}
.bp-invite-fallback {
  text-align: center;
  margin-top: 18px;
  padding: 0 22px;
  color: #7d839a;
  font-size: 0.9rem;
}
body.one-column #external {
  max-width: 540px;
}
body.one-column .bp-nav {
  justify-content: center;
}
body.one-column .bp-hero {
  grid-template-columns: 1fr;
  text-align: center;
  gap: 28px;
  border-bottom: 0;
}
body.one-column .bp-hero-copy {
  margin: 0 auto;
}
body.one-column .bp-hero-copy::after {
  display: none;
}
body.one-column .bp-hero-specs {
  justify-content: center;
}
body.one-column #supplementalContent {
  display: none;
}
@media (max-width: 1024px) {
  .bp-features {
    grid-template-columns: repeat(2, 1fr);
  }
  .bp-features .bp-feature:nth-child(2) {
    border-right: 0;
  }
  .bp-features .bp-feature:nth-child(-n+2) {
    border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  }
  .bp-steps li {
    grid-template-columns: 70px 1fr;
  }
  .bp-steps li p {
    grid-column: -1;
    padding-left: 98px;
    max-width: none;
  }
}
@media (max-width: 880px) {
  .bp-hero {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 16px 0 56px;
  }
  .bp-hero-title {
    font-size: clamp(2.2rem, 9vw, 3rem);
  }
}
@media (max-width: 560px) {
  #external {
    padding: 16px 20px 56px;
  }
  .bp-nav {
    padding-bottom: 14px;
    margin-bottom: 32px;
  }
  .bp-features {
    grid-template-columns: 1fr;
  }
  .bp-features .bp-feature {
    border-right: 0;
    border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  }
  .bp-features .bp-feature:last-child {
    border-bottom: 0;
  }
  .bp-field-row {
    grid-template-columns: 1fr;
  }
}
/**
 * /trial — BitPoints Motor Lodge & Planning Poker
 * An abnormal, techno-interactive, old-motel, continental-breakfast themed homepage
 */
body.trial-body {
  background-color: #ece4d0;
  background-image: radial-gradient(rgba(27, 30, 46, 0.08) 1px, transparent 1.4px), radial-gradient(900px 700px at 90% -10%, rgba(196, 134, 26, 0.18) 0%, transparent 60%), radial-gradient(700px 600px at -10% 110%, rgba(47, 143, 154, 0.14) 0%, transparent 55%), linear-gradient(180deg, #ece4d0 0%, #e3dac1 60%, #ece4d0 100%);
  background-size: 14px 14px, auto, auto, auto;
  background-attachment: fixed;
  color: #1b1e2e;
  font-family: 'Special Elite', 'Courier Prime', 'Courier New', monospace;
}
.trial {
  max-width: 1280px;
  margin: 0 auto;
  padding: 28px 32px 0;
  position: relative;
  z-index: 1;
  font-family: 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  color: #1b1e2e;
}
.trial-hero {
  position: relative;
  padding: 64px 0 88px;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 28px;
}
.trial-stars-top {
  position: absolute;
  top: 22px;
  right: 8%;
  transform: rotate(8deg);
  font-size: 2rem;
  color: #c84a36;
  letter-spacing: 0.4em;
  user-select: none;
  pointer-events: none;
}
.trial-sign {
  position: relative;
  width: min(820px, 100%);
  background: #e3dac1;
  border: 3px solid #1b1e2e;
  border-radius: 8px;
  padding: 22px 56px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  transform: rotate(-1.2deg);
  box-shadow: 0 0 0 6px #ece4d0, 0 0 0 9px #1b1e2e, 14px 14px 0 0 rgba(27, 30, 46, 0.18);
}
.trial-bulb-strip {
  display: flex;
  justify-content: space-between;
  gap: 4px;
}
.trial-bulb-strip.is-top {
  margin-bottom: 6px;
}
.trial-bulb-strip.is-bottom {
  margin-top: 6px;
}
.trial-bulb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #f8efc6;
  border: 1.5px solid #1b1e2e;
  box-shadow: 0 0 6px 1px rgba(248, 239, 198, 0.65), inset 0 0 0 1.5px rgba(255, 255, 255, 0.5);
  animation: trial-bulb-pulse 1.8s ease-in-out infinite;
  animation-delay: var(--bulb-delay, 0s);
}
@keyframes trial-bulb-pulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 6px 1px rgba(248, 239, 198, 0.65), inset 0 0 0 1.5px rgba(255, 255, 255, 0.5);
  }
  50% {
    opacity: 0.45;
    box-shadow: 0 0 2px 0 rgba(248, 239, 198, 0.2), inset 0 0 0 1.5px rgba(255, 255, 255, 0.3);
  }
}
.trial-sign-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 4px 0;
}
.trial-sign-eyebrow {
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.3em;
  color: #3a4159;
  text-transform: uppercase;
}
.trial-sign-name {
  margin: 0;
  font: 400 clamp(3.4rem, 9vw, 6.4rem) / 0.95 'Bungee Inline', 'Impact', sans-serif;
  letter-spacing: 0.02em;
  color: #c84a36;
  text-shadow: 3px 3px 0 rgba(27, 30, 46, 0.15);
  display: inline-flex;
  gap: 0.2em;
  align-items: baseline;
}
.trial-sign-name .trial-sign-amp {
  color: #2f8f9a;
  font-size: 0.65em;
  transform: translateY(-0.15em);
}
.trial-sign-name .trial-sign-points {
  color: #2f8f9a;
}
.trial-sign-sub {
  display: inline-flex;
  gap: 14px;
  align-items: baseline;
  font: 400 1.15rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1b1e2e;
}
.trial-sign-sub .trial-sign-sub-dot {
  color: #c4861a;
  font-size: 0.9rem;
}
.trial-sign-sub .trial-sign-sub-text2 {
  font-family: 'Instrument Serif', Georgia, serif;
  font-style: italic;
  text-transform: none;
  font-size: 1.5rem;
  letter-spacing: 0;
  color: #2f8f9a;
}
.trial-sign-arrow {
  position: absolute;
  right: -78px;
  bottom: -22px;
  background: #c4861a;
  color: #1b1e2e;
  border: 3px solid #1b1e2e;
  padding: 10px 18px;
  transform: rotate(-6deg);
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font: 600 0.85rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.22em;
  box-shadow: 4px 4px 0 0 rgba(27, 30, 46, 0.18);
}
.trial-sign-arrow .trial-arrow-shape {
  font-family: 'Bungee Inline', 'Impact', sans-serif;
  font-size: 1.4rem;
}
.trial-vacancy-plate {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 12px 22px;
  background: #1b1e2e;
  color: #ece4d0;
  border: 2px solid #1b1e2e;
  border-radius: 4px;
  transform: rotate(0.8deg);
  font-family: 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.18em;
  font-size: 0.92rem;
  text-transform: uppercase;
  box-shadow: 6px 6px 0 0 rgba(27, 30, 46, 0.22);
}
.trial-vacancy-plate .trial-vacancy-led {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #2ee6a8;
  box-shadow: 0 0 8px 2px rgba(46, 230, 168, 0.6);
  animation: trial-led-blink 1.5s ease-in-out infinite;
}
.trial-vacancy-plate .trial-vacancy-text {
  font-weight: 700;
  letter-spacing: 0.32em;
}
.trial-vacancy-plate .trial-vacancy-sub {
  font-family: 'VT323', 'IBM Plex Mono', monospace;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  color: #f8efc6;
  text-transform: none;
  opacity: 0.85;
}
@keyframes trial-led-blink {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 8px 2px rgba(46, 230, 168, 0.6);
  }
  50% {
    opacity: 0.55;
    box-shadow: 0 0 4px 1px rgba(46, 230, 168, 0.3);
  }
}
.trial-office {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 36px;
  margin: 24px 0 80px;
  position: relative;
}
.trial-check-in {
  position: relative;
  background: #ece4d0;
  border: 2px dashed #1b1e2e;
  padding: 36px 36px 28px;
  transform: rotate(-0.6deg);
  box-shadow: 10px 10px 0 0 rgba(27, 30, 46, 0.1);
}
.trial-card-tape {
  position: absolute;
  top: -16px;
  left: 28px;
  width: 110px;
  height: 28px;
  background: rgba(196, 134, 26, 0.55);
  transform: rotate(-3deg);
  border: 1px dashed rgba(27, 30, 46, 0.2);
}
.trial-card-corners::before,
.trial-card-corners::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid #c84a36;
}
.trial-card-corners::before {
  top: 10px;
  right: 10px;
  border-bottom: 0;
  border-left: 0;
}
.trial-card-corners::after {
  bottom: 10px;
  left: 10px;
  border-top: 0;
  border-right: 0;
}
.trial-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.trial-card-stamp {
  font: 600 0.8rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.32em;
  color: #c84a36;
  border: 2px solid #c84a36;
  padding: 6px 12px;
  transform: rotate(-2deg);
  background: rgba(200, 74, 54, 0.05);
}
.trial-card-no {
  font: 400 0.95rem/1 'VT323', 'IBM Plex Mono', monospace;
  color: #3a4159;
  letter-spacing: 0.08em;
}
.trial-card-title {
  font: 400 2.6rem/1 'Bungee Inline', 'Impact', sans-serif;
  color: #2f8f9a;
  margin: 6px 0 4px;
}
.trial-card-lead {
  font: 400 1rem/1.4 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  color: #3a4159;
  margin-bottom: 24px;
  max-width: 44ch;
}
.trial-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.trial-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.trial-field-label {
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #3a4159;
}
.trial-field-label.is-blink::after {
  content: '_';
  display: inline-block;
  margin-left: 4px;
  color: #c84a36;
  animation: trial-cursor-blink 0.95s steps(2, jump-none) infinite;
}
@keyframes trial-cursor-blink {
  0%,
  50% {
    opacity: 1;
  }
  51%,
  100% {
    opacity: 0;
  }
}
.trial-input {
  width: 100%;
  height: 52px;
  border: 0;
  border-bottom: 2px solid #1b1e2e;
  background: transparent;
  font: 400 1.25rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.02em;
  color: #1b1e2e;
  padding: 0 4px;
  border-radius: 0;
  -webkit-appearance: none;
}
.trial-input::placeholder {
  color: rgba(27, 30, 46, 0.32);
  font-style: italic;
}
.trial-input:focus {
  outline: none;
  border-bottom-color: #c84a36;
}
.trial-input.is-key {
  font-family: 'VT323', 'IBM Plex Mono', monospace;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.3em;
  color: #2f8f9a;
}
.trial-bell-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: #c84a36;
  color: #ece4d0;
  border: 3px solid #1b1e2e;
  padding: 18px 26px;
  cursor: pointer;
  font-family: 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.04em;
  box-shadow: 6px 6px 0 0 #1b1e2e;
  transition: transform 80ms ease, box-shadow 80ms ease, background-color 240ms ease;
  margin-top: 6px;
  align-self: flex-start;
}
.trial-bell-btn:hover {
  background: #ce5c4a;
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 0 #1b1e2e;
}
.trial-bell-btn:hover .trial-bell-icon {
  transform: rotate(-18deg) scale(1.12);
}
.trial-bell-btn:active {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 0 #1b1e2e;
}
.trial-bell-btn .trial-bell-icon {
  font: 400 1.8rem/1 'Bungee Inline', 'Impact', sans-serif;
  transition: transform 240ms ease;
  display: inline-block;
  transform-origin: 50% 20%;
}
.trial-bell-btn .trial-bell-text {
  font: 600 1.05rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.trial-bell-btn .trial-bell-sub {
  font: 400 0.72rem/1 'VT323', 'IBM Plex Mono', monospace;
  letter-spacing: 0.18em;
  color: rgba(248, 239, 198, 0.75);
  text-transform: uppercase;
  margin-left: auto;
}
.trial-card-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 26px;
  padding-top: 14px;
  border-top: 1.5px dashed rgba(27, 30, 46, 0.25);
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.18em;
  color: #3a4159;
  text-transform: uppercase;
}
.trial-card-foot .trial-card-dots {
  letter-spacing: 0.4em;
  color: rgba(27, 30, 46, 0.3);
}
.trial-key-card {
  position: relative;
  background: #2f8f9a;
  color: #ece4d0;
  padding: 30px 28px;
  transform: rotate(1.2deg);
  border: 3px solid #1b1e2e;
  box-shadow: 10px 10px 0 0 rgba(27, 30, 46, 0.18);
  align-self: start;
  margin-top: 18px;
}
.trial-key-card::before {
  content: '';
  position: absolute;
  top: 14px;
  right: 14px;
  width: 28px;
  height: 28px;
  border: 2px solid #ece4d0;
  border-radius: 50%;
  background: radial-gradient(circle, #ece4d0 0 4px, transparent 5px), radial-gradient(circle at center, transparent 0 8px, #ece4d0 9px 11px, transparent 12px);
}
.trial-key-eyebrow {
  font: 400 0.74rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(236, 228, 208, 0.78);
}
.trial-key-title {
  font: 400 1.85rem/1.05 'Bungee Inline', 'Impact', sans-serif;
  color: #ece4d0;
  margin: 8px 0 18px;
}
.trial-form-key {
  gap: 18px;
}
.trial-form-key .trial-field-label {
  color: rgba(236, 228, 208, 0.78);
}
.trial-form-key .trial-input {
  color: #ece4d0;
  border-bottom-color: rgba(236, 228, 208, 0.45);
}
.trial-form-key .trial-input::placeholder {
  color: rgba(236, 228, 208, 0.4);
}
.trial-form-key .trial-input:focus {
  border-bottom-color: #f8efc6;
}
.trial-form-key .trial-input.is-key {
  color: #f8efc6;
}
.trial-key-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #ece4d0;
  color: #1b1e2e;
  border: 2px solid #1b1e2e;
  padding: 14px 22px;
  cursor: pointer;
  font: 600 0.95rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: 5px 5px 0 0 #1b1e2e;
  transition: transform 80ms ease, box-shadow 80ms ease;
  align-self: flex-start;
  margin-top: 4px;
}
.trial-key-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 0 #1b1e2e;
}
.trial-key-btn:active {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 0 #1b1e2e;
}
.trial-key-btn .trial-key-arrow {
  font-family: 'Bungee Inline', 'Impact', sans-serif;
  font-size: 1.3rem;
}
.trial-breakfast {
  margin: 60px 0 96px;
  border-top: 3px double #1b1e2e;
  border-bottom: 3px double #1b1e2e;
  padding: 38px 0 42px;
  position: relative;
}
.trial-breakfast-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.trial-breakfast-clock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 400 1.15rem/1 'VT323', 'IBM Plex Mono', monospace;
  color: #1b1e2e;
  background: #f8efc6;
  border: 2px solid #1b1e2e;
  padding: 8px 14px;
  letter-spacing: 0.06em;
  transform: rotate(-1.5deg);
}
.trial-breakfast-clock .trial-clock-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c84a36;
  box-shadow: 0 0 4px 1px rgba(200, 74, 54, 0.6);
  animation: trial-led-blink 1.4s infinite;
}
.trial-breakfast-title {
  margin: 0;
  font: 400 2.6rem/1 'Bungee Inline', 'Impact', sans-serif;
  color: #1b1e2e;
  letter-spacing: 0.01em;
  text-align: center;
  flex: 1 1 auto;
  min-width: 280px;
}
.trial-breakfast-title::before,
.trial-breakfast-title::after {
  content: '✦';
  color: #c4861a;
  font-size: 1.4rem;
  display: inline-block;
  margin: 0 0.4em;
  transform: translateY(-0.2em);
}
.trial-breakfast-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 400 0.8rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #3a4159;
}
.trial-breakfast-meta .trial-led-sm {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c84a36;
  box-shadow: 0 0 6px 1px rgba(200, 74, 54, 0.6);
  animation: trial-led-blink 1.7s infinite;
}
.trial-buffet {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.trial-dish {
  position: relative;
  background: #ece4d0;
  border: 2.5px solid #1b1e2e;
  padding: 26px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 5px 5px 0 0 rgba(27, 30, 46, 0.12);
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.trial-dish:nth-child(2) {
  transform: rotate(-0.7deg);
}
.trial-dish:nth-child(3) {
  transform: rotate(0.6deg);
}
.trial-dish:nth-child(4) {
  transform: rotate(-0.3deg);
}
.trial-dish:hover {
  transform: translateY(-3px) rotate(0);
  box-shadow: 8px 8px 0 0 rgba(27, 30, 46, 0.18);
}
.trial-dish:hover .trial-heatlamp {
  opacity: 1;
  filter: blur(14px) brightness(1.1);
}
.trial-heatlamp {
  position: absolute;
  top: -32px;
  left: 0;
  right: 0;
  height: 64px;
  background: radial-gradient(ellipse at center, rgba(196, 134, 26, 0.55) 0%, transparent 70%);
  filter: blur(10px);
  opacity: 0.85;
  pointer-events: none;
  transition: opacity 300ms ease, filter 300ms ease;
}
.trial-dish-tag {
  position: absolute;
  top: 10px;
  right: 12px;
  font: 400 0.85rem/1 'VT323', 'IBM Plex Mono', monospace;
  color: #3a4159;
  letter-spacing: 0.06em;
}
.trial-led-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #1b1e2e;
}
.trial-led {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c84a36;
  box-shadow: 0 0 6px 2px rgba(200, 74, 54, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.4);
  animation: trial-led-blink 1.6s infinite;
}
.trial-led.is-amber {
  background: #c4861a;
  box-shadow: 0 0 6px 2px rgba(196, 134, 26, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.4);
}
.trial-led.is-cool {
  background: #2f8f9a;
  box-shadow: 0 0 6px 2px rgba(47, 143, 154, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.4);
}
.trial-led.is-coral {
  background: #e1457c;
  box-shadow: 0 0 6px 2px rgba(225, 69, 124, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.4);
}
.trial-dish-name {
  margin: 4px 0 2px;
  font: 400 1.2rem/1.15 'Bungee Inline', 'Impact', sans-serif;
  color: #c84a36;
  letter-spacing: 0.01em;
}
.trial-dish-desc {
  font: 400 0.92rem/1.45 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  color: #3a4159;
  margin: 0;
  flex: 1 1 auto;
}
.trial-dish-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1.5px dashed rgba(27, 30, 46, 0.25);
}
.trial-dish-foot .trial-dish-temp {
  font: 400 1.05rem/1 'VT323', 'IBM Plex Mono', monospace;
  color: #c4861a;
  letter-spacing: 0.04em;
}
.trial-dish-foot .trial-dish-keep {
  font: 400 0.7rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #3a4159;
}
.trial-amenities {
  margin: 0 0 80px;
  text-align: center;
}
.trial-phone-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 400 0.84rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #3a4159;
  margin-bottom: 10px;
}
.trial-phone-eyebrow .trial-phone-shape {
  font-size: 1.4rem;
  color: #2f8f9a;
  transform: rotate(-12deg);
  display: inline-block;
}
.trial-amenities-title {
  margin: 0 0 32px;
  font: 400 2.8rem/1 'Bungee Inline', 'Impact', sans-serif;
  color: #2f8f9a;
}
.trial-dial-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.trial-dial {
  position: relative;
  background: #ece4d0;
  border: 2.5px solid #1b1e2e;
  padding: 28px 22px 24px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 5px 5px 0 0 rgba(27, 30, 46, 0.12);
}
.trial-dial:nth-child(1) {
  transform: rotate(-0.4deg);
}
.trial-dial:nth-child(2) {
  transform: rotate(0.5deg);
}
.trial-dial:nth-child(3) {
  transform: rotate(-0.2deg);
}
.trial-dial-num {
  position: absolute;
  top: -22px;
  left: 18px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #c4861a;
  border: 3px solid #1b1e2e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 400 1.7rem/1 'Bungee Inline', 'Impact', sans-serif;
  color: #1b1e2e;
  box-shadow: 4px 4px 0 0 #1b1e2e;
}
.trial-dial-rotary {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid rgba(27, 30, 46, 0.3);
  background: radial-gradient(circle, rgba(27, 30, 46, 0.18) 0 3px, transparent 4px) 50% 1.5px 4px no-repeat, radial-gradient(circle, rgba(27, 30, 46, 0.18) 0 3px, transparent 4px) 26px 3px 4px no-repeat, radial-gradient(circle, rgba(27, 30, 46, 0.18) 0 3px, transparent 4px) 30px 6.5px 4px no-repeat, radial-gradient(circle, rgba(27, 30, 46, 0.18) 0 3px, transparent 4px) 12px 7.5px 4px no-repeat;
  opacity: 0.5;
}
.trial-dial-body {
  margin-top: 28px;
}
.trial-dial-body h3 {
  margin: 0 0 6px;
  font: 400 1.45rem/1.1 'Bungee Inline', 'Impact', sans-serif;
  color: #c84a36;
}
.trial-dial-body p {
  font: 400 0.95rem/1.5 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  color: #3a4159;
  margin: 0;
  max-width: 36ch;
}
.trial-postcard {
  position: relative;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  background: #e3dac1;
  border: 2.5px solid #1b1e2e;
  padding: 40px 36px;
  margin: 0 0 24px;
  transform: rotate(-0.5deg);
  box-shadow: 12px 12px 0 0 rgba(27, 30, 46, 0.12);
}
.trial-postcard::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 0;
  border-left: 1.5px dashed rgba(27, 30, 46, 0.3);
}
.trial-postcard-left {
  padding-right: 24px;
}
.trial-postcard-greet {
  font: italic 400 3.4rem/1 'Instrument Serif', Georgia, serif;
  color: #c84a36;
}
.trial-postcard-greet-2 {
  font: italic 400 3.4rem/1 'Instrument Serif', Georgia, serif;
  color: #2f8f9a;
  transform: translateX(34px);
}
.trial-postcard-from {
  margin-top: 18px;
  font: 400 0.95rem/1 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  letter-spacing: 0.16em;
  color: #3a4159;
  text-transform: uppercase;
}
.trial-postcard-right {
  padding-left: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font: 400 0.96rem/1.4 'Special Elite', 'Courier Prime', 'Courier New', monospace;
  color: #1b1e2e;
  letter-spacing: 0.04em;
}
.trial-postcard-right .trial-postcard-line:first-child {
  font-family: 'Bungee Inline', 'Impact', sans-serif;
  font-size: 1.05rem;
  color: #c84a36;
  letter-spacing: 0.04em;
}
.trial-postcard-stamp {
  position: absolute;
  top: -16px;
  right: 28px;
  transform: rotate(8deg);
}
.trial-stamp-frame {
  width: 64px;
  height: 78px;
  border: 2px dashed #1b1e2e;
  background: #ece4d0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: 'Special Elite', 'Courier Prime', 'Courier New', monospace;
}
.trial-stamp-frame span:first-child {
  font: 400 1.6rem/1 'Bungee Inline', 'Impact', sans-serif;
  color: #c84a36;
}
.trial-stamp-frame span:last-child {
  font-size: 0.55rem;
  letter-spacing: 0.18em;
  color: #3a4159;
}
.trial-marquee {
  position: relative;
  margin: 0 -32px;
  padding: 12px 0;
  background: #1b1e2e;
  border-top: 3px solid #c84a36;
  border-bottom: 3px solid #c84a36;
  overflow: hidden;
  color: #c84a36;
  font-family: 'VT323', 'IBM Plex Mono', monospace;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.trial-marquee-track {
  display: inline-flex;
  gap: 28px;
  white-space: nowrap;
  animation: trial-marquee-scroll 38s linear infinite;
  padding-left: 100%;
}
.trial-marquee-track .trial-marquee-sep {
  color: #c4861a;
}
@keyframes trial-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (max-width: 1024px) {
  .trial-buffet {
    grid-template-columns: repeat(2, 1fr);
  }
  .trial-dial-list {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .trial-office {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .trial {
    padding: 16px 18px 0;
  }
  .trial-hero {
    padding: 32px 0 64px;
  }
  .trial-sign {
    padding: 18px 24px;
    transform: rotate(-1deg);
  }
  .trial-sign-arrow {
    right: -6%;
    bottom: -42px;
  }
  .trial-buffet {
    grid-template-columns: 1fr;
  }
  .trial-postcard {
    grid-template-columns: 1fr;
  }
  .trial-postcard::before {
    display: none;
  }
  .trial-postcard-left {
    padding-right: 0;
  }
  .trial-postcard-right {
    padding-left: 0;
    margin-top: 24px;
    border-top: 1.5px dashed rgba(27, 30, 46, 0.3);
    padding-top: 18px;
  }
  .trial-postcard-greet-2 {
    transform: none;
  }
  .trial-marquee {
    margin: 0 -18px;
  }
}
/**
 * /beach — L'Île de l'Estimation
 * Shipwrecked + Napoleonic + subtle ninja-turtle + baseball
 */
body.beach-body {
  background-color: #f3e7c8;
  color: #2a1f15;
  font-family: 'EB Garamond', Georgia, 'Times New Roman', serif;
}
.beach-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.beach-bg-sky {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #b9d1d8 0%, #c6dadf 22%, #e2d7b5 50%, #f3e7c8 72%, #d9c898 100%);
}
.beach-bg-horizon {
  position: absolute;
  left: 0;
  right: 0;
  top: 48%;
  height: 80px;
}
.beach-bg-horizon svg {
  width: 100%;
  height: 100%;
}
.beach-bg-island {
  position: absolute;
  left: 18%;
  top: 44%;
  width: 240px;
  height: 80px;
  opacity: 0.92;
}
.beach-bg-island svg {
  width: 100%;
  height: 100%;
}
.beach-bg-napoleon {
  position: absolute;
  right: 8%;
  top: 46%;
  width: 70px;
  height: 90px;
  animation: beach-napoleon-sway 9s ease-in-out infinite;
  transform-origin: 50% 100%;
}
.beach-bg-napoleon svg {
  width: 100%;
  height: 100%;
}
@keyframes beach-napoleon-sway {
  0%,
  100% {
    transform: rotate(-0.4deg);
  }
  50% {
    transform: rotate(0.4deg);
  }
}
.beach-clouds {
  position: absolute;
  inset: 0 0 auto 0;
  height: 40%;
}
.beach-cloud {
  position: absolute;
  opacity: 0.85;
  will-change: transform;
}
.beach-cloud svg {
  display: block;
  height: 100%;
}
.beach-cloud-1 {
  top: 8%;
  width: 240px;
  height: 60px;
  animation: beach-cloud-drift 64s linear infinite;
}
.beach-cloud-2 {
  top: 18%;
  width: 200px;
  height: 50px;
  animation: beach-cloud-drift 92s linear infinite;
  animation-delay: -22s;
  opacity: 0.72;
}
.beach-cloud-3 {
  top: 4%;
  width: 260px;
  height: 60px;
  animation: beach-cloud-drift 78s linear infinite;
  animation-delay: -40s;
  opacity: 0.78;
}
@keyframes beach-cloud-drift {
  from {
    transform: translateX(-30vw);
  }
  to {
    transform: translateX(120vw);
  }
}
.beach-seagull {
  position: absolute;
  top: 12%;
  left: -8%;
  width: 40px;
  height: 20px;
  opacity: 0.65;
  animation: beach-seagull-fly 38s linear infinite;
  animation-delay: -8s;
}
.beach-seagull svg {
  width: 100%;
  height: 100%;
}
@keyframes beach-seagull-fly {
  0%,
  6% {
    transform: translateX(-20vw) translateY(0);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  50% {
    transform: translateX(60vw) translateY(-10px);
    opacity: 0.6;
  }
  90% {
    opacity: 0;
  }
  100% {
    transform: translateX(140vw) translateY(0);
    opacity: 0;
  }
}
.beach-bottle {
  position: absolute;
  bottom: 12%;
  right: 0;
  width: 40px;
  height: 70px;
  opacity: 0.92;
  animation: beach-bottle-drift 110s linear infinite, beach-bottle-bob 3.4s ease-in-out infinite;
}
.beach-bottle svg {
  width: 100%;
  height: 100%;
}
@keyframes beach-bottle-drift {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-110vw);
  }
}
@keyframes beach-bottle-bob {
  0%,
  100% {
    margin-top: 0;
    transform: rotate(-6deg);
  }
  50% {
    margin-top: -8px;
    transform: rotate(6deg);
  }
}
.beach-map-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.85;
}
.beach-map-overlay svg {
  width: 100%;
  height: 100%;
}
.beach-bg-sand {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: radial-gradient(rgba(43, 35, 24, 0.16) 0.8px, transparent 1.4px) 0 0px 6px, radial-gradient(rgba(43, 35, 24, 0.1) 0.6px, transparent 1.2px) 3px 0.375px 8px, linear-gradient(180deg, transparent 0%, rgba(217, 200, 152, 0.45) 60%, rgba(217, 200, 152, 0.78) 100%);
  mix-blend-mode: multiply;
}
.beach {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 36px 32px 0;
  font-family: 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #2a1f15;
}
.beach-hero {
  position: relative;
  padding: 56px 0 80px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  justify-items: center;
  text-align: center;
}
.beach-logbox {
  display: inline-block;
  padding: 12px 22px;
  background: rgba(245, 234, 208, 0.78);
  border: 1.5px dashed #4d3a26;
  transform: rotate(-1.2deg);
  max-width: 480px;
  box-shadow: 6px 6px 0 0 rgba(43, 35, 24, 0.1);
  font-family: 'Caveat', 'Marker Felt', cursive;
  color: #2a1f15;
}
.beach-logbox .beach-log-date {
  font: 700 1.05rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #15294d;
  margin-bottom: 6px;
}
.beach-logbox .beach-log-quote {
  font: 400 1.6rem/1.2 'Caveat', 'Marker Felt', cursive;
  color: #2a1f15;
}
.beach-logbox .beach-log-sig {
  margin-top: 6px;
  font: 400 1.1rem/1 'Caveat', 'Marker Felt', cursive;
  color: #b53227;
}
.beach-hero-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.beach-hero-fr {
  font: italic 400 1.2rem/1 'Instrument Serif', Georgia, serif;
  color: #15294d;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}
.beach-hero-en {
  margin: 0;
  font: 700 clamp(3.6rem, 8.5vw, 6.4rem) / 0.95 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #15294d;
  letter-spacing: 0.04em;
  text-shadow: 3px 3px 0 rgba(198, 150, 72, 0.45);
}
.beach-hero-tag {
  margin-top: 8px;
  font: italic 400 1.15rem/1.4 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #4d3a26;
  max-width: 520px;
}
.beach-shipwreck {
  width: min(420px, 80%);
  margin-top: 12px;
  animation: beach-shipwreck-rock 6s ease-in-out infinite;
  transform-origin: 50% 100%;
}
@keyframes beach-shipwreck-rock {
  0%,
  100% {
    transform: rotate(-1.2deg) translateY(0);
  }
  50% {
    transform: rotate(0.8deg) translateY(-3px);
  }
}
.beach-hero-cta {
  margin-top: 8px;
}
.beach-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: #15294d;
  color: #f5ead0;
  border: 3px solid #15294d;
  padding: 16px 30px;
  font: 700 0.95rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 6px 6px 0 0 #c69648;
  transition: transform 80ms ease, box-shadow 80ms ease;
}
.beach-cta-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 0 #c69648;
  color: #f5ead0;
}
.beach-cta-btn:active {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 0 #c69648;
}
.beach-cta-btn .beach-cta-arrow {
  font-family: 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  font-size: 1.3rem;
  color: #c69648;
}
.beach-decree {
  margin: 60px 0 56px;
  display: flex;
  justify-content: center;
}
.beach-scroll {
  position: relative;
  background: #f5ead0;
  background-image: radial-gradient(rgba(120, 90, 50, 0.08) 0.8px, transparent 1.4px);
  background-size: 12px 12px;
  width: min(720px, 100%);
  padding: 56px 56px 36px;
  border: 1.5px solid rgba(80, 59, 37, 0.28);
  box-shadow: 0 0 0 6px #e8d9ad, 0 0 0 7.5px rgba(80, 59, 37, 0.35), 16px 16px 0 0 rgba(43, 35, 24, 0.16);
  transform: rotate(-0.4deg);
}
.beach-scroll::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, rgba(80, 59, 37, 0.25) 0 8px, transparent 8px 14px);
}
.beach-scroll::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: repeating-linear-gradient(90deg, rgba(80, 59, 37, 0.2) 0 6px, transparent 6px 12px);
}
.beach-scroll-seal {
  position: absolute;
  top: -28px;
  right: 36px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #d64e43 0%, #b53227 50%, #7a221a 100%);
  border: 2px solid #691d17;
  box-shadow: inset 0 -4px 8px rgba(0, 0, 0, 0.3), 3px 4px 0 rgba(43, 35, 24, 0.22);
  transform: rotate(-12deg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.beach-seal-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.beach-seal-inner .beach-seal-letter {
  font: 700 1.6rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #c69648;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
  letter-spacing: 0;
}
.beach-seal-inner .beach-seal-bee {
  width: 22px;
  height: 22px;
  margin-top: -2px;
}
.beach-scroll-eyebrow {
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #4d3a26;
  margin-bottom: 6px;
}
.beach-scroll-title {
  margin: 0 0 12px;
  font: 700 2.6rem/1.05 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #15294d;
  letter-spacing: 0.04em;
}
.beach-scroll-lead {
  font: italic 400 1.1rem/1.5 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #4d3a26;
  margin: 0 0 28px;
  max-width: 44ch;
}
.beach-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.beach-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.beach-field-label {
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #4d3a26;
}
.beach-input {
  width: 100%;
  height: 54px;
  border: 0;
  border-bottom: 2px solid #2a1f15;
  background: transparent;
  font: 500 1.25rem/1 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #2a1f15;
  padding: 0 4px;
  border-radius: 0;
  -webkit-appearance: none;
}
.beach-input::placeholder {
  color: rgba(43, 35, 24, 0.34);
  font-style: italic;
}
.beach-input:focus {
  outline: none;
  border-bottom-color: #b53227;
}
.beach-input.is-room {
  font-family: 'VT323', monospace;
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.3em;
  color: #15294d;
}
.beach-wax-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: #b53227;
  color: #f5ead0;
  border: 3px solid #691d17;
  padding: 16px 24px;
  cursor: pointer;
  font: 700 0.95rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.18), 5px 5px 0 0 rgba(43, 35, 24, 0.3);
  transition: transform 100ms ease, box-shadow 100ms ease;
  align-self: flex-start;
  margin-top: 8px;
  position: relative;
}
.beach-wax-btn:hover {
  transform: translate(-2px, -2px) rotate(-1deg);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.18), 7px 7px 0 0 rgba(43, 35, 24, 0.3);
}
.beach-wax-btn:active {
  transform: translate(2px, 2px) rotate(1deg);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.3), 2px 2px 0 0 rgba(43, 35, 24, 0.3);
}
.beach-wax-btn .beach-wax-stamp {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #b78536 0%, #c69648 60%, #805f28 100%);
  box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.25);
}
.beach-scroll-foot {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1.5px dashed rgba(80, 59, 37, 0.3);
  font: 400 0.82rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #4d3a26;
}
.beach-scroll-foot .beach-scroll-sig {
  font: 700 1.35rem/1 'Caveat', 'Marker Felt', cursive;
  color: #b53227;
  text-transform: none;
  letter-spacing: 0;
  transform: rotate(-2deg);
  flex: 1;
}
.beach-roster {
  margin: 0 0 80px;
  display: flex;
  justify-content: center;
}
.beach-plank {
  position: relative;
  width: min(960px, 100%);
  background: linear-gradient(180deg, #ab845a 0%, #8b6a47 50%, #775b3d 100%);
  background-image: repeating-linear-gradient(90deg, rgba(80, 59, 37, 0.22) 0 1.5px, transparent 1.5px 12px, rgba(80, 59, 37, 0.1) 12px 13px, transparent 13px 30px), linear-gradient(180deg, #ab845a 0%, #8b6a47 50%, #775b3d 100%);
  color: #f5ead0;
  padding: 30px 38px 34px;
  border: 3px solid #503b25;
  border-radius: 4px;
  transform: rotate(0.6deg);
  box-shadow: 8px 12px 0 0 rgba(43, 35, 24, 0.22);
}
.beach-plank::before,
.beach-plank::after {
  content: '';
  position: absolute;
  top: 14px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #aaa 0%, #4a4035 70%, #1a140d 100%);
  box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.6);
}
.beach-plank::before {
  left: 16px;
}
.beach-plank::after {
  right: 16px;
}
.beach-plank-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #f5ead0;
  margin-bottom: 8px;
}
.beach-plank-eyebrow .beach-anchor-icon {
  font-family: 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  font-size: 1.2rem;
  color: #c69648;
}
.beach-plank-title {
  margin: 0 0 22px;
  font: italic 400 2rem/1.1 'Instrument Serif', Georgia, serif;
  color: #f5ead0;
}
.beach-form-join {
  gap: 18px;
}
.beach-form-join .beach-field-label {
  color: rgba(245, 234, 208, 0.78);
}
.beach-form-join .beach-input {
  color: #f5ead0;
  border-bottom-color: rgba(245, 234, 208, 0.4);
}
.beach-form-join .beach-input::placeholder {
  color: rgba(245, 234, 208, 0.4);
}
.beach-form-join .beach-input:focus {
  border-bottom-color: #c69648;
}
.beach-form-join .beach-input.is-room {
  color: #c69648;
}
.beach-plank-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 22px;
}
.beach-board-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #c69648;
  color: #2a1f15;
  border: 2px solid #503b25;
  padding: 14px 22px;
  cursor: pointer;
  font: 700 0.92rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  box-shadow: 5px 5px 0 0 #503b25;
  transition: transform 80ms ease, box-shadow 80ms ease;
  align-self: flex-start;
  margin-top: 6px;
}
.beach-board-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 0 #503b25;
}
.beach-board-btn:active {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 0 #503b25;
}
.beach-board-btn .beach-board-arrow {
  font-family: 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  font-size: 1.2rem;
}
.beach-washed {
  margin: 0 0 80px;
  text-align: center;
}
.beach-section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font: 700 0.78rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #15294d;
  margin-bottom: 10px;
}
.beach-section-eyebrow .beach-section-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c69648;
  box-shadow: 0 0 0 2px rgba(198, 150, 72, 0.18);
}
.beach-section-title {
  margin: 0 0 36px;
  font: 700 2.4rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #15294d;
  letter-spacing: 0.04em;
}
.beach-washed-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: left;
}
.beach-find {
  position: relative;
  background: rgba(245, 234, 208, 0.86);
  border: 1.5px solid rgba(80, 59, 37, 0.35);
  padding: 26px 22px 22px;
  box-shadow: 6px 6px 0 0 rgba(43, 35, 24, 0.1);
  transition: transform 200ms ease;
}
.beach-find:nth-child(1) {
  transform: rotate(-0.8deg);
}
.beach-find:nth-child(2) {
  transform: rotate(0.4deg);
}
.beach-find:nth-child(3) {
  transform: rotate(-0.3deg);
}
.beach-find:nth-child(4) {
  transform: rotate(0.7deg);
}
.beach-find:hover {
  transform: translateY(-4px) rotate(0);
}
.beach-find-tag {
  font: 400 0.85rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.18em;
  color: #b53227;
  margin-bottom: 14px;
}
.beach-find-art {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.beach-find-art svg {
  width: 80px;
  height: 90px;
}
.beach-find-name {
  margin: 0 0 8px;
  font: italic 400 1.4rem/1.2 'Instrument Serif', Georgia, serif;
  color: #15294d;
}
.beach-find-desc {
  font: 400 0.95rem/1.5 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #4d3a26;
  margin: 0;
}
.beach-lineup {
  margin: 0 0 80px;
}
.beach-scoreboard {
  position: relative;
  background: #15294d;
  color: #f5ead0;
  border: 4px solid #503b25;
  border-radius: 6px;
  padding: 38px 32px 28px;
  box-shadow: inset 0 0 0 2px #c69648, 12px 12px 0 0 rgba(43, 35, 24, 0.16);
  transform: rotate(-0.3deg);
}
.beach-scoreboard-lights {
  position: absolute;
  top: -12px;
  left: 22px;
  right: 22px;
  display: flex;
  justify-content: space-between;
}
.beach-scoreboard-bulb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #c69648;
  border: 2px solid #503b25;
  box-shadow: 0 0 6px 1px rgba(198, 150, 72, 0.6);
  animation: beach-bulb-blink 1.6s ease-in-out infinite;
}
.beach-scoreboard-bulb:nth-child(odd) {
  animation-delay: 0s;
}
.beach-scoreboard-bulb:nth-child(even) {
  animation-delay: 0.6s;
  background: #b53227;
  box-shadow: 0 0 6px 1px rgba(181, 50, 39, 0.6);
}
.beach-scoreboard-bulb:nth-child(3n) {
  animation-delay: 1.1s;
}
@keyframes beach-bulb-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.45;
  }
}
.beach-scoreboard-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font: 700 1rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.28em;
  color: #c69648;
  margin-bottom: 6px;
}
.beach-scoreboard-head .beach-scoreboard-vs {
  font: italic 400 1.1rem/1 'Instrument Serif', serif;
  color: rgba(245, 234, 208, 0.6);
  text-transform: lowercase;
  letter-spacing: 0.04em;
}
.beach-scoreboard-title {
  text-align: center;
  border-bottom: 1.5px dashed rgba(198, 150, 72, 0.5);
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.beach-scoreboard-title .beach-scoreboard-tag {
  display: inline-block;
  font: 400 0.78rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(245, 234, 208, 0.65);
  margin-bottom: 4px;
}
.beach-scoreboard-title h2 {
  margin: 0;
  font: 700 2.2rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #f5ead0;
  letter-spacing: 0.04em;
}
.beach-innings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.beach-inning {
  position: relative;
  background: rgba(0, 0, 0, 0.18);
  border: 1.5px solid rgba(198, 150, 72, 0.45);
  padding: 26px 22px 22px;
}
.beach-inning:nth-child(2) {
  transform: translateY(-6px);
}
.beach-inning-num {
  position: absolute;
  top: -22px;
  left: 18px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f5ead0;
  color: #15294d;
  border: 3px solid #503b25;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 700 1.5rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  box-shadow: 4px 4px 0 0 #503b25;
}
.beach-inning-label {
  font: 400 0.82rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.28em;
  color: #c69648;
  margin: 14px 0 8px;
  text-transform: uppercase;
}
.beach-inning-body h3 {
  margin: 0 0 6px;
  font: italic 400 1.5rem/1.1 'Instrument Serif', Georgia, serif;
  color: #f5ead0;
}
.beach-inning-body p {
  font: 400 0.95rem/1.5 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: rgba(245, 234, 208, 0.78);
  margin: 0;
}
.beach-scoreboard-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1.5px dashed rgba(198, 150, 72, 0.4);
  font: 400 0.92rem/1 'VT323', monospace;
  letter-spacing: 0.06em;
  color: #c69648;
}
.beach-scoreboard-foot .beach-scoreboard-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.beach-scoreboard-foot .beach-scoreboard-led {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2ee6a8;
  box-shadow: 0 0 6px 1px rgba(46, 230, 168, 0.6);
  animation: beach-bulb-blink 1.4s infinite;
}
.beach-scoreboard-foot .beach-scoreboard-led.is-amber {
  background: #c69648;
  box-shadow: 0 0 6px 1px rgba(198, 150, 72, 0.6);
}
.beach-scoreboard-foot .beach-scoreboard-attendance {
  font: italic 400 1rem/1 'Instrument Serif', serif;
  color: rgba(245, 234, 208, 0.78);
}
.beach-log {
  position: relative;
  background: #f5ead0;
  background-image: radial-gradient(rgba(120, 90, 50, 0.07) 0.7px, transparent 1.3px);
  background-size: 12px 12px;
  border: 1.5px solid rgba(80, 59, 37, 0.35);
  padding: 56px 56px 36px;
  margin: 0 0 28px;
  box-shadow: 12px 12px 0 0 rgba(43, 35, 24, 0.14);
  transform: rotate(0.5deg);
}
.beach-log-tape {
  position: absolute;
  top: -14px;
  left: 24%;
  width: 120px;
  height: 26px;
  background: rgba(198, 150, 72, 0.55);
  transform: rotate(-4deg);
  border: 1px dashed rgba(80, 59, 37, 0.18);
}
.beach-log-tape.is-right {
  left: auto;
  right: 14%;
  transform: rotate(6deg);
  background: rgba(181, 50, 39, 0.4);
}
.beach-log-title {
  margin: 0 0 14px;
  font: 700 1.6rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #15294d;
  letter-spacing: 0.04em;
}
.beach-log-body {
  font: italic 400 1.15rem/1.6 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #2a1f15;
  margin: 0 0 28px;
  max-width: 70ch;
}
.beach-log-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  flex-wrap: wrap;
}
.beach-log-signature .beach-log-sig-name {
  font: 400 2.4rem/1 'Caveat', 'Marker Felt', cursive;
  color: #b53227;
  transform: rotate(-3deg);
  display: inline-block;
}
.beach-log-signature .beach-log-sig-title {
  display: block;
  margin-top: 4px;
  font: 400 0.85rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #4d3a26;
}
.beach-log-stamp {
  transform: rotate(8deg);
}
.beach-log-stamp .beach-log-stamp-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  border: 2.5px solid #15294d;
  padding: 8px 14px;
  font-family: 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  color: #15294d;
}
.beach-log-stamp .beach-log-stamp-frame span:first-child {
  font: 700 1.3rem/1 'Cinzel', 'Trajan Pro', 'Times New Roman', serif;
  letter-spacing: 0.06em;
}
.beach-log-stamp .beach-log-stamp-frame span:last-child {
  font: 400 0.68rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.22em;
}
.beach-log-ps {
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1.5px dashed rgba(80, 59, 37, 0.3);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: italic 400 1.05rem/1 'EB Garamond', Georgia, 'Times New Roman', serif;
  color: #4d3a26;
}
.beach-log-ps .beach-log-ps-label {
  font: 700 0.78rem/1 'Special Elite', 'Courier Prime', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #b53227;
}
.beach-log-ps .beach-log-ps-turtle {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
  transform: rotate(-6deg);
}
.beach-log-ps .beach-log-ps-turtle svg {
  width: 100%;
  height: 100%;
}
@media (max-width: 1024px) {
  .beach-washed-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .beach-plank-row {
    grid-template-columns: 1fr;
  }
  .beach-innings {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .beach-inning:nth-child(2) {
    transform: none;
  }
}
@media (max-width: 720px) {
  .beach {
    padding: 20px 18px 0;
  }
  .beach-hero {
    padding: 32px 0 56px;
  }
  .beach-scroll {
    padding: 40px 28px 28px;
  }
  .beach-scroll-seal {
    width: 64px;
    height: 64px;
    top: -22px;
    right: 16px;
  }
  .beach-washed-grid {
    grid-template-columns: 1fr;
  }
  .beach-log {
    padding: 36px 24px 22px;
  }
}
/**
 * Kicked page
 */
#kick {
  max-width: 480px;
  margin: 120px auto;
  padding: 32px;
  background: rgba(21, 25, 42, 0.025);
  border: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 5px;
  box-shadow: none;
  border-radius: 6px;
  text-align: center;
  font-size: 1rem;
}
#kick p {
  margin: 0;
  color: #4a5169;
}
#kick p + p {
  margin-top: 12px;
}
#kick a {
  color: #117a9c;
  font-weight: 600;
}
/**
 * Modal
 */
.bp-modal-cover {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(5, 8, 20, 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-modal-cover.visible {
  display: block;
  opacity: 1;
}
.bp-modal-container {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 3001;
  transform: translate(-50%, -50%) scale(0.96);
  opacity: 0;
  transition: opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
  box-sizing: border-box;
  width: 340px;
  padding: 28px;
  background: linear-gradient(180deg, #1c2447 0%, #161e3c 100%);
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 6px;
  box-shadow: 0 1px 0 rgba(21, 25, 42, 0.1), 0 8px 20px -16px rgba(21, 25, 42, 0.2);
  color: #15192a;
  font: 400 1rem/1.5 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.bp-modal-container.visible {
  display: block;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.bp-modal-container .bp-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  color: #4a5169;
  background: rgba(21, 25, 42, 0.025);
  border: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-modal-container .bp-modal-close:hover {
  background: rgba(21, 25, 42, 0.08);
  color: #15192a;
}
.bp-modal-container.bp-modal-large {
  width: 680px;
  padding: 56px 40px;
  font-family: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.01em;
  word-break: break-all;
}
.bp-modal-container.bp-modal-large strong {
  background: linear-gradient(135deg, #5b3df0 0%, #117a9c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.bp-modal-container.bp-modal-small {
  width: 280px;
  padding: 22px;
  font-size: 0.95rem;
}
/**
 * Voter (estimate) room — editorial flat
 */
.bp-voter-header {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 18px 28px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-voter-header .bp-room-info {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  justify-self: center;
}
.bp-voter-header .bp-room-info .bp-room-info-label {
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7d839a;
}
.bp-voter-header .bp-room-info .bp-room-info-id {
  font: 500 0.95rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #15192a;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  letter-spacing: 0.04em;
}
.bp-voter-header .bp-room-info .bp-room-info-id:not(:empty)::before {
  content: '#';
  color: #7d839a;
  margin-right: 1px;
}
.bp-voter-header .bp-voter-list {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.bp-voter-header .bp-voter-list .bp-voter-list-label {
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7d839a;
}
.bp-voter-header .bp-voter-list .avatars {
  display: inline-flex;
  align-items: center;
}
.voterImageSmall {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid #ece8de;
  outline: 1px solid rgba(21, 25, 42, 0.22);
  margin-left: -6px;
  box-shadow: none;
  background: #e5e0d3;
  display: inline-block;
}
.voterImageSmall:first-child {
  margin-left: 0;
}
.bp-voter-main {
  position: relative;
  z-index: 1;
  max-width: 380px;
  margin: 28px auto 80px;
  padding: 0 20px;
}
.bp-voter-card {
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 5px;
  box-shadow: none;
  padding: 22px 24px;
  display: grid;
  gap: 16px;
}
.bp-voter-identity {
  display: flex;
  align-items: center;
  gap: 14px;
}
.bp-voter-identity .voterImage {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(21, 25, 42, 0.22);
  background: rgba(21, 25, 42, 0.04);
  padding: 0;
  margin: 0;
}
.bp-voter-identity .voterName {
  display: block;
  font: 600 1.05rem/1.2 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  width: auto;
  height: auto;
  text-align: left;
  letter-spacing: -0.015em;
}
.bp-card-style-btn {
  display: none;
}
.bp-status {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 3px;
  font: 500 0.92rem/1.3 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  border: 1px solid rgba(21, 25, 42, 0.1);
  background: transparent;
}
.bp-status.roundEnd {
  display: flex;
}
.bp-status .bp-status-text {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}
.bp-status #ticketInfo {
  font-weight: 600;
}
.bp-status #ticketInfo a {
  color: inherit;
  text-decoration: underline;
}
.bp-status-open {
  background: transparent;
  border-color: rgba(18, 138, 99, 0.5);
  border-left: 3px solid #128a63;
  color: #15192a;
}
.bp-status-open .bp-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #128a63;
  box-shadow: 0 0 0 4px rgba(18, 138, 99, 0.18);
  animation: bp-pulse 1.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
.bp-status-closed {
  color: #4a5169;
}
.bp-status-closed .fa {
  color: #7d839a;
}
.bp-status-closed .bp-status-text {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.bp-status-closed .bp-voter-rec-arrow {
  color: #7d839a;
  font: italic 400 1.1rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
}
.bp-status-closed .bp-voter-rec-value {
  font: italic 400 1.35rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  color: #15192a;
  letter-spacing: -0.01em;
}
.bp-status-closed .bp-voter-rec-subtext {
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #7d839a;
  margin-left: 6px;
}
.bp-deck-wrap {
  margin-top: 24px;
}
table#estimateOptions.bp-deck {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
}
table#estimateOptions.bp-deck tr {
  display: contents;
}
table#estimateOptions.bp-deck tbody {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
table#estimateOptions.bp-deck td {
  width: auto;
  aspect-ratio: 0.83333333;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 1.2rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  color: #15192a;
  border-radius: 5px;
  border: 1px solid rgba(21, 25, 42, 0.22);
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  user-select: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
table#estimateOptions.bp-deck td .fa {
  color: #15192a;
}
table#estimateOptions.bp-deck td.blank {
  background: none !important;
  border-color: transparent;
  cursor: default;
}
table#estimateOptions.bp-deck.newRound td {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.55);
  color: #15192a;
}
table#estimateOptions.bp-deck.newRound td:hover {
  background: #fff;
  border-color: #15192a;
  color: #15192a;
}
table#estimateOptions.bp-deck.newRound td:active {
  transform: translateY(1px);
}
table#estimateOptions.bp-deck.newRound td.lastVote {
  background: #15192a;
  border-color: #15192a;
  color: #ece8de;
  box-shadow: none;
  transform: none;
}
table#estimateOptions.bp-deck.newRound td.lastVote .fa {
  color: #ece8de;
}
table#estimateOptions.bp-deck.roundEnd td {
  cursor: not-allowed;
  opacity: 0.55;
  background: transparent;
  color: #7d839a;
}
table#estimateOptions.bp-deck.roundEnd td .fa {
  color: #7d839a;
}
table#estimateOptions.bp-deck.roundEnd td.lastVote {
  opacity: 1;
  color: #ece8de;
  background: #15192a;
  border-color: #15192a;
}
#cardStylePop-modal-container label {
  display: block;
  width: 100%;
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #7d839a;
}
#cardStylePop-modal-container label select,
#cardStylePop-modal-container label input {
  margin-top: 8px;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 3px;
  color: #15192a;
  font: 400 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  -webkit-appearance: none;
}
#cardStylePop-modal-container label select:focus,
#cardStylePop-modal-container label input:focus {
  outline: none;
  border-color: #15192a;
}
#cardStylePop-modal-container label input[type=color] {
  padding: 4px;
  cursor: pointer;
}
#cardStylePop-modal-container label + label {
  margin-top: 14px;
}
#cardStylePop-modal-container select#pattern {
  text-transform: capitalize;
}
#cardStylePop-modal-container .close {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1.4em;
  cursor: pointer;
}
@media (max-width: 720px) {
  .bp-voter-header {
    grid-template-columns: auto 1fr;
  }
  .bp-voter-header .bp-voter-list {
    display: none;
  }
  .bp-voter-main {
    padding: 0 16px;
    margin: 18px auto 56px;
  }
  table#estimateOptions.bp-deck tbody {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  table#estimateOptions.bp-deck td {
    font-size: 1.1rem;
  }
}
/**
 * Host room — editorial flat
 */
body {
  perspective: 1200px;
}
.bp-room-header {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 18px 36px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-room-meta {
  display: flex;
  justify-content: center;
  min-width: 0;
}
.bp-room-title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  max-width: 100%;
  overflow: hidden;
  min-width: 0;
}
.bp-room-title h1 {
  font: 600 1.3rem/1.2 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  color: #15192a;
  max-width: 60ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  margin: 0;
}
.bp-room-title .bp-room-id {
  font: 500 0.82rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #7d839a;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  letter-spacing: 0.04em;
}
.bp-share-copy {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 5px;
  padding: 8px 14px;
  cursor: pointer;
  color: #15192a;
  font: inherit;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-share-copy:hover {
  background: rgba(21, 25, 42, 0.05);
  border-color: #15192a;
}
.bp-share-copy .bp-share-copy-label {
  font: 500 0.66rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.2em;
  color: #7d839a;
}
.bp-share-copy .bp-share-copy-url {
  font: 500 0.82rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #15192a;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-share-copy .fa {
  font-size: 0.9rem;
  color: #4a5169;
  transition: color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-share-copy:hover .fa {
  color: #15192a;
}
.bp-share-copy.is-copied {
  color: #128a63;
  background: rgba(18, 138, 99, 0.08);
  border-color: rgba(18, 138, 99, 0.5);
}
.bp-share-copy.is-copied .fa {
  color: #128a63;
}
.bp-share-copy.is-failed {
  color: #d23357;
  border-color: rgba(210, 51, 87, 0.5);
}
.bp-share-copy.is-failed .fa {
  color: #d23357;
}
.bp-settings {
  display: none;
}
.bp-room {
  position: relative;
  z-index: 1;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 36px 80px;
}
.bp-round-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
  padding: 28px 4px 22px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
}
.bp-round-bar-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.bp-btn-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #4321ee;
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.01em;
  background: #5b3df0;
  color: #ece8de;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
  -webkit-appearance: none;
  height: 46px;
  padding: 0 22px;
  font-size: 0.84rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 3px;
}
.bp-btn-round:hover,
.bp-btn-round:focus {
  background: #6b50f1;
  border-color: #7b63f3;
  color: #ece8de;
  outline: none;
}
.bp-btn-round:active {
  transform: translateY(1px);
}
.bp-btn-round:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.voting .bp-btn-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  height: 46px;
  border: 1px solid #bd2a4b;
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.01em;
  background: #d23357;
  color: #ece8de;
  cursor: pointer;
  border-radius: 3px;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
  -webkit-appearance: none;
}
.voting .bp-btn-round:hover,
.voting .bp-btn-round:focus {
  background: #d64465;
  border-color: #d95473;
  color: #ece8de;
  outline: none;
}
.voting .bp-btn-round:active {
  transform: translateY(1px);
}
.voting .bp-btn-round:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bp-deck-switch {
  position: relative;
}
.bp-deck-trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  padding: 0 14px;
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 3px;
  color: #15192a;
  cursor: pointer;
  font: inherit;
  transition: border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-deck-trigger:hover {
  border-color: #15192a;
}
.bp-deck-trigger[aria-expanded="true"] {
  border-color: #15192a;
  background: rgba(21, 25, 42, 0.05);
}
.bp-deck-trigger .bp-deck-mini-label {
  font: 500 0.66rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.2em;
  color: #7d839a;
  text-transform: uppercase;
}
.bp-deck-trigger .bp-deck-value {
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
}
.bp-deck-trigger .fa {
  color: #7d839a;
  transition: transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-deck-trigger[aria-expanded="true"] .fa {
  transform: rotate(180deg);
}
.bp-deck-menu {
  display: none;
  position: absolute;
  top: 54px;
  left: 0;
  min-width: 220px;
  padding: 6px;
  background: #ece8de;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 5px;
  box-shadow: 0 12px 28px -16px rgba(21, 25, 42, 0.3);
  z-index: 50;
}
.bp-deck-menu.is-open {
  display: block;
  animation: bp-fade-in 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-deck-menu .bp-deck-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 3px;
  cursor: pointer;
  font: 500 0.92rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-deck-menu .bp-deck-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bp-deck-menu .bp-deck-option::before {
  content: '';
  width: 12px;
  height: 12px;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 50%;
  flex-shrink: 0;
  transition: border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-deck-menu .bp-deck-option:hover {
  background: rgba(21, 25, 42, 0.05);
}
.bp-deck-menu .bp-deck-option:has(input:checked)::before {
  border-color: #15192a;
  background: radial-gradient(#15192a 0 4px, transparent 5px);
}
.bp-auto-reveal {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  padding: 0 6px;
}
.bp-auto-reveal input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bp-auto-reveal .bp-switch-track {
  position: relative;
  width: 32px;
  height: 18px;
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 999px;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-auto-reveal .bp-switch-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  background: #4a5169;
  border-radius: 50%;
  transition: left 240ms cubic-bezier(0.22, 0.61, 0.36, 1), background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-auto-reveal input:checked ~ .bp-switch-track {
  background: #15192a;
  border-color: #15192a;
}
.bp-auto-reveal input:checked ~ .bp-switch-track .bp-switch-thumb {
  left: 16px;
  background: #ece8de;
}
.bp-auto-reveal .bp-auto-reveal-label {
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #4a5169;
}
.bp-ticket {
  color: #4a5169;
  font: 400 0.95rem/1.4 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  min-height: 1.4em;
  text-align: center;
}
.bp-ticket:empty::before {
  content: '— no ticket linked —';
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.18em;
  color: #7d839a;
}
.bp-ticket .key {
  color: #117a9c;
  font-family: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.bp-ticket .title {
  color: #15192a;
  margin-left: 8px;
}
.bp-round-results {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  align-items: center;
  justify-content: flex-end;
}
.bp-progress {
  display: none;
  align-items: center;
  gap: 12px;
}
.bp-progress.is-active {
  display: inline-flex;
}
.bp-progress .bp-progress-count {
  font: 600 1rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #15192a;
  display: inline-flex;
  gap: 2px;
  min-width: 56px;
  justify-content: center;
}
.bp-progress .bp-progress-sep {
  color: #7d839a;
  padding: 0 2px;
}
.bp-progress .bp-progress-total {
  color: #7d839a;
}
.bp-progress .bp-progress-label {
  font: 500 0.68rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #7d839a;
}
.bp-progress .bp-progress-bar {
  width: 90px;
  height: 4px;
  background: rgba(21, 25, 42, 0.1);
  border-radius: 0;
  overflow: hidden;
}
.bp-progress .bp-progress-fill {
  height: 100%;
  width: 0%;
  background: #15192a;
  transition: width 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-stat {
  display: none;
  align-items: baseline;
  gap: 10px;
}
.bp-stat .bp-stat-label {
  font: 500 0.68rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7d839a;
}
.bp-stat .val {
  font: 400 1.9rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-style: italic;
  color: #15192a;
  background: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.bp-results-row {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  padding: 24px 4px;
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  position: relative;
}
.bp-results-row.is-visible {
  display: grid;
}
.bp-results-stats {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 18px;
  border-left: 1px solid rgba(21, 25, 42, 0.1);
  min-height: 160px;
  justify-content: center;
}
.bp-recommendation {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 14px;
}
.bp-recommendation .bp-rec-label {
  font: 500 0.78rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #7d839a;
}
.bp-recommendation .bp-rec-arrow {
  font: 400 1.8rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-style: italic;
  color: #7d839a;
  opacity: 0.6;
}
.bp-recommendation .bp-rec-value {
  font: 400 3.2rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  font-style: italic;
  color: #15192a;
  letter-spacing: -0.01em;
}
.bp-recommendation .bp-rec-value .fa {
  font-size: 2.4rem;
  color: #15192a;
}
.bp-recommendation .bp-rec-subtext {
  flex-basis: 100%;
  font: 500 0.72rem/1.4 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #7d839a;
  margin-top: 4px;
}
.bp-recommendation.is-discuss .bp-rec-label {
  color: #e1457c;
}
.bp-recommendation.is-discuss .bp-rec-arrow {
  display: none;
}
.bp-recommendation.is-discuss .bp-rec-value {
  color: #e1457c;
}
.bp-recommendation.is-discuss .bp-rec-subtext {
  color: #4a5169;
}
.bp-distribution {
  display: none;
  padding: 0;
}
.bp-distribution.is-visible {
  display: block;
}
.bp-distribution .bp-distribution-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bp-distribution .bp-distribution-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7d839a;
}
.bp-distribution .bp-distribution-label .bp-distribution-count {
  color: #4a5169;
}
.bp-distribution .bp-distribution-bars {
  display: flex;
  align-items: stretch;
  gap: 10px;
  height: 140px;
  padding-bottom: 22px;
  position: relative;
}
.bp-distribution .bp-distribution-bars::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  height: 1px;
  background: rgba(21, 25, 42, 0.1);
}
.bp-distribution .bp-dist-bar {
  flex: 1 1 0;
  min-width: 28px;
  max-width: 64px;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.bp-distribution .bp-dist-bar .bp-dist-count {
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #4a5169;
  margin-bottom: 4px;
}
.bp-distribution .bp-dist-bar .bp-dist-fill {
  width: 100%;
  height: var(--h, 0%);
  background: #15192a;
  min-height: 2px;
  transition: height 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
  animation: bp-bar-grow 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-distribution .bp-dist-bar .bp-dist-label {
  position: absolute;
  bottom: -22px;
  font: 500 0.72rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #4a5169;
  letter-spacing: 0.02em;
}
.bp-distribution .bp-dist-bar.is-min .bp-dist-fill {
  background: #117a9c;
}
.bp-distribution .bp-dist-bar.is-min .bp-dist-label {
  color: #117a9c;
}
.bp-distribution .bp-dist-bar.is-max .bp-dist-fill {
  background: #e1457c;
}
.bp-distribution .bp-dist-bar.is-max .bp-dist-label {
  color: #e1457c;
}
@keyframes bp-bar-grow {
  from {
    height: 0%;
  }
  to {
    height: var(--h, 0%);
  }
}
.bp-voters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0;
  padding: 0;
  border-left: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-voters li {
  position: relative;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(21, 25, 42, 0.1);
  border-bottom: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 0;
  box-shadow: none;
  padding: 28px 20px 30px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-voters li:hover {
  background: rgba(21, 25, 42, 0.025);
}
.bp-voters li:hover .kickVoter,
.bp-voters li:hover .ಠ_ಠ {
  opacity: 1;
  transform: translateX(0);
}
.bp-voters li[data-observer="true"] {
  opacity: 0.7;
}
.bp-voters li[data-observer="true"] .voterName::after {
  content: 'OBSERVER';
  display: block;
  font: 500 0.68rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.2em;
  color: #117a9c;
  margin-top: 6px;
}
.bp-voters li::before {
  content: counter(voter, decimal-leading-zero);
  counter-increment: voter;
  position: absolute;
  top: 14px;
  left: 16px;
  font: 500 0.68rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.18em;
  color: #7d839a;
}
.bp-voters li .voterImage {
  display: block;
  width: 60px;
  height: 60px;
  padding: 0;
  margin-top: 8px;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 50%;
  background: rgba(21, 25, 42, 0.04);
  box-shadow: none;
}
.bp-voters li .voterName {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  text-align: center;
  font: 600 1rem/1.3 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  letter-spacing: -0.015em;
  word-break: break-word;
}
.bp-voters li .bp-vote-display {
  position: relative;
  height: 56px;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.bp-voters li .bp-scramble {
  display: none;
  font: 600 1.75rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #7d839a;
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
  filter: blur(0.6px);
  opacity: 0.55;
  user-select: none;
}
.bp-voters li .bp-vote-display.is-active .bp-scramble {
  display: block;
}
.bp-voters li .bp-vote-final {
  display: none;
  font-variant-numeric: tabular-nums;
}
.bp-voters li .bp-vote-display.is-voted .bp-scramble {
  display: none;
}
.bp-voters li .bp-vote-display.is-voted .bp-vote-final {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 50%;
  color: #4a5169;
  font-size: 0.85rem;
}
.bp-voters li .bp-vote-display.is-revealed .bp-scramble {
  display: none;
}
.bp-voters li .bp-vote-display.is-revealed .bp-vote-final {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  font: 600 2rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  letter-spacing: -0.03em;
}
.bp-voters li .bp-vote-display.is-revealed .bp-vote-final .fa {
  font-size: 1.5rem;
  color: #15192a;
}
.bp-voters li .bp-vote-display.bp-celebrate .bp-vote-final {
  animation: bp-card-bounce 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bp-voters li .kickVoter,
.bp-voters li .ಠ_ಠ {
  position: absolute;
  top: 12px;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  color: #4a5169;
  background: transparent;
  border: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 3px;
  cursor: pointer;
  opacity: 0;
  transform: translateX(4px);
  transition: opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 240ms cubic-bezier(0.22, 0.61, 0.36, 1), color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
  font-size: 0.85rem;
  box-shadow: none;
  padding: 0;
}
.bp-voters li .ಠ_ಠ {
  right: 50px;
}
.bp-voters li .ಠ_ಠ:hover {
  color: #8d5800;
  border-color: rgba(182, 113, 0, 0.6);
}
.bp-voters li .kickVoter {
  right: 14px;
  font-size: 1.05rem;
  line-height: 26px;
}
.bp-voters li .kickVoter:hover {
  color: #d23357;
  border-color: rgba(210, 51, 87, 0.6);
}
.bp-voters:not(:empty) {
  border-top: 1px solid rgba(21, 25, 42, 0.1);
}
.bp-voters {
  counter-reset: voter;
}
.bp-voters:empty {
  display: none;
}
html.voting .bp-btn-round {
  animation: bp-pulse-ring 2.4s ease-in-out infinite;
}
@keyframes bp-pulse-ring {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(210, 51, 87, 0);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(210, 51, 87, 0.18);
  }
}
.bp-share-cta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  max-width: 720px;
  margin: 0 auto;
  padding: 60px 12px 20px;
}
.bp-share-cta.is-hidden {
  display: none;
}
.bp-share-cta .bp-share-cta-eyebrow {
  font: 500 0.7rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #7d839a;
}
.bp-share-cta h2 {
  font: 600 clamp(1.8rem, 4vw, 2.6rem)/1.1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: -0.025em;
  color: #15192a;
  margin: 0;
}
.bp-share-cta h2 em {
  font: italic 400 1em/1.1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  color: #117a9c;
}
.bp-share-cta .bp-share-cta-lead {
  font: 400 1rem/1.5 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #4a5169;
  max-width: 460px;
  margin: 0;
}
.bp-share-cta .bp-share-cta-row {
  display: flex;
  gap: 0;
  border: 1px solid rgba(21, 25, 42, 0.22);
  border-radius: 5px;
  overflow: hidden;
  margin-top: 8px;
}
.bp-share-cta .bp-share-cta-row:focus-within {
  border-color: #15192a;
}
.bp-share-cta .bp-share-cta-url {
  flex: 1 1 0;
  min-width: 0;
  height: 56px;
  padding: 0 18px;
  border: 0;
  background: transparent;
  font: 500 1rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  color: #15192a;
  letter-spacing: 0.02em;
}
.bp-share-cta .bp-share-cta-url:focus {
  outline: none;
}
.bp-share-cta .bp-share-cta-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  height: 46px;
  border: 1px solid #0b0d16;
  font: 600 0.95rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.01em;
  cursor: pointer;
  border-radius: 3px;
  box-shadow: none;
  transition: background-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 240ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
  -webkit-appearance: none;
  height: 56px;
  border-radius: 0;
  padding: 0 28px;
  background: #15192a;
  color: #ece8de;
  border: 0;
  border-left: 1px solid #15192a;
  font: 600 0.86rem/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bp-share-cta .bp-share-cta-copy:hover,
.bp-share-cta .bp-share-cta-copy:focus {
  background: #1c2138;
  border-color: #232945;
  color: #ece8de;
  outline: none;
}
.bp-share-cta .bp-share-cta-copy:active {
  transform: translateY(1px);
}
.bp-share-cta .bp-share-cta-copy:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.bp-share-cta .bp-share-cta-copy:hover,
.bp-share-cta .bp-share-cta-copy:focus {
  background: #232945;
  color: #ece8de;
}
.bp-share-cta .bp-share-cta-copy.is-copied {
  background: #128a63;
  color: #ece8de;
}
.bp-marginalia {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(var(--tilt, -4deg)) scale(0.88);
  transform-origin: center center;
  opacity: 0;
  transition: opacity 380ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
  pointer-events: none;
  z-index: 10000;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 4px 6px 2px;
}
.bp-marginalia .bp-marginalia-text {
  font: italic 400 6.4rem/1 'Instrument Serif', Georgia, Cambria, 'Times New Roman', Times, serif;
  color: #15192a;
  letter-spacing: -0.005em;
  white-space: nowrap;
}
.bp-marginalia .bp-marginalia-underline {
  display: block;
  width: 320px;
  height: 36px;
  margin-top: 0;
  overflow: visible;
}
.bp-marginalia .bp-marginalia-underline path {
  fill: none;
  stroke: #15192a;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  transition: stroke-dashoffset 600ms cubic-bezier(0.22, 0.61, 0.36, 1) 250ms;
}
.bp-marginalia.is-in {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(var(--tilt, -4deg)) scale(1);
}
.bp-marginalia.is-in .bp-marginalia-underline path {
  stroke-dashoffset: 0;
}
.bp-marginalia.is-out {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--tilt, -4deg)) scale(1.04);
  transition: opacity 500ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
  .bp-marginalia {
    transition: opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
    transform: translate(-50%, -50%) rotate(var(--tilt, -4deg));
  }
  .bp-marginalia .bp-marginalia-underline path {
    transition: none;
    stroke-dashoffset: 0;
  }
}
@media (max-width: 920px) {
  .bp-share-copy .bp-share-copy-url {
    display: none;
  }
}
@media (max-width: 720px) {
  .bp-room-header {
    grid-template-columns: 1fr auto;
    padding: 14px 18px;
    gap: 12px;
  }
  .bp-room-header .bp-room-meta {
    display: none;
  }
  .bp-room {
    padding: 0 18px 60px;
  }
  .bp-round-bar {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 4px 18px;
  }
  .bp-round-bar .bp-btn-round {
    width: 100%;
  }
  .bp-round-bar .bp-round-results {
    justify-content: flex-start;
  }
  .bp-voters {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
}
/**
 * Error page
 */
#error {
  max-width: 520px;
  margin: 60px auto;
  padding: 40px 32px;
  background: rgba(21, 25, 42, 0.025);
  border: 1px solid rgba(21, 25, 42, 0.1);
  border-radius: 5px;
  box-shadow: none;
  border-radius: 6px;
  text-align: center;
}
#error p {
  margin: 14px 0;
  color: #4a5169;
}
#error p strong {
  color: #15192a;
  font-weight: 600;
}
#error a {
  color: #117a9c;
  font-weight: 600;
}
#error .errorCard {
  position: absolute;
  width: 92px;
  height: 116px;
  left: 50%;
  margin-left: -46px;
  top: 200px;
  opacity: 0;
  transform: translateY(6px) scale(0.96);
  transition: opacity 380ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
  position: static;
  margin: 0 auto 20px;
  width: 180px;
  height: 250px;
}
#error .errorCard.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
#error .errorCard .cardInner,
#error .errorCard .cardBack {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 5px;
  border: 1px solid rgba(21, 25, 42, 0.22);
  background: rgba(255, 255, 255, 0.55) !important;
  background-image: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
#error .errorCard .cardBack {
  font: 500 0.66rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: #7d839a;
}
#error .errorCard .cardBack::before {
  content: 'Voted';
}
#error .errorCard .cardInner {
  opacity: 0;
}
#error .errorCard .cardInner .cardValue {
  font: 600 (1.9em * 1)/1 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  letter-spacing: -0.025em;
}
#error .errorCard .cardInner .cardValue.min {
  color: #117a9c;
}
#error .errorCard .cardInner .cardValue.max {
  color: #e1457c;
}
#error .errorCard .cardInner .cardValue.coffee {
  font-size: 1.4em;
}
#error .errorCard .cardInner .cornerValue {
  display: none;
}
#error .errorCard.showValue .cardBack {
  opacity: 0;
}
#error .errorCard.showValue .cardInner {
  opacity: 1;
}
#error .errorCard.spin {
  animation: bp-card-bounce 0.65s cubic-bezier(0.22, 0.61, 0.36, 1);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  min-height: 100%;
  background-color: #ece8de;
  background-image: linear-gradient(to right, rgba(21, 25, 42, 0.02) 1px, transparent 1px), linear-gradient(to bottom, rgba(21, 25, 42, 0.02) 1px, transparent 1px), radial-gradient(900px 700px at 85% -10%, rgba(91, 61, 240, 0.1) 0%, transparent 60%), radial-gradient(800px 600px at -10% 110%, rgba(225, 69, 124, 0.08) 0%, transparent 55%), linear-gradient(180deg, #ece8de 0%, #e5e0d3 70%, #ece8de 100%);
  background-size: 56px 56px, 56px 56px, auto, auto, auto;
  background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat;
  background-attachment: fixed;
  color: #15192a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: filter 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
html.voting body::before {
  opacity: 1;
}
body {
  font: 400 16px/1.55 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #15192a;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(1000px 600px at 50% 110%, rgba(18, 138, 99, 0.12) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}
body a {
  color: #117a9c;
  text-decoration: none;
  transition: color 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
body a:hover,
body a:focus,
body a:active {
  color: #1597c1;
}
body .fa {
  color: inherit;
}
body ::selection {
  background: rgba(91, 61, 240, 0.28);
  color: #ece8de;
}
body ::-moz-selection {
  background: rgba(91, 61, 240, 0.28);
  color: #ece8de;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(21, 25, 42, 0.14);
  border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(21, 25, 42, 0.26);
}
.bp-logo {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font: 600 0.95rem/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #15192a;
}
.bp-logo .bp-logo-mark {
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  box-shadow: none;
  display: inline-block;
  font-family: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.16em;
  color: #117a9c;
  padding: 0;
}
.bp-logo .bp-logo-mark::after {
  content: ' /';
  color: #7d839a;
  margin-left: 4px;
}
