.guest-public {
  min-height: 100vh;
  color: #f8fafc;
  background:
    radial-gradient(circle at 16% 20%, rgba(59, 130, 246, 0.24), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(168, 85, 247, 0.18), transparent 20%),
    radial-gradient(circle at 74% 74%, rgba(20, 184, 166, 0.12), transparent 18%),
    linear-gradient(180deg, #07111f 0%, #091423 100%);
  position: relative;
  overflow: hidden;
}
.guest-public::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.72;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,255,255,0.09) 0 1px, transparent 2px) 0 0/148px 148px,
    radial-gradient(circle at 72% 42%, rgba(255,255,255,0.07) 0 1px, transparent 2px) 0 0/172px 172px,
    radial-gradient(circle at 48% 80%, rgba(255,255,255,0.05) 0 1px, transparent 2px) 0 0/134px 134px;
}
.guest-public__shell { position: relative; z-index: 1; width: min(1460px, calc(100vw - 32px)); margin: 0 auto; padding: 24px 0 40px; }
.guest-public__topbar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-bottom: 24px; }
.guest-public__brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-size: 18px; font-weight: 900; }
.guest-public__brand img { width: 42px; height: 42px; border-radius: 12px; object-fit: contain; }
.guest-public__brand-copy { display: grid; gap: 2px; }
.guest-public__brand-copy small { color: rgba(226, 232, 240, 0.72); font-size: 12px; font-weight: 700; }
.guest-public__nav { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; }
.guest-public__nav a { color: rgba(226, 232, 240, 0.82); text-decoration: none; font-size: 15px; font-weight: 850; }
.guest-public__nav a.is-active, .guest-public__nav a:hover, .guest-public__nav a:focus-visible { color: #fff; }
.guest-public__top-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.guest-public__top-btn { min-height: 46px; padding: 0 16px; border-radius: 14px; border: 1px solid rgba(255,255,255,0.12); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; background: rgba(12, 18, 40, 0.46); font-size: 14px; font-weight: 850; }
.guest-public__top-btn.is-primary { border-color: transparent; background: linear-gradient(135deg, #3b82f6, #14b8a6); box-shadow: 0 16px 32px rgba(37, 99, 235, 0.24); }
.guest-public__grid { display: grid; grid-template-columns: minmax(0, 228px) minmax(0, 1fr) minmax(280px, 332px); gap: 24px; align-items: start; }
.guest-public__sidebar, .guest-public__stage, .guest-public__rail { border: 1px solid rgba(255,255,255,0.10); border-radius: 26px; background: rgba(10, 15, 31, 0.62); backdrop-filter: blur(14px); box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22); }
.guest-public__sidebar, .guest-public__rail { position: sticky; top: 20px; padding: 18px; }
.guest-public__stage { padding: 20px; min-width: 0; }
.guest-public__sidebar-block + .guest-public__sidebar-block, .guest-public__rail-block + .guest-public__rail-block { margin-top: 18px; }
.guest-public__kicker { color: #c4b5fd; font-size: 11px; font-weight: 900; letter-spacing: 0.10em; text-transform: uppercase; }
.guest-public__sidebar-links, .guest-public__rail-list { display: grid; gap: 8px; margin-top: 10px; }
.guest-public__sidebar-links a, .guest-public__rail-item { display: block; border-radius: 14px; padding: 11px 13px; text-decoration: none; color: rgba(226,232,240,0.78); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); font-size: 14px; font-weight: 800; }
.guest-public__sidebar-links a.is-active, .guest-public__sidebar-links a:hover, .guest-public__sidebar-links a:focus-visible, .guest-public__rail-item:hover, .guest-public__rail-item:focus-visible { color: #fff; background: rgba(79, 70, 229, 0.18); }
.guest-public__sidebar-note, .guest-public__rail-copy, .guest-public__empty, .guest-public__card-copy { color: rgba(226,232,240,0.72); font-size: 13px; line-height: 1.55; font-weight: 700; }
.guest-public__hero { position: relative; overflow: hidden; border-radius: 28px; border: 1px solid rgba(255,255,255,0.10); padding: 26px; margin-bottom: 20px; background: linear-gradient(90deg, rgba(7, 10, 24, 0.86) 0%, rgba(7, 10, 24, 0.48) 54%, rgba(12, 18, 36, 0.72) 100%), var(--guest-hero-bg, none) center center / cover no-repeat; box-shadow: 0 24px 56px rgba(0, 0, 0, 0.2); }
.guest-public__hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 78% 18%, rgba(168, 85, 247, 0.22), transparent 24%); }
.guest-public__hero > * { position: relative; z-index: 1; }
.guest-public__eyebrow { display: inline-flex; align-items: center; min-height: 32px; padding: 0 13px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.06); color: rgba(226,232,240,0.84); font-size: 11px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.guest-public__hero h1, .guest-public__section-head h2 { margin: 14px 0 0; color: #fff; font-size: clamp(28px, 4vw, 52px); line-height: 1.04; font-weight: 950; }
.guest-public__hero p { margin: 14px 0 0; max-width: 760px; color: rgba(226,232,240,0.82); font-size: 15px; line-height: 1.6; font-weight: 700; }
.guest-public__hero-actions, .guest-public__section-actions, .guest-public__action-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.guest-public__btn, .guest-public__chip { min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.10); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; background: rgba(255,255,255,0.05); font-size: 14px; font-weight: 850; }
.guest-public__btn.is-primary, .guest-public__chip.is-primary { border-color: transparent; background: linear-gradient(135deg, #2563eb, #0f766e); }
.guest-public__meta, .guest-public__mini-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.guest-public__meta span, .guest-public__mini-meta span { min-height: 30px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; background: rgba(255,255,255,0.06); color: rgba(226,232,240,0.82); font-size: 12px; font-weight: 800; }
.guest-public__section + .guest-public__section { margin-top: 20px; }
.guest-public__section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.guest-public__section-head h2 { margin: 0; font-size: 28px; }
.guest-public__section-head p { margin: 6px 0 0; color: rgba(226,232,240,0.74); font-size: 14px; font-weight: 700; }
.guest-public__card, .guest-public__post, .guest-public__comment, .guest-public__stream, .guest-public__form-card { border: 1px solid rgba(255,255,255,0.10); border-radius: 24px; background: rgba(8, 14, 28, 0.58); box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
.guest-public__card, .guest-public__stream, .guest-public__form-card { padding: 18px; }
.guest-public__post { overflow: hidden; }
.guest-public__post-media-shell { position: relative; width: 100%; min-height: 360px; max-height: 620px; overflow: hidden; background: #0b1220; }
.guest-public__post-media-shell::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 8, 18, 0.22), rgba(4, 8, 18, 0.48)), var(--guest-post-poster, none) center center / cover no-repeat; filter: blur(0); transform: scale(1.04); opacity: 0.88; }
.guest-public__post-media-shell.is-video-active::before { filter: blur(20px); opacity: 0.72; }
.guest-public__post-media, .guest-public__video-thumb, .guest-public__post-media-shell > video { position: relative; z-index: 1; width: 100%; min-height: 360px; max-height: 620px; display: block; background: #0b1220; }
.guest-public__post-media { object-fit: cover; }
.guest-public__video-thumb { border: 0; padding: 0; cursor: pointer; background: transparent; }
.guest-public__video-thumb .guest-public__post-media { min-height: 360px; max-height: 620px; }
.guest-public__video-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.guest-public__post-media-shell > video { object-fit: contain; }
.guest-public__video-placeholder { width: 100%; min-height: 360px; display: block; background: linear-gradient(135deg, rgba(37, 99, 235, 0.38), rgba(15, 118, 110, 0.3)); }
.guest-public__video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); min-height: 52px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: rgba(7, 10, 24, 0.72); border: 1px solid rgba(255,255,255,0.18); box-shadow: 0 18px 38px rgba(0,0,0,0.28); font-size: 14px; font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; }
.guest-public__post-body { padding: 18px; }
.guest-public__author { display: flex; align-items: center; gap: 12px; }
.guest-public__author-avatar, .guest-public__rail-avatar { width: 46px; height: 46px; border-radius: 16px; overflow: hidden; background: rgba(255,255,255,0.08); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 900; }
.guest-public__author-avatar img, .guest-public__rail-avatar img { width: 100%; height: 100%; object-fit: cover; }
.guest-public__author-copy { min-width: 0; }
.guest-public__author-copy strong, .guest-public__card-title, .guest-public__rail-item strong { display: block; color: #fff; font-size: 18px; font-weight: 900; }
.guest-public__author-copy span, .guest-public__rail-item small { display: block; margin-top: 3px; color: rgba(226,232,240,0.68); font-size: 13px; font-weight: 700; }
.guest-public__body { margin-top: 14px; color: rgba(241,245,249,0.92); font-size: 15px; line-height: 1.6; }
.guest-public__comments { display: grid; gap: 12px; margin-top: 16px; }
.guest-public__comment { padding: 14px 16px; }
.guest-public__two-up { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.guest-public__stack { display: grid; gap: 16px; }
.guest-public__rail-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; }
.guest-public__stream iframe, .guest-public__stream video { width: 100%; min-height: 320px; border: 0; border-radius: 18px; background: #050b16; }
.guest-public__footer-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.guest-public__footer-links a { color: rgba(226,232,240,0.72); text-decoration: none; font-size: 13px; font-weight: 800; }
.guest-public__footer-links a:hover, .guest-public__footer-links a:focus-visible { color: #fff; }
.guest-public__notice { margin-top: 14px; padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.04); color: rgba(226,232,240,0.78); font-size: 14px; line-height: 1.55; font-weight: 700; }
.guest-public__community-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.guest-public__community-card { display: block; border-radius: 24px; overflow: hidden; text-decoration: none; border: 1px solid rgba(255,255,255,0.10); background: rgba(8, 14, 28, 0.58); box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
.guest-public__community-media { min-height: 200px; position: relative; background: linear-gradient(135deg, rgba(37,99,235,0.35), rgba(15,118,110,0.25)); background-size: cover; background-position: center; }
.guest-public__community-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(7,10,24,0.72)); }
.guest-public__community-body { position: relative; padding: 18px; }
.guest-public__community-kicker { display: inline-flex; min-height: 28px; align-items: center; padding: 0 10px; border-radius: 999px; background: rgba(255,255,255,0.08); color: rgba(226,232,240,0.86); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.guest-public__community-title { margin: 12px 0 0; color: #fff; font-size: 24px; font-weight: 950; }
.guest-public__community-meta { margin-top: 8px; color: rgba(226,232,240,0.74); font-size: 13px; font-weight: 700; }
.guest-public__community-copy { margin-top: 12px; color: rgba(241,245,249,0.9); font-size: 14px; line-height: 1.6; }
.guest-public__field { display: grid; gap: 8px; margin-bottom: 14px; }
.guest-public__field span { color: rgba(226,232,240,0.82); font-size: 13px; font-weight: 800; }
.guest-public__field input, .guest-public__field textarea, .guest-public__field select { width: 100%; border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; background: rgba(255,255,255,0.04); color: #fff; padding: 12px 14px; font: inherit; }
.guest-public__field textarea { min-height: 120px; resize: vertical; }
@media (max-width: 1180px) { .guest-public__grid { grid-template-columns: minmax(0, 1fr); } .guest-public__sidebar, .guest-public__rail { position: static; } }
@media (max-width: 920px) { .guest-public__community-grid, .guest-public__two-up { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 820px) { .guest-public__shell { width: min(100vw - 20px, 100%); padding: 14px 0 28px; } .guest-public__topbar { grid-template-columns: 1fr; justify-items: start; } .guest-public__nav, .guest-public__top-actions { justify-content: flex-start; } .guest-public__hero, .guest-public__stage, .guest-public__sidebar, .guest-public__rail { border-radius: 22px; } }
