:root {
  color-scheme: light;
  --neon: #39ed00;
  --ink: #0a190a;
  --green: #176800;
  --soft: #eaffdf;
  --border: #b5dca5;
  --bg: var(--neon);
  --card: #fff;
  --raised: var(--soft);
  --muted: #355032;
  --violet: var(--green);
  --line: var(--border);
  --white: var(--ink);
}
body { background: #0c110b; color: var(--ink); }
.app, body.thisy-photo { background: var(--neon); }
.app { padding-inline: clamp(12px, 4vw, 18px); padding-bottom: calc(105px + env(safe-area-inset-bottom, 0px)); }
.top { margin-bottom: 16px; }
button.brand, .thisy-photo .brand { color: var(--ink); }
.brand span, .thisy-photo .brand span, .accent, .eyebrow, .back, .date-highlight { color: var(--green); }
.circle { background: #ffffffb3; border-color: #fff; color: var(--ink); }
.notify-dot { background: #167500; }
.v4hero { margin: 10px 0 20px; }
.v4hero h1 em { color: var(--ink); text-decoration-color: #fff; }
.v4hero p, .muted, label, .hint, .empty, .calendar-note, .radius-ends,
.discover-found, .discover-example, .menu-list small, .chance-actions p,
.create-hero small, .template-btn small, .winner-moment p, .calendar-invite .calendar-date,
.thisy-photo .muted, .thisy-photo #message { color: var(--muted); }
.v4home .section { margin-top: 18px; }
.v4section { margin-bottom: 9px; }
.v4tiles { gap: 9px; }
.v4tile {
  min-height: clamp(112px, 31vw, 142px);
  border: 2px solid #f9fff5;
  border-radius: 20px;
  color: var(--ink);
  padding: 12px;
}
.v4tile strong { text-shadow: none; }
.v4tile.food, .v4tile.meet { background: linear-gradient(152deg, #fff 57%, #e8ffdf 100%); }
.v4tile.food::before, .v4tile.meet::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -10% -22% -10%;
  height: 53%;
  border-radius: 50% 45% 0 0;
  background: linear-gradient(110deg, #d9ffc5, #fff);
  transform: rotate(-13deg);
}
.v4tile.party, .v4tile.movie { background: linear-gradient(140deg, #6cff08, #36e500 85%); }
.v4arrow { background: #fff; color: var(--ink); }
.v4tile.food .v4arrow, .v4tile.meet .v4arrow { background: #65f83a; }
.v4shortcuts { gap: 6px; margin-top: 8px; }
.v4shortcut, .v4photo, .v4invite {
  background: #fff; color: var(--ink); border: 1px solid #e0ffda;
  box-shadow: 0 2px 8px #174c0924;
}
.v4shortcut { min-height: 46px; padding: 6px 10px; border-radius: 13px; }
.v4shortcut-icon, .v4photo .v4shortcut-icon, .v4invico { background: #28ca09; color: var(--ink); }
.v4invite small, .v4chev { color: var(--muted); }
.v4count { background: #123a06; color: #fff; }
.nav { background: #fff; border-top: 1px solid #d9e6d6; padding-top: 8px; padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px)); }
.nav button { color: #111b10; }
.nav button[aria-current="page"] { color: #167500; }
.nav-plus { background: #1ce600; color: var(--ink); box-shadow: 0 3px 12px #38d81655; }
.card, .discover-card, .profile-setup, .chance-dialog, .thisy-photo .card {
  background: #fff; color: var(--ink); border-color: var(--border);
  box-shadow: 0 4px 16px #21541722;
}
.field, .profile-setup input, .thisy-photo input {
  background: #f7fff3; border-color: var(--border); color: var(--ink);
}
.field:focus { border-color: var(--green); }
.btn, .thisy-photo .btn, .create-hero { background: #51f229; color: var(--ink); border-color: var(--border); }
.btn.secondary, .btn.outline, .tiny, .cancel-button, .pill, .miniTag, .item,
.choice, .choiceList button, .chip, .template-btn, .avatar-option, .question-suggestions button,
.discover-choice, .discover-pass, .discover-wheel, .more-actions summary, .disclosure,
.distance-pill, .date-result, .home-empty, .thisy-photo .option, .thisy-photo .upload-tile {
  background: #f5fff0; border-color: var(--border); color: var(--ink);
}
.item .symbol, .profile-avatar, .voted-check, .best-label { background: #cbffb9; color: var(--ink); }
.choice.chosen, .choiceList button.selected, .chip.on, .avatar-option.chosen,
.date-result.best, .discover-choice.chosen { background: #d5ffbf; border-color: #4fb233; }
.toggle input, .radius-slider { accent-color: #237a0a; }
.progress, .stepnav span { background: #cce7c2; }
.bar, .stepnav span.on { background: #36a916; }
.voted-state, .invite-panel, .calendar-invite, .winner-moment, .chance-result {
  background: #e9ffde; border-color: var(--border); color: var(--ink);
}
.voted-state strong, .winner-moment .winner-percent, .winner-moment .winner-eyebrow,
.tip-details summary, .chance-options, .profile-setup p { color: var(--green); }
.discover-choice.has-photo, .discover-choice.has-photo.chosen { background: #234718; color: #fff; }
.discover-choice.has-photo::after { background: linear-gradient(transparent 45%, #081a07e8); }
.discover-choice.chosen { box-shadow: inset 0 0 0 2px #5ce734; }
.discover-choice.chosen::before { background: #237a0a; color: #fff; }
.toast { background: #12380b; border-color: #59c344; color: #fff; z-index: 110; }
.profile-setup::backdrop, .chance-dialog::backdrop { background: #071905b3; }
.nav button:focus-visible, .brand:focus-visible, .v4tile:focus-visible, .v4shortcut:focus-visible,
.v4invite:focus-visible, .discover-swipe button:focus-visible { outline: 2px solid #164c09; outline-offset: 2px; }
.thisy-photo a, .thisy-photo .upload-tile small { color: var(--green); }
.thisy-photo .upload-tile svg { stroke: var(--green); }
.thisy-photo .upload-tile.has-photo .camera-hint { color: #fff; }
