/* Youthful visual layer and Mobile Safari hardening. */
:root {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color-scheme: light;
  --electric-pink: #ff3d81;
  --hot-coral: #ff765c;
  --grape: #6d48ff;
  --ink: #fff7fb;
  --muted: #cbbbc5;
  --paper: #120d14;
  --glass: rgba(31, 22, 31, .7);
  color: var(--ink);
  background: var(--paper);
}

html {
  min-height: 100%;
  overflow-x: hidden;
}

body {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  overflow-x: hidden;
  isolation: isolate;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(151, 39, 102, .28), transparent 34rem),
    radial-gradient(circle at 100% 80%, rgba(79, 50, 181, .22), transparent 32rem),
    #120d14;
}

.brand {
  padding-top: max(1.25rem, env(safe-area-inset-top, 0px));
}

.brand a {
  display: inline-flex;
  align-items: center;
  font-size: 1.38rem;
  letter-spacing: -.07em;
}

.brand a::after {
  content: "♥";
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  margin-left: .55rem;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--electric-pink), var(--grape));
  font-size: .72rem;
  box-shadow: 0 6px 18px rgba(255, 61, 129, .28);
}

.home-page {
  background:
    radial-gradient(circle at 8% 5%, rgba(196, 45, 110, .3), transparent 31rem),
    radial-gradient(circle at 100% 70%, rgba(87, 62, 200, .28), transparent 30rem),
    linear-gradient(145deg, #110c12, #1b111d 55%, #160d15);
}

.home-page::before,
.home-page::after {
  content: "";
  position: fixed;
  z-index: -1;
  border-radius: 999px;
  filter: blur(2px);
  opacity: .55;
  pointer-events: none;
}

.home-page::before {
  width: 11rem;
  height: 11rem;
  right: -5rem;
  top: 7rem;
  background: linear-gradient(135deg, #ff7a98, #ffce73);
  transform: rotate(18deg);
}

.home-page::after {
  width: 8rem;
  height: 8rem;
  left: -4rem;
  bottom: 8rem;
  background: linear-gradient(135deg, #8f75ff, #ff78ac);
}

.shell {
  padding-bottom: max(4.5rem, calc(env(safe-area-inset-bottom, 0px) + 2.5rem));
}

.home-shell {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  width: min(46rem, 100%);
  gap: 2rem;
}

.intro {
  position: relative;
  width: 100%;
  text-align: center;
}

.intro .lede {
  margin-inline: auto;
}

.intro h1,
.question h1,
.success-card h1,
.state-card h1,
.result-card h1 {
  text-wrap: balance;
}

.intro h1 em,
.question h1 em {
  background: linear-gradient(120deg, var(--electric-pink), var(--hot-coral) 48%, var(--grape));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: .42rem .7rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  letter-spacing: .12em;
}

.mood-stickers {
  position: absolute;
  right: .25rem;
  top: -1.25rem;
  display: flex;
  align-items: center;
  gap: .35rem;
  transform: rotate(5deg);
}

.mood-stickers span {
  display: grid;
  place-items: center;
  min-width: 2.65rem;
  min-height: 2.65rem;
  padding: .6rem;
  border: 2px solid #241a20;
  border-radius: .9rem;
  background: #fff36d;
  box-shadow: 4px 4px 0 #241a20;
  font-size: .63rem;
  font-weight: 900;
  text-transform: uppercase;
}

.mood-stickers span:last-child {
  border-radius: 50%;
  background: var(--electric-pink);
  color: #fff;
  font-size: 1rem;
}

.card,
.emotion-card,
.result-card {
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 1.8rem;
  background: rgba(30, 21, 30, .72);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .32), 0 1px 0 rgba(255, 255, 255, .08) inset;
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .card,
  .emotion-card,
  .result-card {
    -webkit-backdrop-filter: blur(20px) saturate(130%);
    backdrop-filter: blur(20px) saturate(130%);
  }
}

input[type="text"],
input[type="email"] {
  min-height: 3.55rem;
  border: 1.5px solid rgba(255, 255, 255, .14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  font-size: 16px; /* Prevents focus zoom on iPhone. */
}

.button {
  min-height: 3.6rem;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.button.primary {
  background: linear-gradient(115deg, #ff3d81, #8b4dff);
  box-shadow: 0 12px 32px rgba(223, 49, 129, .27);
}

.button.primary:active {
  transform: scale(.98);
}

.form-card {
  position: relative;
  overflow: hidden;
  width: min(36rem, 100%);
  margin-inline: auto;
  text-align: left;
}

.intro-proof { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.55rem; margin:1.35rem auto 0; color:#a996a2; font-size:.72rem; font-weight:750; }
.intro-proof span { display:inline-flex; align-items:center; gap:.35rem; }
.intro-proof b { display:grid; place-items:center; width:1.45rem; height:1.45rem; border:1px solid rgba(255,255,255,.15); border-radius:50%; background:rgba(255,255,255,.06); color:#fff; font-size:.65rem; }
.intro-proof i { color:#705f6a; font-style:normal; }
.create-card { padding:clamp(1.25rem,4vw,2rem); }
.create-card::before { opacity:.7; }
.create-heading { padding-right:4.5rem; }
.create-kicker { display:inline-flex; margin-bottom:.5rem; color:#ff91bb; font-size:.67rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.create-heading h2 { margin:0; font-size:clamp(1.8rem,7vw,2.45rem); letter-spacing:-.045em; }
.create-heading p { margin:.55rem 0 1.2rem; color:#a997a2; font-size:.86rem; line-height:1.5; }
.create-card::after { content:'💘'; position:absolute; right:1.45rem; top:1.45rem; display:grid; place-items:center; width:3.2rem; height:3.2rem; border:1px solid rgba(255,255,255,.12); border-radius:1rem; background:rgba(255,255,255,.07); font-size:1.45rem; transform:rotate(6deg); }
.people-fields { display:grid; gap:.55rem; }
.person-field { display:grid; grid-template-columns:2.8rem minmax(0,1fr); align-items:center; gap:.8rem; padding:.8rem; border:1px solid rgba(255,255,255,.1); border-radius:1.15rem; background:rgba(255,255,255,.035); transition:border-color .2s,background .2s,transform .2s; }
.person-field:focus-within { border-color:rgba(255,104,164,.65); background:rgba(255,255,255,.065); transform:translateY(-1px); }
.person-icon { display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:.85rem; background:linear-gradient(145deg,#8d69ff,#ff6ea6); font-size:1.25rem; box-shadow:0 8px 22px rgba(105,73,213,.22); }
.person-icon-them { background:linear-gradient(145deg,#ff765c,#ff3d81); }
.person-field label { margin:0 0 .35rem; color:#e7dae2; font-size:.64rem; }
.person-field input { min-height:3.15rem; padding:.78rem .9rem; font-weight:750; }
.person-field small { display:block; margin:.35rem .15rem 0; color:#897782; font-size:.66rem; }
.people-connector { display:flex; align-items:center; justify-content:center; height:1.3rem; gap:.45rem; color:#8f7d88; }
.people-connector span { font-size:1rem; }.people-connector b { font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; }
.create-preview { display:flex; align-items:flex-start; gap:.6rem; margin:1rem 0 0; padding:.8rem .9rem; border:1px dashed rgba(255,255,255,.14); border-radius:.9rem; background:rgba(0,0,0,.12); color:#cbbbc5; font:italic .82rem/1.4 Georgia,serif; }
.create-preview > span:first-child { font-style:normal; }
.create-card .link-mode { margin-top:1.25rem; }
.create-card .link-toggle { grid-template-columns:5.35rem minmax(0,1fr) auto; }
.create-card .link-mode legend { margin-bottom:.65rem; color:#d9cbd4; }
.recommended-tag { align-self:start; padding:.3rem .45rem; border-radius:999px; background:rgba(119,255,190,.12); color:#9dffcc; font-size:.55rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.link-toggle:has(input:checked) .recommended-tag { display:none; }
.create-reassurance { display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem .8rem; margin:1rem 0 .15rem; color:#9c8a95; font-size:.65rem; }
.create-submit { justify-content:space-between; padding-inline:1.3rem; font-size:1rem; }
.create-submit b { display:grid; place-items:center; width:2rem; height:2rem; margin:-.3rem; border-radius:50%; background:rgba(255,255,255,.16); }
.submit-footnote { margin:.65rem 0 0; color:#796873; font-size:.63rem; text-align:center; }
.create-card .alert { margin-bottom:1rem; border-color:rgba(255,111,143,.35); background:rgba(155,30,66,.22); color:#ffd5df; line-height:1.45; }
@media(min-width:860px){.home-shell{display:grid; grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr); align-items:center; width:min(70rem,100%); gap:clamp(2rem,6vw,5rem)}.intro{text-align:left}.intro .lede{margin-left:0}.intro-proof{justify-content:flex-start}.mood-stickers{right:-1rem}.create-card{width:100%}}
@media(max-width:420px){.intro-proof i{display:none}.intro-proof{gap:.55rem 1rem}.create-heading{padding-right:3.5rem}.create-card::after{right:1rem;top:1rem;width:2.8rem;height:2.8rem}.person-field{grid-template-columns:2.5rem minmax(0,1fr);padding:.7rem;gap:.65rem}.person-icon{width:2.5rem;height:2.5rem}.recommended-tag{display:none}.link-toggle{grid-template-columns:auto minmax(0,1fr)}}

.success-card,
.state-card,
.result-card {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.link-box {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.link-box span {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.created-page .centred {
  width: min(100%, 46rem);
  margin-inline: auto;
}

.created-page .button-row,
.created-page .button {
  min-width: 0;
  max-width: 100%;
}

.mail-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: .25rem auto .5rem;
  padding: .55rem .8rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: #f8dce9 !important;
  font-size: .78rem;
  font-weight: 750;
}

.error-reference {
  margin: 1rem auto;
  font-size: .78rem;
  letter-spacing: .04em;
}

.error-reference code {
  display: inline-block;
  margin-left: .25rem;
  padding: .35rem .55rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .55rem;
  background: rgba(0, 0, 0, .25);
  color: #ff9cc1;
  font-weight: 800;
}

.form-card::before {
  content: "";
  position: absolute;
  width: 7rem;
  height: 7rem;
  right: -3.5rem;
  top: -3.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255, 61, 129, .25), rgba(109, 72, 255, .22));
}

.link-choice {
  display: grid;
  gap: .65rem;
  margin: 1.25rem 0 0;
  padding: 0;
  border: 0;
}

.link-choice legend {
  margin-bottom: .55rem;
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.link-choice label {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  margin: 0;
  padding: .9rem;
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  background: rgba(255,255,255,.045);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  transition: border-color .18s, background .18s, transform .18s;
}

.link-choice label:has(input:checked) {
  border-color: #ff5d9a;
  background: rgba(255,61,129,.11);
  box-shadow: 0 0 0 3px rgba(255,61,129,.08);
}

.link-choice label:active { transform: scale(.99); }
.link-choice input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; accent-color: #ff3d81; }
.link-choice span { display: grid; gap: .2rem; }
.link-choice strong { color: #fff7fb; font-size: .92rem; }
.link-choice small { color: #a998a3; font-size: .76rem; line-height: 1.4; }

.link-mode {
  margin: 1.35rem 0 0;
  padding: 0;
  border: 0;
}

.link-mode legend {
  margin-bottom: .6rem;
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.link-toggle {
  display: grid;
  grid-template-columns: 5.35rem minmax(0,1fr);
  align-items: center;
  gap: .9rem;
  margin: 0;
  padding: .9rem;
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 1.1rem;
  background: linear-gradient(120deg,rgba(255,255,255,.055),rgba(139,77,255,.06));
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .15s;
  -webkit-tap-highlight-color: transparent;
}

.link-toggle:has(input:checked) {
  border-color: rgba(255,93,154,.72);
  background: linear-gradient(120deg,rgba(255,61,129,.13),rgba(139,77,255,.13));
  box-shadow: 0 0 0 3px rgba(255,61,129,.08),0 12px 30px rgba(0,0,0,.15);
}

.link-toggle:active { transform: scale(.99); }
.link-toggle > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.link-toggle:has(input:focus-visible) { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #ff3d81; }

.toggle-track {
  position: relative;
  width: 5.35rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(4,3,6,.5);
  box-shadow: inset 0 2px 8px rgba(0,0,0,.4);
  overflow: hidden;
}

.toggle-track i {
  position: absolute;
  z-index: 2;
  top: .25rem;
  left: .25rem;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: linear-gradient(145deg,#fff,#dbcfe0);
  box-shadow: 0 5px 14px rgba(0,0,0,.38);
  transition: transform .28s cubic-bezier(.2,.9,.25,1.25),background .2s;
}

.link-toggle input:checked + .toggle-track i {
  transform: translateX(2.65rem);
  background: linear-gradient(145deg,#ff8db8,#9a66ff);
}

.toggle-icon {
  position: absolute;
  z-index: 3;
  top: 50%;
  font-size: .72rem;
  transform: translateY(-50%);
  transition: opacity .2s,transform .25s;
}

.toggle-lock { left: .86rem; opacity: 1; }
.toggle-spark { right: .82rem; opacity: .45; }
.link-toggle input:checked + .toggle-track .toggle-lock { opacity: .4; transform: translateY(-50%) scale(.82); }
.link-toggle input:checked + .toggle-track .toggle-spark { opacity: 1; transform: translateY(-50%) scale(1.15); }
.toggle-copy { display: grid; min-width: 0; gap: .22rem; }
.toggle-copy strong { color: #fff7fb; font-size: .92rem; }
.toggle-copy small { color: #aa99a4; font-size: .76rem; line-height: 1.4; }

.form-card > div > p,
.success-card > p,
.state-card > p,
.lede {
  color: var(--muted);
}

.step,
.link-box {
  border-color: rgba(255, 255, 255, .14);
}

.link-box {
  background: rgba(255, 255, 255, .07);
}

.icon-button {
  background: #fff;
  color: #1a1018;
}

input::placeholder {
  color: #96858f;
  opacity: 1;
}

.emotion-page {
  background-color: var(--emotion-bg);
  background-image: radial-gradient(circle at 50% -15%, rgba(255, 255, 255, .42), transparent 54%);
  background-attachment: scroll;
}

.emotion-page .eyebrow {
  border-color: rgba(255, 255, 255, .32);
  background: rgba(255, 255, 255, .2);
}

.emotion-card {
  background: rgba(255, 255, 255, .32);
}

input[type="range"] {
  display: block;
  min-height: 3.5rem;
  margin-left: 0;
  margin-right: 0;
  -webkit-tap-highlight-color: transparent;
}

.range-wrap {
  --value: 50%;
}

.emoji-track {
  position: relative;
  height: 3.25rem;
  margin: .45rem 1.5rem -.65rem;
}

.slider-emoji {
  position: absolute;
  left: var(--value);
  top: 0;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 2px solid rgba(36, 26, 32, .72);
  border-radius: 50% 50% 50% .35rem;
  background: #fff;
  box-shadow: 4px 5px 0 rgba(36, 26, 32, .22);
  font-size: 1.35rem;
  transform: translateX(-50%) rotate(-8deg);
  transition: left .08s linear, transform .18s ease;
}

.slider-emoji::after {
  content: "";
  position: absolute;
  bottom: -.42rem;
  left: 50%;
  width: .7rem;
  height: .7rem;
  border-right: 2px solid rgba(36, 26, 32, .72);
  border-bottom: 2px solid rgba(36, 26, 32, .72);
  background: #fff;
  transform: translateX(-50%) rotate(45deg);
}

.extremes {
  font-size: 1.6rem;
  opacity: 1;
}

input[type="range"]::-webkit-slider-thumb {
  width: 3rem;
  height: 3rem;
  border-width: .45rem;
  box-shadow: 0 7px 22px rgba(0, 0, 0, .25);
}

.result-score {
  background: linear-gradient(135deg, currentColor 25%, var(--emotion-accent));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

footer {
  padding-bottom: max(1.2rem, env(safe-area-inset-bottom, 0px));
}

@media (max-width: 420px) {
  .brand { padding-inline: 1rem; }
  .shell { padding-inline: 1rem; padding-top: .8rem; }
  .intro h1 { font-size: clamp(3.1rem, 16vw, 4.3rem); }
  .question h1 { font-size: clamp(2.7rem, 13vw, 3.7rem); }
  .lede { font-size: 1rem; }
  .form-card { padding: 1.25rem; }
  .emotion-card { align-items: flex-start; gap: .75rem; }
  .score { min-width: 5.65rem; }
  .score output { font-size: 3.2rem; }
  .stage-copy { padding-left: .8rem; }
  .mood-stickers { top: -2.5rem; }
}

@media (max-width: 350px) {
  .emotion-card { display: block; text-align: center; }
  .score { justify-content: center; margin: 0 auto .8rem; }
  .stage-copy { border-left: 0; border-top: 1px solid currentColor; padding: .8rem 0 0; }
}

@media (prefers-reduced-transparency: reduce) {
  .card,
  .emotion-card,
  .result-card { background: #211821; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

.legal-links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom));
  color: #9f8f99;
  font-size: .75rem;
}

.legal-shell {
  width: min(48rem, 100%);
  padding-top: 2rem;
}

.legal-shell > h1 {
  margin: .8rem 0 .3rem;
  font: 400 clamp(3rem, 12vw, 5.5rem)/.95 Georgia, serif;
  letter-spacing: -.055em;
}

.legal-updated { color: #9f8f99; }

.legal-shell section {
  margin-top: 1.25rem;
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 1.4rem;
  background: rgba(255,255,255,.045);
}

.legal-shell h2 { margin-top: 0; font-size: 1.25rem; }
.legal-shell p,
.legal-shell li { color: #cbbbc5; line-height: 1.72; }
.legal-shell a { color: #ff8fba; }
.legal-shell li + li { margin-top: .6rem; }

.cookie-table > div {
  display: grid;
  grid-template-columns: minmax(5rem, 8rem) 1fr;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.cookie-table span { color: #cbbbc5; line-height: 1.55; }

.cookie-notice {
  position: fixed;
  z-index: 50;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: max(1rem, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(42rem, calc(100% - 2rem));
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.25rem;
  background: rgba(25,17,25,.96);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.cookie-notice[hidden] { display: none; }
.cookie-notice strong { display: block; margin-bottom: .25rem; }
.cookie-notice p { margin: 0 0 .25rem; color: #cbbbc5; font-size: .78rem; line-height: 1.45; }
.cookie-notice a { color: #ff8fba; font-size: .75rem; }
.cookie-notice button {
  flex: 0 0 auto;
  min-width: 4.5rem;
  min-height: 2.8rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(115deg,#ff3d81,#8b4dff);
  color: #fff;
  font: 800 .85rem system-ui;
  cursor: pointer;
}

@media (max-width: 480px) {
  .cookie-notice { align-items: flex-end; }
  .cookie-table > div { grid-template-columns: 1fr; gap: .3rem; }
}

.created-shell { gap: 1.25rem; padding-bottom: 4rem; }
.created-shell { display:grid; width:min(43rem,100%); margin-inline:auto; }
.share-card { width:100%; padding:clamp(1.25rem,4vw,2rem); text-align:left; overflow:visible; }
.share-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.share-card-top h1 { margin:.65rem 0 1rem; font-size:clamp(3.1rem,12vw,5rem); }
.share-card-top .seal { flex:0 0 auto; width:3.7rem; height:3.7rem; margin:0; }
.share-card > p { color:color-mix(in srgb,currentColor 76%,transparent); line-height:1.55; }
.link-updated { padding:.8rem 1rem; border:1px solid rgba(106,255,187,.28); border-radius:.95rem; background:rgba(44,184,116,.13); color:#afffd5!important; font-size:.82rem; font-weight:750; }
.share-summary { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 .2rem; }
.share-summary span { padding:.42rem .62rem; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.045); color:#9e8d97; font-size:.65rem; font-weight:750; }
.share-summary span.is-on { border-color:rgba(255,128,178,.3); background:rgba(255,79,143,.1); color:#ffd1e3; }
.share-link-box { margin-top:1rem; }
.share-actions { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(8rem,.75fr); gap:.65rem; margin-top:.7rem; }
.share-actions .button { width:100%; margin:0; }
.share-card .copy-status { margin:.55rem 0 0; min-height:1.2rem; font-size:.72rem; }
.inline-shorten{display:grid;grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.7rem;margin:.55rem 0 .9rem;padding:.7rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.04)}.inline-shorten-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:.75rem;background:rgba(255,172,73,.13);font-size:1.1rem}.inline-shorten strong,.inline-shorten small{display:block}.inline-shorten strong{font-size:.78rem}.inline-shorten small{margin-top:.12rem;color:#a997a1;font-size:.62rem;line-height:1.35}.inline-shorten form{margin:0}.inline-shorten .button{min-height:2.45rem;padding:.55rem .75rem;border-color:rgba(255,176,83,.24);background:rgba(255,163,55,.1);color:#ffd6a2;font-size:.68rem;white-space:nowrap}@media(max-width:480px){.inline-shorten{grid-template-columns:2.2rem minmax(0,1fr);gap:.6rem}.inline-shorten-icon{width:2.2rem;height:2.2rem}.inline-shorten form{grid-column:1/-1}.inline-shorten .button{width:100%}}
.share-card-links { display:flex; justify-content:space-between; gap:1rem; margin-top:.7rem; color:#bba9b4; font-size:.72rem; font-weight:750; }
.options-heading { margin:1.2rem 0 .1rem; text-align:center; }
.options-heading h2 { margin:.55rem 0 .35rem; font:400 clamp(2rem,8vw,3rem)/1 Georgia,serif; letter-spacing:-.05em; }
.options-heading > p:last-child { margin:.4rem auto 0; max-width:32rem; color:color-mix(in srgb,currentColor 68%,transparent); font-size:.8rem; line-height:1.5; }
.option-panel { width:100%; overflow:hidden; }
.option-panel > summary { display:grid; grid-template-columns:3rem minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:1rem; cursor:pointer; list-style:none; text-align:left; -webkit-tap-highlight-color:transparent; }
.option-panel > summary::-webkit-details-marker { display:none; }
.option-panel > summary:focus-visible { outline:3px solid #fff; outline-offset:-4px; border-radius:1.6rem; }
.option-panel > summary > span:nth-child(2) strong,.option-panel > summary > span:nth-child(2) small { display:block; }
.option-panel > summary strong { font-size:.95rem; }
.option-panel > summary small { margin-top:.25rem; color:#a3919c; font-size:.72rem; line-height:1.35; }
.option-panel > summary > b { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:rgba(255,255,255,.09); color:#ffc4da; transition:transform .2s; }
.option-panel[open] > summary > b { background:rgba(255,92,153,.14); }
.option-icon { display:grid; place-items:center; width:3rem; height:3rem; border:1px solid rgba(255,255,255,.13); border-radius:.9rem; background:rgba(255,255,255,.07); font-size:1.35rem; }
.option-content { padding:0 1rem 1.15rem; border-top:1px solid rgba(255,255,255,.08); text-align:left; }
.option-content > p:first-child { color:#b6a5af; font-size:.82rem; line-height:1.55; }
.option-content .button.primary { margin-top:.8rem; }
.option-content .notification-input .button,.option-content .leaderboard-code-input .button { margin:0; }
.score-option .requestor-emotion-card { margin-top:1rem; }
@media(max-width:520px){.share-actions{grid-template-columns:1fr}.share-actions .whatsapp{min-height:3.15rem}.share-card-top .seal{width:3.2rem;height:3.2rem}.share-summary{gap:.35rem}.share-summary span{font-size:.59rem}.share-card-links{font-size:.68rem}.option-panel > summary{grid-template-columns:2.7rem minmax(0,1fr) auto;padding:.85rem}.option-icon{width:2.7rem;height:2.7rem}.option-content{padding-inline:.85rem}}
.notification-card { width: min(38rem, 100%); padding: clamp(1.25rem,4vw,2rem); text-align: left; }
.leaderboard-setup { width: min(38rem,100%); padding: clamp(1.25rem,4vw,2rem); text-align: left; }
.leaderboard-setup-heading { display:flex; align-items:flex-start; gap:1rem; }
.leaderboard-setup-heading > span { display:grid; place-items:center; flex:0 0 auto; width:3.5rem; height:3.5rem; border:1px solid rgba(255,255,255,.18); border-radius:1rem; background:rgba(255,255,255,.09); font-size:1.7rem; transform:rotate(5deg); }
.leaderboard-setup-heading h2 { margin:.35rem 0 .5rem; font:400 clamp(1.9rem,7vw,2.8rem)/.98 Georgia,serif; letter-spacing:-.05em; }
.leaderboard-setup > p { line-height:1.55; opacity:.78; }
.leaderboard-code-input { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; }
.leaderboard-code-input input { font-size:1.35rem; font-weight:900; letter-spacing:.22em; text-transform:uppercase; }
.leaderboard-code-input .button { width:auto; min-width:11rem; margin:0; }
.auto-board-button { width:100%; margin:.75rem 0 0; border:1px solid rgba(255,217,103,.3); background:linear-gradient(115deg,rgba(255,187,67,.2),rgba(255,75,145,.22)); color:#fff7e6; box-shadow:0 10px 28px rgba(0,0,0,.15); }
.leaderboard-divider { display:flex; align-items:center; gap:.7rem; margin:1rem 0 .2rem; color:#897782; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.leaderboard-divider::before,.leaderboard-divider::after { content:""; flex:1; height:1px; background:rgba(255,255,255,.09); }
.leaderboard-enabled { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0; padding:1rem; border:1px solid rgba(255,214,92,.3); border-radius:1rem; background:rgba(255,190,50,.1); }
.leaderboard-enabled strong,.leaderboard-enabled small { display:block; }.leaderboard-enabled small { margin-top:.2rem; opacity:.7; }.leaderboard-enabled .button { width:auto; min-height:2.7rem; padding:.65rem 1rem; background:#fff; color:#1a1018; font-size:.78rem; }
@media(max-width:540px){.leaderboard-code-input{grid-template-columns:1fr}.leaderboard-code-input .button{width:100%}.leaderboard-enabled{align-items:flex-start;flex-direction:column}.leaderboard-enabled .button{width:100%}}
.board-mode { margin-top:1rem; padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:1.15rem; background:rgba(255,255,255,.035); }
.board-mode h3 { margin:.5rem 0 .35rem; font-size:1.15rem; }.board-mode > p { margin:.35rem 0 .8rem; color:#b6a5af; font-size:.78rem; line-height:1.5; }
.mode-pill { display:inline-flex; padding:.28rem .5rem; border-radius:999px; background:rgba(255,255,255,.09); color:#d6c7d0; font-size:.57rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.open-board-mode { border-color:rgba(255,105,165,.28); background:linear-gradient(135deg,rgba(255,61,129,.1),rgba(109,72,255,.09)); }
.open-board-mode .mode-pill { background:rgba(255,79,145,.17); color:#ffc4da; }
.open-board-mode ul { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0 1rem; padding:0; list-style:none; }.open-board-mode li { padding:.35rem .55rem; border:1px solid rgba(255,255,255,.1); border-radius:999px; font-size:.63rem; color:#d9cbd4; }
.board-mode-divider { display:flex; align-items:center; gap:.7rem; margin:.85rem 0 -.15rem; color:#8c7a85; font-size:.62rem; font-weight:900; text-transform:uppercase; }.board-mode-divider::before,.board-mode-divider::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.09)}
.open-name-field { width:min(36rem,100%); margin:0 auto 1rem; padding:1rem; text-align:left; }.open-name-field label,.open-name-field small { display:block; }.open-name-field label { margin-bottom:.5rem; font-weight:850; }.open-name-field input { width:100%; }.open-name-field small { margin-top:.45rem; opacity:.7; font-size:.7rem; }
.leaderboard-consent { width:min(36rem,100%); margin:1rem auto; padding:0; border:0; }.leaderboard-consent legend { margin-bottom:.45rem; color:color-mix(in srgb,currentColor 72%,transparent); font-size:.65rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.leaderboard-consent label { display:grid; grid-template-columns:1.35rem minmax(0,1fr); align-items:start; gap:.75rem; padding:1rem; border:1px solid rgba(255,255,255,.2); border-radius:1.15rem; background:rgba(255,255,255,.1); cursor:pointer; text-align:left; }.leaderboard-consent input { width:1.25rem; height:1.25rem; margin:.1rem 0 0; accent-color:#ff3d81; }.leaderboard-consent strong,.leaderboard-consent small { display:block; }.leaderboard-consent small { margin-top:.25rem; opacity:.75; font-size:.7rem; line-height:1.45; }.leaderboard-consent label:has(input:checked) { border-color:rgba(255,220,95,.65); background:rgba(255,195,55,.16); }
.notification-heading { display: flex; align-items: flex-start; gap: 1rem; }
.notification-heading > span { display: grid; place-items: center; flex: 0 0 auto; width: 3.5rem; height: 3.5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; background: rgba(255,255,255,.09); font-size: 1.65rem; transform: rotate(-4deg); }
.notification-heading h2 { margin: .35rem 0 .5rem; font: 400 clamp(1.75rem,6vw,2.65rem)/1 Georgia,serif; letter-spacing: -.045em; }
.notification-card > p { color: color-mix(in srgb,currentColor 76%,transparent); line-height: 1.55; }
.notification-saved { padding: .75rem 1rem; border: 1px solid rgba(93,255,182,.25); border-radius: .9rem; background: rgba(42,183,116,.12); color: #a9ffd1 !important; font-weight: 700; }
.notification-input { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }
.notification-input .button { width: auto; min-width: 10.5rem; margin: 0; }
.notification-card label { color: currentColor; }
@media (max-width: 540px) { .notification-input { grid-template-columns: 1fr; } .notification-input .button { width: 100%; } }
.score-teaser { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; width: min(35rem, 100%); margin: 1.25rem auto 0; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 1.15rem; background: rgba(255,255,255,.14); box-shadow: 0 12px 35px rgba(0,0,0,.1); text-align: left; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.score-teaser > span { font-size: 1.65rem; }
.score-teaser strong { display: block; font-size: .9rem; }
.score-teaser p { margin: .2rem 0 0; opacity: .74; font-size: .76rem; line-height: 1.4; }
.score-teaser > b { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border: 1px dashed currentColor; border-radius: 50%; font-size: 1.2rem; animation: teaser-pulse 2.2s ease-in-out infinite; }
@keyframes teaser-pulse { 50% { transform: scale(1.08) rotate(5deg); opacity: .65; } }
.created-page.emotion-page { background-color: var(--emotion-bg); color: var(--emotion-ink); }
.created-page.emotion-page .success-card,
.created-page.emotion-page .leaderboard-setup,
.created-page.emotion-page .notification-card,
.created-page.emotion-page .first-score-card { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); }
.created-page.emotion-page .success-card > p,
.created-page.emotion-page .first-score-card > p,
.created-page.emotion-page .score-help { color: color-mix(in srgb, currentColor 76%, transparent); }
.created-page.emotion-page .text-link { color: currentColor; }
.first-score-card { width: min(38rem, 100%); text-align: left; overflow: hidden; }
.first-score-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.first-score-heading h2 { margin: .35rem 0 .4rem; font: 400 clamp(2.3rem, 8vw, 3.4rem)/.95 Georgia, serif; letter-spacing: -.05em; }
.first-score-badge { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; background: rgba(255,255,255,.08); font-size: 1.65rem; transform: rotate(5deg); }
.first-score-card > p { color: #cbbbc5; line-height: 1.55; }
.score-saved { padding: .75rem 1rem; border: 1px solid rgba(93,255,182,.25); border-radius: .9rem; background: rgba(42,183,116,.12); color: #a9ffd1 !important; font-weight: 700; }
.requestor-emotion-card { margin-top: 1.25rem; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.13); box-shadow: none; }
.first-score-card .range-wrap { margin-top: 1.5rem; }
.first-score-card .emoji-track { margin-inline: 1.5rem; }
.first-score-card input[type="range"] { width: 100%; color: #ff77ad; }
.score-help { margin: 1rem 0; color: #9f8f99; font-size: .78rem; line-height: 1.5; }
.first-score-card .button { width: 100%; }
.reciprocal-reveal { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid rgba(255,255,255,.3); border-radius: 1.4rem; background: rgba(15,8,15,.2); text-align: left; animation: stage-pop .5s .75s both; }
.reciprocal-reveal h2 { margin: .7rem 0; font-size: clamp(1.35rem, 5vw, 2rem); }
.reciprocal-reveal > p:last-child { margin-bottom: 0; }
.reciprocal-score { display: flex; align-items: center; justify-content: space-between; margin-top: .75rem; }
.reciprocal-score > span:first-child { font-size: clamp(3rem, 13vw, 5rem); font-weight: 900; letter-spacing: -.08em; }
.reciprocal-score small { font-size: .4em; letter-spacing: 0; }
.reciprocal-score > span:last-child { font-size: 3.2rem; }
@media (max-width: 420px) { .requestor-emotion-card { align-items: center; } .requestor-emotion-card .score { min-width: 5.3rem; } }
@media (max-width: 380px) { .score-teaser { grid-template-columns: auto 1fr; } .score-teaser > b { display: none; } }

.leaderboard-page { background:radial-gradient(circle at 50% -10%,rgba(255,73,145,.22),transparent 42%),#100b11; color:#fff4f8; }
.leaderboard-shell { width:min(46rem,100%); padding-top:1rem; }
.leaderboard-hero { text-align:center; }
.leaderboard-owner-avatar { display:block; width:7rem; height:7rem; margin:0 auto 1rem; border:3px solid rgba(255,255,255,.82); border-radius:50%; background:#c0aede; box-shadow:0 15px 45px rgba(255,74,145,.28); transform:rotate(-3deg); object-fit:cover; }
.leaderboard-hero h1 { margin:.7rem 0 1rem; font:400 clamp(3.2rem,13vw,6.2rem)/.88 Georgia,serif; letter-spacing:-.065em; }
.leaderboard-hero > p:last-child { color:#bbaab5; }
.leaderboard-list { display:grid; gap:.75rem; margin:2rem 0; padding:0; list-style:none; counter-reset:rank; }
.leaderboard-entry { display:grid; grid-template-columns:3.2rem 3.5rem minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:1.2rem; background:rgba(255,255,255,.055); box-shadow:0 12px 35px rgba(0,0,0,.16); }
.leaderboard-entry.podium { border-color:rgba(255,207,84,.3); background:linear-gradient(110deg,rgba(255,193,47,.14),rgba(255,255,255,.06)); }
.leaderboard-rank { text-align:center; font-size:1.35rem; font-weight:900; color:#ae9ba7; }
.leaderboard-avatar { width:3.5rem; height:3.5rem; border:2px solid rgba(255,255,255,.7); border-radius:50%; background:#d1d4f9; object-fit:cover; box-shadow:0 7px 20px rgba(0,0,0,.2); }
.leaderboard-person strong,.leaderboard-person small { display:block; }.leaderboard-person strong { font-size:1.05rem; }.leaderboard-person small { margin-top:.25rem; color:#ac99a5; font-size:.75rem; }
.leaderboard-score { font-size:2rem; font-weight:950; letter-spacing:-.07em; color:#ff79ad; }.leaderboard-score small { font-size:.45em; }
.leaderboard-invite { margin:2rem auto; padding:1.3rem; border:1px solid rgba(255,255,255,.1); border-radius:1.3rem; background:rgba(255,255,255,.05); text-align:center; }.leaderboard-invite p { margin-top:0; }.leaderboard-invite .button { max-width:22rem; }
.leaderboard-how { margin:1.5rem 0 2rem; border:1px solid rgba(255,255,255,.12); border-radius:1.3rem; background:rgba(255,255,255,.05); overflow:hidden; }
.leaderboard-how summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; cursor:pointer; font-weight:850; list-style:none; }.leaderboard-how summary::-webkit-details-marker{display:none}.leaderboard-how summary b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:rgba(255,255,255,.1);transition:transform .2s}.leaderboard-how[open] summary b{transform:rotate(45deg)}
.leaderboard-how > div { padding:0 1.15rem 1.15rem; border-top:1px solid rgba(255,255,255,.08); }.leaderboard-how > div > p:first-child{color:#b9a7b2;line-height:1.5}
.leaderboard-code-copy { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .8rem; border:1px solid rgba(255,207,84,.25); border-radius:.9rem; background:rgba(255,193,47,.09); }.leaderboard-code-copy strong{font-size:1.35rem;letter-spacing:.18em}.leaderboard-code-copy button{border:0;border-radius:999px;padding:.6rem .8rem;background:#fff;color:#1a1018;font-weight:850;cursor:pointer}
.leaderboard-how ol { display:grid; gap:.6rem; margin:1rem 0 0; padding:0; list-style:none; }.leaderboard-how li{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.7rem}.leaderboard-how li>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.65rem;background:linear-gradient(135deg,#ff3d81,#8b4dff);font-size:.72rem;font-weight:900}.leaderboard-how li p,.leaderboard-how li small,.leaderboard-how li strong{display:block;margin:0}.leaderboard-how li small{margin-top:.18rem;color:#988691;line-height:1.4}.leaderboard-how .copy-status{margin:.4rem 0 0;min-height:1rem;font-size:.7rem}
.leaderboard-result-link { width:100%; margin-top:1rem; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.12); color:currentColor; }
.avatar-credit { margin:1rem 0 0; color:#867681; font-size:.65rem; text-align:center; }.avatar-credit a { color:#c5b3bf; }
@media(max-width:420px){.leaderboard-entry{grid-template-columns:2.3rem 3rem minmax(0,1fr) auto;padding:.8rem;gap:.55rem}.leaderboard-avatar{width:3rem;height:3rem}.leaderboard-score{font-size:1.7rem}.leaderboard-person small{font-size:.65rem}}
.flow-picker { margin:0 0 1.2rem; padding:0; border:0; }.flow-picker legend { display:block; width:100%; margin:0 0 .5rem; color:#9f8d98; font-size:.6rem; font-weight:900; letter-spacing:.09em; text-align:center; text-transform:uppercase; }.mode-toggle-track { position:relative; display:grid; grid-template-columns:1fr 1fr; padding:.3rem; border:1px solid rgba(255,255,255,.13); border-radius:1.15rem; background:rgba(0,0,0,.18); isolation:isolate; }.mode-toggle-track>i { position:absolute; z-index:-1; top:.3rem; bottom:.3rem; left:.3rem; width:calc(50% - .3rem); border:1px solid rgba(255,255,255,.2); border-radius:.85rem; background:linear-gradient(135deg,rgba(255,61,129,.42),rgba(109,72,255,.32)); box-shadow:0 8px 25px rgba(0,0,0,.2); transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s; }.flow-picker:has(input[value="lunch"]:checked) .mode-toggle-track>i { transform:translateX(100%); background:linear-gradient(135deg,rgba(242,139,49,.48),rgba(45,169,130,.38)); }.flow-picker label { margin:0; cursor:pointer; }.flow-picker input { position:absolute; opacity:0; }.flow-picker span { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:3.85rem; padding:.55rem; border-radius:.85rem; color:#9e8c97; text-align:center; transition:color .2s; }.flow-picker span>b { color:inherit; font-size:.82rem; }.flow-picker span>small { margin-top:.18rem; font-size:.57rem; }.flow-picker input:checked+span { color:#fff; }.flow-picker input:focus-visible+span { outline:3px solid #fff; outline-offset:-2px; }
.home-page:has(.home-shell.is-lunch) { background:radial-gradient(circle at 5% 5%,rgba(245,151,49,.28),transparent 32rem),radial-gradient(circle at 100% 70%,rgba(40,156,128,.25),transparent 30rem),linear-gradient(145deg,#100f0c,#181711 55%,#0e1714); }.home-shell.is-lunch .intro h1 em { background:linear-gradient(120deg,#ffb63e,#ff7a48 48%,#4bd7ad);background-clip:text;-webkit-background-clip:text; }.home-shell.is-lunch .button.primary { background:linear-gradient(115deg,#f28b31,#2da982); }
.home-shell.is-lunch .mode-toggle-track>i { transform:translateX(100%); background:linear-gradient(135deg,rgba(242,139,49,.48),rgba(45,169,130,.38)); }.home-page:has(.home-shell.is-lunch) .brand a::after { content:'🍜'; background:linear-gradient(135deg,#f28b31,#2da982); }.home-shell.is-lunch .create-card::after { content:'🍜'; }.home-shell.is-lunch .person-icon { background:linear-gradient(145deg,#f6a13e,#e8633d); }.home-shell.is-lunch .person-icon-them { background:linear-gradient(145deg,#39b78f,#257e73); }.home-shell.is-lunch .person-field:focus-within { border-color:rgba(255,176,70,.65); }.home-shell.is-lunch input:focus { border-color:#f3a13d; box-shadow:0 0 0 4px rgba(243,161,61,.14); }.home-shell.is-lunch .create-preview { border-color:rgba(255,181,70,.25); background:rgba(255,169,55,.06); }
.lunch-setup { margin-top:1rem;padding:1rem;border:1px solid rgba(255,178,67,.22);border-radius:1.2rem;background:rgba(241,144,43,.07); }.lunch-setup[hidden],.slot-list[hidden],.slot-row[hidden],.add-slot-button[hidden],.slot-count[hidden]{display:none!important}.lunch-setup-heading{display:flex;align-items:center;gap:.7rem}.lunch-setup-heading>span{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.8rem;background:rgba(255,170,58,.14);font-size:1.2rem}.lunch-setup-heading strong,.lunch-setup-heading small{display:block}.lunch-setup-heading small,.field-help{margin-top:.2rem;color:#9f8d83;font-size:.65rem;line-height:1.4}.lunch-setup input[type=email],.lunch-setup input[type=datetime-local]{background:rgba(255,255,255,.06);color:#fff;color-scheme:dark}.slot-list{display:grid;gap:.45rem;margin-top:1rem}.slot-row{display:grid;grid-template-columns:1.7rem minmax(0,1fr) 2.5rem;align-items:center;gap:.45rem}.slot-row>span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:rgba(255,255,255,.09);font-size:.65rem;font-weight:900}.slot-row input{min-height:3rem!important;padding:.65rem!important}.slot-row button{width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#d8c6bd;font-size:1.2rem;cursor:pointer}.add-slot-button{width:100%;min-height:2.9rem;margin-top:.65rem;border:1px dashed rgba(255,183,80,.35);background:transparent;color:#ffd39a;font-size:.75rem}.slot-count{margin:.5rem 0 0;color:#8e7d75;font-size:.62rem;text-align:center}
.lunch-scheduling-card{width:100%;min-width:0;padding:clamp(1rem,4vw,1.6rem);border-color:rgba(255,178,67,.22);background:rgba(25,24,18,.82);overflow:hidden}.lunch-scheduling-card .lunch-setup-heading{margin-bottom:.8rem}.lunch-scheduling-card input[type=email],.lunch-scheduling-card input[type=date],.lunch-scheduling-card input[type=time]{display:block;width:100%;max-width:100%;min-width:0;min-height:3rem;padding:.65rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:.8rem;background:rgba(255,255,255,.06);color:#fff;font:16px system-ui;color-scheme:dark;-webkit-appearance:none;appearance:none}.lunch-planning-intro h1{margin:.7rem 0;font:400 clamp(3rem,11vw,5rem)/.9 Georgia,serif;letter-spacing:-.06em}.lunch-planning-intro>p:last-child{max-width:32rem;margin-inline:auto;color:#bcae9b}
.lunch-scheduling-card .slot-row{grid-template-columns:1.8rem minmax(0,1fr) 2.5rem;padding:.65rem;border:1px solid rgba(255,255,255,.09);border-radius:1rem;background:rgba(255,255,255,.035)}.slot-fields{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:.5rem;min-width:0}.slot-field{display:block;min-width:0;margin:0!important}.slot-field small{display:block;margin:0 0 .3rem;color:#ad9d91;font-size:.57rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.slot-number{align-self:center}.lunch-scheduling-card .slot-row>button{align-self:end;margin-bottom:.25rem}
@media(max-width:390px){.lunch-scheduling-card .slot-row{grid-template-columns:1.5rem minmax(0,1fr) 2.3rem;padding:.55rem;gap:.35rem}.slot-fields{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:.35rem}.lunch-scheduling-card input[type=date],.lunch-scheduling-card input[type=time]{padding:.6rem .45rem;font-size:16px}.slot-field small{font-size:.52rem}}
.always-free-toggle{display:grid!important;grid-template-columns:1.35rem minmax(0,1fr);align-items:start;gap:.75rem;margin:1rem 0!important;padding:1rem;border:1px solid rgba(255,190,77,.22);border-radius:1rem;background:rgba(255,173,65,.07);cursor:pointer}.always-free-toggle input{width:1.25rem;height:1.25rem;margin:.1rem 0 0;accent-color:#e99535}.always-free-toggle b,.always-free-toggle small{display:block}.always-free-toggle small{margin-top:.25rem;color:#aa9a8e;font-size:.68rem;line-height:1.45}.always-free-toggle:has(input:checked){border-color:rgba(75,215,173,.45);background:rgba(45,169,130,.12)}.free-choice{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:1rem;border:1px solid rgba(255,183,76,.25);border-radius:1.1rem;background:rgba(255,166,54,.08)}.free-choice label{margin:0 0 -.2rem}.free-choice input{width:100%;min-width:0;min-height:3.3rem;padding:.7rem;border:1px solid rgba(255,255,255,.14);border-radius:.85rem;background:rgba(255,255,255,.07);color:#fff;font:16px system-ui;color-scheme:dark}.free-choice small{grid-column:1/-1;color:#b5a591;font-size:.7rem;text-align:center}@media(max-width:390px){.free-choice{grid-template-columns:1fr}.free-choice small{grid-column:1}}
.invitation-type-picker{margin:1rem 0 1.2rem;padding:0;border:0}.invitation-type-picker legend{margin-bottom:.7rem;color:#fff4e4;font-size:.82rem;font-weight:850}.invitation-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.invitation-type-grid label{margin:0;cursor:pointer}.invitation-type-grid input{position:absolute;opacity:0;pointer-events:none}.invitation-type-grid span{display:grid;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.05rem .65rem;min-height:5.3rem;padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.035);transition:border-color .18s,background .18s,transform .18s}.invitation-type-grid span>b{grid-row:1/3;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.75rem;background:rgba(255,255,255,.07);font-size:1.25rem}.invitation-type-grid strong,.invitation-type-grid small{display:block;min-width:0}.invitation-type-grid strong{align-self:end;font-size:.78rem}.invitation-type-grid small{align-self:start;color:#a99b91;font-size:.61rem;line-height:1.35}.invitation-type-grid input:checked+span{border-color:#f3a13d;background:linear-gradient(145deg,rgba(243,161,61,.2),rgba(45,169,130,.1));box-shadow:0 0 0 2px rgba(243,161,61,.1)}.invitation-type-grid input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}.invitation-type-grid label:active span{transform:scale(.985)}.invitation-gaming .lunch-scheduling-card,.invitation-themed .lunch-form{--invite-accent:#8b7cff}.invitation-date .lunch-scheduling-card{--invite-accent:#ff5d96}.invitation-catchup .lunch-scheduling-card{--invite-accent:#4bd7ad}@media(max-width:440px){.invitation-type-grid{grid-template-columns:1fr}.invitation-type-grid span{min-height:4.7rem}}
.lunch-decision .answer-choices{grid-template-columns:1fr 1fr}.lunch-decision .answer-choices span{justify-content:center;min-height:4.4rem}.lunch-followup[hidden]{display:none}.lunch-followup{animation:stage-pop .3s ease}.vibe-choices span{min-height:3.5rem}.vibe-choices b{font-size:.7rem}@media(max-width:360px){.lunch-decision .answer-choices{grid-template-columns:1fr}}
.custom-date-trigger,.custom-time-trigger{display:flex;align-items:center;width:100%;max-width:100%;min-width:0;min-height:3rem;padding:.65rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:.8rem;background:rgba(255,255,255,.06);color:#fff;font:750 16px system-ui;text-align:left;cursor:pointer}.custom-date-trigger::after,.custom-time-trigger::after{content:'▾';margin-left:auto;color:#f5ad51}.custom-date-trigger:focus-visible,.custom-time-trigger:focus-visible{outline:3px solid #fff;outline-offset:2px}.date-dialog[hidden]{display:none}.date-dialog{position:fixed;z-index:100;inset:0;display:grid;align-items:end;justify-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.date-dialog-backdrop{position:absolute;inset:0;background:rgba(4,5,4,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.date-dialog>section{position:relative;width:min(35rem,100%);max-height:min(82vh,46rem);max-height:min(82dvh,46rem);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:1.5rem;background:#191b16;color:#fff9eb;box-shadow:0 28px 90px rgba(0,0,0,.7);animation:date-sheet-in .25s ease}.date-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1rem .8rem;border-bottom:1px solid rgba(255,255,255,.09);background:#20221b}.date-dialog header small{color:#f1a84c;font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.date-dialog h2{margin:.2rem 0 0;font:400 1.7rem Georgia,serif}.date-dialog header button{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:1.4rem;cursor:pointer}.date-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;max-height:calc(min(82vh,46rem) - 5.5rem);max-height:calc(min(82dvh,46rem) - 5.5rem);padding:1rem;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.date-options h3{grid-column:1/-1;margin:.55rem 0 .1rem;color:#b7aa95;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.date-option{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:4.6rem;padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.045);color:#fff9eb;cursor:pointer}.date-option small{color:#a99c88;font-size:.56rem;font-weight:800;text-transform:uppercase}.date-option b{margin:.1rem 0;font-size:1.35rem}.date-option span{color:#e9ad5e;font-size:.6rem}.date-option[aria-pressed=true]{border-color:#f3a13d;background:linear-gradient(145deg,rgba(243,161,61,.26),rgba(45,169,130,.16));box-shadow:0 0 0 2px rgba(243,161,61,.15)}.date-option:focus-visible{outline:3px solid #fff;outline-offset:1px}.time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;max-height:calc(min(82vh,46rem) - 5.5rem);max-height:calc(min(82dvh,46rem) - 5.5rem);padding:1rem;overflow:auto;overscroll-behavior:contain}.time-option{min-height:3.35rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;background:rgba(255,255,255,.045);color:#fff9eb;font:800 .9rem system-ui;cursor:pointer}.time-option[aria-pressed=true]{border-color:#f3a13d;background:linear-gradient(145deg,rgba(243,161,61,.26),rgba(45,169,130,.16))}.time-option:focus-visible{outline:3px solid #fff;outline-offset:1px}.date-dialog-open{overflow:hidden}@keyframes date-sheet-in{from{transform:translateY(2rem);opacity:0}}@media(min-width:600px){.date-dialog{align-items:center}.date-options{grid-template-columns:repeat(7,minmax(0,1fr))}.time-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:360px){.date-options{grid-template-columns:repeat(3,minmax(0,1fr));padding:.75rem}.date-dialog{padding:.5rem max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}}
.lunch-page { background:radial-gradient(circle at 15% 0%,rgba(244,151,52,.28),transparent 35rem),radial-gradient(circle at 100% 80%,rgba(45,169,131,.24),transparent 34rem),#10120f;color:#fff9eb; }.lunch-page .brand span,.lunch-page h1 em { color:#ffad45; }.lunch-shell { width:min(46rem,100%);padding-top:1rem; }.lunch-hero { text-align:center; }.lunch-hero h1,.lunch-result h1 { margin:.7rem 0 1rem;font:400 clamp(3.5rem,14vw,6rem)/.88 Georgia,serif;letter-spacing:-.065em; }.lunch-hero>p:last-child { max-width:35rem;margin-inline:auto;color:#c8c0ae;line-height:1.6; }
.lunch-page.invitation-date{background:radial-gradient(circle at 10% 0%,rgba(255,63,130,.3),transparent 35rem),radial-gradient(circle at 100% 85%,rgba(156,62,255,.22),transparent 34rem),#120d12}.lunch-page.invitation-date .brand span,.lunch-page.invitation-date h1 em{color:#ff75a6}.lunch-page.invitation-gaming{background:radial-gradient(circle at 12% 0%,rgba(112,88,255,.34),transparent 35rem),radial-gradient(circle at 100% 78%,rgba(23,211,203,.2),transparent 34rem),#0d0e18}.lunch-page.invitation-gaming .brand span,.lunch-page.invitation-gaming h1 em{color:#9b8cff}.lunch-page.invitation-catchup{background:radial-gradient(circle at 12% 0%,rgba(35,191,147,.27),transparent 35rem),radial-gradient(circle at 100% 82%,rgba(228,158,65,.2),transparent 34rem),#0d1411}.lunch-page.invitation-catchup .brand span,.lunch-page.invitation-catchup h1 em{color:#55d8ae}.lunch-page.invitation-drinks{background:radial-gradient(circle at 10% 0%,rgba(234,80,164,.3),transparent 35rem),radial-gradient(circle at 100% 82%,rgba(115,64,216,.25),transparent 34rem),#130d16}.lunch-page.invitation-drinks .brand span,.lunch-page.invitation-drinks h1 em{color:#f287c5}.lunch-page.invitation-plans{background:radial-gradient(circle at 10% 0%,rgba(255,160,48,.3),transparent 35rem),radial-gradient(circle at 100% 82%,rgba(51,190,166,.2),transparent 34rem),#12110d}.lunch-page.invitation-plans .brand span,.lunch-page.invitation-plans h1 em{color:#ffb457}.lunch-page.invitation-cinema{background:radial-gradient(circle at 10% 0%,rgba(220,45,67,.3),transparent 35rem),radial-gradient(circle at 100% 82%,rgba(245,184,45,.2),transparent 34rem),#120d0f}.lunch-page.invitation-cinema .brand span,.lunch-page.invitation-cinema h1 em{color:#ffc64f}
.calendar-button{display:flex!important;align-items:center;justify-content:center;width:100%;margin:1rem 0 .35rem;border-color:rgba(93,220,176,.32)!important;background:linear-gradient(120deg,rgba(42,173,130,.22),rgba(65,125,218,.17))!important;color:#e8fff7!important;font-weight:900}.calendar-help{margin:0 0 1rem!important;color:#9eb8ad!important;font-size:.68rem!important;text-align:center}
.date-invite-cta{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:1.25rem 0;padding:.85rem;border:1px solid color-mix(in srgb,var(--emotion-accent) 45%,transparent);border-radius:1.15rem;background:linear-gradient(125deg,color-mix(in srgb,var(--emotion-accent) 18%,transparent),rgba(255,255,255,.09));text-align:left}.date-invite-cta>span{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.85rem;background:rgba(255,255,255,.16);font-size:1.3rem}.date-invite-cta strong,.date-invite-cta small{display:block}.date-invite-cta strong{font-size:.86rem;line-height:1.3}.date-invite-cta small{margin-top:.18rem;font-size:.64rem;opacity:.7}.date-invite-cta .button{min-height:2.7rem;padding:.6rem .85rem;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.14);font-size:.72rem;white-space:nowrap}@media(max-width:460px){.date-invite-cta{grid-template-columns:2.6rem minmax(0,1fr)}.date-invite-cta>span{width:2.6rem;height:2.6rem}.date-invite-cta .button{grid-column:1/-1;width:100%}}
.event-finder{margin:1.1rem 0;padding:1rem;border:1px solid rgba(103,210,170,.3);border-radius:1.2rem;background:linear-gradient(145deg,rgba(41,169,128,.14),rgba(117,87,231,.08))}.event-finder[hidden],[data-manual-schedule][hidden]{display:none!important}.event-finder-intro{display:flex;gap:.75rem;align-items:center}.event-finder-intro>span{display:grid;place-items:center;width:2.8rem;height:2.8rem;flex:0 0 auto;border-radius:.85rem;background:rgba(75,215,173,.14);font-size:1.3rem}.event-finder-intro strong,.event-finder-intro small{display:block}.event-finder-intro small{margin-top:.2rem;color:#aa9d91;font-size:.66rem;line-height:1.4}.event-finder-intro a{color:#9ce8cf}.event-location-button{width:100%;margin-top:.85rem;border:1px solid rgba(75,215,173,.3);background:rgba(75,215,173,.12);color:#dffff5}.event-status{min-height:1.2rem;margin:.7rem 0;color:#d7cbbd;font-size:.7rem;text-align:center}.event-results{display:grid;gap:.55rem;overflow:visible}.event-group[hidden]{display:none!important}.event-show-more{width:100%;margin-top:.25rem;border:1px dashed rgba(84,213,170,.35);background:rgba(84,213,170,.07);color:#bdf6e3}.event-option{margin:0!important;cursor:pointer}.event-option input{position:absolute;opacity:0}.event-option span{display:block;padding:.8rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;background:rgba(255,255,255,.04);transition:.16s}.event-option small,.event-option strong,.event-option em{display:block}.event-option small{color:#70dcb7;font-size:.58rem;font-weight:800;text-transform:uppercase}.event-option strong{margin:.25rem 0;font-size:.8rem}.event-option em{color:#b6a99e;font-size:.66rem;font-style:normal}.event-option input:checked+span{border-color:#54d5aa;background:rgba(55,184,143,.18);box-shadow:0 0 0 2px rgba(84,213,170,.12)}.event-option input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}.data-thistle-credit{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.9rem;color:#9f958b;font-size:.6rem}.data-thistle-credit img{display:block;width:6.8rem;height:auto;border-radius:.35rem}.data-thistle-credit span a{color:#b9d9ce}.lunch-page.invitation-event{background:radial-gradient(circle at 10% 0%,rgba(35,191,147,.28),transparent 35rem),radial-gradient(circle at 100% 82%,rgba(114,91,232,.22),transparent 34rem),#0d1312}.lunch-page.invitation-event .brand span,.lunch-page.invitation-event h1 em{color:#5eddb3}
.selected-event-card{display:grid;gap:.45rem;margin:1rem 0;padding:1.1rem;border:1px solid rgba(84,213,170,.3);border-radius:1.1rem;background:linear-gradient(145deg,rgba(43,164,127,.17),rgba(94,72,178,.1));box-shadow:inset 0 1px rgba(255,255,255,.06)}.selected-event-card h2,.selected-event-card p{margin:0}.selected-event-card h2{font-size:clamp(1.05rem,5vw,1.35rem);line-height:1.15}.selected-event-card>strong{color:#70dcb7}.selected-event-card>a:not(.data-thistle-credit){width:max-content;color:#a9f3db;font-weight:800;text-decoration:none}
.event-date-field{display:block;margin:.95rem 0 0!important;padding:.8rem;border:1px solid rgba(84,213,170,.2);border-radius:1rem;background:rgba(0,0,0,.13)}.event-date-field>small{display:block;margin:0 0 .4rem;color:#81dfc0;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.event-location-button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.55}
.event-group{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.035);transition:border-color .2s,background .2s}.event-group.is-selected{border-color:rgba(84,213,170,.5);background:rgba(44,171,131,.1)}.event-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.9rem;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.event-group-toggle>span{min-width:0}.event-group-toggle small,.event-group-toggle strong,.event-group-toggle em{display:block}.event-group-toggle small{color:#70dcb7;font-size:.56rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.event-group-toggle strong{margin:.25rem 0;font-size:.86rem;line-height:1.2}.event-group-toggle em{overflow:hidden;color:#a99f96;font-size:.62rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.event-group-toggle>b{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:50%;background:rgba(84,213,170,.12);color:#8ae7c8}.event-group-toggle:focus-visible{outline:3px solid #fff;outline-offset:-3px}.event-group-options[hidden]{display:none}.event-group-options{display:grid;gap:.4rem;padding:0 .65rem .65rem;border-top:1px solid rgba(255,255,255,.07)}.event-group-options .event-option:first-child{margin-top:.65rem!important}
.invitation-type-grid .recommended-invite{grid-column:1/-1}.invitation-type-grid .recommended-invite span{position:relative;min-height:5.8rem;border-color:rgba(84,213,170,.38);background:linear-gradient(135deg,rgba(45,169,130,.18),rgba(117,87,231,.12));overflow:hidden}.recommended-invite span>i{position:absolute;top:.55rem;right:.6rem;padding:.25rem .5rem;border-radius:999px;background:#57d6ad;color:#09261d;font-size:.5rem;font-style:normal;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.invitation-type-grid .recommended-invite input:checked+span{border-color:#62dfb7;background:linear-gradient(135deg,rgba(45,169,130,.28),rgba(117,87,231,.16));box-shadow:0 0 0 2px rgba(84,213,170,.14)}
.event-period-picker{margin:.75rem 0 0;padding:0;border:0}.event-period-picker legend{margin-bottom:.45rem;color:#81dfc0;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.event-period-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.event-period-picker label{margin:0;cursor:pointer}.event-period-picker input{position:absolute;opacity:0}.event-period-picker span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:4.7rem;padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;background:rgba(0,0,0,.12);font-size:1.15rem;text-align:center;transition:.18s}.event-period-picker b,.event-period-picker small{display:block}.event-period-picker b{margin-top:.15rem;font-size:.68rem}.event-period-picker small{margin-top:.1rem;color:#9f958b;font-size:.52rem}.event-period-picker input:checked+span{border-color:#59d9b0;background:linear-gradient(145deg,rgba(45,169,130,.23),rgba(117,87,231,.11));box-shadow:0 0 0 2px rgba(84,213,170,.11)}.event-period-picker input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}@media(max-width:360px){.event-period-picker>div{gap:.3rem}.event-period-picker span{min-height:4.35rem;padding:.35rem}}
.invitation-type-grid>label{max-height:7rem;opacity:1;transform:scale(1);transform-origin:center;transition:max-height .25s ease,opacity .2s ease,transform .25s ease}.invitation-type-grid>label.suppressing{max-height:0;opacity:0;transform:scale(.94);overflow:hidden;pointer-events:none}.invitation-type-grid>label.returning{opacity:0;transform:scale(.96)}.invitation-type-grid>label[hidden]{display:none!important}.invitation-type-grid>label.selected-invite{grid-column:1/-1}.change-invite-type{display:block;margin:.7rem auto 0;padding:.55rem .85rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.045);color:#c9bbb0;font:800 .65rem system-ui;cursor:pointer;animation:stage-pop .22s ease}.change-invite-type[hidden]{display:none}.change-invite-type:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.invitation-type-grid>label,.change-invite-type{transition:none;animation:none}}
.lunch-form { margin-top:1.5rem;padding:clamp(1rem,4vw,2rem); }.lunch-form fieldset { margin:0 0 1.7rem;padding:0;border:0; }.lunch-form legend { margin-bottom:.8rem;font-size:1.15rem;font-weight:900; }.choice-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem; }.answer-choices { grid-template-columns:repeat(3,1fr); }.choice-grid label { margin:0;cursor:pointer; }.choice-grid input { position:absolute;opacity:0; }.choice-grid span { display:flex;align-items:center;gap:.5rem;min-height:3.8rem;padding:.75rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.045);font-size:1.15rem; }.choice-grid b { font-size:.72rem; }.choice-grid input:checked+span { border-color:#ffb34c;background:rgba(244,150,52,.18);box-shadow:0 0 0 2px rgba(255,179,76,.2); }.choice-grid input:focus-visible+span { outline:3px solid #fff;outline-offset:2px; }
.lunch-form input[type=date],.lunch-form textarea { width:100%;min-height:3.5rem;padding:.9rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(255,255,255,.07);color:#fff;font:16px system-ui;color-scheme:dark; }.lunch-form textarea { resize:vertical;line-height:1.5; }.lunch-form label>small { opacity:.6;text-transform:none;letter-spacing:0; }.lunch-result { width:min(40rem,100%);padding:clamp(1.4rem,5vw,2.5rem);text-align:center; }.lunch-verdict-emoji { font-size:4rem; }.lunch-result>p { color:#c8c0ae;line-height:1.55; }.lunch-plan { display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:1.5rem 0; }.lunch-plan span { padding:.7rem .9rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07); }.lunch-seal { background:rgba(255,173,69,.15); }
.lunch-slot-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}.lunch-slot-choices label{margin:0;cursor:pointer}.lunch-slot-choices input{position:absolute;opacity:0}.lunch-slot-choices span{display:grid;padding:.8rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.045)}.lunch-slot-choices small{color:#a99c89;font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.lunch-slot-choices b{margin:.25rem 0;font-size:.95rem}.lunch-slot-choices em{color:#ffbd66;font-size:.8rem;font-style:normal}.lunch-slot-choices input:checked+span{border-color:#ffb34c;background:rgba(244,150,52,.18);box-shadow:0 0 0 2px rgba(255,179,76,.2)}.lunch-slot-choices input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
@media(max-width:430px){.answer-choices{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr 1fr}.flow-picker span{text-align:center}}
.event-cinema-button{width:100%;margin-top:.5rem;border:1px solid rgba(255,198,79,.28);background:rgba(255,198,79,.08);color:#ffe5a2}.event-cinema-button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.45}
.event-origin-picker{margin:.9rem 0 0;padding:0;border:0}.event-origin-picker>legend{margin-bottom:.45rem;color:#81dfc0;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.event-origin-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.event-origin-toggle label{margin:0;cursor:pointer}.event-origin-toggle input{position:absolute;opacity:0}.event-origin-toggle span{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.08rem .55rem;min-height:4.25rem;padding:.65rem;border:1px solid rgba(255,255,255,.1);border-radius:.95rem;background:rgba(0,0,0,.12);font-size:1.05rem}.event-origin-toggle b,.event-origin-toggle small{display:block}.event-origin-toggle b{font-size:.72rem}.event-origin-toggle small{grid-column:2;color:#9f958b;font-size:.55rem}.event-origin-toggle input:checked+span{border-color:#59d9b0;background:linear-gradient(145deg,rgba(45,169,130,.23),rgba(117,87,231,.11));box-shadow:0 0 0 2px rgba(84,213,170,.11)}.event-origin-toggle input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}.event-city-field{display:block;margin:.55rem 0 0!important;padding:.7rem;border:1px solid rgba(117,87,231,.24);border-radius:.95rem;background:rgba(117,87,231,.08);animation:stage-pop .22s ease}.event-city-field[hidden]{display:none!important}.event-city-field>small{display:block;margin-bottom:.4rem;color:#b7a9db;font-size:.57rem;font-weight:850}.event-city-field select{display:block;width:100%;min-height:3.15rem;padding:.7rem 2.5rem .7rem .8rem;border:1px solid rgba(255,255,255,.14);border-radius:.8rem;background:#1a191f;color:#fff;font:800 16px system-ui;color-scheme:dark}.event-city-field select:focus-visible{outline:3px solid #fff;outline-offset:2px}
.event-reinvite-card{width:min(38rem,100%);padding:clamp(1.2rem,5vw,2rem)}.event-reinvite-card h1{margin:.6rem 0 1rem;font:400 clamp(3rem,12vw,5rem)/.9 Georgia,serif;letter-spacing:-.06em}.event-reinvite-card>p:not(.eyebrow){color:#bdaea2;line-height:1.55}.event-reinvite-card form{margin-top:1.1rem}.event-reinvite-card form label{display:block;margin-bottom:.45rem;font-weight:850}.event-reinvite-card form input{display:block;width:100%;min-height:3.5rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(255,255,255,.07);color:#fff;font:16px system-ui}.event-reinvite-card form input:focus{border-color:#59d9b0;outline:3px solid rgba(89,217,176,.2)}.event-reinvite-card form .button{width:100%;margin-top:.75rem}.form-error{padding:.75rem;border:1px solid rgba(255,106,118,.32);border-radius:.8rem;background:rgba(255,70,86,.1);color:#ffc2c7!important}.reuse-event-help{margin:.55rem 0 0!important;color:#9f958b!important;font-size:.68rem!important}
.venue-finder{margin:1.15rem 0;padding:1rem;border:1px solid #654b58;border-radius:1.35rem;background:linear-gradient(145deg,#241923,#171216);box-shadow:inset 0 1px #fff1;transition:height .3s ease}.venue-finder[hidden]{display:none!important}.venue-results{display:flex;flex-direction:column;gap:.55rem;margin-top:.8rem}.venue-option{display:block;cursor:pointer;max-height:20rem;opacity:1;overflow:hidden;transition:max-height .28s ease,opacity .2s ease,margin .28s ease}.venue-option[hidden]{display:none!important}.venue-option.is-minimised{max-height:0;opacity:0;margin:-.275rem 0;pointer-events:none}.venue-option input{position:absolute;opacity:0;pointer-events:none}.venue-option span{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid #493945;border-radius:1rem;background:#171217;transition:.2s transform,.2s border-color,.2s background}.venue-option:hover span,.venue-option:focus-within span,.venue-option.is-selected span{border-color:#ff719e;background:#2b1823;transform:translateY(-1px)}.venue-option.is-closed span{border-color:#963d4b;background:linear-gradient(145deg,#32171d,#211317)}.venue-option.is-closed:hover span,.venue-option.is-closed:focus-within span,.venue-option.is-closed.is-selected span{border-color:#ff6678;background:#3b1820}.venue-option small,.venue-option em{color:#bdaab5;font-style:normal}.venue-option strong{font-size:1.05rem}.venue-option b{margin-top:.2rem;color:#e8c7d7;font-size:.83rem}.venue-availability{margin-top:.35rem;font-size:.8rem;font-style:normal;font-weight:850}.venue-availability.is-closed{color:#ff6f7f}.venue-availability.is-open{color:#68dfa9}.venue-availability.is-unknown{color:#d6b879}.venue-website{width:max-content;margin-top:.35rem;color:#ff9cbd;font-size:.82rem;font-weight:850}.change-venue{min-height:2.8rem;border:1px solid #654b58;border-radius:999px;background:#241923;color:#f7e9ef;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.venue-finder .event-location-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.selected-venue-card{margin:1rem 0;padding:1rem;border:1px solid #654b58;border-radius:1.1rem;background:#1c151b}.selected-venue-card h2{margin:.2rem 0 .4rem}.selected-venue-card p{margin:.3rem 0}.osm-credit{display:block;margin-top:.75rem;color:#9f8c97;font-size:.72rem}.osm-credit a{color:inherit}
