/* Die interne Stufe 1–5 moduliert den Stern nur subtil; sie wird öffentlich nicht benannt. */
.ohana-star span {
  width: calc(13px + var(--strength) * .35px);
  height: calc(13px + var(--strength) * .35px);
  border-radius: 0;
  clip-path: polygon(50% 0,59% 35%,79% 21%,65% 41%,100% 50%,65% 59%,79% 79%,59% 65%,50% 100%,41% 65%,21% 79%,35% 59%,0 50%,35% 41%,21% 21%,41% 35%);
  background: radial-gradient(circle,#fffdf2 0 10%,#ffe6a8 22%,rgba(255,220,146,.76) 43%,rgba(255,218,141,.16) 68%,transparent 72%);
  opacity: calc(.08 + var(--strength) * .112);
  filter: drop-shadow(0 0 calc(var(--strength) * 1.15px) rgba(255, 224, 158, .95));
  animation: ohana-shimmer var(--twinkle) var(--delay) ease-in-out infinite alternate;
}

.ohana-star span::before {
  display:none;
}

.ohana-star span::after {
  position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;content:"";
  background:radial-gradient(circle,#fffbea 0,#ffe3a1 34%,rgba(255,221,150,.18) 70%,transparent 72%);
  box-shadow:0 0 calc(3px + var(--strength) * .7px) rgba(255,220,143,.82);
  transform:translate(-50%,-50%);
}

.ohana-star::after {
  inset: 6px;
  border-color: rgba(255, 232, 181, .13);
  background:
    radial-gradient(circle at 13% 46%, rgba(255, 241, 204, .95) 0 1px, transparent 1.5px),
    radial-gradient(circle at 76% 9%, rgba(255, 222, 151, .82) 0 .8px, transparent 1.35px),
    radial-gradient(circle at 91% 69%, rgba(255, 244, 214, .9) 0 .7px, transparent 1.25px),
    radial-gradient(circle at 42% 94%, rgba(255, 220, 143, .76) 0 .75px, transparent 1.3px);
  opacity: calc(.02 + var(--strength) * .075);
  animation-name: ohana-sparkle-orbit;
  animation-duration: var(--twinkle);
  animation-delay: var(--delay);
  animation-direction: alternate;
}

.ohana-map {
  overflow: hidden;
}

.ohana-map-stage {
  position: absolute;
  inset: 0;
  transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
  transition: transform .85s cubic-bezier(.22, .72, .2, 1);
}

.ohana-map.is-zoomed .ohana-map-stage {
  transform: scale(var(--zoom-scale, 1.62));
}

.ohana-map.is-zoomed .ohana-star,
.ohana-map.is-zoomed .ohana-city-star {
  transform: scale(var(--marker-scale, .5));
}

.ohana-star,
.ohana-city-star {
  transform-origin: center;
  transition: transform .85s cubic-bezier(.22, .72, .2, 1);
}

.ohana-country-lines path {
  fill: rgba(16,40,73,.055);
  stroke: rgba(196, 219, 244, .46);
  stroke-width: 2.15;
  stroke-dasharray: .15 8.5;
  stroke-linecap: round;
  filter: drop-shadow(0 0 2.4px rgba(166, 208, 255, .42));
}

.ohana-star span::before {
  background: linear-gradient(transparent, #ffe2a0, #fff4ce, #ffe2a0, transparent);
}

.ohana-directory table,
.ohana-directory th,
.ohana-directory td {
  text-align: left;
}

.ohana-directory tbody tr {
  border-bottom: 1px solid rgba(181, 199, 222, .13);
  cursor: pointer;
  transition: background-color .35s ease, box-shadow .35s ease, color .35s ease;
}

.ohana-directory td {
  border-bottom: 0;
}

.ohana-directory td:first-child a {
  color: #e7e1d0;
  text-decoration-color: rgba(231, 225, 208, .35);
  text-underline-offset: 4px;
}

.ohana-directory tbody tr:hover,
.ohana-directory tbody tr:focus-visible {
  background: rgba(255, 225, 160, .035);
  outline: none;
}

.ohana-directory tbody tr.is-selected {
  color: #e9dfc8;
  background: linear-gradient(90deg, rgba(255, 218, 142, .07), rgba(255, 232, 184, .018));
  box-shadow: 0 0 24px rgba(255, 211, 126, .06);
  animation: ohana-row-glimmer 2.8s ease-in-out infinite alternate;
}

.ohana-directory tbody tr.is-selected td {
  position: relative;
}

.ohana-directory tbody tr.is-selected td::after {
  position: absolute;
  z-index: 1;
  top: 58%;
  left: 18%;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  content: "";
  background: #fff1ba;
  box-shadow: 0 0 4px 1px rgba(255, 230, 166, .75), 0 0 10px 3px rgba(255, 211, 119, .2);
  opacity: 0;
  pointer-events: none;
  animation: ohana-firefly-a 4.8s ease-in-out infinite;
}

.ohana-directory tbody tr.is-selected td:nth-child(2)::after {
  top: 32%;
  left: 66%;
  animation-name: ohana-firefly-b;
  animation-duration: 5.7s;
  animation-delay: -2.4s;
}

.ohana-directory tbody tr.is-selected td:nth-child(3)::after {
  top: 67%;
  left: 42%;
  animation-name: ohana-firefly-c;
  animation-duration: 4.3s;
  animation-delay: -1.1s;
}

.ohana-star.is-selected span,
.ohana-star.is-selected span::before {
  animation-play-state: paused;
  opacity: 1;
  filter: brightness(1.38) drop-shadow(0 0 13px rgba(255, 225, 157, 1));
}

.ohana-star.is-selected span {
  transform: translate(-50%, -50%) scale(1.52);
}

.ohana-star.is-selected span::before {
  transform: translate(-50%, -50%) scale(1.12);
}

.ohana-star.is-selected::after {
  border-color: rgba(255, 225, 166, .22);
  opacity: 1;
  box-shadow: 0 0 13px rgba(255, 218, 143, .3);
  transform: scale(1.55) rotate(8deg);
  animation-play-state: paused;
}

.ohana-city-star {
  position: absolute;
  z-index: 1;
  left: var(--x);
  top: var(--y);
  width: 3px;
  height: 3px;
  margin: -1.5px 0 0 -1.5px;
  border-radius: 50%;
  background: #7692b6;
  box-shadow: 0 0 5px rgba(111, 151, 201, .56);
  opacity: .52;
  pointer-events: none;
}

.ohana-city-star::before,
.ohana-city-star::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: linear-gradient(transparent, rgba(126, 164, 210, .6), transparent);
  transform: translate(-50%, -50%);
}

.ohana-city-star::before { width: 1px; height: 9px; }
.ohana-city-star::after { width: 9px; height: 1px; }

.ohana-direction {
  position: absolute;
  z-index: 3;
  left: var(--x);
  top: var(--y);
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(4, 18, 40, .64);
  color: #e7c982;
  cursor: pointer;
}

.ohana-direction span {
  display: block;
  font-size: calc(17px + var(--strength) * .18px);
  line-height: 1;
  opacity: calc(.08 + var(--strength) * .1);
  text-shadow: 0 0 calc(var(--strength) * 1.05px) rgba(255, 216, 133, .86);
  transform: rotate(var(--direction));
  animation: ohana-direction-glow 2.7s ease-in-out infinite alternate;
}

.ohana-direction::before {
  position: absolute;
  z-index: -1;
  inset: 5px;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, rgba(255, 226, 164, .5) 0, rgba(255, 211, 126, .15) 42%, transparent 74%);
  opacity: calc(.04 + var(--strength) * .085);
  box-shadow: 0 0 calc(2px + var(--strength) * .72px) rgba(255, 216, 139, .48);
  transform: scale(1.25);
  animation: ohana-direction-halo 3.1s ease-in-out infinite alternate;
}

.ohana-direction:hover,
.ohana-direction:focus-visible,
.ohana-direction.is-selected {
  color: #fff0bb;
  outline: 1px solid rgba(255, 224, 155, .52);
  outline-offset: 3px;
  box-shadow: 0 0 15px rgba(255, 211, 122, .28);
}

.ohana-direction.is-selected span {
  font-size: calc(21px + var(--strength) * .2px);
  opacity: 1;
  text-shadow: 0 0 12px rgba(255, 220, 143, 1);
  animation-play-state: paused;
}

.ohana-direction.is-selected::before {
  opacity: 1;
  box-shadow: 0 0 13px rgba(255, 220, 145, .82);
  transform: scale(1.55);
}

.ohana-external-link {
  display: inline-grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  margin: 0;
  border: 1px solid rgba(231, 225, 208, .2);
  border-radius: 50%;
  color: #d8c69d !important;
  font-size: .72rem;
  line-height: 1;
  text-decoration: none !important;
  vertical-align: middle;
}

.ohana-link-slot {
  display: inline-flex;
  flex: 0 0 1.8rem;
  width: 1.8rem;
  align-items: center;
  justify-content: flex-start;
}

.ohana-external-link:hover,
.ohana-external-link:focus-visible {
  border-color: rgba(255, 225, 166, .6);
  background: rgba(255, 225, 166, .08);
  outline: none;
}

.ohana-header p strong {
  color: #aab4c3;
  font-weight: 500;
}

.ohana-card {
  opacity: 1;
  transition: opacity .8s ease;
}

.ohana-card.is-fading {
  opacity: 0;
}

@keyframes ohana-shimmer {
  0% { filter: brightness(.68) drop-shadow(0 0 calc(var(--strength) * .55px) rgba(255, 210, 128, .42)); }
  47% { filter: brightness(1.18) drop-shadow(0 0 calc(var(--strength) * 1.2px) rgba(255, 225, 166, .94)); }
  100% { filter: brightness(.86) drop-shadow(0 0 calc(var(--strength) * .82px) rgba(255, 218, 145, .72)); }
}

@keyframes ohana-sparkle-orbit {
  0% { opacity: .2; transform: scale(.86) rotate(-5deg); filter: brightness(.76); }
  30% { opacity: .42; transform: scale(.94) rotate(-1deg); filter: brightness(.9); }
  62% { opacity: .76; transform: scale(1.07) rotate(5deg); filter: brightness(1.13); }
  100% { opacity: .48; transform: scale(1.01) rotate(9deg); filter: brightness(.98); }
}

@keyframes ohana-row-glimmer {
  from { filter: brightness(.92); }
  to { filter: brightness(1.14); }
}

@keyframes ohana-firefly-a {
  0%, 100% { opacity: .05; transform: scale(.45); }
  18% { opacity: .2; }
  43% { opacity: .95; transform: scale(1.15); }
  61% { opacity: .28; }
  79% { opacity: .75; transform: scale(.82); }
}

@keyframes ohana-firefly-b {
  0%, 100% { opacity: .08; transform: scale(.55); }
  27% { opacity: .88; transform: scale(1.05); }
  49% { opacity: .18; }
  72% { opacity: .7; transform: scale(.78); }
}

@keyframes ohana-firefly-c {
  0%, 100% { opacity: .04; transform: scale(.4); }
  34% { opacity: .72; transform: scale(.9); }
  52% { opacity: .2; }
  83% { opacity: 1; transform: scale(1.2); }
}

@keyframes ohana-direction-glow {
  from { opacity: .55; filter: brightness(.84); }
  to { opacity: .92; filter: brightness(1.16); }
}

@keyframes ohana-direction-halo {
  from { filter: brightness(.78); transform: scale(1.08); }
  to { filter: brightness(1.16); transform: scale(1.38); }
}

@media (prefers-reduced-motion: reduce) {
  .ohana-map-stage { transition: none; }
  .ohana-star, .ohana-city-star { transition: none; }
  .ohana-star span { animation: none; }
  .ohana-direction span { animation: none; }
  .ohana-direction::before { animation: none; }
  .ohana-card { transition: none; }
  .ohana-directory tbody tr.is-selected { animation: none; }
  .ohana-directory tbody tr.is-selected td::after { animation: none; opacity: .55; }
}

@media (max-width: 650px) {
  .ohana-map.is-zoomed .ohana-map-stage {
    transform: scale(min(var(--zoom-scale, 1.62), 2.08));
  }

  .ohana-directory thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .ohana-directory table,
  .ohana-directory tbody,
  .ohana-directory tr,
  .ohana-directory td {
    display: block;
    width: 100%;
  }

  .ohana-directory tr {
    padding: 15px 13px;
  }

  .ohana-directory td {
    padding: 2px 0;
    white-space: normal;
  }

  .ohana-directory td:first-child {
    margin-bottom: 5px;
    font-size: .92rem;
  }

  .ohana-directory td:not(:first-child) {
    color: #8895a9;
    font-size: .75rem;
  }
}

/* Eigenständige Mahina-Seite */
.mahina-shell{width:min(900px,100%);padding-bottom:70px}.mahina-header{text-align:center}.mahina-header h1{margin:0;color:#e4dcc7;font:400 clamp(3rem,8vw,6rem)/.88 Georgia,serif;letter-spacing:.055em;text-transform:lowercase;text-shadow:0 0 42px rgba(213,229,255,.18)}.mahina-header p{margin:16px auto 0;color:#718097;font-size:clamp(.68rem,1.2vw,.8rem);letter-spacing:.09em}.mahina-hero-moon{width:clamp(190px,28vw,290px);margin:clamp(45px,7vw,72px) auto 28px;filter:drop-shadow(0 0 28px rgba(225,199,130,.16))}.mahina-hero-moon svg{display:block;width:100%}.mahina-current,.mahina-background{width:min(760px,100%);margin:0 auto}.mahina-current{text-align:center}.mahina-eyebrow{margin:0;color:#647188;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.mahina-current h2{margin:12px 0 5px;color:#ddd5c0;font:400 clamp(1.55rem,3vw,2.15rem)/1.2 Georgia,serif}.mahina-current-summary{margin:0;color:#8793a5;font-size:.72rem;letter-spacing:.07em}.mahina-validity{display:grid;gap:3px;margin:25px auto 28px;color:#8490a2;font-size:.72rem}.mahina-validity strong{color:#a9a89e;font-size:.62rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.mahina-validity small{color:#59677d;font-size:.63rem}.mahina-languages{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,55px);padding-top:25px;border-top:1px dotted rgba(181,199,222,.14);text-align:left}.mahina-languages h3{margin:0 0 8px;color:#718097;font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.mahina-languages p,.mahina-background p{margin:0;color:#96a1b1;font-size:.78rem;line-height:1.8}.mahina-context{display:grid;gap:5px;margin:26px 0 0;padding-top:18px;border-top:1px dotted rgba(181,199,222,.12);color:#637188;font-size:.67rem;line-height:1.65}.mahina-background{display:grid;gap:32px;margin-top:clamp(70px,10vw,110px);padding-top:clamp(40px,6vw,62px);border-top:1px solid rgba(181,199,222,.1)}.mahina-background h2{margin:0 0 15px;color:#d4cbb4;font:400 clamp(1.2rem,2.5vw,1.55rem)/1.3 Georgia,serif}.mahina-background div[lang=en]{padding-top:28px;border-top:1px dotted rgba(181,199,222,.13)}.mahina-back{margin:clamp(65px,10vw,105px) auto 0;text-align:center}.mahina-back a{display:inline-grid;gap:5px;color:#aaa99f!important;text-decoration:none;font:400 1rem/1.4 Georgia,serif}.mahina-back small{color:#59677d;font:500 .61rem/1.2 OhanaQuicksand,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}.mahina-back a:hover{color:#e2d8bd!important}
@media(max-width:650px){.mahina-languages{grid-template-columns:1fr}.mahina-hero-moon{width:190px}.mahina-background{gap:26px}}
.mahina-calendar-day{display:grid;gap:4px;margin:18px auto 0;color:#8e99a9;font-size:.7rem}.mahina-calendar-day strong{color:#69778d;font-size:.6rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.mahina-night-nav{display:flex;align-items:center;gap:2px;width:min(760px,100%);margin:22px auto 6px;padding:13px 0;overflow-x:auto;border-top:1px dotted rgba(181,199,222,.13);border-bottom:1px dotted rgba(181,199,222,.13);font-size:.61rem;letter-spacing:.025em;scrollbar-width:none}.mahina-night-nav::-webkit-scrollbar{display:none}.mahina-night-nav button{flex:1 0 21px;min-width:21px;padding:6px 1px;border:0;background:none;color:#6d7b90;font:inherit;cursor:pointer}.mahina-night-nav button:hover{color:#dfd4b7}.mahina-night-nav button:disabled{cursor:default}.mahina-night-nav button.is-current{color:#d5c9aa}.mahina-night-nav .mahina-today{flex-basis:92px;min-width:92px;color:#b3aa94;font-size:clamp(.8rem,1.5vw,.92rem);font-weight:500;white-space:nowrap}.mahina-validity{gap:5px}.mahina-validity>strong,.mahina-validity-berlin>b{color:#8e98a7;font-size:clamp(.68rem,1.2vw,.76rem);font-weight:500;letter-spacing:.115em;text-transform:uppercase}.mahina-validity>span[data-mahina-validity],.mahina-validity-berlin>span{color:#b5bbc3;font-size:clamp(.98rem,1.8vw,1.1rem);letter-spacing:.025em}.mahina-validity-berlin{display:grid;gap:5px;margin-top:12px}.mahina-validity small{margin-top:8px}.mahina-meaning-title{margin:35px 0 0;color:#8e98a7;font-size:clamp(.7rem,1.25vw,.78rem);font-weight:500;letter-spacing:.13em;text-transform:uppercase}.mahina-languages{margin-top:13px}.ohana-more-mahina{margin:8px auto 0;text-align:center}.ohana-more-mahina a{color:#697990!important;font-size:.61rem;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.ohana-more-mahina a:hover{color:#c9c2ae!important}
.ohana-wordmark {
  margin-bottom: clamp(32px, 4.5vw, 52px);
  transform: translateX(-7px);
}

.ohana-header h1 {
  font-size: clamp(2rem, 5vw, 4.25rem);
}
.ohana-header p small{display:block;margin-top:7px;color:#65758c;font-size:.72em;font-weight:400;letter-spacing:.1em}

.ohana-header { position: relative; }
.ohana-moon {
  position: absolute;
  top: clamp(50px, 5.2vw, 68px);
  right: clamp(8px, 5vw, 64px);
  width: clamp(54px, 7vw, 76px);
  filter: drop-shadow(0 0 11px rgba(255, 220, 146, .16));
  opacity: .9;
  padding:0;border:0;background:none;cursor:pointer;
}
.ohana-moon svg { display: block; width: 100%; overflow: visible; }
.ohana-moon-shadow { fill: radial-gradient(circle, #0a1931, #040d20); fill: #061329; }
.ohana-moon-photo { filter: sepia(.62) saturate(1.35) brightness(.92) contrast(1.08); }
.ohana-moon-rim { fill: none; stroke: rgba(231, 214, 174, .24); stroke-width: .8; }
.ohana-moon:hover,.ohana-moon:focus-visible { opacity:1;filter:drop-shadow(0 0 15px rgba(255,220,146,.28));outline:none; }
.ohana-moon-note {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem .62rem;
  margin: 20px auto 0;
  color: #728098;
  font-size: clamp(.65rem, 1vw, .76rem);
  letter-spacing: .055em;
  text-align: center;
}
.ohana-moon-note strong { color: #b9b7ab; font-weight: 500; }
.ohana-moon-note b { color: #9c9e9b; font-weight: 500; }
.ohana-moon-information { position: relative; }
.ohana-moon-info-button {
  position: relative; width: 24px; height: 24px; margin: -5px 0; padding: 0; border: 1px solid rgba(220,205,166,.25); border-radius: 50%;
  background: rgba(235,215,165,.025); color: #bbaa7e; cursor: pointer;
}
.ohana-moon-info-button svg { display:block;width:20px;height:20px;margin:1px; }
.ohana-moon-info-button image { filter:sepia(.62) saturate(1.35) brightness(.92) contrast(1.08); }
.ohana-mini-shadow{fill:#061329}.ohana-mini-rim{fill:none;stroke:rgba(231,214,174,.38);stroke-width:2}
.ohana-moon-info-button span { position: absolute; right: 1px; bottom: 0; font: 600 7px/1 system-ui,sans-serif; }
.ohana-moon-info-button:hover,.ohana-moon-info-button:focus-visible { color:#f0dca5;border-color:rgba(238,218,164,.55);box-shadow:0 0 10px rgba(238,210,142,.12);outline:none; }
.ohana-moon-information + .ohana-directory { margin-top: clamp(26px, 4vw, 46px); }
.ohana-mahina-faq { width:min(760px,100%);margin:24px auto 0;border-top:1px dotted rgba(181,199,222,.15);border-bottom:1px dotted rgba(181,199,222,.12);color:#8f9bad; }
.ohana-mahina-faq summary { display:flex;align-items:baseline;justify-content:center;gap:.7rem;padding:15px 10px;cursor:pointer;list-style:none;color:#aaa99f;font-size:.72rem;letter-spacing:.07em; }
.ohana-mahina-faq summary::-webkit-details-marker { display:none; }
.ohana-mahina-faq summary::before { content:"＋";color:#7f8da1;font-size:.78rem;transition:transform .25s ease; }
.ohana-mahina-faq[open] summary::before { transform:rotate(45deg); }
.ohana-mahina-faq summary small { color:#68758a;font-size:.62rem; }
.ohana-mahina-faq-content { padding:8px clamp(12px,3vw,34px) 25px; }
.ohana-mahina-faq-content h2 { margin:0 0 14px;color:#d4cbb4;font:400 clamp(1.1rem,2vw,1.4rem)/1.3 Georgia,serif;letter-spacing:.025em;text-transform:none; }
.ohana-mahina-faq-content p { margin:0 0 13px;color:#8e9aab;font-size:.76rem;line-height:1.78; }
.ohana-mahina-english { margin-top:22px;padding-top:20px;border-top:1px dotted rgba(181,199,222,.13); }
.ohana-mahina-english h2 { color:#aaa99f;font-size:clamp(1rem,1.8vw,1.25rem); }
.ohana-mahina-faq-links { display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:4px; }
.ohana-mahina-faq-links a { color:#7e8ba0;text-decoration:none;border-bottom:1px dotted rgba(166,194,225,.22); }
.ohana-mahina-faq + .ohana-directory { margin-top:clamp(30px,5vw,56px); }
.ohana-directory-title { display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem!important;margin-bottom:7px!important;color:#8f9bad!important;font:500 clamp(.64rem,1.1vw,.73rem)/1.4 OhanaQuicksand,system-ui,sans-serif!important;letter-spacing:.13em!important;text-transform:uppercase!important; }
.ohana-directory-title span[aria-hidden] { color:#4f5d73; }
.ohana-directory-note { display:grid;gap:5px;margin:20px 12px 0;color:#718097;font-size:clamp(.72rem,1.15vw,.82rem);letter-spacing:.035em;line-height:1.65; }
.ohana-directory-note span[lang="en"] { color:#536178;font-size:.94em; }
.ohana-portal { display:grid;place-items:center;width:min(760px,100%);margin:clamp(68px,10vw,120px) auto 20px;padding:38px 20px 28px;color:#8996aa!important;text-align:center;text-decoration:none!important; }
.ohana-portal-light { position:relative;display:block;width:min(440px,82vw);height:128px;margin-bottom:22px;overflow:hidden;border:1px solid rgba(166,194,225,.08);border-radius:50%;background:radial-gradient(ellipse at center,rgba(218,225,240,.1) 0 2%,rgba(84,110,154,.1) 12%,rgba(23,50,91,.11) 34%,rgba(4,14,33,.08) 58%,transparent 72%),radial-gradient(circle at 18% 62%,#cfdcf2 0 1px,transparent 1.8px),radial-gradient(circle at 72% 32%,#f1dfae 0 1.2px,transparent 2px),radial-gradient(circle at 42% 18%,#91add2 0 .8px,transparent 1.6px),radial-gradient(circle at 84% 73%,#bdcce5 0 .9px,transparent 1.7px),radial-gradient(circle at 31% 79%,#ead6a4 0 .7px,transparent 1.5px);box-shadow:inset 0 0 34px rgba(111,145,194,.08),0 0 35px rgba(60,93,143,.07);transform:perspective(420px) rotateX(58deg);transition:filter .7s ease,transform .7s ease; }
.ohana-portal-light::before { position:absolute;inset:13% -7%;border-radius:50%;content:"";background:conic-gradient(from 90deg,transparent 0 7%,rgba(197,215,239,.12) 9%,transparent 12% 23%,rgba(237,216,166,.1) 25%,transparent 28% 43%,rgba(159,186,222,.12) 45%,transparent 48% 67%,rgba(218,227,243,.1) 69%,transparent 72% 100%);filter:blur(2px);animation:ohana-portal-turn 22s linear infinite; }
.ohana-portal-light::after { position:absolute;inset:29% 23%;border-radius:50%;content:"";background:radial-gradient(ellipse,#071a39 0,#040e22 55%,rgba(178,204,238,.1) 72%,transparent 75%);box-shadow:0 0 24px rgba(172,199,232,.1); }
.ohana-portal strong { color:#b9b6a9;font:400 clamp(.92rem,1.8vw,1.15rem)/1.5 Georgia,serif;letter-spacing:.025em; }
.ohana-portal small { margin-top:5px;color:#58667d;font-size:.63rem;letter-spacing:.055em; }
.ohana-portal:hover .ohana-portal-light,.ohana-portal:focus-visible .ohana-portal-light { filter:brightness(1.55);transform:perspective(420px) rotateX(55deg) scale(1.035); }
.ohana-portal:focus-visible { outline:1px dotted rgba(231,215,174,.35);outline-offset:5px; }
@keyframes ohana-portal-turn{to{transform:rotate(360deg)}}
.mahina-hero-moon .ohana-moon-shadow,.mahina-hero-moon .ohana-moon-rim{display:none}
.ohana-header .ohana-moon-shadow,.ohana-header .ohana-moon-rim{display:none}
.mahina-meaning-title{color:#9ba5b3;font-size:clamp(.78rem,1.4vw,.88rem)}
.mahina-current .mahina-languages p{font-size:clamp(.86rem,1.35vw,.94rem);line-height:1.85}
.mahina-month-title{margin-top:34px;padding-top:28px;border-top:1px dotted rgba(181,199,222,.13)}
.mahina-month-languages{padding-top:13px;border-top:0}
.mahina-ohana-gateway svg{opacity:.78}
.mahina-ohana-gateway path{stroke:rgba(218,199,153,.25);stroke-width:.9;stroke-dasharray:.8 8}
.mahina-ohana-gateway circle,.mahina-ohana-gateway .mahina-cassiopeia circle:nth-of-type(even),.mahina-ohana-gateway .mahina-dipper circle:nth-of-type(odd){r:2.8px;fill:#ffe8ae;stroke:rgba(255,220,143,.32);stroke-width:6;opacity:.76;animation-direction:normal}
.mahina-ohana-gateway:hover svg,.mahina-ohana-gateway:focus-visible svg{opacity:.96}
@keyframes mahina-constellation-glimmer{0%,100%{opacity:.48;stroke-width:4}48%{opacity:1;stroke-width:8}62%{opacity:.7;stroke-width:5}}

/* Mond ohne rechteckige Filter-Artefakte: Wärme als SVG-Lasur innerhalb der Phasenmaske. */
.mahina-hero-moon,.ohana-moon,.ohana-moon:hover,.ohana-moon:focus-visible{filter:none}
.mahina-hero-moon .ohana-moon-photo,.ohana-moon-photo,.ohana-moon-info-button image{filter:none}
.ohana-moon-gold{fill:rgba(218,183,105,.16);pointer-events:none}

.mahina-glossary{width:min(980px,calc(100% - 36px));margin:58px auto 22px;border-top:1px dotted rgba(181,199,222,.16);border-bottom:1px dotted rgba(181,199,222,.12)}
.mahina-day-languages p{white-space:pre-line}
.mahina-glossary summary{display:flex;align-items:center;justify-content:space-between;padding:22px 2px;color:#c9c2af;cursor:pointer;list-style:none}
.mahina-glossary summary::-webkit-details-marker{display:none}.mahina-glossary summary span{display:grid;gap:4px}.mahina-glossary summary strong{font:400 1.08rem/1.2 Georgia,serif;letter-spacing:.035em}.mahina-glossary summary small{color:#6f7c90;font-size:.61rem;letter-spacing:.13em;text-transform:uppercase}.mahina-glossary summary i{font-style:normal;font-size:1rem;transition:transform .25s ease}.mahina-glossary details[open] summary i{transform:rotate(45deg)}
.mahina-glossary-intro{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:0 0 26px;color:#7d899b;font-size:.75rem;line-height:1.7}
.mahina-glossary dl{margin:0 0 26px}.mahina-glossary dl>div{display:grid;grid-template-columns:minmax(130px,.34fr) 1fr;gap:24px;padding:15px 2px;border-top:1px dotted rgba(181,199,222,.1)}.mahina-glossary dt{color:#d3c9ae;font:400 .91rem/1.45 Georgia,serif}.mahina-glossary dd{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0;color:#9ea8b7;font-size:.75rem;line-height:1.68}
@media(max-width:650px){.mahina-glossary-intro,.mahina-glossary dd{grid-template-columns:1fr;gap:9px}.mahina-glossary dl>div{grid-template-columns:1fr;gap:7px}.mahina-glossary{margin-top:42px}}

.mahina-ohana-gateway{display:grid;place-items:center;width:min(760px,100%);margin:clamp(75px,11vw,125px) auto 0;color:#8996aa!important;text-align:center;text-decoration:none!important}.mahina-ohana-gateway svg{display:block;width:100%;height:auto;overflow:visible}.mahina-ohana-gateway path{fill:none;stroke:rgba(158,190,229,.23);stroke-width:1;stroke-dasharray:1 8;stroke-linecap:round}.mahina-ohana-gateway circle{fill:#f0dfb3;stroke:rgba(176,208,242,.2);stroke-width:7;paint-order:stroke fill;opacity:.72;transform-box:fill-box;transform-origin:center;transition:opacity .5s ease,transform .5s ease}.mahina-ohana-gateway .mahina-cassiopeia circle:nth-of-type(even),.mahina-ohana-gateway .mahina-dipper circle:nth-of-type(odd){fill:#c7dcf3;stroke:rgba(173,207,244,.17);opacity:.58}.mahina-ohana-gateway strong,.mahina-ohana-gateway small{display:block}.mahina-ohana-gateway strong{margin-top:4px;color:#b9b6a9;font:400 clamp(1rem,2vw,1.25rem)/1.5 Georgia,serif}.mahina-ohana-gateway small{margin-top:5px;color:#58667d;font-size:.63rem;letter-spacing:.07em;text-transform:uppercase}.mahina-ohana-gateway:hover circle,.mahina-ohana-gateway:focus-visible circle{opacity:1;transform:scale(1.32)}.mahina-ohana-gateway:focus-visible{outline:1px dotted rgba(231,215,174,.35);outline-offset:5px}.mahina-lomiversum-portal{margin-top:clamp(70px,10vw,110px);padding-top:0}
.mahina-ohana-gateway{position:relative;min-height:118px;margin-top:clamp(75px,11vw,125px);isolation:isolate}.mahina-ohana-gateway svg{position:absolute;z-index:-1;left:50%;top:50%;width:min(430px,82vw);transform:translate(-50%,-50%) scale(.72);opacity:.48}.mahina-ohana-gateway path{stroke:rgba(158,190,229,.13);stroke-width:.8;stroke-dasharray:.7 9}.mahina-ohana-gateway circle{r:2.2px;stroke-width:4;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);opacity:.45;animation:mahina-constellation-glimmer 4.8s ease-in-out infinite alternate}.mahina-ohana-gateway circle:nth-of-type(2n){animation-delay:-1.7s;animation-duration:5.9s}.mahina-ohana-gateway circle:nth-of-type(3n){animation-delay:-3.2s;animation-duration:6.7s}.mahina-ohana-gateway strong,.mahina-ohana-gateway small{position:relative;z-index:1}.mahina-ohana-gateway strong{margin-top:0}.mahina-ohana-gateway:hover svg,.mahina-ohana-gateway:focus-visible svg{opacity:.7}.mahina-ohana-gateway:hover circle,.mahina-ohana-gateway:focus-visible circle{transform:scale(1.15)}@keyframes mahina-constellation-glimmer{0%,100%{opacity:.28}50%{opacity:.68}}
.mahina-hero-moon .ohana-moon-photo{filter:sepia(.66) saturate(1.32) brightness(.94) contrast(1.06)}
@media(prefers-reduced-motion:reduce){.ohana-portal-light::before,.mahina-ohana-gateway circle{animation:none}}
.ohana-moon-meaning {
  position: absolute; z-index: 12; left: 50%; top: calc(100% + 14px); width: min(680px, calc(100vw - 40px)); padding: 24px 28px;
  transform: translateX(-50%); border: 1px solid rgba(181,199,222,.18); background: rgba(3,13,31,.97); box-shadow: 0 18px 55px rgba(0,0,0,.42); color:#a9b3c2;
}
.ohana-moon-meaning h2 { margin:0 32px 18px 0;color:#dfd7c2;font:400 1.25rem/1.2 Georgia,serif;letter-spacing:.04em; }
.ohana-moon-summary { margin:-11px 0 17px!important;color:#7f8da2!important;font-size:.69rem!important;letter-spacing:.05em; }
.ohana-moon-meaning h3 { margin:16px 0 6px;color:#78879d;font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase; }
.ohana-moon-meaning p { margin:0;font-size:.78rem;line-height:1.7; }
.ohana-moon-validity { display:grid;gap:2px;margin:0 0 17px!important;padding:0;color:#929eb0; }
.ohana-moon-validity b { color:#b9b7ab;font-size:.64rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase; }
.ohana-moon-validity span { color:#d2cbb9;font-size:.75rem; }
.ohana-moon-validity small { color:#68758a;font-size:.62rem; }
.ohana-moon-context { display:grid;gap:7px;margin-top:20px!important;padding-top:16px;border-top:1px dotted rgba(181,199,222,.16);color:#6f7c90;font-size:.69rem!important; }
.ohana-moon-source { display:inline-block;margin-top:16px;color:#8e9aab;text-decoration:none;border-bottom:1px dotted rgba(166,194,225,.25);font-size:.69rem; }
.ohana-moon-close { position:absolute;top:13px;right:15px;border:0;background:none;color:#7e8ba0;cursor:pointer;font:300 1.25rem/1 sans-serif; }
.ohana-moon-close:hover,.ohana-moon-close:focus-visible { color:#e4d9bc;outline:none; }
.ohana-moon-meaning.is-near-large { position:fixed;left:auto;right:clamp(20px,7vw,100px);top:clamp(190px,22vh,245px);width:min(540px,calc(100vw - 40px));max-height:calc(100vh - 220px);overflow:auto;transform:none; }

html:has(.ohana-page),
body.ohana-page,
.ohana-footer {
  background: var(--ohana-night);
  border-top: 1px dotted rgba(166, 194, 225, .16);
}

@media (max-width: 650px) {
  .ohana-moon { top: 39px; right: 0; width: 44px; }
  .ohana-moon-note { max-width: 310px; line-height: 1.65; }
  .ohana-moon-meaning { padding:21px 20px; }
  .ohana-moon-meaning.is-near-large { top:125px;right:16px;width:calc(100vw - 32px);max-height:calc(100vh - 145px); }
  .ohana-mahina-faq summary { flex-wrap:wrap;gap:.25rem .55rem; }
}

/* Warmer, einzeln glimmender Sternbild-Hintergrund am Mahina-Ausgang. */
.mahina-ohana-gateway svg{opacity:.78}
.mahina-ohana-gateway path{stroke:rgba(218,199,153,.25);stroke-width:.9;stroke-dasharray:.8 8}
.mahina-ohana-gateway circle,.mahina-ohana-gateway .mahina-cassiopeia circle:nth-of-type(even),.mahina-ohana-gateway .mahina-dipper circle:nth-of-type(odd){r:2.8px;fill:#ffe8ae;stroke:rgba(255,220,143,.32);stroke-width:6;opacity:.76;animation-direction:normal}
.mahina-ohana-gateway:hover svg,.mahina-ohana-gateway:focus-visible svg{opacity:.96}
@keyframes mahina-constellation-glimmer{0%,100%{opacity:.48;stroke-width:4}48%{opacity:1;stroke-width:8}62%{opacity:.7;stroke-width:5}}
