.guest-shell--capture {
  position: relative;
  z-index: 1;
  padding: 0;
  overflow: hidden;
  background: #090806 !important;
}

.guest-shell--capture > header {
  position: absolute;
  z-index: 6;
  top: 0;
  right: 0;
  left: 0;
  min-height: 62px;
  padding: max(18px, env(safe-area-inset-top)) 18px 10px;
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
  background: linear-gradient(rgba(8, 6, 4, .42), transparent);
  pointer-events: none;
}

.guest-shell--capture > header .guest-brand {
  color: #d2a756;
  font-size: 15px;
  letter-spacing: .2em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .72);
}

.guest-capture {
  min-height: 100svh;
  position: relative;
  display: block;
  overflow: hidden;
  background: #090806 !important;
  color: #fff;
}

.guest-camera {
  position: absolute;
  inset: 0;
  min-height: 0;
  overflow: hidden;
  background: #090806 !important;
}

.guest-camera video {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
  object-fit: cover !important;
  object-position: center center;
  transform: scaleX(-1) !important;
}

.lsw-capture-v2-live-backdrop {
  display: none !important;
}

.guest-countdown {
  z-index: 3;
  background: rgba(0, 0, 0, .14);
  color: #fffaf0;
  font-size: clamp(78px, 24vw, 108px);
  text-shadow: 0 3px 24px rgba(0, 0, 0, .62);
}

.guest-recording-status {
  z-index: 5;
  top: max(76px, calc(env(safe-area-inset-top) + 58px));
  min-width: 0;
  min-height: 34px;
  padding: 6px 12px;
  gap: 8px;
  border: 1px solid rgba(228, 184, 94, .62);
  border-radius: 999px;
  background: rgba(62, 39, 15, .34);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    0 7px 22px rgba(0, 0, 0, .18);
  color: #fff8e9;
  font-size: 14px;
  letter-spacing: .04em;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.guest-recording-status span {
  width: 8px;
  height: 8px;
  background: #e75b4f;
  box-shadow: 0 0 0 3px rgba(231, 91, 79, .12);
}

.guest-capture__controls {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 0;
  padding: 90px 20px max(34px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  background: linear-gradient(
    transparent,
    rgba(10, 7, 4, .64) 34%,
    rgba(8, 6, 4, .94)
  ) !important;
  text-align: center;
}

.guest-capture__controls::before {
  display: none !important;
}

.guest-capture__controls h1 {
  margin: 0;
  color: #fff8ea;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 7.6vw, 31px);
  font-weight: 500;
  line-height: 1.14;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .76);
}

.guest-capture__controls p {
  margin: 8px 0 19px;
  color: #e1c793;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .82);
}

.guest-shell--capture .guest-capture__controls .guest-button:not(.guest-button--quiet):not(.guest-button--danger) {
  position: relative;
  width: 88px;
  min-width: 88px;
  height: 88px;
  min-height: 88px;
  margin-top: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(from 218deg, #5c3510, #d8a94d 13%, #fff0b4 24%, #9d641b 38%, #f7dc91 54%, #744414 70%, #e9bf65 86%, #5c3510);
  box-shadow: 0 0 0 1px rgba(255, 238, 191, .92), 0 0 0 4px rgba(20, 12, 6, .92), 0 0 0 6px rgba(211, 161, 68, .68), 0 0 24px rgba(217, 166, 70, .24), 0 18px 38px rgba(0, 0, 0, .48);
  color: transparent;
  font-size: 0;
}

.guest-shell--capture .guest-capture__controls .guest-button:not(.guest-button--quiet):not(.guest-button--danger)::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255, 224, 149, .66);
  border-radius: 50%;
  background: radial-gradient(circle at 40% 32%, #45301b, #1b1008 48%, #060403 100%);
  box-shadow: inset 0 1px 2px rgba(255, 229, 172, .22), inset 0 0 0 5px rgba(194, 142, 54, .12), 0 0 0 1px rgba(10, 6, 3, .9);
}

.guest-shell--capture .guest-capture__controls .guest-button:not(.guest-button--quiet):not(.guest-button--danger)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(255, 204, 185, .9);
  border-radius: 50%;
  background: radial-gradient(circle at 34% 26%, #ff8b78, #e24839 38%, #a81519 76%, #65080d);
  box-shadow: 0 0 0 4px rgba(111, 43, 24, .46), 0 0 18px rgba(232, 71, 54, .5), 0 3px 8px rgba(0, 0, 0, .54), inset 0 1px 2px rgba(255, 221, 204, .64);
  transform: translate(-50%, -50%);
}

.guest-shell--capture .guest-capture__controls .guest-button:not(.guest-button--quiet):not(.guest-button--danger) svg,
.guest-shell--capture .guest-capture__controls .guest-button--quiet {
  display: none !important;
}

.guest-shell--capture .guest-capture__controls .guest-button--danger {
  position: relative;
  width: min(100%, 300px);
  min-height: 56px;
  overflow: hidden;
  border: 1px solid rgba(229, 184, 91, .76);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(48, 31, 17, .9), rgba(17, 11, 7, .94));
  box-shadow: inset 0 1px 0 rgba(255, 236, 188, .18), inset 0 0 0 1px rgba(92, 57, 20, .48), 0 12px 28px rgba(0, 0, 0, .34), 0 0 22px rgba(200, 145, 50, .09);
  color: #fffaf0;
}

.guest-shell--capture .guest-capture__controls .guest-button--danger svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border: 1px solid rgba(255, 185, 168, .7);
  border-radius: 50%;
  background: radial-gradient(circle at 36% 28%, #ff7665, #cf3029 52%, #791017);
  box-shadow: 0 0 0 3px rgba(162, 49, 35, .18), 0 0 16px rgba(220, 57, 43, .3), inset 0 1px 1px rgba(255, 221, 207, .42);
}

.guest-shell--capture .guest-capture__controls .guest-button:not(.guest-button--quiet):not(.guest-button--danger):focus-visible,
.guest-shell--capture .guest-capture__controls .guest-button--danger:focus-visible {
  outline: 3px solid #f4d690;
  outline-offset: 5px;
}

@media (min-width: 640px) {
  .guest-capture {
    min-height: min(820px, calc(100svh - 48px));
  }
}


/* R4: one fixed capture viewport; wins over the historical relative control panel. */
.guest-shell.guest-shell--capture {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100;
  width: 100vw !important;
  max-width: none !important;
  height: 100svh !important;
  min-height: 100svh !important;
  max-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.guest-shell.guest-shell--capture > header {
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 6;
}

.guest-shell.guest-shell--capture > footer {
  display: none !important;
}

.guest-shell.guest-shell--capture .guest-capture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

.guest-shell.guest-shell--capture .guest-camera {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.guest-shell.guest-shell--capture .guest-camera video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.guest-shell.guest-shell--capture .guest-capture__controls {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 4;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 96px 20px max(34px, env(safe-area-inset-bottom)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: linear-gradient(transparent, rgba(10, 7, 4, .64) 34%, rgba(8, 6, 4, .94)) !important;
}
/* R7: iOS permission prompt opens over the capture stage, never a separate status page. */
.guest-shell.guest-shell--transition {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100;
  width: 100vw !important;
  max-width: none !important;
  height: 100svh !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 50% 42%, #2f1d0e 0, #100a05 64%, #050302 100%) !important;
}

.guest-shell.guest-shell--transition > header {
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 6;
}

.guest-shell.guest-shell--transition > footer,
.guest-shell.guest-shell--transition .guest-status {
  display: none !important;
}
/* R8 fallback if another stylesheet races the transition rule. */
.guest-shell.guest-shell--transition.lsw-v2-permission-stage {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100svh !important;
  min-height: 100svh !important;
  overflow: hidden !important;
}

.guest-shell.guest-shell--transition.lsw-v2-permission-stage .guest-status,
.guest-shell.guest-shell--transition.lsw-v2-permission-stage > footer {
  display: none !important;
}
/* R9: illuminated glass-and-gold recording capsule. */
.guest-shell--capture .guest-record-start {
  width: min(100%, 324px) !important;
  min-width: 0 !important;
  height: 62px !important;
  min-height: 62px !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 2px !important;
  padding: 0 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 221, 145, .88) !important;
  border-radius: 999px !important;
  background: linear-gradient(112deg, rgba(27, 19, 11, .82), rgba(88, 58, 22, .50) 52%, rgba(21, 15, 9, .84)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 246, 207, .36), inset 0 0 0 2px rgba(120, 76, 24, .42), 0 0 0 2px rgba(68, 42, 12, .72), 0 0 19px rgba(239, 184, 73, .34), 0 13px 28px rgba(0, 0, 0, .48) !important;
  color: #fff5d9 !important;
  font: 600 15px/1.1 Inter, system-ui, sans-serif !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
  isolation: isolate;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.guest-shell--capture .guest-record-start::before {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  z-index: -1 !important;
  border: 1px solid rgba(255, 226, 157, .34) !important;
  border-radius: inherit !important;
  background: linear-gradient(120deg, rgba(255, 244, 205, .13), transparent 30%, rgba(255, 201, 87, .11) 73%, rgba(255, 247, 211, .12)) !important;
  box-shadow: none !important;
}
.guest-shell--capture .guest-record-start::after {
  content: "" !important;
  position: absolute !important;
  top: -45% !important;
  left: -18% !important;
  width: 40% !important;
  height: 190% !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255, 244, 202, .28), transparent) !important;
  box-shadow: none !important;
  transform: rotate(22deg) !important;
  pointer-events: none;
}
.guest-shell--capture .guest-record-start__dot {
  width: 12px !important;
  height: 12px !important;
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 203, 191, .9) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 34% 26%, #ff9c87, #e54739 44%, #9f1417 80%) !important;
  box-shadow: 0 0 0 3px rgba(118, 35, 25, .42), 0 0 14px rgba(235, 76, 57, .72), inset 0 1px 2px rgba(255, 234, 218, .6) !important;
}
.guest-shell--capture .guest-record-start__label { position: relative; z-index: 1; }
.guest-shell--capture .guest-record-start:hover { filter: brightness(1.12); box-shadow: inset 0 1px 0 rgba(255, 246, 207, .46), inset 0 0 0 2px rgba(157, 102, 34, .56), 0 0 0 2px rgba(68, 42, 12, .72), 0 0 29px rgba(241, 186, 71, .56), 0 15px 34px rgba(0, 0, 0, .48) !important; }
.guest-shell--capture .guest-record-start:active { transform: translateY(2px) scale(.985); filter: brightness(.94); }
.guest-shell--capture .guest-record-start:focus-visible { outline: 3px solid #f4d690; outline-offset: 5px; }