.emdash-editable-html-block[data-astro-cid-mfdkel53] {
  margin: 1.5rem 0;
  display: block;
}

.html-content[data-astro-cid-mfdkel53][contenteditable="true"] {
  outline: 2px dashed var(--color-accent, #007bff);
  outline-offset: 4px;
  border-radius: 4px;
  background: var(--color-bg-subtle, #00000005);
  min-height: 1.5rem;
}
.ec-comments[data-astro-cid-7norm2ny] {
  --ec-comment-gap: 1.5rem;
  --ec-comment-indent: 2rem;
  --ec-comment-border: 1px solid #e5e7eb;
}

.ec-comments-list[data-astro-cid-7norm2ny], .ec-comment-replies[data-astro-cid-7norm2ny] {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ec-comments-list[data-astro-cid-7norm2ny] > li[data-astro-cid-7norm2ny] + li[data-astro-cid-7norm2ny] {
  margin-top: var(--ec-comment-gap);
}

.ec-comment[data-astro-cid-7norm2ny] {
  padding-bottom: var(--ec-comment-gap);
  border-bottom: var(--ec-comment-border);
}

.ec-comment-replies[data-astro-cid-7norm2ny] {
  margin-top: var(--ec-comment-gap);
  padding-left: var(--ec-comment-indent);
}

.ec-comment-replies[data-astro-cid-7norm2ny] > li[data-astro-cid-7norm2ny] + li[data-astro-cid-7norm2ny] {
  margin-top: var(--ec-comment-gap);
}

.ec-comment-header[data-astro-cid-7norm2ny] {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  flex-wrap: wrap;
}

.ec-comment-author[data-astro-cid-7norm2ny] {
  font-weight: 600;
}

.ec-comment-author[data-astro-cid-7norm2ny] a[data-astro-cid-7norm2ny] {
  color: inherit;
}

.ec-comment-badge[data-astro-cid-7norm2ny] {
  font-size: .75em;
  vertical-align: super;
}

.ec-comment-date[data-astro-cid-7norm2ny] {
  font-size: .875em;
  opacity: .6;
}

.ec-comment-body[data-astro-cid-7norm2ny] {
  margin-top: .5rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.ec-comment-actions[data-astro-cid-7norm2ny] {
  margin-top: .5rem;
}

.ec-reaction[data-astro-cid-7norm2ny] {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font: inherit;
  font-size: .875em;
  color: inherit;
  background: none;
  border: var(--ec-comment-border);
  border-radius: 999px;
  padding: .15rem .6rem;
  cursor: pointer;
}

.ec-reaction[data-astro-cid-7norm2ny][aria-pressed="true"] {
  border-color: currentColor;
  font-weight: 600;
}

.ec-reaction[data-astro-cid-7norm2ny][aria-pressed="true"] .ec-reaction-icon[data-astro-cid-7norm2ny] {
  color: #e0245e;
}

.ec-reaction[data-astro-cid-7norm2ny]:disabled {
  opacity: .5;
  cursor: default;
}

.ec-reaction-count[data-astro-cid-7norm2ny] {
  font-variant-numeric: tabular-nums;
}
.ec-comment-form[data-astro-cid-qjxbdcb6] {
  --ec-form-gap: .75rem;
}

.ec-comment-form-fields[data-astro-cid-qjxbdcb6] {
  display: grid;
  gap: var(--ec-form-gap);
}

@media (width >= 640px) {
  .ec-comment-form-fields[data-astro-cid-qjxbdcb6] {
    grid-template-columns: 1fr 1fr;
  }
}

.ec-comment-form-field[data-astro-cid-qjxbdcb6] {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-top: var(--ec-form-gap);
}

.ec-comment-form-field[data-astro-cid-qjxbdcb6]:first-child {
  margin-top: 0;
}

.ec-comment-form-fields[data-astro-cid-qjxbdcb6] .ec-comment-form-field[data-astro-cid-qjxbdcb6] {
  margin-top: 0;
}

.ec-comment-form-field[data-astro-cid-qjxbdcb6] input[data-astro-cid-qjxbdcb6], .ec-comment-form-field[data-astro-cid-qjxbdcb6] textarea[data-astro-cid-qjxbdcb6] {
  padding: .5rem;
  border: 1px solid var(--ec-form-border, #d1d5db);
  border-radius: .25rem;
  font: inherit;
  background: var(--ec-form-bg, #fff);
  color: var(--ec-form-color, inherit);
}

.dark .ec-comment-form-field[data-astro-cid-qjxbdcb6] input[data-astro-cid-qjxbdcb6], .dark .ec-comment-form-field[data-astro-cid-qjxbdcb6] textarea[data-astro-cid-qjxbdcb6] {
  --ec-form-bg: #1f2937;
  --ec-form-border: #4b5563;
  --ec-form-color: #f9fafb;
}

.ec-comment-user-info[data-astro-cid-qjxbdcb6] {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem;
  background: var(--ec-form-user-bg, #f3f4f6);
  border: 1px solid var(--ec-form-user-border, #d1d5db);
  border-radius: .375rem;
  font-size: .875rem;
}

.dark .ec-comment-user-info[data-astro-cid-qjxbdcb6] {
  background: var(--ec-form-user-bg-dark, #374151);
}

.ec-comment-user-name[data-astro-cid-qjxbdcb6] {
  font-weight: 600;
}

.ec-comment-user-email[data-astro-cid-qjxbdcb6] {
  opacity: .7;
}

.ec-comment-user-email[data-astro-cid-qjxbdcb6]:before {
  content: "·";
  margin-right: .5rem;
}

.ec-comment-form-submit[data-astro-cid-qjxbdcb6] {
  margin-top: var(--ec-form-gap);
  padding: .5rem 1.5rem;
  border: none;
  border-radius: .25rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  background: var(--ec-form-submit-bg, #1f2937);
  color: var(--ec-form-submit-color, #fff);
}

.ec-comment-form-submit[data-astro-cid-qjxbdcb6]:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.ec-comment-form-status[data-astro-cid-qjxbdcb6] {
  margin-top: var(--ec-form-gap);
  font-size: .875em;
}

.ec-comment-form-status[data-astro-cid-qjxbdcb6]:empty {
  display: none;
}

.ec-comment-form-success[data-astro-cid-qjxbdcb6] {
  color: var(--ec-form-success-color, #059669);
}

.ec-comment-form-error[data-astro-cid-qjxbdcb6] {
  color: var(--ec-form-error-color, #dc2626);
}
.emdash-image-media[data-astro-cid-y554unuo] {
  max-width: 100%;
  height: auto;
}
.emdash-image[data-astro-cid-ceaeaym2] {
  margin: 1.5rem 0;
}

.emdash-image[data-astro-cid-ceaeaym2] img[data-astro-cid-ceaeaym2] {
  max-width: 100%;
  height: auto;
}

.emdash-image[data-astro-cid-ceaeaym2] figcaption[data-astro-cid-ceaeaym2] {
  font-size: .875rem;
  color: var(--emdash-caption-color, var(--color-muted, #666));
  margin-top: .5rem;
  text-align: center;
}

.emdash-image--align-left[data-astro-cid-ceaeaym2], .emdash-image--align-right[data-astro-cid-ceaeaym2] {
  width: fit-content;
  max-width: 50%;
}

.emdash-image--align-left[data-astro-cid-ceaeaym2] {
  float: left;
  margin: 0 1.5rem 1rem 0;
}

.emdash-image--align-right[data-astro-cid-ceaeaym2] {
  float: right;
  margin: 0 0 1rem 1.5rem;
}

.emdash-image--align-center[data-astro-cid-ceaeaym2] {
  width: fit-content;
  margin-inline: auto;
}

.emdash-image--align-wide[data-astro-cid-ceaeaym2], .emdash-image--align-full[data-astro-cid-ceaeaym2] {
  width: 100%;
}

@media (width <= 640px) {
  .emdash-image--align-left[data-astro-cid-ceaeaym2], .emdash-image--align-right[data-astro-cid-ceaeaym2] {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
}
.emdash-code[data-astro-cid-h42uzn3t] {
  margin: 1.5rem 0;
}

.emdash-code-filename[data-astro-cid-h42uzn3t] {
  font-size: .75rem;
  font-family: monospace;
  background: #2d2d2d;
  color: #ccc;
  padding: .5rem 1rem;
  border-radius: .5rem .5rem 0 0;
}

.emdash-code[data-astro-cid-h42uzn3t] pre[data-astro-cid-h42uzn3t] {
  margin: 0;
  padding: 1rem;
  background: #1e1e1e;
  border-radius: .5rem;
  overflow-x: auto;
}

.emdash-code-filename[data-astro-cid-h42uzn3t] + pre[data-astro-cid-h42uzn3t] {
  border-radius: 0 0 .5rem .5rem;
}

.emdash-code[data-astro-cid-h42uzn3t] code[data-astro-cid-h42uzn3t] {
  font-family: Fira Code, Consolas, monospace;
  font-size: .875rem;
  color: #e0e0e0;
}
.emdash-embed[data-astro-cid-algctty3] {
  margin: 1.5rem 0;
}

.emdash-embed-video[data-astro-cid-algctty3] {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.emdash-embed-video[data-astro-cid-algctty3] iframe[data-astro-cid-algctty3], .emdash-embed-video[data-astro-cid-algctty3] video[data-astro-cid-algctty3] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.emdash-embed-audio[data-astro-cid-algctty3] {
  width: 100%;
}

.emdash-embed-audio[data-astro-cid-algctty3] audio[data-astro-cid-algctty3] {
  width: 100%;
}

.emdash-embed[data-astro-cid-algctty3] figcaption[data-astro-cid-algctty3] {
  font-size: .875rem;
  color: var(--emdash-caption-color, var(--color-muted, #666));
  margin-top: .5rem;
  text-align: center;
}
.emdash-gallery[data-astro-cid-pz2xslnj] {
  display: grid;
  grid-template-columns: repeat(var(--columns, 3), 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}

.emdash-gallery-item[data-astro-cid-pz2xslnj] {
  margin: 0;
}

.emdash-gallery-item[data-astro-cid-pz2xslnj] img[data-astro-cid-pz2xslnj] {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1;
}

.emdash-gallery-item[data-astro-cid-pz2xslnj] figcaption[data-astro-cid-pz2xslnj] {
  font-size: .75rem;
  color: var(--emdash-caption-color, var(--color-muted, #666));
  margin-top: .25rem;
  text-align: center;
}

@media (width <= 640px) {
  .emdash-gallery[data-astro-cid-pz2xslnj] {
    grid-template-columns: repeat(2, 1fr);
  }
}
.emdash-columns[data-astro-cid-s4gmiw2v] {
  display: flex;
  gap: 2rem;
  margin: 1.5rem 0;
}

.emdash-column[data-astro-cid-s4gmiw2v] {
  flex: 1;
  min-width: 0;
}

@media (width <= 768px) {
  .emdash-columns[data-astro-cid-s4gmiw2v] {
    flex-direction: column;
    gap: 1rem;
  }
}
.emdash-break[data-astro-cid-4nfek4zh] {
  margin: 2rem 0;
}

.emdash-break-line[data-astro-cid-4nfek4zh] {
  border: none;
  border-top: 1px solid var(--emdash-break-color, var(--color-border, #e0e0e0));
}

.emdash-break-dots[data-astro-cid-4nfek4zh] {
  text-align: center;
  color: var(--emdash-break-dots-color, var(--color-muted, #999));
  letter-spacing: .5em;
}

.emdash-break-space[data-astro-cid-4nfek4zh] {
  height: 2rem;
}
.emdash-html-block[data-astro-cid-6nawazix] {
  margin: 1.5rem 0;
}
.emdash-table-wrapper[data-astro-cid-ftjxybiu] {
  margin: 1.5rem 0;
  overflow-x: auto;
}

.emdash-table[data-astro-cid-ftjxybiu] {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}

.emdash-table[data-astro-cid-ftjxybiu] th[data-astro-cid-ftjxybiu], .emdash-table[data-astro-cid-ftjxybiu] td[data-astro-cid-ftjxybiu] {
  border: 1px solid var(--color-border, #ddd);
  padding: .75rem;
  text-align: left;
}

.emdash-table[data-astro-cid-ftjxybiu] th[data-astro-cid-ftjxybiu] p, .emdash-table[data-astro-cid-ftjxybiu] td[data-astro-cid-ftjxybiu] p {
  margin: 0;
}

.emdash-table[data-astro-cid-ftjxybiu] th[data-astro-cid-ftjxybiu] {
  background: var(--color-surface, #f5f5f5);
  font-weight: 600;
}

.emdash-table[data-astro-cid-ftjxybiu] tbody[data-astro-cid-ftjxybiu] tr[data-astro-cid-ftjxybiu]:nth-child(2n) {
  background: var(--color-bg-subtle, #fafafa);
}

.emdash-table[data-astro-cid-ftjxybiu] tbody[data-astro-cid-ftjxybiu] tr[data-astro-cid-ftjxybiu]:hover {
  background: var(--color-surface, #f0f0f0);
}
.emdash-button[data-astro-cid-tzbxayih] {
  display: inline-block;
  padding: .75em 1.5em;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s;
}

.emdash-button--default[data-astro-cid-tzbxayih], .emdash-button--fill[data-astro-cid-tzbxayih] {
  background-color: var(--emdash-button-bg, #0073aa);
  color: var(--emdash-button-color, #fff);
  border: 2px solid var(--emdash-button-bg, #0073aa);
}

.emdash-button--default[data-astro-cid-tzbxayih]:hover, .emdash-button--fill[data-astro-cid-tzbxayih]:hover {
  background-color: var(--emdash-button-bg-hover, #005177);
  border-color: var(--emdash-button-bg-hover, #005177);
}

.emdash-button--outline[data-astro-cid-tzbxayih] {
  background-color: #0000;
  color: var(--emdash-button-bg, #0073aa);
  border: 2px solid var(--emdash-button-bg, #0073aa);
}

.emdash-button--outline[data-astro-cid-tzbxayih]:hover {
  background-color: var(--emdash-button-bg, #0073aa);
  color: var(--emdash-button-color, #fff);
}
.emdash-buttons[data-astro-cid-dupym27c] {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.5rem 0;
}

.emdash-buttons--vertical[data-astro-cid-dupym27c] {
  flex-direction: column;
  align-items: flex-start;
}

.emdash-buttons--horizontal[data-astro-cid-dupym27c] {
  flex-direction: row;
  align-items: center;
}
.emdash-cover[data-astro-cid-76q472ot] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2rem;
  margin: 1.5rem 0;
  overflow: hidden;
  border-radius: 4px;
  background-color: var(--emdash-cover-fallback-bg, #333);
}

.emdash-cover__background[data-astro-cid-76q472ot] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.emdash-cover__video[data-astro-cid-76q472ot] {
  object-fit: cover;
}

.emdash-cover__overlay[data-astro-cid-76q472ot] {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.emdash-cover__content[data-astro-cid-76q472ot] {
  position: relative;
  z-index: 2;
  width: 100%;
  color: var(--emdash-cover-text-color, #fff);
}

.emdash-cover--align-left[data-astro-cid-76q472ot] {
  justify-content: flex-start;
  text-align: left;
}

.emdash-cover--align-center[data-astro-cid-76q472ot] {
  justify-content: center;
  text-align: center;
}

.emdash-cover--align-right[data-astro-cid-76q472ot] {
  justify-content: flex-end;
  text-align: right;
}

.emdash-cover__content[data-astro-cid-76q472ot] h1, .emdash-cover__content[data-astro-cid-76q472ot] h2, .emdash-cover__content[data-astro-cid-76q472ot] h3, .emdash-cover__content[data-astro-cid-76q472ot] h4, .emdash-cover__content[data-astro-cid-76q472ot] p {
  color: inherit;
}
.emdash-file[data-astro-cid-ygwddbj2] {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
  margin: 1rem 0;
  background-color: var(--emdash-file-bg, #f5f5f5);
  border-radius: 4px;
  border: 1px solid var(--emdash-file-border, #e0e0e0);
}

.emdash-file__link[data-astro-cid-ygwddbj2] {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1;
  text-decoration: none;
  color: var(--emdash-file-color, #333);
}

.emdash-file__link[data-astro-cid-ygwddbj2]:hover {
  text-decoration: underline;
}

.emdash-file__icon[data-astro-cid-ygwddbj2] {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  color: var(--emdash-file-icon-color, #666);
}

.emdash-file__name[data-astro-cid-ygwddbj2] {
  font-weight: 500;
  word-break: break-all;
}

.emdash-file__download[data-astro-cid-ygwddbj2] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--emdash-button-bg, #0073aa);
  color: var(--emdash-button-color, #fff);
  border-radius: 4px;
  transition: background-color .2s;
}

.emdash-file__download[data-astro-cid-ygwddbj2]:hover {
  background-color: var(--emdash-button-bg-hover, #005177);
}

.emdash-file__download[data-astro-cid-ygwddbj2] svg[data-astro-cid-ygwddbj2] {
  width: 1.25rem;
  height: 1.25rem;
}
.emdash-pullquote[data-astro-cid-tmwh7dnm] {
  margin: 2rem 0;
  padding: 1.5rem 2rem;
  border-top: 4px solid var(--emdash-pullquote-border, #0073aa);
  border-bottom: 4px solid var(--emdash-pullquote-border, #0073aa);
  text-align: center;
}

.emdash-pullquote__text[data-astro-cid-tmwh7dnm] {
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.4;
  color: var(--emdash-pullquote-color, #333);
  margin: 0;
}

.emdash-pullquote__citation[data-astro-cid-tmwh7dnm] {
  margin-top: 1rem;
  font-size: .9rem;
  font-style: normal;
  color: var(--emdash-pullquote-citation-color, #666);
}
.emdash-live-search[data-astro-cid-zbnroq6u] {
  position: relative;
  display: inline-block;
}

.emdash-live-search-input[data-astro-cid-zbnroq6u] {
  width: 100%;
  padding: .5rem 1rem;
  font-size: 1rem;
  border: 1px solid var(--emdash-search-border, #ccc);
  border-radius: .25rem;
  background: var(--emdash-search-bg, white);
  color: var(--emdash-search-text, inherit);
}

.emdash-live-search-input[data-astro-cid-zbnroq6u]:focus {
  outline: none;
  border-color: var(--emdash-search-border-focus, #666);
}

.emdash-live-search-results[data-astro-cid-zbnroq6u] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: .25rem;
  background: var(--emdash-search-bg, white);
  border: 1px solid var(--emdash-search-border, #ccc);
  border-radius: .25rem;
  box-shadow: 0 4px 6px #0000001a;
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
}

.emdash-live-search-loading[data-astro-cid-zbnroq6u], .emdash-live-search-no-results[data-astro-cid-zbnroq6u] {
  padding: 1rem;
  text-align: center;
  color: var(--emdash-search-muted, #666);
}

.emdash-live-search-result[data-astro-cid-zbnroq6u] {
  display: block;
  padding: .75rem 1rem;
  text-decoration: none;
  color: var(--emdash-search-text, inherit);
  border-bottom: 1px solid var(--emdash-search-border, #eee);
}

.emdash-live-search-result[data-astro-cid-zbnroq6u]:last-child {
  border-bottom: none;
}

.emdash-live-search-result[data-astro-cid-zbnroq6u]:hover, .emdash-live-search-result[data-astro-cid-zbnroq6u]:focus, .emdash-live-search-result[data-astro-cid-zbnroq6u].focused {
  background: var(--emdash-search-hover, #f5f5f5);
  outline: none;
}

.emdash-live-search-result-title[data-astro-cid-zbnroq6u] {
  display: block;
  font-weight: 500;
}

.emdash-live-search-result-collection[data-astro-cid-zbnroq6u] {
  display: block;
  font-size: .75rem;
  color: var(--emdash-search-muted, #888);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-top: .125rem;
}

.emdash-live-search-result-snippet[data-astro-cid-zbnroq6u] {
  display: block;
  font-size: .875rem;
  color: var(--emdash-search-muted, #666);
  margin-top: .25rem;
}

.emdash-live-search-result-snippet[data-astro-cid-zbnroq6u] mark {
  font-weight: 600;
  background: none;
  color: var(--emdash-search-highlight, var(--emdash-search-text, #000));
}
/*
  theme.css -- override any :root variable here to retheme the blog.

  This is the only file you need to edit to customize the site's visual
  appearance. All defaults are listed below as comments. Uncomment and
  change any value to override it.

  Base.astro puts its defaults inside @layer base, so declarations here
  (which are unlayered) always take priority -- no specificity tricks needed.

  Note: this template defines explicit dark mode colors in Base.astro.
  Overriding light-mode --color-* variables here won't affect dark mode.
  To customize dark mode, also override --color-* variables inside a
  @media (prefers-color-scheme: dark) block and/or in the :root.dark rule.
*/

:root {
    --bg-color: #f4f7f6;
    --surface-color: #ffffff;
    --text-main: #1e293b;
    --text-muted: #64748b;
    --text-light: #94a3b8;
    --accent: #0f172a;
    --accent-light: #334155;
    --border: #e2e8f0;
    --hover-bg: #f8fafc;
    --accent-text: #ffffff;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #0f172a;
        --surface-color: #1e293b;
        --text-main: #f8fafc;
        --text-muted: #94a3b8;
        --text-light: #64748b;
        --accent: #f8fafc;
        --accent-light: #e2e8f0;
        --border: #334155;
        --hover-bg: #334155;
        --accent-text: #0f172a;
    }
}

.places header {
    text-align: center;
    max-width: 700px;
    margin-bottom: 3rem;
    margin: auto;
}

.places header h1,
.places header h2 {
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--text-main);
    letter-spacing: -0.03em;
}

.places header h1 {
    font-size: 2.5rem;
}

.places header h2 {
    font-size: 2rem;
}

.places header p {
    font-size: 1.125rem;
    color: var(--text-muted);
}

.places .data-list {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* The List Header (Desktop Only) */

.places .list-header {
    display: none;
    grid-template-columns: 2.5fr 3fr 1.5fr 2fr 160px;
    gap: 1.5rem;
    padding: 0 1.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

@media (min-width: 1024px) {
    .places .list-header {
        display: grid;
    }

    .places .list-header div:first-child {
        text-align: center;
    }
}

/* Individual Item */

.places .list-item {
    background: var(--surface-color);
    border-radius: 16px;
    border: 1px solid var(--border);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.places .list-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
}

/* Mobile Layout (Default) - Stacked */

.places .item-content {
    display: flex;
    flex-direction: column;
}

.places .item-image-wrapper {
    width: 100%;
    height: 200px;
    position: relative;
}

.places .item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.places .item-details {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.places .col-group {
    display: flex;
    flex-direction: column;
}

.places .mobile-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-light);
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
    display: block;
}

.places .item-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 0.25rem;
    letter-spacing: -0.01em;
}

.places .item-category {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.places .item-desc {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.places .item-text-strong {
    font-weight: 500;
    color: var(--text-main);
}

.places .item-text-sub {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 0.125rem;
}

/* Buttons */

.places .action-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.5rem;
}

.places .btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    width: 100%;
    text-align: center;
}

.places .btn-primary {
    background-color: var(--accent);
    color: var(--accent-text);
    border: 1px solid var(--accent);
}

.places .btn-primary:hover {
    background-color: var(--accent-light);
}

.places .btn-secondary {
    background-color: var(--surface-color);
    color: var(--text-main);
    border: 1px solid var(--border);
}

.places .btn-secondary:hover {
    background-color: var(--hover-bg);
    border-color: #d1d5db;
}

/* Tablet Layout (768px - 1023px) */

@media (min-width: 768px) and (max-width: 1023px) {
    .places .item-content {
        flex-direction: row;
    }

    .places .item-image-wrapper {
        width: 250px;
        height: auto;
        min-height: 100%;
        flex-shrink: 0;
    }

    .places .item-details {
        flex: 1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }

    .places .col-main {
        grid-column: span 2;
        border-bottom: 1px solid var(--border);
        padding-bottom: 1.5rem;
    }

    .places .action-group {
        grid-column: span 2;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 0;
    }

    .places .action-group .btn {
        flex: 1;
        min-width: 120px;
    }
}

/* Desktop Layout (1024px+) */

@media (min-width: 1024px) {
    .places .data-list {
        gap: 1rem;
    }

    .places .list-item {
        border-radius: 12px;
    }

    .places .item-content {
        display: grid;
        grid-template-columns: 2.5fr 3fr 1.5fr 2fr 160px;
        gap: 1.5rem;
        align-items: center;
        padding: 1.25rem 1.5rem;
    }

    .places .item-image-wrapper {
        display: none;
    }

    .places .col-main {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 0.5rem;
    }

    .places .desktop-thumbnail {
        width: 64px;
        height: 64px;
        border-radius: 8px;
        object-fit: cover;
        display: block;
        flex-shrink: 0;
    }

    .places .item-details {
        display: contents;
    }

    .places .mobile-label {
        display: none;
    }

    .places .col-group {
        padding: 0;
        justify-content: center;
    }

    .places .action-group {
        margin-top: 0;
        gap: 0.5rem;
    }

    .places .btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.8125rem;
    }
}

/* Hide desktop thumbnail on mobile/tablet */

@media (max-width: 1023px) {
    .places .desktop-thumbnail {
        display: none;
    }
}

/* Footer / Load More Buttons */

.places .list-footer {
    display: flex;
    justify-content: center;
    padding: 2rem 0;
    width: 100%;
}

.places .load-more-btn {
    width: auto;
    min-width: 200px;
    padding: 0.875rem 2.5rem;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
}

:root {
	/* --- Colors ---
	--color-bg: #ffffff;
	--color-bg-subtle: #fafafa;
	--color-text: #1a1a1a;
	--color-text-secondary: #525252;
	--color-muted: #8b8b8b;
	--color-border: #e5e5e5;
	--color-border-subtle: #f0f0f0;
	--color-surface: #f7f7f7;
	--color-accent: #0066cc;
	--color-accent-hover: #0052a3;
	--color-on-accent: white;
	--color-accent-ring: color-mix(in srgb, var(--color-accent) 25%, transparent);
	*/

	/* --- Type scale ---
	--font-size-xs: 0.8125rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-lg: 1.125rem;
	--font-size-xl: 1.25rem;
	--font-size-2xl: 1.5rem;
	--font-size-3xl: 2rem;
	--font-size-4xl: 2.5rem;
	--font-size-5xl: 3.5rem;
	*/

	/* --- Line heights ---
	--leading-tight: 1.15;
	--leading-snug: 1.3;
	--leading-normal: 1.5;
	--leading-relaxed: 1.7;
	*/

	/* --- Letter spacing ---
	--tracking-tight: -0.03em;    used on h1 and large titles
	--tracking-snug: -0.02em;     used on h2–h6, site/card titles
	--tracking-wide: 0.06em;      used on meta labels, TOC/widget titles
	--tracking-wider: 0.08em;     used on footer headings, section labels
	*/

	/* --- Spacing ---
	--spacing-1: 0.25rem;
	--spacing-2: 0.5rem;
	--spacing-3: 0.75rem;
	--spacing-4: 1rem;
	--spacing-5: 1.25rem;
	--spacing-6: 1.5rem;
	--spacing-8: 2rem;
	--spacing-10: 2.5rem;
	--spacing-12: 3rem;
	--spacing-16: 4rem;
	--spacing-20: 5rem;
	--spacing-24: 6rem;
	*/

	/* --- Layout ---
	--content-width: 680px;       article/page body column width
	--wide-width: 1200px;         max container width (home, archives)
	--gutter-width: 200px;        right sidebar column (TOC) on article pages
	--meta-col-width: 180px;      left meta column on article pages
	--nav-height: 64px;           sticky header height
	--search-input-width: 180px;  nav search box width
	*/

	/* --- Borders & radius ---
	--radius: 4px;
	--radius-lg: 8px;
	*/

	/* --- Transitions ---
	--transition-fast: 120ms ease;
	--transition-base: 180ms ease;
	*/

	/* --- Avatars ---
	--avatar-size-xs: 18px;    card byline avatars
	--avatar-size-sm: 20px;    post list byline avatars
	--avatar-size-md: 24px;    featured post byline avatars
	--avatar-size-lg: 32px;    single post byline avatars
	*/

	/* --- Shadows ---
	--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.12);
	--shadow-btn-active: 0 1px 2px rgba(0, 0, 0, 0.05);
	*/

	/* --- Misc ---
	--tag-padding-y: 2px;    vertical padding on tag pills
	*/
}

/* Card Container */

.hstl-card {
	background: #ffffff;
	border: 1px solid #f3f4f6;
	border-radius: 16px;
	padding: 32px;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #1f2937;
	max-width: 800px;
	margin: 30px auto;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
	box-sizing: border-box;
}

/* Header & Top Booking Buttons */

.hstl-header-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 15px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f3f4f6;
}

.hstl-title-wrap h2 {
	margin: 0;
	font-size: 28px;
	font-weight: 800;
	color: #111827;
	letter-spacing: -0.5px;
}

.hstl-cta-group-top {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-bottom: 8px;
	width: 100%;
}

.hstl-platform-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 700;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	border: 1px solid transparent;
	flex-shrink: 0;
}

.hstl-platform-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

/* Rating pill inside the button */

.hstl-btn-rating {
	background: rgba(255, 255, 255, 0.25);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 12px;
}

.cta-hw {
	background: #FF7547;
}

.cta-bk {
	background: #003580;
}

.cta-ag {
	background: #5392F9;
}

.cta-gg {
	background: #ffffff;
	color: #3c4043 !important;
	border-color: #e5e7eb;
}

.cta-gg .hstl-btn-rating {
	background: #f3f4f6;
	color: #4b5563;
}

/* Tags & Ratings Area */

.hstl-tags-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 24px 0;
}

.hstl-badge {
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 20px;
	letter-spacing: 0.3px;
}

/* Specific Tag Styles */

.badge-price {
	background: #ecfdf5;
	color: #059669;
	border: 1px solid #a7f3d0;
	font-weight: 800;
}

.badge-overall {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fde68a;
	font-weight: 800;
}

.badge-score {
	background: #f3f4f6;
	color: #4b5563;
	border: 1px solid #e5e7eb;
}

.badge-vibe {
	background: #fef2f2;
	color: #dc2626;
	border: 1px solid #fee2e2;
	text-transform: uppercase;
}

.badge-perk {
	background: #eff6ff;
	color: #2563eb;
	border: 1px solid #dbeafe;
	text-transform: uppercase;
}

.badge-restriction {
	background: #1f2937;
	color: #f9fafb;
	border: 1px solid #111827;
}

/* Body Content */

.hstl-beds-info {
	font-size: 14px;
	color: #4b5563;
	margin: 0 0 20px 0;
	font-weight: 500;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	background: #f8fafc;
	padding: 12px 16px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}

.hstl-beds-title {
	color: #1f2937;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 6px;
}

.hstl-bed-tag {
	background: #ffffff;
	border: 1px solid #d1d5db;
	color: #374151;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.hstl-image-placeholder {
	width: 100%;
	height: 240px;
	background: #e2e8f0;
	border-radius: 12px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	font-size: 16px;
	font-weight: 600;
}

.hstl-location-text {
	font-size: 14px;
	color: #6b7280;
	margin-top: 6px;
	font-weight: 500;
}

.badge-freebie {
	background: #fff7ed;
	color: #c2410c;
	border: 1px solid #ffedd5;
	font-weight: 700;
}

.hstl-facts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin: 0 0 24px 0;
}

@media (min-width: 600px) {
	.hstl-facts-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

.hstl-fact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.hstl-fact-icon {
	font-size: 20px;
	background: #f3f4f6;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	flex-shrink: 0;
}

.hstl-fact-text {
	display: flex;
	flex-direction: column;
}

.hstl-fact-label {
	font-size: 11px;
	color: #6b7280;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.hstl-fact-value {
	font-size: 13px;
	color: #111827;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 2px;
}

.hstl-price-info-wrap {
	display: flex;
	flex-direction: column;
}

.hstl-urgency-text {
	font-size: 12px;
	color: #dc2626;
	margin-top: 4px;
	font-weight: 600;
}

.hstl-description {
	font-size: 16px;
	line-height: 1.6;
	color: #4b5563;
	margin: 0 0 24px 0;
}

/* Important Info Area */

.hstl-important-info {
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 24px;
	color: #92400e;
}

.hstl-important-info h4 {
	margin: 0 0 12px 0;
	font-size: 16px;
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 8px;
}

.hstl-important-info ul {
	margin: 0;
	padding-left: 20px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.hstl-important-info li {
	margin-bottom: 6px;
}

.hstl-important-info li:last-child {
	margin-bottom: 0;
}

/* Pros & Cons Grid */

.hstl-pros-cons-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	background: #f9fafb;
	border: 1px solid #f3f4f6;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}

@media (max-width: 600px) {
	.hstl-pros-cons-grid {
		grid-template-columns: 1fr;
		padding: 16px;
		gap: 16px;
	}

	.hstl-card-premium {
		padding: 20px;
	}
}

.hstl-pros-cons-grid h4 {
	margin: 0 0 12px 0;
	font-size: 16px;
	font-weight: 700;
}

.hstl-pros-cons-grid ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 15px;
	color: #4b5563;
	line-height: 1.5;
}

.hstl-pros-cons-grid li {
	margin-bottom: 8px;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.hstl-pros h4 {
	color: #059669;
}

.hstl-pros li::before {
	content: '✓';
	color: #10b981;
	font-weight: bold;
}

.hstl-cons h4 {
	color: #dc2626;
}

.hstl-cons li::before {
	content: '✕';
	color: #ef4444;
	font-weight: bold;
}

/* Footer & Main Book Button */

.hstl-bottom-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid #f3f4f6;
}

.hstl-price-text {
	font-size: 16px;
	color: #374151;
}

.hstl-price-text strong {
	font-size: 22px;
	color: #111827;
}

.hstl-main-book-btn {
	background: #10b981;
	color: #ffffff !important;
	padding: 10px 32px;
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none !important;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 4px 6px rgba(16, 185, 129, 0.25);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.hstl-via-text {
	font-size: 11px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	opacity: 0.9;
}

.hstl-main-book-btn:hover {
	background: #059669;
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(16, 185, 129, 0.3);
}

/* Dark Mode Support */

:root.dark {
	& .hstl-card {
		background: #1e293b;
		border-color: #334155;
		color: #f8fafc;
		box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
	}

	& .hstl-header-top,
	& .hstl-bottom-bar {
		border-color: #334155;
	}

	& .hstl-title-wrap h2,
	& .hstl-beds-info strong,
	& .hstl-price-text strong {
		color: #ffffff;
	}

	& .hstl-location-text,
	& .hstl-description,
	& .hstl-price-text {
		color: #cbd5e1;
	}

	& .hstl-fact-icon {
		background: #334155;
	}

	& .hstl-fact-label {
		color: #94a3b8;
	}

	& .hstl-fact-value {
		color: #f8fafc;
	}

	& .hstl-image-placeholder {
		background: #334155;
		color: #94a3b8;
	}

	& .cta-gg {
		background: #334155;
		color: #f8fafc !important;
		border-color: #475569;
	}

	& .cta-gg .hstl-btn-rating {
		background: #475569;
		color: #f8fafc;
	}

	& .hstl-badge {
		background: #334155;
		color: #f8fafc;
		border-color: #475569;
	}

	& .badge-restriction {
		background: #7f1d1d;
		color: #fecaca;
		border-color: #991b1b;
	}

	& .badge-overall {
		background: rgba(253, 230, 138, 0.1);
		color: #fde047;
		border-color: rgba(253, 230, 138, 0.2);
	}

	& .badge-price {
		background: rgba(167, 243, 208, 0.1);
		color: #6ee7b7;
		border-color: rgba(167, 243, 208, 0.2);
	}

	& .badge-freebie {
		background: rgba(255, 237, 213, 0.1);
		color: #fdba74;
		border-color: rgba(255, 237, 213, 0.2);
	}

	& .badge-vibe {
		background: rgba(254, 226, 226, 0.1);
		color: #fca5a5;
		border-color: rgba(254, 226, 226, 0.2);
	}

	& .badge-perk {
		background: rgba(219, 234, 254, 0.1);
		color: #93c5fd;
		border-color: rgba(219, 234, 254, 0.2);
	}

	& .hstl-beds-info {
		background: #0f172a;
		border-color: #334155;
		color: #cbd5e1;
	}

	& .hstl-beds-title {
		color: #ffffff;
	}

	& .hstl-bed-tag {
		background: #1e293b;
		border-color: #475569;
		color: #cbd5e1;
	}

	& .hstl-important-info {
		background: rgba(253, 230, 138, 0.05);
		border-color: rgba(253, 230, 138, 0.2);
		color: #fde047;
	}

	& .hstl-pros-cons-grid {
		background: #0f172a;
		border-color: #334155;
		color: #cbd5e1;
	}

	& .hstl-pros-cons-grid ul {
		color: #cbd5e1;
	}

	& .hstl-pros h4 {
		color: #34d399;
	}

	& .hstl-cons h4 {
		color: #f87171;
	}

	& .hstl-urgency-text {
		color: #f87171;
	}
}

/* Hostel Table Wrapper Styles */

.hstl-table-wrapper table th {
	border-bottom: 2px solid #e5e7eb;
}

.hstl-table-wrapper table tr {
	border-bottom: 1px solid #f3f4f6;
	transition: background-color 0.2s ease;
}

.hstl-table-wrapper table tr:hover {
	background-color: #f9fafb;
}

.rating-stack {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rating-stack .hstl-platform-btn {
	padding: 4px 8px;
	font-size: 11px;
	justify-content: space-between;
	min-width: 130px;
}

.hstl-desc-snippet {
	font-size: 13px;
	color: #6b7280;
	margin-top: 4px;
	line-height: 1.4;
	max-width: 100%;
	min-width: 250px;
}

.hstl-features-list {
	margin: 6px 0 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: #4b5563;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hstl-features-list li {
	display: flex;
	align-items: center;
	gap: 4px;
}

.hstl-features-list li::before {
	content: '✓';
	color: #10b981;
	font-weight: bold;
}

.hstl-room-type {
	font-size: 11px;
	color: #6b7280;
	margin-top: 4px;
	font-weight: 500;
}

.hstl-review-count {
	font-size: 10px;
	opacity: 0.8;
	margin-left: 4px;
	font-weight: 400;
}

:root.dark .hstl-table-wrapper table th {
	border-bottom-color: #334155;
	color: #94a3b8 !important;
}

:root.dark .hstl-table-wrapper table tr {
	border-bottom-color: #334155;
}

:root.dark .hstl-table-wrapper table tr:hover {
	background-color: rgba(255, 255, 255, 0.03);
}

:root.dark .hstl-desc-snippet,
:root.dark .hstl-features-list,
:root.dark .hstl-room-type {
	color: #cbd5e1;
}/*
			 * Establish layer order: "base" has lower priority than unlayered
			 * styles, so theme.css overrides always win regardless of source
			 * order in the bundled CSS.
			 */
			@layer base;

			@layer base {
				*:where(:not([class*="emdash"]):not([class*="ec-"])),
				*:where(:not([class*="emdash"]):not([class*="ec-"]))::before,
				*:where(:not([class*="emdash"]):not([class*="ec-"]))::after {
					box-sizing: border-box;
				}

				body,
				h1,
				h2,
				h3,
				h4,
				h5,
				h6,
				p,
				ul,
				ol,
				figure,
				blockquote,
				dl,
				dd {
					margin: 0;
				}

				ul,
				ol {
					padding: 0;
				}

				:root {
					/* Colors - Light mode (default) */
					--color-bg: #ffffff;
					--color-bg-subtle: #fafafa;
					--color-text: #1a1a1a;
					--color-text-secondary: #525252;
					--color-muted: #8b8b8b;
					--color-border: #e5e5e5;
					--color-border-subtle: #f0f0f0;
					--color-surface: #f7f7f7;
					--color-accent: #0066cc;
					--color-accent-hover: #0052a3;
					--color-on-accent: white;
					--color-accent-ring: color-mix(
						in srgb,
						var(--color-accent) 25%,
						transparent
					);

					/* EmDash search theming */
					--emdash-search-bg: var(--color-bg);
					--emdash-search-text: var(--color-text);
					--emdash-search-muted: var(--color-muted);
					--emdash-search-border: var(--color-border);
					--emdash-search-hover: var(--color-surface);
					--emdash-search-highlight: var(--color-text);

					/* Type scale - more refined */
					--font-size-xs: 0.8125rem;
					--font-size-sm: 0.875rem;
					--font-size-base: 1rem;
					--font-size-lg: 1.125rem;
					--font-size-xl: 1.25rem;
					--font-size-2xl: 1.5rem;
					--font-size-3xl: 2rem;
					--font-size-4xl: 2.5rem;
					--font-size-5xl: 3.5rem;

					/* Line heights */
					--leading-tight: 1.15;
					--leading-snug: 1.3;
					--leading-normal: 1.5;
					--leading-relaxed: 1.7;

					/* Spacing - more generous */
					--spacing-1: 0.25rem;
					--spacing-2: 0.5rem;
					--spacing-3: 0.75rem;
					--spacing-4: 1rem;
					--spacing-5: 1.25rem;
					--spacing-6: 1.5rem;
					--spacing-8: 2rem;
					--spacing-10: 2.5rem;
					--spacing-12: 3rem;
					--spacing-16: 4rem;
					--spacing-20: 5rem;
					--spacing-24: 6rem;

					/* Legacy spacing aliases */
					--spacing-xs: var(--spacing-1);
					--spacing-sm: var(--spacing-2);
					--spacing-md: var(--spacing-4);
					--spacing-lg: var(--spacing-6);
					--spacing-xl: var(--spacing-8);
					--spacing-2xl: var(--spacing-12);
					--spacing-3xl: var(--spacing-16);

					/* Layout - wider for three-column */
					--content-width: 680px;
					--wide-width: 1200px;
					--max-width: var(--content-width);
					--gutter-width: 200px;
					--radius: 4px;
					--radius-lg: 8px;

					/* Transitions */
					--transition-fast: 120ms ease;
					--transition-base: 180ms ease;

					/* Nav */
					--nav-height: 64px;

					/* Search */
					--search-input-width: 180px;

					/* Article layout */
					--meta-col-width: 180px;

					/* Avatar sizes */
					--avatar-size-xs: 18px;
					--avatar-size-sm: 20px;
					--avatar-size-md: 24px;
					--avatar-size-lg: 32px;

					/* Letter spacing */
					--tracking-tight: -0.03em;
					--tracking-snug: -0.02em;
					--tracking-wide: 0.06em;
					--tracking-wider: 0.08em;

					/* Tag pill */
					--tag-padding-y: 2px;

					/* Shadows */
					--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.12);
					--shadow-btn-active: 0 1px 2px rgba(0, 0, 0, 0.05);
				}

				/* Dark mode via system preference (when no explicit class) */
				@media (prefers-color-scheme: dark) {
					:root:not(.light) {
						--color-bg: #0d0d0d;
						--color-bg-subtle: #141414;
						--color-text: #ededed;
						--color-text-secondary: #a0a0a0;
						--color-muted: #6b6b6b;
						--color-border: #2a2a2a;
						--color-border-subtle: #1f1f1f;
						--color-surface: #181818;
						--color-accent: #4d9fff;
						--color-accent-hover: #6eb0ff;
					}
				}

				/* Explicit dark mode */
				:root.dark {
					--color-bg: #0d0d0d;
					--color-bg-subtle: #141414;
					--color-text: #ededed;
					--color-text-secondary: #a0a0a0;
					--color-muted: #6b6b6b;
					--color-border: #2a2a2a;
					--color-border-subtle: #1f1f1f;
					--color-surface: #181818;
					--color-accent: #4d9fff;
					--color-accent-hover: #6eb0ff;
				}

				html {
					scroll-behavior: smooth;
				}

				body {
					font-family: var(--font-sans);
					font-size: var(--font-size-base);
					line-height: var(--leading-relaxed);
					color: var(--color-text);
					background: var(--color-bg);
					-webkit-font-smoothing: antialiased;
					-moz-osx-font-smoothing: grayscale;
					min-height: 100vh;
				}

				a:where(:not([class*="emdash"]):not([class*="ec-"])) {
					color: var(--color-accent);
					text-decoration: none;
					transition: color var(--transition-fast);
				}

				a:where(:not([class*="emdash"]):not([class*="ec-"])):hover {
					color: var(--color-accent-hover);
				}

				img {
					max-width: 100%;
					height: auto;
					display: block;
				}

				h1,
				h2,
				h3,
				h4,
				h5,
				h6 {
					font-family: var(--font-sans);
					line-height: var(--leading-tight);
					font-weight: 600;
					letter-spacing: var(--tracking-snug);
				}

				h1 {
					font-weight: 700;
					letter-spacing: var(--tracking-tight);
				}

				::selection {
					background: var(--color-accent);
					color: white;
				}
			}.site-header[data-astro-cid-hkbrpulz] {
  position: sticky;
  top: 0;
  z-index: 100;
  background: color-mix(in srgb, var(--color-bg) 65%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border-subtle);
}

.nav[data-astro-cid-hkbrpulz] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: var(--wide-width);
  margin: 0 auto;
  padding: var(--spacing-4) var(--spacing-6);
  height: var(--nav-height);
}

.site-title[data-astro-cid-hkbrpulz] {
  font-size: 22px;
  font-weight: 800;
  background-color: #10b981;
  padding: 6px 14px;
  border-radius: 10px;
  text-decoration: none;
  letter-spacing: -.5px;
  line-height: 1;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  box-shadow: 0 4px 10px #10b9814d;
  transition: transform .2s, box-shadow .2s, background-color .2s;
  color: #fff !important;
}

.site-title-tld[data-astro-cid-hkbrpulz] {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  opacity: .9;
  line-height: 1;
  margin-top: -1px;
}

.site-title[data-astro-cid-hkbrpulz]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px #10b98166;
  background-color: #059669;
  color: #fff !important;
}

.site-logo-img[data-astro-cid-hkbrpulz] {
  height: 48px;
  width: auto;
  display: block;
  margin: -8px 0;
}

.nav-right[data-astro-cid-hkbrpulz] {
  display: flex;
  align-items: center;
  gap: var(--spacing-6);
  margin-inline-start: auto;
}

.nav-links[data-astro-cid-hkbrpulz] {
  display: flex;
  gap: var(--spacing-5);
  font-size: var(--font-size-sm);
}

.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz] {
  text-decoration: none;
  color: var(--color-text);
  transition: color var(--transition-fast);
}

.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover {
  color: var(--color-accent);
}

.nav-admin[data-astro-cid-hkbrpulz] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.nav-admin[data-astro-cid-hkbrpulz]:hover {
  color: var(--color-text);
}

.site-search[data-astro-cid-hkbrpulz] {
  position: relative;
  width: var(--search-input-width);
  --emdash-search-border-focus: var(--color-accent);
}

.site-search-input {
  width: var(--search-input-width);
  padding: var(--spacing-2) var(--spacing-3);
  font-family: var(--font-sans);
  font-size: var(--font-size-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color var(--transition-fast),
					box-shadow var(--transition-fast);
}

.site-search-input::placeholder {
  color: var(--color-muted);
}

.site-search-input:focus, .site-search-input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-accent-ring);
  border-color: var(--color-accent) !important;
}

.site-search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: var(--spacing-2);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dropdown);
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
}

.site-search-results .emdash-live-search-loading, .site-search-results .emdash-live-search-no-results {
  padding: var(--spacing-4);
  text-align: center;
  color: var(--color-muted);
  font-size: var(--font-size-sm);
}

.site-search-result {
  display: block;
  padding: var(--spacing-3) var(--spacing-4);
  text-decoration: none;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border-subtle);
  transition: background var(--transition-fast);
}

.site-search-result:last-child {
  border-bottom: none;
}

.site-search-result:hover, .site-search-result:focus, .site-search-result.focused {
  background: var(--color-surface);
  outline: none;
}

.site-search-result .emdash-live-search-result-title {
  display: block;
  font-weight: 500;
  font-size: var(--font-size-sm);
}

.site-search-result .emdash-live-search-result-collection {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  margin-top: 2px;
}

.site-search-result .emdash-live-search-result-snippet {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-muted);
  margin-top: var(--spacing-1);
  line-height: var(--leading-snug);
}

.site-search-result .emdash-live-search-result-snippet mark {
  font-weight: 600;
  color: var(--color-text);
}

main[data-astro-cid-hkbrpulz] {
  min-height: calc(100vh - var(--nav-height) - 300px);
}

.site-footer[data-astro-cid-hkbrpulz] {
  background: var(--color-bg-subtle);
  border-top: 1px solid var(--color-border-subtle);
}

.footer-inner[data-astro-cid-hkbrpulz] {
  max-width: var(--wide-width);
  margin: 0 auto;
  padding: var(--spacing-16) var(--spacing-6) var(--spacing-8);
}

.footer-grid[data-astro-cid-hkbrpulz] {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--spacing-12);
  margin-bottom: var(--spacing-12);
}

.footer-brand[data-astro-cid-hkbrpulz] {
  max-width: 280px;
}

.footer-logo[data-astro-cid-hkbrpulz] {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-text);
  text-decoration: none;
  letter-spacing: var(--tracking-snug);
}

.footer-logo-img[data-astro-cid-hkbrpulz] {
  height: 24px;
  width: auto;
}

.footer-tagline[data-astro-cid-hkbrpulz] {
  margin-top: var(--spacing-3);
  font-size: var(--font-size-sm);
  color: var(--color-muted);
  line-height: var(--leading-relaxed);
}

.footer-nav[data-astro-cid-hkbrpulz] {
  min-width: 0;
}

.footer-heading[data-astro-cid-hkbrpulz] {
  font-size: var(--font-size-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  color: var(--color-muted);
  margin-bottom: var(--spacing-4);
}

.footer-links[data-astro-cid-hkbrpulz] {
  list-style: none;
}

.footer-links[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz] {
  margin-bottom: var(--spacing-2);
}

.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz] {
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
}

.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover {
  color: var(--color-text);
}

.footer-widgets-section[data-astro-cid-hkbrpulz] .widget-area {
  display: block;
}

.footer-widgets-section[data-astro-cid-hkbrpulz] .widget {
  color: var(--color-text-secondary);
}

.footer-widgets-section[data-astro-cid-hkbrpulz] .widget__title {
  font-size: var(--font-size-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  color: var(--color-muted);
  margin-bottom: var(--spacing-4);
}

.footer-widgets-section[data-astro-cid-hkbrpulz] .widget__content {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: var(--leading-relaxed);
}

.footer-bottom[data-astro-cid-hkbrpulz] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--spacing-6);
  border-top: 1px solid var(--color-border);
}

.footer-copyright[data-astro-cid-hkbrpulz] {
  font-size: var(--font-size-sm);
  color: var(--color-muted);
}

.footer-copyright[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz] {
  color: var(--color-text-secondary);
}

.theme-switcher[data-astro-cid-hkbrpulz] {
  display: flex;
  gap: var(--spacing-1);
  padding: var(--spacing-1);
  background: var(--color-surface);
  border-radius: var(--radius);
}

.theme-btn[data-astro-cid-hkbrpulz] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 28px;
  background: none;
  border: none;
  color: var(--color-muted);
  border-radius: var(--radius);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.theme-btn[data-astro-cid-hkbrpulz]:hover {
  color: var(--color-text-secondary);
}

.theme-btn[data-astro-cid-hkbrpulz].active {
  background: var(--color-bg);
  color: var(--color-text);
  box-shadow: var(--shadow-btn-active);
}

.theme-btn[data-astro-cid-hkbrpulz] svg[data-astro-cid-hkbrpulz] {
  width: 16px;
  height: 16px;
}

@media (width <= 900px) {
  .footer-grid[data-astro-cid-hkbrpulz] {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-8);
  }

  .footer-brand[data-astro-cid-hkbrpulz] {
    grid-column: span 2;
    max-width: none;
  }
}

@media (width <= 640px) {
  .site-header[data-astro-cid-hkbrpulz] {
    position: relative;
    border-bottom: none;
  }

  .nav[data-astro-cid-hkbrpulz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    height: auto;
    column-gap: var(--spacing-3);
    row-gap: var(--spacing-2);
    padding: var(--spacing-3) var(--spacing-4);
  }

  .site-title[data-astro-cid-hkbrpulz] {
    grid-column: 1;
    grid-row: 1;
    font-size: var(--font-size-base);
    min-width: 0;
  }

  .nav-right[data-astro-cid-hkbrpulz] {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    row-gap: var(--spacing-2);
  }

  .site-search[data-astro-cid-hkbrpulz] {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .site-search-input {
    width: 100% !important;
    padding: var(--spacing-1) var(--spacing-2) !important;
    font-size: var(--font-size-sm) !important;
  }

  .nav-links[data-astro-cid-hkbrpulz] {
    grid-column: 1;
    display: flex;
    column-gap: var(--spacing-3);
    row-gap: var(--spacing-1);
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .nav-admin[data-astro-cid-hkbrpulz] {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    font-size: var(--font-size-xs);
    margin-inline-start: 0;
    white-space: nowrap;
  }

  .footer-grid[data-astro-cid-hkbrpulz] {
    grid-template-columns: 1fr;
  }

  .footer-brand[data-astro-cid-hkbrpulz] {
    grid-column: span 1;
  }

  .footer-bottom[data-astro-cid-hkbrpulz] {
    flex-direction: column;
    gap: var(--spacing-4);
    text-align: center;
  }

  .footer-controls[data-astro-cid-hkbrpulz] {
    flex-wrap: wrap;
    justify-content: center;
  }
}
