:root {
  color-scheme: dark;
  --night: #0c1225;
  --panel: #151e35;
  --panel-raised: #1b2743;
  --ink: #fff6e5;
  --muted: #bbc4dc;
  --gold: #f3d393;
  --gold-bright: #ffe5ad;
  --line: #354260;
  --danger: #ffb2b8;
  --success: #b8ebc8;
  --display: Georgia, 'Times New Roman', serif;
  --body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 1rem; }
body {
  min-width: 0;
  margin: 0;
  background: radial-gradient(ellipse at 70% 0%, #19254a 0, transparent 38rem), var(--night);
  color: var(--ink);
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
}
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--gold); text-underline-offset: .18em; }
img { display: block; max-width: 100%; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 4px; }
h1, h2, h3, p, ul { margin: 0; }
h1, h2, h3 { line-height: 1.1; }
p + p { margin-top: .65rem; }
.sr-only, .skip:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip:focus { position: absolute; z-index: 4; inset: .75rem auto auto .75rem; padding: .7rem; background: var(--night); }
.wrap { width: min(100% - 2rem, 68rem); margin-inline: auto; }
.masthead { border-bottom: 1px solid #354260a6; }
.mast-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.1rem; }
.wordmark { display: inline-flex; align-items: center; gap: .5rem; color: var(--ink); font-family: var(--display); font-size: 1.65rem; font-weight: bold; text-decoration: none; }
.wordmark svg { color: var(--gold); width: 1.25rem; height: 1.25rem; }
.mast-tools { display: flex; align-items: center; gap: .55rem; }
.text-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .35rem .65rem; background: transparent; border: 0; color: var(--muted); font-size: .86rem; text-decoration: none; }
.text-button:hover { color: var(--gold-bright); }
.hero { position: relative; isolation: isolate; padding: 3.4rem 0 2.25rem; overflow: hidden; }
.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  opacity: .65;
  background-image: radial-gradient(circle at center, #f9d997 1px, transparent 1.5px), radial-gradient(circle at center, #a9b7e8 1px, transparent 1.5px);
  background-size: 131px 113px, 181px 157px;
  background-position: 18px 21px, 55px 77px;
  mask-image: linear-gradient(#000, transparent 93%);
  pointer-events: none;
}
.hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .6rem; }
.hero-text { min-width: 0; }
.eyebrow { display: flex; align-items: center; gap: .45rem; margin-bottom: .8rem; color: var(--gold); font-size: .7rem; font-weight: 750; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.eyebrow svg { width: .9rem; height: .9rem; flex: none; }
.hero h1, .lock-card h1 { color: var(--ink); font: 400 clamp(2.55rem, 9vw, 5.25rem)/.98 var(--display); letter-spacing: -.065em; text-wrap: balance; }
.hero h1 em, .lock-card h1 em { color: var(--gold); font-weight: normal; }
.lede { max-width: 34rem; margin-top: 1rem; color: var(--muted); font-size: clamp(.95rem, 2vw, 1.1rem); }
.sky-art { width: clamp(4.5rem, 23vw, 15rem); height: auto; color: var(--gold); filter: drop-shadow(0 0 18px #f3d39330); }
.quick-nav { display: flex; flex-wrap: wrap; gap: .55rem; margin-block: .15rem 1.35rem; }
.quick-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .5rem .82rem; border: 1px solid var(--line); border-radius: 100vmax; background: #101a30b8; color: var(--ink); font-size: .82rem; font-weight: 660; text-decoration: none; }
.quick-nav a:hover, .quick-nav a:focus-visible { border-color: var(--gold); color: var(--gold); }
.content-grid { display: grid; gap: 1rem; padding-bottom: 2.25rem; }
.card { min-width: 0; padding: clamp(1.05rem, 4vw, 1.65rem); background: var(--panel); border: 1px solid var(--line); border-radius: 1.15rem; box-shadow: 0 .65rem 2rem #03081538; }
.card-head { display: flex; align-items: start; gap: .75rem; margin-bottom: 1rem; }
.card-icon { display: grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border: 1px solid #d8b67466; border-radius: .75rem; color: var(--gold); background: #f3d3930e; }
.card-icon svg { width: 1.15rem; height: 1.15rem; }
.card h2 { margin-top: .03rem; color: var(--ink); font: 400 clamp(1.55rem, 6vw, 2rem)/1.07 var(--display); letter-spacing: -.035em; }
.card-head p { margin-top: .3rem; color: var(--muted); font-size: .9rem; }
.small, .empty { color: var(--muted); font-size: .86rem; }
.empty { padding: .8rem 0 0; }
.info-text { white-space: pre-line; overflow-wrap: anywhere; }
.stack { display: grid; gap: .85rem; }
.form-row { display: grid; gap: .75rem; }
label, .label { display: grid; gap: .35rem; color: var(--ink); font-size: .88rem; font-weight: 650; }
.optional { color: var(--muted); font-size: .76rem; font-weight: 450; }
input:not([type='checkbox']), textarea { width: 100%; min-width: 0; min-height: 2.9rem; padding: .58rem .72rem; border: 1px solid #526080; border-radius: .6rem; color: var(--ink); background: #0f182d; font-size: 1rem; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: #a3aec9; opacity: 1; }
input[type='file'] { color: var(--muted); font-size: .87rem; }
input::file-selector-button { margin: -.1rem .65rem -.1rem -.1rem; padding: .45rem .65rem; border: 0; border-radius: .4rem; background: var(--panel-raised); color: var(--ink); font: inherit; cursor: pointer; }
.check { display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; }
.check input { flex: none; width: 1.15rem; height: 1.15rem; accent-color: var(--gold); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.85rem; padding: .65rem .95rem; border: 1px solid transparent; border-radius: .65rem; color: #1b1721; background: var(--gold); font-size: .91rem; font-weight: 750; line-height: 1.2; text-decoration: none; }
.button:hover:not(:disabled) { background: var(--gold-bright); }
.button.secondary { border-color: #526080; background: var(--panel-raised); color: var(--ink); }
.button.secondary:hover:not(:disabled) { background: #253553; }
.button.danger { border-color: #7d5367; background: transparent; color: var(--danger); }
.button.danger:hover:not(:disabled) { background: #47293b; }
.button svg { width: 1rem; height: 1rem; }
.actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.status { min-width: 0; color: var(--muted); font-size: .86rem; overflow-wrap: anywhere; }
.status:empty { display: none; }
.status.error { color: var(--danger); }
.status.success { color: var(--success); }
progress { width: 100%; accent-color: var(--gold); }
progress[hidden] { display: none; }
.photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.photo-item { min-width: 0; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: .8rem; background: #10192d; }
.photo-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--panel-raised); }
.photo-item figcaption { display: grid; gap: .2rem; padding: .62rem; overflow-wrap: anywhere; }
.photo-item figcaption strong { font-size: .85rem; line-height: 1.3; }
.photo-item figcaption p { color: var(--muted); font-size: .82rem; line-height: 1.4; }
.tag { width: fit-content; color: var(--gold); font-size: .66rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.photo-item .button { width: 100%; margin-top: .3rem; padding-inline: .3rem; font-size: .78rem; }
.poll-list { display: grid; gap: .55rem; }
.poll-option { display: flex; justify-content: space-between; align-items: center; gap: .6rem; width: 100%; min-height: 3.1rem; padding: .65rem .78rem; border: 1px solid #526080; border-radius: .65rem; background: #10192d; color: var(--ink); font-weight: 650; text-align: left; }
.poll-option:hover:not(:disabled) { border-color: var(--gold); }
.poll-option[aria-pressed='true'] { border-color: var(--gold); background: #f3d39312; color: var(--gold-bright); }
.poll-option span { overflow-wrap: anywhere; }
.poll-option .poll-indicator { flex: none; color: var(--gold); font-size: .78rem; }
.rows { padding-left: 0; list-style: none; }
.rows li { display: flex; justify-content: space-between; gap: .7rem; padding: .64rem 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.rows li span { flex: none; color: var(--muted); font-size: .83rem; }
.subhead { margin-block: .4rem .15rem; font: 400 1.2rem var(--display); }
.inset { padding-top: 1rem; margin-top: 1.1rem; border-top: 1px solid var(--line); }
.footer { padding-block: .85rem 1.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.footer .wrap { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.lock-shell { display: grid; place-items: center; min-height: min(73svh, 47rem); padding-block: 2rem; }
.lock-card { width: min(100%, 29rem); padding: clamp(1.2rem, 5vw, 2.25rem); }
.lock-card .sky-art { width: 5.2rem; margin-bottom: .7rem; }
.lock-card h1 { font-size: clamp(2.5rem, 11vw, 3.7rem); }
.lock-card .lede { margin-bottom: 1.35rem; }
.lock-card .button { width: 100%; }
.loading { display: grid; place-items: center; min-height: 55svh; padding: 1rem; color: var(--muted); }

@media (min-width: 40rem) {
  .wrap { width: min(100% - 3.5rem, 68rem); }
  .hero { padding-block: 4.5rem 2.65rem; }
  .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.1rem; }
  .wide { grid-column: 1 / -1; }
  .wide .photo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .form-row.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 23rem) {
  .wrap { width: calc(100% - 1.25rem); }
  .hero { padding-top: 2.55rem; }
  .hero-inner .sky-art { width: 4.4rem; }
  .quick-nav a { padding-inline: .63rem; }
}

/* Liv16 guest feed */
body.guest-feed {
  --feed-width: 31.5rem;
  --feed-gutter: max(.9rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --feed-night: #080e1d;
  --feed-surface: #0e182c;
  --feed-control: #172741;
  --feed-line: #263b5e;
  --feed-blue: #a7ceff;
  --feed-ice: #cde6ff;
  --feed-gold: #f8dca4;
  --ink: #f4f8ff;
  --muted: #b9cce6;
  --gold: var(--feed-gold);
  --gold-bright: #ffecc4;
  background: radial-gradient(ellipse at 50% -8rem, #173162, transparent 36rem), var(--feed-night);
  color: var(--ink);
  line-height: 1.45;
}

.guest-feed .feed-shell { width: min(100%, var(--feed-width)); margin-inline: auto; }
.guest-feed .skip:focus { position: fixed; z-index: 12; }
.guest-feed .feed-header {
  position: sticky;
  z-index: 5;
  top: 0;
  padding-top: env(safe-area-inset-top, 0px);
  background: #081224ee;
  border-bottom: 1px solid var(--feed-line);
  backdrop-filter: blur(14px);
}
.guest-feed .feed-header .feed-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-height: 3.45rem;
  padding-inline: var(--feed-gutter);
}
.guest-feed .feed-wordmark {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--ink);
  font: 760 1.53rem/.95 var(--body);
  letter-spacing: -.075em;
  text-decoration: none;
}
.guest-feed .feed-wordmark span { color: var(--feed-blue); }
.guest-feed .feed-wordmark svg { width: 1.02rem; height: 1.02rem; margin-inline-start: .43rem; color: var(--feed-gold); }
.guest-feed .guest-main {
  min-height: calc(100vh - 3.45rem - env(safe-area-inset-top, 0px) - 1px);
  min-height: calc(100dvh - 3.45rem - env(safe-area-inset-top, 0px) - 1px);
  padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
  background: var(--feed-surface);
}
.guest-feed .guest-main, .guest-feed .guest-main :where([id]) { scroll-margin-top: calc(3.65rem + env(safe-area-inset-top, 0px)); }

.guest-feed .feed-disclosure { border-bottom: 1px solid var(--feed-line); }
.guest-feed .feed-disclosure summary {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 3.25rem;
  padding: .65rem var(--feed-gutter);
  list-style: none;
  color: var(--muted);
  cursor: pointer;
  font-size: .85rem;
  font-weight: 650;
}
.guest-feed .feed-disclosure summary::-webkit-details-marker { display: none; }
.guest-feed .feed-disclosure summary:hover { color: var(--ink); }
.guest-feed .feed-disclosure summary:focus-visible { outline-offset: -4px; }
.guest-feed .feed-disclosure summary svg { width: 1.1rem; height: 1.1rem; color: var(--feed-gold); }
.guest-feed .feed-disclosure summary::after {
  width: .45rem;
  height: .45rem;
  margin-inline: auto .18rem;
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  content: '';
}
.guest-feed .feed-disclosure[open] summary::after { transform: rotate(225deg); }
.guest-feed .disclosure-content { padding: 0 var(--feed-gutter) .85rem; }
.guest-feed .disclosure-content > .empty { padding-top: 0; }

.guest-feed .feed-post {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--feed-line);
  border-radius: 0;
  background: var(--feed-surface);
  box-shadow: none;
}
.guest-feed .post-head {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  min-height: 3.6rem;
  padding: .67rem var(--feed-gutter);
}
.guest-feed .post-avatar {
  display: grid;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  overflow: hidden;
  border: 1px solid #436591;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 18%, #305184, #162744 75%);
  color: var(--feed-blue);
  font-size: .76rem;
  font-weight: 750;
}
.guest-feed .post-avatar svg { width: 1.12rem; height: 1.12rem; }
.guest-feed .post-byline { min-width: 0; font-size: .87rem; font-weight: 730; line-height: 1.27; overflow-wrap: anywhere; }
.guest-feed .post-byline p { margin: 0; }
.guest-feed .post-kicker { color: var(--muted); font-size: .69rem; font-weight: 590; line-height: 1.2; }
.guest-feed .post-title, .guest-feed .feed-post .post-title {
  margin: 0;
  color: var(--ink);
  font: 740 1rem/1.24 var(--body);
  letter-spacing: -.023em;
  overflow-wrap: anywhere;
}
.guest-feed .post-body { padding: 0 var(--feed-gutter) .9rem; }
.guest-feed .post-copy, .guest-feed .post-caption { color: var(--ink); font-size: .89rem; line-height: 1.47; overflow-wrap: anywhere; }
.guest-feed .post-copy { color: var(--muted); white-space: pre-line; }
.guest-feed .wear-blue {
  display: flex;
  align-items: center;
  gap: .42rem;
  width: fit-content;
  padding: .28rem .66rem;
  border: 1px solid #4e7bb5;
  border-radius: 999px;
  background: #193767;
  color: var(--feed-ice);
  font-size: .79rem;
  font-weight: 740;
}
.guest-feed .wear-blue::before { width: .48rem; height: .48rem; border-radius: 50%; background: var(--feed-blue); box-shadow: 0 0 .48rem #89baff88; content: ''; }
.guest-feed .post-caption { padding: .67rem var(--feed-gutter) .82rem; }
.guest-feed .post-caption .button { min-height: 2.75rem; margin-top: .38rem; border-color: #3c587e; background: #172943; color: var(--feed-ice); }
.guest-feed .post-caption .button:hover { background: #223b5e; }
.guest-feed .post-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .6rem; }
.guest-feed .post-actions svg { width: 1.12rem; height: 1.12rem; }
.guest-feed .post-actions .button, .guest-feed .compose-sheet .button {
  min-height: 2.7rem;
  border-color: #4878b6;
  border-radius: .65rem;
  background: #1c4279;
  color: #f1f7ff;
  font-size: .85rem;
}
.guest-feed .post-actions .button:hover:not(:disabled), .guest-feed .compose-sheet .button:hover:not(:disabled) { background: #245895; }
.guest-feed .post-media {
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #0d1c34;
}
.guest-feed .post-media img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 8rem;
  max-height: 39rem;
  background: #080f20;
  object-fit: contain;
}

.guest-feed .welcome-cover {
  position: relative;
  display: grid;
  min-height: clamp(17rem, 71vw, 22rem);
  align-items: end;
  isolation: isolate;
  overflow: hidden;
  padding: 1.2rem clamp(1.05rem, 6vw, 2.1rem) 1.55rem;
  background:
    radial-gradient(ellipse at 92% 0%, #3c73e0a8, transparent 62%),
    radial-gradient(ellipse at 0% 95%, #2756b49c, transparent 64%),
    linear-gradient(142deg, #1d3c80 0%, #152b60 52%, #0d1b36 100%);
  color: var(--ink);
}
.guest-feed .welcome-post .post-body { padding-top: .8rem; }
.guest-feed .welcome-cover::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 12% 21%, #f8dca4 0 1px, transparent 2px),
    radial-gradient(circle at 25% 9%, #fff1cc 0 1px, transparent 2px),
    radial-gradient(circle at 39% 19%, #b5d9ff 0 1px, transparent 2px),
    radial-gradient(circle at 62% 13%, #ffe2c4 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 89% 61%, #f8dca4 0 1px, transparent 2px),
    radial-gradient(circle at 77% 79%, #f8dca4 0 1px, transparent 2px),
    radial-gradient(circle at 94% 26%, #f8dca4 0 1px, transparent 2px),
    radial-gradient(circle at 50% 46%, #b5d9ff 0 1px, transparent 2px);
  content: '';
  pointer-events: none;
}
.guest-feed .welcome-cover::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, #071329be 0%, #07132942 49%, transparent 79%);
  content: '';
  pointer-events: none;
}
.guest-feed .welcome-orbit {
  position: absolute;
  z-index: -1;
  top: -7%;
  right: -3%;
  width: min(65%, 19rem);
  aspect-ratio: 1;
  color: var(--feed-gold);
  opacity: .83;
  pointer-events: none;
}
.guest-feed .welcome-orbit svg { width: 100%; height: 100%; }
.guest-feed .welcome-orbit .sky-art { filter: drop-shadow(0 0 1.8rem #f8dca46c); }
.guest-feed .welcome-copy { max-width: 100%; }
.guest-feed .welcome-eyebrow {
  display: flex;
  align-items: center;
  gap: .38rem;
  margin-bottom: .44rem;
  color: var(--feed-gold);
  font-size: .68rem;
  font-weight: 780;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.guest-feed .welcome-heading {
  max-width: 11ch;
  margin: 0;
  color: #fff2e6;
  font: 400 clamp(2.65rem, 11.9vw, 4.9rem)/.92 var(--display);
  letter-spacing: -.078em;
  text-shadow: 0 .2rem 1rem #0a163780;
}
.guest-feed .welcome-heading span { color: var(--feed-gold); }
.guest-feed .welcome-foot { display: flex; align-items: center; gap: .36rem; margin-top: .78rem; color: #d8e8ff; font-size: .85rem; line-height: 1.45; }
.guest-feed .welcome-foot svg { width: .88rem; height: .88rem; color: var(--feed-gold); }

.guest-feed .feed-section-head { display: flex; align-items: center; justify-content: space-between; gap: .65rem; min-height: 3.45rem; padding: .63rem var(--feed-gutter); border-top: 1px solid var(--feed-line); background: #0b1628; }
.guest-feed .feed-section-title { color: var(--ink); font: 730 1.06rem/1.2 var(--body); letter-spacing: -.025em; }
.guest-feed .feed-section-head > span { color: var(--muted); font-size: .8rem; }
.guest-feed .empty-memory { padding: 1.05rem var(--feed-gutter) 1.15rem; border-bottom: 1px solid var(--feed-line); color: var(--muted); font-size: .86rem; }
.guest-feed .empty-memory svg { width: 1.3rem; height: 1.3rem; margin-bottom: .35rem; color: var(--feed-ice); }
.guest-feed .post-body .empty-memory { padding: 0; border: 0; }
.guest-feed .post-body .empty-memory svg { display: none; }
.guest-feed .feed-post .poll-list { gap: .42rem; margin-top: .64rem; }
.guest-feed .feed-post .poll-option {
  min-height: 2.8rem;
  padding: .59rem .72rem;
  border-color: #3a5881;
  border-radius: .65rem;
  background: var(--feed-control);
  color: var(--ink);
  font-size: .87rem;
}
.guest-feed .feed-post .poll-option:hover:not(:disabled) { border-color: var(--feed-ice); }
.guest-feed .feed-post .poll-option[aria-pressed='true'] { border-color: #80aff1; background: #244b82; color: #e0edff; }
.guest-feed .feed-post .poll-option .poll-indicator { color: var(--feed-ice); font-size: .74rem; }
.guest-feed .feed-post .status:not(:empty) { margin-top: .5rem; }

.guest-feed .feed-nav {
  position: fixed;
  z-index: 6;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.guest-feed .feed-nav .feed-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .17rem;
  min-height: 4rem;
  padding: .27rem var(--feed-gutter) calc(.3rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #304a6f;
  background: #0b172af5;
  backdrop-filter: blur(14px);
  pointer-events: auto;
}
.guest-feed .feed-nav-link {
  display: grid;
  flex: 1 1 0;
  min-width: 2.75rem;
  min-height: 3rem;
  justify-items: center;
  align-content: center;
  gap: .12rem;
  padding: .2rem;
  border: 0;
  border-radius: .55rem;
  background: transparent;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 680;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
}
.guest-feed .feed-nav-link svg { width: 1.32rem; height: 1.32rem; }
.guest-feed .feed-nav-link:hover, .guest-feed .feed-nav-link[aria-current]:not([aria-current='false']) { color: var(--ink); }
.guest-feed .feed-nav-link[aria-current]:not([aria-current='false']) svg { color: var(--feed-blue); }
.guest-feed .feed-nav-add {
  flex: 0 0 auto;
  min-width: 2.8rem;
  min-height: 2.8rem;
  margin-inline: .15rem;
  padding: .3rem .63rem;
  border: 1px solid #c5e2ff;
  border-radius: .8rem;
  background: linear-gradient(145deg, #d1eaff, #8ab8fc 66%, #b3d4ff);
  color: #12274c;
  box-shadow: 0 0 .9rem #75adfc44;
}
.guest-feed .feed-nav-add:hover { background: #e1efff; }

.guest-feed .compose-sheet {
  position: fixed;
  z-index: 9;
  inset: auto 0 0;
  width: min(100%, var(--feed-width));
  max-width: none;
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 1rem);
  margin: 0 auto;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 1.3rem 1.3rem 0 0;
  background: #0e1c33;
  color: var(--ink);
  box-shadow: 0 -1rem 5rem #050c19e6;
}
.guest-feed .compose-sheet::backdrop { background: #040b17e0; backdrop-filter: blur(4px); }
.guest-feed:has(.compose-sheet[open]) { overflow: hidden; }
.guest-feed .sheet-inner { position: relative; padding: .65rem var(--feed-gutter) calc(1.1rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #42638d; border-radius: inherit; }
.guest-feed .sheet-handle { display: block; width: 2.35rem; height: .25rem; margin: 0 auto .75rem; border-radius: 999px; background: #819bc3; }
.guest-feed .sheet-heading { min-height: 2.55rem; margin-bottom: .6rem; padding: .34rem 3.15rem .3rem 0; color: var(--ink); font-size: 1.3rem; font-weight: 740; line-height: 1.2; letter-spacing: -.03em; }
.guest-feed .sheet-heading h2 { font: inherit; }
.guest-feed .sheet-copy { margin-bottom: .82rem; color: var(--muted); font-size: .88rem; }
.guest-feed .sheet-close { position: absolute; top: 1.1rem; right: var(--feed-gutter); display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 1px solid #3b5b84; border-radius: 50%; background: #172d4b; color: var(--ink); }
.guest-feed .sheet-close:hover { background: #244368; }
.guest-feed .sheet-close svg { width: 1.13rem; height: 1.13rem; }
.guest-feed .compose-preview { width: 100%; max-height: 13rem; margin-bottom: .82rem; overflow: hidden; border-radius: .7rem; background: #081427; object-fit: contain; }
.guest-feed .compose-preview img { width: 100%; max-height: 13rem; object-fit: contain; }
.guest-feed .compose-preview[hidden] { display: none; }
.guest-feed .compose-sheet .stack { gap: .7rem; }
.guest-feed .compose-sheet input:not([type='checkbox']), .guest-feed .compose-sheet textarea {
  min-height: 2.85rem;
  border-color: #42628a;
  border-radius: .65rem;
  background: #162844;
  color: var(--ink);
  font-size: 1rem;
}
.guest-feed .compose-sheet input::placeholder, .guest-feed .compose-sheet textarea::placeholder { color: #acbed8; }
.guest-feed .compose-sheet input::file-selector-button { background: #233d61; color: var(--ink); }
.guest-feed .compose-sheet .actions .button { width: 100%; }
.guest-feed .compose-sheet progress { accent-color: var(--feed-blue); }
.guest-feed .compose-success { display: grid; justify-items: center; gap: .72rem; padding: .4rem .5rem .65rem; text-align: center; }
.guest-feed .compose-success .post-avatar { width: 3rem; height: 3rem; }
.guest-feed .compose-success .post-avatar svg { width: 1.4rem; height: 1.4rem; }
.guest-feed .compose-success h3 { font: 740 1.12rem/1.25 var(--body); }
.guest-feed .compose-success .button { min-width: 7rem; margin-top: .15rem; }

.guest-feed .idea-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.guest-feed .idea-fieldset legend { margin-bottom: .35rem; padding: 0; color: var(--ink); font-size: .88rem; font-weight: 650; }
.guest-feed .idea-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.guest-feed .idea-categories label { position: relative; min-width: 0; cursor: pointer; }
.guest-feed .idea-categories input { position: absolute; inset: 0; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.guest-feed .idea-categories span {
  display: grid;
  min-height: 2.75rem;
  place-items: center;
  padding: .38rem .28rem;
  border: 1px solid #42628a;
  border-radius: .58rem;
  background: var(--feed-control);
  color: var(--muted);
  text-align: center;
}
.guest-feed .idea-categories input:checked + span { border-color: #80aff1; background: #234778; color: var(--feed-ice); }
.guest-feed .idea-categories input:focus-visible + span { outline: 3px solid var(--feed-blue); outline-offset: 2px; }

.guest-feed .song-search-row { display: grid; grid-template-columns: minmax(0, 1fr); }
.guest-feed .song-panel[hidden], .guest-feed [data-song-results]:empty { display: none; }
.guest-feed .song-status:empty { position: absolute; display: block; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.guest-feed .song-results { display: grid; gap: .38rem; padding: 0; list-style: none; }
.guest-feed .song-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  width: 100%;
  min-height: 3.25rem;
  padding: .57rem .68rem;
  border: 1px solid #3c5b84;
  border-radius: .65rem;
  background: var(--feed-control);
  color: var(--ink);
  text-align: left;
}
.guest-feed .song-result:hover:not(:disabled, [aria-disabled='true']) { border-color: var(--feed-ice); background: #23416f; }
.guest-feed .song-result[aria-disabled='true'] { border-color: var(--feed-line); cursor: default; }
.guest-feed .song-result[aria-disabled='true'] .song-result-add { color: var(--success); }
.guest-feed .song-result-text { display: grid; min-width: 0; gap: .07rem; overflow-wrap: anywhere; }
.guest-feed .song-result-text strong { font-size: .89rem; line-height: 1.26; }
.guest-feed .song-result-text span { color: var(--muted); font-size: .76rem; line-height: 1.27; }
.guest-feed .song-result-add { display: flex; flex: none; align-items: center; gap: .19rem; color: var(--feed-blue); font-size: .76rem; font-weight: 730; }
.guest-feed .song-result-add svg { width: .92rem; height: .92rem; }
.song-provider-link:hover { color: var(--gold-bright); }

.guest-feed .playlist-post { border-top: 1px solid #b69967; }
.guest-feed .playlist-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .9rem;
  padding: 1.2rem var(--feed-gutter) .95rem;
  background: radial-gradient(ellipse at 12% 0%, #283d6d 0, transparent 75%);
}
.guest-feed .playlist-cover {
  position: relative;
  display: grid;
  width: clamp(4.4rem, 22vw, 6rem);
  aspect-ratio: 1;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #a58f6d;
  border-radius: .8rem;
  background: linear-gradient(145deg, #386ac0 0%, #1c376f 56%, #14284f 100%);
  color: var(--feed-gold);
}
.guest-feed .playlist-cover::before {
  position: absolute;
  z-index: -1;
  inset: -25%;
  background: repeating-radial-gradient(circle at 41% 61%, transparent 0 8px, #cde6ff28 8px 9px, transparent 9px 12px);
  content: '';
}
.guest-feed .playlist-cover > span {
  display: grid;
  width: 52%;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #f8dca46e;
  border-radius: 50%;
  background: #14284f;
  box-shadow: 0 0 1rem #080e1d80;
}
.guest-feed .playlist-cover > span svg { width: 53%; height: 53%; }
.guest-feed .playlist-cover > svg { position: absolute; top: 11%; right: 12%; width: 17%; height: 17%; }
.guest-feed .playlist-meta h2 { margin: .16rem 0 .21rem; font-size: clamp(1.45rem, 6.4vw, 1.8rem); letter-spacing: -.04em; }
.guest-feed .playlist-meta .post-kicker { color: var(--feed-gold); }
.guest-feed .playlist-meta [data-playlist-count] { margin-top: 0; color: var(--feed-gold); font-size: .83rem; }
.guest-feed .playlist-add { margin-top: 0; }
.guest-feed .playlist-add .button { width: 100%; background: #24569c; }
.guest-feed .playlist-add .button:hover:not(:disabled) { background: #2b67b5; }
.playlist-tracks { margin: .58rem 0 0; padding: 0; list-style: none; }
.playlist-track { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; align-items: center; gap: .55rem; min-height: 3.35rem; padding: .37rem 0; border-bottom: 1px solid var(--feed-line, var(--line)); }
.playlist-track:last-child { border-bottom: 0; }
.playlist-track-number { color: var(--muted); font-size: .75rem; font-variant-numeric: tabular-nums; text-align: center; }
.playlist-track-copy { min-width: 0; overflow-wrap: anywhere; }
.playlist-track-copy strong { display: block; font-size: .89rem; line-height: 1.24; }
.playlist-track-copy p { margin-top: .12rem; color: var(--muted); font-size: .77rem; line-height: 1.28; }
.playlist-empty { margin-top: .78rem; color: var(--muted); font-size: .87rem; }
.guest-feed .playlist-track { grid-template-columns: 1.25rem minmax(0, 1fr); }
.guest-feed .playlist-track-number { color: var(--feed-gold); }
.guest-feed .playlist-open { display: flex; align-items: center; justify-content: space-between; gap: .6rem; min-height: 2.75rem; padding-inline-end: .25rem; color: var(--ink); text-decoration: none; }
.guest-feed .playlist-open:hover strong { text-decoration: underline; }
.guest-feed .playlist-open svg { width: 1.05rem; height: 1.05rem; flex: none; color: var(--feed-ice); }
.playlist-remove { padding-inline: .62rem; font-size: .8rem; }

.guest-feed .song-sheet-done { display: none; }
.guest-feed .song-sheet .song-sheet-done { display: inline; }
.guest-feed .compose-sheet.song-sheet[open] {
  display: flex;
  flex-direction: column;
  inset: var(--song-viewport-top, 0px) 0 auto;
  max-height: var(--song-viewport-height, 100dvh);
  overflow: hidden;
  border-radius: 0 0 1.1rem 1.1rem;
  box-shadow: 0 1rem 4rem #050c19c9;
}
.guest-feed .song-sheet .sheet-inner,
.guest-feed .song-sheet #compose-body,
.guest-feed .song-sheet .song-picker,
.guest-feed .song-sheet .song-panel:not([hidden]),
.guest-feed .song-sheet [data-form='song-search'] {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.guest-feed .song-sheet .sheet-inner {
  padding-block: calc(.3rem + env(safe-area-inset-top, 0px)) .65rem;
  overflow: hidden;
  border-top: 0;
  border-bottom: 1px solid #42638d;
}
.guest-feed .song-sheet .sheet-handle { display: none; }
.guest-feed .song-sheet .sheet-heading {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  min-height: 2.75rem;
  margin-bottom: .4rem;
  padding: 0;
}
.guest-feed .song-sheet .sheet-close { position: static; flex: none; width: auto; padding-inline: .78rem; border-radius: .64rem; color: var(--feed-ice); font-size: .85rem; font-weight: 700; }
.guest-feed .song-sheet .sheet-close svg { display: none; }
.guest-feed .song-sheet:has(.compose-success) .sheet-close { visibility: hidden; }
.guest-feed .song-sheet .song-panel:not([hidden]) { overflow-y: auto; }
.guest-feed .song-sheet #song-search-panel:not([hidden]), .guest-feed .song-sheet [data-form='song-search'] { overflow: hidden; }
.guest-feed .song-sheet [data-form='song-search'] { gap: .36rem; }
.guest-feed .song-sheet .song-search-row, .guest-feed .song-sheet .status { flex: none; }
.guest-feed .song-sheet .song-query-field { position: relative; }
.guest-feed .song-sheet .song-query-field svg {
  position: absolute;
  inset-inline-start: .68rem;
  inset-block-end: .86rem;
  width: 1.1rem;
  height: 1.1rem;
  color: var(--feed-blue);
  pointer-events: none;
}
.guest-feed .song-sheet .song-query-field input { padding-inline-start: 2.12rem; }
.guest-feed .song-sheet .song-query-field input:focus-visible { outline-offset: -3px; }
.guest-feed .song-sheet [data-song-results] { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
.guest-feed .song-sheet .song-result:focus-visible { outline-offset: -4px; }
.guest-feed .song-sheet .song-more { flex: none; margin-top: .14rem; }
.guest-feed .song-sheet .song-more > summary, .guest-feed .song-sheet .song-back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.75rem;
  padding: .3rem .16rem;
  border: 0;
  border-radius: .4rem;
  background: transparent;
  color: var(--muted);
  font-size: .83rem;
  font-weight: 660;
  cursor: pointer;
}
.guest-feed .song-sheet .song-more > summary { width: fit-content; list-style: none; }
.guest-feed .song-sheet .song-more > summary::-webkit-details-marker { display: none; }
.guest-feed .song-sheet .song-more > summary:hover, .guest-feed .song-sheet .song-back:hover { color: var(--ink); }
.guest-feed .song-sheet .song-more > summary:focus-visible, .guest-feed .song-sheet .song-back:focus-visible { outline-offset: -3px; }
.guest-feed .song-sheet .song-more-chevron { width: .38rem; height: .38rem; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-1px) rotate(45deg); }
.guest-feed .song-sheet .song-more[open] .song-more-chevron { transform: translateY(1px) rotate(-135deg); }
.guest-feed .song-sheet .song-more-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; padding-bottom: .16rem; }
.guest-feed .song-sheet .song-more-options button {
  min-height: 2.75rem;
  padding: .34rem .46rem;
  border: 1px solid #3c5b84;
  border-radius: .59rem;
  background: var(--feed-control);
  color: var(--feed-ice);
  font-size: .82rem;
  font-weight: 700;
}
.guest-feed .song-sheet .song-more-options button:hover:not(:disabled) { background: #23416f; }
.guest-feed .song-sheet .song-more-options button:focus-visible { outline-offset: -3px; }
.guest-feed .song-sheet .song-back { align-self: flex-start; flex: none; margin-bottom: .27rem; color: var(--feed-ice); }
.guest-feed .song-sheet-compact .sheet-inner { display: block; overflow-y: auto; }

@media (min-width: 33rem) {
  .guest-feed .guest-main { border-inline: 1px solid #385b906b; box-shadow: 0 0 5rem #050e1d80; }
  .guest-feed .feed-nav .feed-shell { border-inline: 1px solid #304a6f; border-radius: .75rem .75rem 0 0; box-shadow: 0 -.75rem 2rem #050e1d66; }
}
@media (max-width: 22rem) {
  .guest-feed .feed-nav-add { margin-inline: 0; padding-inline: .43rem; }
}
