/* Midnight Carol, Swedish blue/yellow */
:root { color-scheme: dark; }
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: #0B3D62;
  color: #F3EEE1;
  font-family: Jost, sans-serif;
}
a { color: #F2C94C; text-decoration: none; }
.screen { max-width: 420px; margin: 0 auto; padding: 28px 24px 40px; display: flex; flex-direction: column; gap: 22px; min-height: 100vh; }
.lights { display: flex; justify-content: center; gap: 16px; padding-top: 14px; border-top: 1px solid rgba(242,201,76,0.5); }
.lights span { width: 7px; height: 7px; border-radius: 50%; background: #F2C94C; box-shadow: 0 0 6px 2px rgba(242,201,76,0.7); display: block; }
.kicker { font-size: 13px; color: #F2C94C; margin-bottom: 4px; }
.heading { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 26px; line-height: 1.2; margin: 0; }
.sub { font-size: 13px; color: #B9C6D6; margin-top: 4px; }
.budget { align-self: flex-start; border: 1px solid #F2C94C; color: #F2C94C; font-size: 12px; font-weight: 500; padding: 6px 10px; border-radius: 3px; }
.card { background: rgba(242,201,76,0.08); border: 1px solid #F2C94C; border-radius: 4px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.name { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 600; font-size: 32px; line-height: 1.1; margin: 0; }
.staff-lines {
  height: 24px;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 7px, rgba(243,238,225,0.25) 7px, rgba(243,238,225,0.25) 8px);
  margin: 4px 0 12px;
}
.wishlabel { font-size: 14px; font-weight: 500; color: #F2C94C; }
ul.wishlist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
ul.wishlist li { display: flex; gap: 8px; font-size: 14px; }
ul.wishlist li::before { content: '♪'; color: #F2C94C; }
form { display: flex; flex-direction: column; gap: 16px; }
label { font-size: 13px; font-weight: 500; }
input, textarea { padding: 12px; border: 1px solid rgba(242,201,76,0.5); border-radius: 3px; font-size: 15px; background: rgba(243,238,225,0.05); color: #F3EEE1; font-family: Jost, sans-serif; }
textarea { min-height: 90px; resize: vertical; }
button { background: #F2C94C; color: #0B3D62; border: none; border-radius: 3px; padding: 12px 22px; font-size: 14px; font-weight: 700; font-family: Jost, sans-serif; cursor: pointer; }
button.secondary { background: transparent; border: 1px solid #F2C94C; color: #F2C94C; }
.error { color: #E99; font-size: 13px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 8px 4px; border-bottom: 1px solid rgba(242,201,76,0.2); }
.status-accepted { color: #9FE0B5; }
.status-invited { color: #F2C94C; }
.status-dropped { color: #B9C6D6; }
