:root {
  --lpph-v11-bg: #000410;
  --lpph-v11-surface: #000818;
  --lpph-v11-surface-raised: #071426;
  --lpph-v11-border: #0a2450;
  --lpph-v11-border-strong: #164b93;
  --lpph-v11-blue: #0060ff;
  --lpph-v11-red: #e61120;
  --lpph-v11-yellow: #f4bb05;
  --lpph-v11-text: #fff;
  --lpph-v11-muted: #9aa6b8;
  --lpph-v11-label: #64a7ff;
  --lpph-v11-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;
  --lpph-v11-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

.lpph-v11-directory,
.lpph-v11-room,
.lpph-v11-list-room {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
  background: var(--lpph-v11-bg);
  color: var(--lpph-v11-text);
  font-family: var(--lpph-v11-ui);
}

.lpph-v11-directory *,
.lpph-v11-room *,
.lpph-v11-list-room * {
  box-sizing: border-box;
}

.lpph-v11-eyebrow,
.lpph-v11-section-label,
.lpph-v11-form-label {
  color: var(--lpph-v11-label);
  font: 700 10px/1.2 var(--lpph-v11-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lpph-v11-supporting,
.lpph-v11-section-supporting {
  color: var(--lpph-v11-muted);
  font-family: var(--lpph-v11-ui);
}

.lpph-v11-directory-heading {
  padding: 18px 12px 12px;
}

.lpph-v11-directory-heading h1 {
  margin: 5px 0 0;
  font-size: 25px;
  line-height: 1.12;
}

.lpph-v11-directory-heading > p {
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.lpph-v11-directory-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 14px;
}

.lpph-v11-directory-search input,
.lpph-v11-directory-search button {
  min-height: 42px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 8px;
  font: 600 13px/1 var(--lpph-v11-ui);
}

.lpph-v11-directory-search input {
  min-width: 0;
  padding: 0 12px;
  background: #030c1a;
  color: var(--lpph-v11-text);
}

.lpph-v11-directory-search button {
  padding: 0 13px;
  background: #09275a;
  color: #dbeafe;
}

.lpph-v11-directory-groups {
  padding: 0 10px 22px;
}

/* The region, city, and room layers form one connected slab. */
.lpph-v11-region {
  margin: 0 0 10px;
  overflow: hidden;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 12px;
  background: linear-gradient(180deg, #07162c, var(--lpph-v11-surface));
}

.lpph-v11-region > summary,
.lpph-v11-city > summary {
  display: grid;
  min-width: 0;
  cursor: pointer;
  list-style: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.lpph-v11-region > summary::-webkit-details-marker,
.lpph-v11-city > summary::-webkit-details-marker {
  display: none;
}

.lpph-v11-region > summary {
  min-height: 48px;
  padding: 0 12px;
  color: #dbeafe;
  font: 750 13px/1.2 var(--lpph-v11-ui);
  letter-spacing: .02em;
}

.lpph-v11-region > summary::before,
.lpph-v11-city > summary::before {
  content: "+";
  margin-right: 8px;
  color: var(--lpph-v11-label);
  font-family: var(--lpph-v11-mono);
}

.lpph-v11-region[open] > summary::before,
.lpph-v11-city[open] > summary::before {
  content: "−";
}

.lpph-v11-region > summary,
.lpph-v11-city > summary {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.lpph-v11-count {
  min-width: 24px;
  padding: 3px 6px;
  border-radius: 99px;
  background: #0b326e;
  color: #cfe3ff;
  font: 700 10px/1 var(--lpph-v11-mono);
  text-align: center;
}

.lpph-v11-city-stack {
  border-top: 1px solid var(--lpph-v11-border);
  background: #020a17;
}

.lpph-v11-city {
  border-bottom: 1px solid var(--lpph-v11-border);
}

.lpph-v11-city:last-child {
  border-bottom: 0;
}

.lpph-v11-city > summary {
  min-height: 44px;
  padding: 0 12px 0 18px;
  color: #e5edf9;
  font-size: 12px;
  font-weight: 700;
}

.lpph-v11-room-list {
  padding: 0;
  margin: 0;
  border-top: 1px solid #071b3c;
  list-style: none;
}

.lpph-v11-room-list li + li {
  border-top: 1px solid #071b3c;
}

.lpph-v11-room-list a {
  display: grid;
  min-width: 0;
  min-height: 47px;
  padding: 8px 12px 8px 34px;
  color: var(--lpph-v11-text);
  text-decoration: none;
  align-content: center;
}

.lpph-v11-room-name {
  overflow: hidden;
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lpph-v11-live-status {
  margin-top: 3px;
  color: #b6c5da;
  font-size: 10px;
}

.lpph-v11-directory-empty {
  padding: 24px 10px;
  color: var(--lpph-v11-muted);
  text-align: center;
}

.lpph-v11-room-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, auto);
  gap: 2px;
  margin: 8px 10px;
  padding: 2px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 8px;
  background: #020a17;
}

.lpph-v11-room-tabs a,
.lpph-v11-room-tabs button {
  display: grid;
  min-width: 74px;
  min-height: 28px;
  padding: 0 11px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--lpph-v11-muted);
  font: 750 9px/1 var(--lpph-v11-mono);
  letter-spacing: .12em;
  text-decoration: none;
  place-items: center;
}

.lpph-v11-room-tabs a.is-active,
.lpph-v11-room-tabs button.is-active {
  background: #0b326e;
  color: #fff;
}

.lpph-v11-room-tabs button:disabled {
  opacity: .48;
}

.lpph-v11-room-hero {
  position: relative;
  height: 212px;
  overflow: hidden;
  background: linear-gradient(145deg, #0c2f66, #020713 70%);
}

.lpph-v11-room-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 28%, rgba(0, 4, 16, .93));
}

.lpph-v11-room-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpph-v11-room-hero-copy {
  position: absolute;
  z-index: 1;
  right: 12px;
  bottom: 14px;
  left: 12px;
}

.lpph-v11-room-hero-copy h1 {
  margin: 0;
  font-size: clamp(24px, 7vw, 32px);
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.lpph-v11-room-location {
  display: flex;
  min-width: 0;
  gap: 6px;
  align-items: center;
  margin: 7px 0 0;
  color: #aeb9c9;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.lpph-v11-room-location .lpph-v11-icon {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.lpph-v11-room-actions {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 10px;
}

.lpph-v11-action,
.lpph-v11-action-disclosure > summary {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font: 750 11px/1 var(--lpph-v11-ui);
  text-decoration: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.lpph-v11-action-disclosure > summary {
  list-style: none;
}

.lpph-v11-action-disclosure > summary::-webkit-details-marker {
  display: none;
}

.lpph-v11-action-contact,
.lpph-v11-action-contact > summary {
  background: var(--lpph-v11-red);
}

.lpph-v11-action-socials,
.lpph-v11-action-socials > summary {
  background: var(--lpph-v11-blue);
}

.lpph-v11-action-directions {
  background: var(--lpph-v11-yellow);
  color: #151000;
}

.lpph-v11-action:disabled,
.lpph-v11-action-disclosure button:disabled {
  cursor: not-allowed;
  filter: saturate(.3);
  opacity: .46;
}

.lpph-v11-action .lpph-v11-icon,
.lpph-v11-action-disclosure .lpph-v11-icon {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  flex: 0 0 15px;
}

.lpph-v11-action-disclosure {
  position: relative;
  min-width: 0;
}

.lpph-v11-action-menu {
  position: absolute;
  z-index: 10;
  top: calc(100% + 5px);
  left: 0;
  width: min(230px, calc(100vw - 20px));
  overflow: hidden;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 8px;
  background: #061225;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .45);
}

.lpph-v11-action-socials .lpph-v11-action-menu {
  left: 50%;
  transform: translateX(-50%);
}

.lpph-v11-action-menu a {
  display: block;
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lpph-v11-action-menu a + a {
  border-top: 1px solid var(--lpph-v11-border);
}

.lpph-v11-room-accordion {
  padding: 0 10px 22px;
}

.lpph-v11-room-section {
  margin-bottom: 8px;
  overflow: hidden;
  border: 1px solid var(--lpph-v11-border);
  border-radius: 10px;
  background: var(--lpph-v11-surface);
}

.lpph-v11-room-section > summary {
  display: grid;
  min-height: 58px;
  padding: 8px 12px;
  cursor: pointer;
  list-style: none;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.lpph-v11-room-section > summary::-webkit-details-marker {
  display: none;
}

.lpph-v11-section-icon {
  display: grid;
  width: 34px;
  height: 34px;
  border: 1px solid #18529a;
  border-radius: 8px;
  background: #082b62;
  color: #dbeafe;
  font: 750 15px/1 var(--lpph-v11-mono);
  place-items: center;
}

.lpph-v11-section-label,
.lpph-v11-section-supporting {
  display: block;
}

.lpph-v11-section-supporting {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.25;
}

.lpph-v11-section-content {
  padding: 0 14px 14px 58px;
  border-top: 1px solid #061b3b;
  color: #dce5f2;
  font-size: 12px;
  line-height: 1.5;
}

.lpph-v11-section-content p,
.lpph-v11-section-content ul {
  margin: 12px 0 0;
}

.lpph-v11-section-content ul {
  padding-left: 17px;
}

.lpph-v11-live-heading {
  display: flex;
  gap: 7px;
  align-items: center;
  font-weight: 700;
}

.lpph-v11-live-freshness {
  color: var(--lpph-v11-muted);
  font: 650 10px/1.3 var(--lpph-v11-mono);
}

.lpph-v11-live-freshness[data-freshness-tone="green"] { color: #00ea72; }
.lpph-v11-live-freshness[data-freshness-tone="amber"] { color: #f8c512; }
.lpph-v11-live-freshness[data-freshness-tone="gray"] { color: #8290a5; }

.lpph-v11-platform-check {
  display: inline-grid;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--lpph-v11-blue);
  color: #fff;
  place-items: center;
}

.lpph-v11-platform-check .lpph-v11-icon {
  width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
}

.lpph-v11-list-header {
  padding: 20px 14px 12px;
}

.lpph-v11-list-header h1 {
  margin: 5px 0 0;
  font-size: 26px;
}

.lpph-v11-list-header p:last-child {
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.5;
}

.lpph-v11-list-body {
  padding: 0 12px 24px;
}

.lpph-v11-list-modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 9px;
  background: #020a17;
}

.lpph-v11-list-modes button {
  min-height: 39px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--lpph-v11-muted);
  font: 700 12px/1 var(--lpph-v11-ui);
}

.lpph-v11-list-modes button.is-active {
  background: #0b326e;
  color: #fff;
}

.lpph-v11-list-form {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid var(--lpph-v11-border);
  border-radius: 12px;
  background: var(--lpph-v11-surface);
}

.lpph-v11-form-field + .lpph-v11-form-field {
  margin-top: 13px;
}

.lpph-v11-form-field label {
  display: block;
  margin-bottom: 6px;
}

.lpph-v11-form-field input,
.lpph-v11-form-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 7px;
  background: #020b19;
  color: #fff;
  font: 500 14px/1.4 var(--lpph-v11-ui);
}

.lpph-v11-form-field input {
  min-height: 43px;
  padding: 0 10px;
}

.lpph-v11-form-field textarea {
  min-height: 112px;
  padding: 10px;
  resize: vertical;
}

.lpph-v11-form-help,
.lpph-v11-list-copy,
.lpph-v11-receipt {
  color: var(--lpph-v11-muted);
  font-size: 11px;
  line-height: 1.45;
}

.lpph-v11-list-copy {
  margin: 14px 0 0;
}

.lpph-v11-room-context {
  position: relative;
  margin-bottom: 13px;
  padding: 11px 72px 11px 11px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 8px;
  background: #07172d;
}

.lpph-v11-room-context p {
  margin: 0 0 4px;
}

.lpph-v11-room-context strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.lpph-v11-change-context {
  position: absolute;
  top: 50%;
  right: 9px;
  min-height: 34px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 6px;
  background: #0a2e66;
  color: #fff;
  font-size: 11px;
  transform: translateY(-50%);
}

.lpph-v11-submit {
  width: 100%;
  min-height: 44px;
  margin-top: 13px;
  border: 0;
  border-radius: 8px;
  background: var(--lpph-v11-red);
  color: #fff;
  font: 750 13px/1 var(--lpph-v11-ui);
}

.lpph-v11-submit:disabled {
  opacity: .55;
}

.lpph-v11-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.lpph-v11-list-success,
.lpph-v11-list-failure {
  padding: 20px 14px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 12px;
  background: var(--lpph-v11-surface);
}

.lpph-v11-list-success h1 {
  margin: 6px 0 8px;
}

.lpph-v11-list-success p,
.lpph-v11-list-failure p {
  line-height: 1.5;
}

.lpph-v11-list-failure {
  margin-top: 12px;
  border-color: #7f1d2d;
}

.lpph-v11-list-failure a {
  color: #7db6ff;
}

.lpph-v11-review-wrapper {
  min-width: 0;
  overflow-x: clip;
}

.lpph-v11-review-evidence {
  margin: 10px;
  padding: 10px 12px;
  border: 1px solid var(--lpph-v11-border-strong);
  border-radius: 8px;
  background: #061326;
  color: var(--lpph-v11-muted);
  font: 500 11px/1.45 var(--lpph-v11-ui);
  overflow-wrap: anywhere;
}

.lpph-v11-review-evidence strong {
  display: block;
  color: var(--lpph-v11-text);
  font: 700 10px/1.2 var(--lpph-v11-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lpph-v11-review-evidence p {
  margin: 5px 0 0;
}

.lpph-v11-review-empty {
  margin: 10px;
  padding: 28px 12px;
  border: 1px dashed var(--lpph-v11-border-strong);
  color: var(--lpph-v11-muted);
  text-align: center;
}

.lpph-v11-directory :focus-visible,
.lpph-v11-room :focus-visible,
.lpph-v11-list-room :focus-visible {
  outline: 2px solid var(--lpph-v11-yellow);
  outline-offset: 2px;
}

@media (max-width: 374px) {
  .lpph-v11-room-actions {
    gap: 4px;
    padding-inline: 8px;
  }

  .lpph-v11-action,
  .lpph-v11-action-disclosure > summary {
    padding-inline: 5px;
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lpph-v11-directory *,
  .lpph-v11-room *,
  .lpph-v11-list-room * {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
