.beliefs-page, .beliefs-detail, .beliefs-form, .beliefs-catalog { padding-top: 0; color: var(--ink-dark); }
.beliefs-page [hidden], .beliefs-form [hidden], .beliefs-catalog [hidden], .beliefs-home [hidden], .belief-reader [hidden] { display: none !important; }
.beliefs-page { max-width: 1040px; margin-inline: auto; }
.beliefs-page__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-lg); }
.beliefs-page h1, .beliefs-detail h1, .beliefs-form h1, .beliefs-catalog h1 { margin: 0; font: 400 var(--text-xl)/1.5 var(--font-serif); }
.beliefs-page__heading .btn { white-space: normal; }
.beliefs-page .btn, .beliefs-form .btn, .beliefs-detail .btn, .beliefs-home .btn { min-height: 44px; }
.beliefs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
.belief-card { display: block; width: 100%; padding: 0; border: 0; background: none; color: var(--ink-dark); text-decoration: none; perspective: 1600px; filter: drop-shadow(0 9px 9px color-mix(in srgb, var(--leather-brown) 13%, transparent)); }
.belief-card:hover { filter: drop-shadow(0 14px 14px color-mix(in srgb, var(--leather-brown) 20%, transparent)); }
.belief-card:focus-visible { outline: 2px solid var(--leather-brown); outline-offset: 6px; }
.belief-turn { display: grid; transform-style: preserve-3d; height: var(--belief-height, 284px); transition: transform 720ms cubic-bezier(.4, 0, .18, 1); }
.belief-card.is-flipping .belief-turn { transform: rotateY(180deg); }
.belief-card.is-settled .belief-turn { transition: none; }
.belief-face { position: relative; grid-area: 1/1; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 18px; min-height: 284px; padding: 28px 44px 26px; text-align: center; backface-visibility: hidden; overflow-wrap: anywhere;
  background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--paper-aged) 75%, transparent), transparent 70%), repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, var(--leather-brown) 2%, transparent) 3px 4px), linear-gradient(140deg, var(--paper-warm), color-mix(in srgb, var(--paper-warm) 78%, var(--sepia-line)));
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px); }
.belief-face::before, .belief-face::after { content: ""; position: absolute; pointer-events: none; }
.belief-face::before { inset: 10px; border: 1px solid color-mix(in srgb, var(--leather-brown) 45%, transparent); clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px), 0 7px); }
.belief-face::after { inset: 15px; border: 1px solid color-mix(in srgb, var(--leather-brown) 14%, transparent); }
.belief-face--back { transform: rotateY(180deg); }
.belief-measure { position: fixed; left: -2000px; top: 0; visibility: hidden; height: auto; pointer-events: none; }
.belief-card__sentence { font: 400 24px/1.5 var(--font-serif); max-width: 370px; margin: auto 0; }
.belief-card__seal { display: flex; align-items: center; justify-content: center; gap: var(--space-md); width: 100%; color: var(--leather-brown); flex-shrink: 0; }
.belief-card__seal::before, .belief-card__seal::after { content: ""; height: 1px; width: 42px; background: linear-gradient(90deg, transparent, var(--sepia-line)); }
.belief-card__seal::after { transform: rotate(180deg); }
.belief-emblem { width: 30px; height: 30px; flex-shrink: 0; }
.belief-card__end { display: flex; gap: var(--space-sm); align-items: center; height: 10px; color: var(--leather-brown); flex-shrink: 0; }
.belief-card__end::before, .belief-card__end::after { content: ""; height: 1px; width: 22px; background: currentColor; opacity: .45; }
.belief-card__end i { width: 4px; height: 4px; transform: rotate(45deg); border: 1px solid currentColor; }
.beliefs-rotation-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--sepia-line); font-size: var(--text-sm); color: var(--ink-soft); }
.beliefs-quiet-action, .beliefs-icon-action { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 0; background: none; color: var(--leather-brown); cursor: pointer; font: inherit; padding: 8px 12px; text-decoration: none; border-radius: var(--radius-compact); }
.beliefs-quiet-action:hover, .beliefs-icon-action:hover { background: var(--paper-warm); }
.beliefs-quiet-action:focus-visible, .beliefs-icon-action:focus-visible { outline: 2px solid var(--leather-brown); outline-offset: 2px; }
.beliefs-icon-action { min-width: 44px; font-size: 22px; }
.beliefs-quiet-action--danger { color: var(--danger); }
.beliefs-gallery__status { padding-block: var(--space-md); }
.beliefs-page__find { margin-top: var(--space-lg); text-align: center; }
.beliefs-page__find a { display: inline-flex; align-items: center; min-height: 44px; color: var(--leather-brown); }
.beliefs-empty { text-align: center; padding: var(--space-xl) var(--space-md); border: 1px dashed var(--sepia-line); border-radius: var(--radius-control); }
.beliefs-empty p { font: var(--text-lg)/1.5 var(--font-serif); margin: var(--space-md) 0; }
.home-directions { --home-direction-height: 360px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: var(--space-lg); align-items: stretch; }
.home-directions > * { min-width: 0; }
.home-directions > div, .home-directions > turbo-frame,
.home-directions :is(#north-stars-home-frame, .north-stars-home, .north-stars-home__featured, .beliefs-home) { display: grid; min-width: 0; }
.home-directions .north-stars-home { margin-bottom: 0; }
.home-directions > #home-beliefs[complete]:not(:has(*)) { display: none; }
.home-directions > div:not(:has(.north-stars-home, .north-stars-home-loading, .home-section-error)) { display: none; }
.home-directions:not(:has(.north-stars-home, .beliefs-home, .north-stars-home-loading, .progressive-section-loading, .home-section-error)) { display: none; }
.home-directions .beliefs-gallery--home { display: flex; min-width: 0; flex-direction: column; }
.home-directions .beliefs-gallery--home .beliefs-grid { flex: 1; }
.home-directions .beliefs-gallery--home .belief-card { display: grid; }
.home-directions .beliefs-gallery--home .belief-turn { height: 100%; min-height: var(--belief-height, var(--home-direction-height)); }
.home-directions :is(.north-stars-home__empty, .beliefs-empty) { min-height: var(--home-direction-height); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-md); }
.home-directions .beliefs-empty .btn { width: 100%; }
.beliefs-gallery--home .beliefs-grid { grid-template-columns: minmax(0, 1fr); }
.beliefs-gallery--home .belief-face { padding-inline: 32px; }
.beliefs-gallery--home .belief-card__sentence { font-size: 22px; }
.belief-reader { padding: 0; width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: hidden; color: var(--ink-dark); }
.belief-reader[open] { display: flex; flex-direction: column; }
.belief-reader__header { flex-shrink: 0; }
.belief-reader__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.belief-reader::backdrop { background: var(--dialog-backdrop); backdrop-filter: blur(var(--dialog-backdrop-blur)); }
body:has(.belief-reader[open]) { overflow: hidden; }
.belief-reader__header { display: flex; align-items: center; justify-content: flex-end; padding: 8px 12px 0; background: transparent; color: var(--ink-dark); border: 0; }
.belief-reader__header h2 { margin: 0; font: var(--text-lg)/1.5 var(--font-serif); }
.belief-reader__header button { color: inherit; }
.belief-reader__header button:hover { background: color-mix(in srgb, var(--dialog-header-text) 15%, transparent); }
.belief-reader__header .beliefs-icon-action:focus-visible { outline-color: var(--dialog-header-text); }
.belief-reader__sentence { margin: 0; padding: 36px; min-height: 240px; font: var(--text-xl)/1.5 var(--font-serif); text-align: center; overflow-wrap: anywhere; display: flex; align-items: center; justify-content: center; }
.belief-reader__footer { padding: 0 var(--space-lg) var(--space-lg); }
.belief-reader__navigation { display: flex; justify-content: center; align-items: center; gap: var(--space-md); margin-bottom: var(--space-md); }
.belief-reader__navigation.is-unavailable { visibility: hidden; }
.belief-reader__links { display: flex; justify-content: space-between; gap: var(--space-md); }
.belief-reader__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--leather-brown); }
.beliefs-detail, .beliefs-form, .beliefs-catalog { max-width: 720px; margin-inline: auto; }
.beliefs-detail h1 { overflow-wrap: anywhere; }
.beliefs-detail [role="button"] { display: inline-flex; align-items: center; min-height: 44px; }
.beliefs-detail [role="button"]:focus-visible { outline: 2px solid var(--leather-brown); outline-offset: 3px; }
.beliefs-detail__actions { display: flex; align-items: center; gap: var(--space-sm); margin: var(--space-lg) 0 var(--space-xl); }
.beliefs-sources { border-top: 1px solid var(--sepia-line); padding-top: var(--space-lg); }
.beliefs-sources h2 { font: var(--text-lg)/1.5 var(--font-serif); margin: 0 0 var(--space-md); }
.beliefs-source-link { display: flex; flex-direction: column; padding-block: var(--space-md); border-bottom: 1px solid var(--sepia-line); color: var(--ink-dark); text-decoration: none; }
.beliefs-source-link small { color: var(--ink-soft); }
.beliefs-source-link span { font: var(--text-lg)/1.5 var(--font-serif); overflow-wrap: anywhere; }
.beliefs-form h1, .beliefs-catalog h1 { margin-bottom: var(--space-lg); }
.beliefs-form__help-link { display: inline-flex; align-items: center; min-height: 44px; }
.beliefs-form label:not(.sr-only) { display: block; margin-bottom: var(--space-sm); }
.beliefs-form textarea { width: 100%; min-height: 168px; padding: 20px; font: 22px/1.5 var(--font-serif); color: var(--ink-dark); border: 1px solid var(--sepia-line); border-radius: var(--radius-compact); background: var(--paper-aged); resize: vertical; }
.beliefs-form__field-footer { display: flex; justify-content: space-between; gap: var(--space-md); min-height: 30px; margin-top: var(--space-xs); font-size: var(--text-sm); }
.beliefs-form__field-footer [role="alert"] { color: var(--danger); }
.beliefs-form__field-footer output { flex-shrink: 0; white-space: nowrap; }
.beliefs-form__over-limit { color: var(--danger); }
.beliefs-form__footer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-md); margin-top: var(--space-sm); }
.beliefs-form__link-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-sm); min-height: 44px; padding: 8px 12px; border: 1px solid var(--sepia-line); border-radius: 999px; background: transparent; color: var(--ink-soft); font: 500 var(--text-sm)/1.3 var(--font-sans); cursor: pointer; }
.beliefs-form__link-button:hover { color: var(--ink-dark); background: var(--paper-warm); }
.beliefs-form__link-button:focus-visible { outline: 2px solid var(--leather-brown); outline-offset: 2px; }
.beliefs-form__link-button svg { width: 16px; height: 16px; }
.beliefs-form__link-button[aria-expanded="true"] { background: var(--paper-warm); border-color: var(--leather-brown); }
.beliefs-source-picker { margin-top: var(--space-md); padding: var(--space-md); background: var(--paper-warm); border: 1px solid var(--sepia-line); border-radius: var(--radius-control); overflow: hidden; }
.beliefs-source-picker__status { margin: var(--space-sm) 0; color: var(--ink-soft); font-size: var(--text-sm); }
.beliefs-source-picker__status:empty { display: none; }
.beliefs-source-picker__unlock { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); color: var(--ink-soft); font-size: var(--text-sm); }
.beliefs-source-picker__unlock p { margin: var(--space-sm) 0; }
.beliefs-source-picker__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); }
.beliefs-source-picker input[type="search"], .beliefs-catalog input { width: 100%; min-height: 44px; color: var(--ink-dark); background: var(--paper-aged); border: 1px solid var(--sepia-line); }
.beliefs-source-choice { display: flex !important; gap: var(--space-md); align-items: center; padding: 12px 0; min-height: 64px; border-bottom: 1px solid var(--sepia-line); }
.beliefs-source-choice input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--leather-brown); }
.beliefs-form label.beliefs-source-choice__label { display: flex; align-items: center; gap: var(--space-md); flex: 1; min-width: 0; min-height: 44px; margin: 0; }
.beliefs-source-choice__label > span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.beliefs-source-choice small { display: block; color: var(--ink-soft); }
.beliefs-selected-sources { display: grid; gap: var(--space-sm); margin-top: var(--space-md); }
.beliefs-selected-sources:empty { display: none; }
.beliefs-selected-source { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md); border: 1px solid var(--sepia-line); border-radius: var(--radius-compact); background: var(--paper-aged); font-size: var(--text-sm); }
.beliefs-selected-source > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.beliefs-selected-source button { flex-shrink: 0; }
.beliefs-selected-source__remove { width: 44px; padding: 0; }
.beliefs-form .diary-protection__popover { width: 220px; max-width: calc(100vw - (2 * var(--space-lg))); padding: var(--space-sm); }
.beliefs-catalog__row { display: block; padding: 18px 0; border-bottom: 1px solid var(--sepia-line); font: var(--text-lg)/1.5 var(--font-serif); color: var(--ink-dark); text-decoration: none; overflow-wrap: anywhere; }
.beliefs-entry-links { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--sepia-line); }
.beliefs-entry-links h3 { font: var(--text-lg)/1.5 var(--font-serif); }
.beliefs-entry-links a { display: block; min-height: 44px; padding-block: var(--space-sm); color: var(--leather-brown); }
@media (max-width: 800px) { .home-directions { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 559px) { .home-directions { --home-direction-height: 320px; } }
@media (max-width: 559px) {
  .beliefs-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .beliefs-gallery:not(.beliefs-gallery--home) .belief-card:nth-child(n + 3) { display: none; }
  .belief-face { padding: 24px 28px; min-height: 260px; }
  .belief-card__sentence { font-size: 22px; }
  .beliefs-page__heading { align-items: flex-start; }
  .beliefs-page__heading .btn { max-width: 150px; padding-inline: 12px; }
  .belief-reader__sentence { padding: var(--space-lg); min-height: 210px; }
  .belief-reader__links { font-size: var(--text-sm); }
  .beliefs-form__footer { grid-template-columns: 1fr auto; gap: var(--space-sm); }
  .beliefs-form__link-button { grid-column: 1 / -1; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { .belief-turn { transition: none; } }
