
:root {
  color-scheme: light;
}

/* Fayda katmanı: teknik sonucu önce davranışa çevirir. */
.now-utility { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; width:min(760px,82vw); margin:18px auto 0; border-block:1px solid var(--line); background:var(--line); }
.now-utility span { display:grid; gap:7px; padding:12px 13px; background:rgba(18,17,26,.9); }
.now-utility b,.result-utility b,.bond-playbook b { color:var(--blue); font:700 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.16em; }
.now-utility strong { color:var(--ink); font:400 12px/1.4 Georgia,serif; }
.now-personal-context { display:grid; grid-template-columns:1fr 1fr; gap:1px; width:min(680px,80vw); margin:16px auto 0; border-block:1px solid rgba(var(--gold-rgb),.24); background:var(--line); }
.now-personal-context > span,.now-personal-context > button { display:grid; justify-items:start; gap:5px; min-height:72px; padding:12px 15px; border:0; background:color-mix(in srgb,var(--bg) 90%,transparent); text-align:left; }
.now-personal-context > button { width:100%; cursor:pointer; }
.now-personal-context b { color:var(--blue); font:700 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.16em; }
.now-personal-context strong { color:var(--gold); font:400 20px/1.1 Georgia,serif; }
.now-personal-context small { color:var(--soft); font:italic 11px/1.35 Georgia,serif; }
.daily-return-panel { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr); gap:1px; width:min(760px,82vw); margin:10px auto 0; border-block:1px solid var(--line); background:var(--line); }
.daily-question,.recent-readings { padding:10px 13px; background:color-mix(in srgb,var(--bg) 92%,transparent); text-align:left; }
.daily-question > span,.recent-readings summary { color:var(--blue); font:700 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.16em; }
.daily-question p { margin:6px 0 8px; color:var(--ink); font:italic 13px/1.35 Georgia,serif; }
.daily-question > div { display:flex; flex-wrap:wrap; gap:5px; }
.daily-question button { border:1px solid var(--line); border-radius:999px; padding:5px 8px; background:transparent; color:var(--soft); font:600 10px/1 "Segoe UI",sans-serif; cursor:pointer; }
.daily-question button:hover,.daily-question button:focus-visible { border-color:rgba(var(--gold-rgb),.7); color:var(--ink); }
.daily-question button.selected { border-color:var(--gold); color:var(--gold); background:rgba(var(--gold-rgb),.08); }
.daily-question > small { display:block; margin-top:6px; color:var(--soft); font-size:10px; }
.recent-readings summary { cursor:pointer; list-style:none; }
.recent-readings summary::-webkit-details-marker { display:none; }
.recent-readings summary::after { content:" +"; color:var(--gold); }
.recent-readings[open] summary::after { content:" −"; }
.recent-readings button { display:grid; gap:2px; width:100%; padding:7px 0; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.recent-readings button:first-of-type { margin-top:7px; }
.recent-readings button span { color:var(--blue); font:600 10px/1.3 "Segoe UI",sans-serif; letter-spacing:.08em; }
.recent-readings button strong { overflow:hidden; color:var(--ink); font:400 11px/1.25 Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.recent-readings p { margin:8px 0 0; color:var(--soft); font:italic 10px/1.35 Georgia,serif; }
.result-utility { position:absolute; z-index:8; left:50%; bottom:72px; width:min(820px,calc(100vw - 48px)); transform:translateX(-50%); padding:15px 18px; border-block:1px solid var(--line); background:rgba(18,17,26,.8); backdrop-filter:blur(14px); }
.result-utility > p { margin:0 0 12px; color:var(--soft); font:italic 14px/1.45 Georgia,serif; }
.result-utility > p b,.result-utility span b { display:block; margin-bottom:6px; }
.result-utility > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.result-utility span { color:var(--ink); font:12px/1.45 Georgia,serif; }
.bond-playbook { margin:24px 0; padding:22px; border:1px solid rgba(var(--gold-rgb),.24); background:linear-gradient(120deg,rgba(var(--gold-rgb),.055),rgba(var(--blue-rgb),.045)); }
.bond-playbook > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:14px; background:var(--line); }
.bond-playbook span { min-height:112px; padding:14px; background:rgba(18,17,26,.92); color:var(--ink); font:13px/1.5 Georgia,serif; }
.bond-playbook span b { display:block; margin-bottom:9px; }
.bond-playbook > small { display:block; margin-top:14px; color:var(--soft); font:11px/1.5 "Segoe UI",sans-serif; }
.bond-method-strip { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:16px 0 22px; border-block:1px solid var(--line); background:var(--line); }
.bond-method-strip span { display:grid; gap:7px; padding:13px 15px; background:rgba(18,17,26,.9); color:var(--soft); font:11px/1.4 "Segoe UI",sans-serif; }
.bond-method-strip b { color:var(--gold); font-size:10px; letter-spacing:.18em; }
@media (max-width:700px) {
  .time-field.is-open .reading { top:52%; width:calc(100vw - 24px); }
  .time-field.is-open .reading h1 { font-size:clamp(1.65rem,7.5vw,2.3rem); }
  .time-field.is-open .reading-note { font-size:11px; }
  .now-utility { grid-template-columns:1fr 1fr; width:94vw; margin-top:10px; }
  .now-utility span { padding:8px 9px; }
  .now-utility strong { font-size:10px; }
  .now-personal-context { grid-template-columns:1fr 1fr; width:94vw; margin-top:10px; }
  .now-personal-context > span,.now-personal-context > button { min-height:60px; padding:9px; }
  .now-personal-context strong { font-size:15px; }
  .now-personal-context small { font-size:10px; }
  .daily-return-panel { grid-template-columns:1fr; width:94vw; margin-top:8px; }
  .daily-question,.recent-readings { padding:8px 9px; }
  .daily-question p { margin:4px 0 6px; font-size:11px; }
  .daily-question button { padding:4px 6px; font-size:10px; }
  .daily-question > small { font-size:10px; }
  .result-utility { position:relative; left:auto; bottom:auto; width:calc(100vw - 28px); margin:22px auto 0; transform:none; padding:14px; }
  .result-utility > div { grid-template-columns:1fr 1fr; gap:14px; }
  .result-utility span { font-size:11px; }
  .bond-playbook { margin:18px 0; padding:16px 12px; }
  .bond-playbook > div { grid-template-columns:1fr 1fr; }
  .bond-playbook span { min-height:100px; padding:12px; font-size:12px; }
  .bond-method-strip { grid-template-columns:1fr; }
  .bond-method-strip span { padding:11px 12px; font-size:10px; }
}

* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  width: 100%;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: auto;
}
button {
  color: inherit;
  font: inherit;
}
button:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

.account-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: .16em;
  cursor: pointer;
}
.account-trigger i { width: 7px; height: 7px; border: 1px solid var(--gold); border-radius: 50%; box-shadow: 0 0 12px rgba(var(--gold-rgb),.35); }
.auth-shell { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.auth-scrim { position: absolute; inset: 0; border: 0; background: rgba(8,6,12,.72); backdrop-filter: blur(10px); cursor: default; }
.auth-card { position: relative; width: min(520px, 100%); padding: 46px 44px 38px; border: 1px solid rgba(var(--gold-rgb),.42); background: color-mix(in srgb, var(--paper) 94%, transparent); box-shadow: 0 24px 90px rgba(0,0,0,.34); }
.auth-card::before { content:""; position:absolute; inset:14px; border:1px solid rgba(var(--blue-rgb),.16); pointer-events:none; }
.auth-close { position:absolute; right:18px; top:14px; border:0; background:transparent; color:var(--soft); font-size:27px; cursor:pointer; z-index:1; }
.auth-kicker { color:var(--blue); font-size:10px; letter-spacing:.28em; font-weight:700; }
.auth-card h2 { margin:18px 0 10px; font:italic 400 clamp(32px,5vw,48px)/.98 Georgia,serif; }
.auth-card > p { color:var(--soft); font:italic 16px/1.55 Georgia,serif; }
.auth-tabs { display:flex; margin:28px 0 22px; border-bottom:1px solid var(--line); }
.auth-tabs button { flex:1; padding:12px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--soft); font-size:10px; letter-spacing:.2em; cursor:pointer; }
.auth-tabs button.active { color:var(--gold); border-bottom-color:var(--gold); }
.auth-card form { display:grid; gap:15px; }
.auth-card label { display:grid; gap:7px; color:var(--blue); font-size:10px; letter-spacing:.18em; font-weight:700; }
.auth-card input { width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); padding:10px 2px; outline:none; font:18px Georgia,serif; }
.auth-card select { width:100%; border:0; border-bottom:1px solid var(--line); background:var(--paper); color:var(--ink); padding:10px 2px; outline:none; font:16px Georgia,serif; }
.auth-card input:focus { border-bottom-color:var(--gold); }
.auth-primary,.auth-secondary { display:block; width:100%; margin-top:8px; padding:14px 18px; text-align:center; text-decoration:none; letter-spacing:.14em; font-size:10px; font-weight:700; cursor:pointer; }
.auth-primary { border:1px solid var(--gold); background:rgba(var(--gold-rgb),.12); color:var(--ink); }
.auth-secondary { border:0; background:transparent; color:var(--soft); }
.auth-error { padding:10px 12px; border-left:2px solid #c98b7d; color:#c98b7d; font-size:12px; line-height:1.4; }
.auth-note { display:block; margin-top:18px; color:var(--soft); font-size:10px; line-height:1.5; }
.auth-memberships { display:grid; gap:1px; margin:28px 0 10px; border-block:1px solid var(--line); background:var(--line); }
.auth-membership { display:flex; justify-content:space-between; align-items:center; padding:13px 0; background:color-mix(in srgb,var(--paper) 96%,transparent); }
.auth-membership b { color:var(--gold); letter-spacing:.2em; }
.auth-membership span { color:var(--soft); font-size:12px; }
.auth-membership.state-active span { color:var(--ink); }
.auth-membership.state-active span::before { content:"●"; margin-right:7px; color:var(--gold); font-size:10px; }
.auth-membership.state-unknown span::before { content:"○"; margin-right:7px; color:var(--blue); font-size:10px; }
.auth-membership.state-inactive { opacity:.68; }
.auth-origin { display:block; margin:0 0 20px; color:var(--soft); font:10px/1.4 "Segoe UI",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.method-room { position:relative; margin-top:22px; border-top:1px solid var(--line); }
.method-room summary { position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; padding:18px 0 12px; color:var(--blue); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.18em; cursor:pointer; list-style:none; }
.method-room summary::-webkit-details-marker { display:none; }
.method-room summary > span { color:var(--gold); }
.method-room summary > i { color:var(--gold); font:normal 15px/1 Georgia,serif; transition:transform .35s; }
.method-room[open] summary > i { transform:rotate(45deg); }
.method-room-space { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:4px 0 8px; padding:1px; background:var(--line); overflow:hidden; }
.method-room-space::before { content:""; position:absolute; inset:-20% 20%; border:1px solid rgba(var(--gold-rgb),.2); border-radius:50%; transform:rotate(-14deg); pointer-events:none; }
.method-room-space article { position:relative; z-index:1; min-height:122px; padding:18px 16px; background:color-mix(in srgb,var(--paper) 95%,transparent); }
.method-room-space article::after { content:""; position:absolute; right:12px; bottom:10px; width:22px; height:22px; border-right:1px solid rgba(var(--gold-rgb),.24); border-bottom:1px solid rgba(var(--gold-rgb),.24); }
.method-room-space article b { color:var(--gold); font:400 18px/1 Georgia,serif; }
.method-room-space article p { margin:10px 0 0; color:var(--ink); font:italic 13px/1.45 Georgia,serif; }
.method-room-space .method-weight b { color:var(--blue); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.12em; }
.method-room-space > small { position:relative; z-index:1; grid-column:1/-1; padding:14px 16px; background:color-mix(in srgb,var(--paper) 95%,transparent); color:var(--soft); font:italic 12px/1.4 Georgia,serif; }
.method-room-space > button { position:relative; z-index:1; grid-column:1/-1; padding:13px 16px; border:0; border-top:1px solid rgba(var(--gold-rgb),.34); background:color-mix(in srgb,var(--paper) 95%,transparent); color:var(--gold); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.14em; text-align:left; cursor:pointer; }
.profile-status { display:grid; width:100%; gap:6px; margin:0 0 14px; padding:15px 0; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.profile-status span,.profile-form-title { color:var(--blue); font-size:10px; letter-spacing:.2em; font-weight:700; }
.profile-status b { color:var(--ink); font:italic 15px/1.4 Georgia,serif; font-weight:400; }
.profile-form { max-height:55vh; overflow:auto; padding-right:5px; }
.profile-form-title { margin-bottom:4px; }
.profile-form label small { color:var(--soft); letter-spacing:0; font-weight:400; }
.modulor-context-link { display:grid; gap:5px; width:100%; margin-top:18px; padding:14px 0 0; border:0; border-top:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.modulor-context-link span { color:var(--gold); font-size:10px; letter-spacing:.16em; }
.modulor-context-link small { color:var(--soft); font:italic 13px/1.4 Georgia,serif; }
.result-modulor-link { position:absolute; z-index:9; right:28px; bottom:24px; width:min(310px,30vw); }
@media (max-width:700px) {
  .result-modulor-link { position:relative; right:auto; bottom:auto; width:calc(100vw - 44px); margin:20px auto 0; }
}

/* Mobil akış: doğal kaydırma ve tarayıcının aşağı çekerek yenileme hareketi korunur. */
@media (max-width:700px) {
  .stage {
    min-height:100dvh;
    overscroll-behavior-y:auto;
  }

  .finder.step-intent .question-scene {
    transform:translateY(-7vh);
  }

  .finder.step-result {
    place-items:start center;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:auto;
    padding:78px 0 150px;
  }
  .finder.step-result .result-scene {
    height:auto;
    min-height:calc(100dvh - 150px);
  }

  .lens-veil:not(:has(.moon-stage)) {
    place-items:start center;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    padding:18px 0 96px;
  }
  .lens-veil:not(:has(.moon-stage)) .panel-lens {
    min-height:auto;
    margin:auto 0;
  }

  .time-field.is-open .reading {
    top:46%;
    max-height:82dvh;
    overscroll-behavior:contain;
  }
  .time-field.is-open .reading h1,
  .time-field.is-open .reading-note,
  .time-field.is-open .now-personal-context,
  .time-field.is-open .daily-return-panel,
  .time-field.is-open .now-utility {
    text-shadow:0 2px 18px rgba(0,0,0,.28);
  }
}
@media (max-width: 680px) {
  .account-trigger { order:4; }
  .auth-card { padding:42px 28px 30px; }
}

.stage {
  --paper: #fbf7ef;
  --ink: #16121e;
  --soft: #51495b;
  --line: rgba(42, 74, 128, 0.22);
  --blue: #2a4a80;
  --blue-rgb: 42, 74, 128;
  --gold: #6b4e0a;
  --gold-rgb: 107, 78, 10;
  position: relative;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: "Segoe UI", Arial, sans-serif;
  transition:
    background 0.6s ease,
    color 0.6s ease;
}
.stage[data-atmosphere="0"] {
  --atmo: #d5b8b2;
  --atmo-rgb: 213, 184, 178;
}
.stage[data-atmosphere="1"] {
  --atmo: #d6c397;
  --atmo-rgb: 214, 195, 151;
}
.stage[data-atmosphere="2"] {
  --atmo: #b9c8bd;
  --atmo-rgb: 185, 200, 189;
}
.stage[data-theme="dusk"] {
  --paper: #17151f;
  --ink: #f7f3ea;
  --soft: #b8b0c2;
  --line: rgba(122, 156, 216, 0.24);
  --blue: #90addf;
  --blue-rgb: 144, 173, 223;
  --gold: #e0c070;
  --gold-rgb: 224, 192, 112;
  color-scheme: dark;
}
.stage[data-theme="light"] {
  --ink: #0d0912;
  --soft: #39303f;
  --line: rgba(35, 61, 105, 0.38);
  --blue: #1e427d;
  --blue-rgb: 30, 66, 125;
  --gold: #6d4a00;
  --gold-rgb: 109, 74, 0;
}

/* İlk ziyaret, ürün açıklamasından çok bir mekâna giriş gibi davranır. */
.threshold-entry {
  position:fixed;
  z-index:1400;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 46%,rgba(var(--gold-rgb),.09),transparent 24%),
    radial-gradient(circle at 50% 85%,rgba(var(--blue-rgb),.1),transparent 40%),
    var(--paper);
  color:var(--ink);
  perspective:1000px;
}
.threshold-space,.threshold-space::before,.threshold-space::after { position:absolute; inset:0; pointer-events:none; }
.threshold-space::before { content:""; left:50%; top:48%; width:min(68vw,940px); height:min(82vh,820px); inset:auto; transform:translate(-50%,-50%); border:1px solid rgba(var(--gold-rgb),.32); border-radius:50% 50% 44% 44% / 46% 46% 54% 54%; box-shadow:inset 0 0 110px rgba(var(--blue-rgb),.035),0 0 80px rgba(var(--gold-rgb),.035); }
.threshold-space::after { content:""; left:50%; top:47%; width:min(48vw,650px); height:min(68vh,650px); inset:auto; transform:translate(-50%,-50%); border:1px dashed rgba(var(--blue-rgb),.25); border-radius:50%; animation:threshold-breathe 7s ease-in-out infinite; }
.threshold-plane { position:absolute; left:50%; bottom:-22vh; width:115vw; height:63vh; border:1px solid rgba(var(--gold-rgb),.18); border-radius:50%; transform:translateX(-50%) rotateX(70deg); }
.threshold-plane::before,.threshold-plane::after { content:""; position:absolute; inset:13%; border:1px solid rgba(var(--blue-rgb),.12); border-radius:50%; }
.threshold-plane::after { inset:28%; }
.threshold-plane.plane-two { bottom:-10vh; width:72vw; opacity:.7; }
.threshold-orbit { position:absolute; left:50%; top:47%; width:min(1080px,92vw); height:260px; border:1px solid rgba(var(--gold-rgb),.28); border-radius:50%; transform:translate(-50%,-50%) rotate(-10deg); }
.threshold-orbit.orbit-two { width:min(710px,70vw); height:470px; border-color:rgba(var(--blue-rgb),.17); transform:translate(-50%,-50%) rotate(24deg); }
.threshold-star { position:absolute; width:7px; aspect-ratio:1; border-radius:50%; background:var(--gold); box-shadow:0 0 18px rgba(var(--gold-rgb),.8); }
.threshold-star.star-a { left:12%; top:29%; }
.threshold-star.star-b { right:14%; bottom:24%; width:4px; }
.threshold-copy { position:relative; z-index:2; display:grid; justify-items:center; width:min(900px,calc(100vw - 40px)); text-align:center; animation:threshold-arrive .85s cubic-bezier(.2,.8,.2,1) both; }
.threshold-kicker { color:var(--blue); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.34em; }
.threshold-copy h1 { margin:24px 0 18px; font:400 clamp(4rem,8.5vw,8rem)/.83 Georgia,serif; letter-spacing:-.045em; }
.threshold-copy h1 em { color:var(--gold); font-weight:400; }
.threshold-copy > p { max-width:38em; margin:0; color:var(--soft); font:italic clamp(15px,1.5vw,19px)/1.55 Georgia,serif; }
.threshold-rooms { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; width:min(620px,100%); margin:42px 0 28px; perspective:700px; }
.threshold-rooms > span { position:relative; display:grid; justify-items:center; gap:5px; min-height:94px; padding:17px 12px 13px; border:1px solid rgba(var(--gold-rgb),.2); background:linear-gradient(180deg,rgba(var(--gold-rgb),.045),rgba(var(--blue-rgb),.045)); clip-path:polygon(9% 0,91% 0,100% 100%,0 100%); box-shadow:0 18px 28px rgba(0,0,0,.16); transform:rotateX(5deg); }
.threshold-rooms i { color:var(--blue); font:normal 24px/1 Georgia,serif; }
.threshold-rooms b { color:var(--ink); font:400 20px/1 Georgia,serif; }
.threshold-rooms small { color:var(--soft); font:10px/1 "Segoe UI",sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.threshold-enter { display:flex; align-items:center; gap:42px; padding:15px 19px 15px 24px; border:1px solid var(--gold); background:rgba(var(--gold-rgb),.11); color:var(--ink); box-shadow:0 14px 35px rgba(0,0,0,.18),0 0 28px rgba(var(--gold-rgb),.06); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.2em; cursor:pointer; transition:gap .3s,background .3s,transform .3s; }
.threshold-enter:hover { gap:54px; background:rgba(var(--gold-rgb),.18); transform:translateY(-3px); }
.threshold-enter i { color:var(--gold); font:normal 20px/1 Georgia,serif; }
.threshold-location { margin-top:15px; padding:7px; border:0; border-bottom:1px solid rgba(var(--blue-rgb),.35); background:transparent; color:var(--soft); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.14em; cursor:pointer; }
@keyframes threshold-arrive { from { opacity:0; transform:translateY(24px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes threshold-breathe { 50% { opacity:.5; transform:translate(-50%,-50%) scale(1.035); } }

.sky {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 55% 48%,
      rgba(var(--atmo-rgb), 0.065),
      transparent 27%
    ),
    radial-gradient(
      circle at 78% 14%,
      rgba(var(--blue-rgb), 0.14),
      transparent 28%
    ),
    radial-gradient(
      circle at 15% 82%,
      rgba(var(--gold-rgb), 0.1),
      transparent 30%
    );
}
.sky::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(var(--blue-rgb), 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--blue-rgb), 0.06) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: radial-gradient(circle at center, black, transparent 78%);
}
.letter {
  position: absolute;
  font:
    400 clamp(16rem, 37vw, 34rem)/0.7 Georgia,
    serif;
  color: var(--blue);
  opacity: 0.025;
}
.letter-a {
  left: -4vw;
  top: 18vh;
  transform: rotate(-7deg);
}
.letter-r {
  right: 8vw;
  top: -5vh;
}
.letter-k {
  right: -5vw;
  bottom: -7vh;
  transform: rotate(8deg);
}
.star {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 24px 7px rgba(var(--gold-rgb), 0.22);
}
.star-one {
  left: 15%;
  top: 28%;
}
.star-two {
  right: 18%;
  top: 38%;
}
.star-three {
  left: 28%;
  bottom: 19%;
}
.orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid color-mix(in srgb, var(--atmo) 42%, transparent);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-15deg);
  transition: border-color 0.9s ease;
}
.orbit-wide {
  width: min(78vw, 1020px);
  height: min(38vw, 410px);
}
.orbit-small {
  width: min(45vw, 560px);
  height: min(45vw, 560px);
  border-style: dashed;
  opacity: 0.55;
  transform: translate(-50%, -50%) rotate(24deg);
}

.topline {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px clamp(22px, 4vw, 64px);
}
.wordmark,
.place,
.theme,
.lang-switch {
  border: 0;
  background: none;
  cursor: pointer;
}
.wordmark {
  font:
    500 21px/1 Georgia,
    serif;
  letter-spacing: 0.34em;
  color: var(--gold);
  text-align: left;
}
.wordmark small {
  display: block;
  margin-top: 8px;
  font:
    11px/1 "Segoe UI",
    sans-serif;
  letter-spacing: 0.18em;
  color: var(--soft);
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}
.lang-switch {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.18em;
  padding: 8px 2px;
  border-bottom: 1px solid rgba(var(--gold-rgb), 0.5);
}
.place,
.theme {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--soft);
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.place i {
  width: 7px;
  height: 7px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(var(--gold-rgb), 0.08);
}
.theme i {
  width: 26px;
  height: 14px;
  border: 1px solid var(--gold);
  border-radius: 20px;
  position: relative;
}
.theme i::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 2px;
  left: 3px;
  border-radius: 50%;
  background: var(--gold);
  transition: transform 0.4s;
}
[data-theme="dusk"] .theme i::after {
  transform: translateX(10px);
}

.time-field {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.core {
  position: relative;
  z-index: 4;
  width: clamp(210px, 28vw, 330px);
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.core-ring {
  position: absolute;
  inset: 4%;
  border: 1px solid rgba(var(--gold-rgb), 0.42);
  border-radius: 50%;
  transition:
    transform 0.8s,
    opacity 0.5s;
}
.ring-two {
  inset: 16%;
  border-style: dashed;
  border-color: rgba(var(--blue-rgb), 0.32);
  animation: turn 30s linear infinite;
}
.core-dot {
  position: absolute;
  inset: 26%;
  border-radius: 50%;
  background: radial-gradient(
    circle at 34% 26%,
    rgba(255, 255, 255, 0.68),
    rgba(var(--atmo-rgb), 0.2) 36%,
    rgba(var(--blue-rgb), 0.09) 72%
  );
  box-shadow:
    0 24px 74px rgba(var(--atmo-rgb), 0.16),
    inset 0 0 0 1px rgba(var(--atmo-rgb), 0.28);
  transition:
    background 0.9s ease,
    box-shadow 0.9s ease;
}
.core-copy {
  position: relative;
  z-index: 2;
  display: grid;
  text-align: center;
}
.core-copy small {
  font-size: 10px;
  letter-spacing: 0.23em;
  color: var(--soft);
}
.core-copy strong {
  margin-top: 9px;
  font:
    400 clamp(3.4rem, 7vw, 6.2rem)/0.82 Georgia,
    serif;
  color: var(--gold);
}
.core-window {
  margin-top: 10px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.14em;
}
.core-copy em {
  margin-top: 16px;
  font:
    italic 14px Georgia,
    serif;
  color: var(--soft);
}
.state-connection .core-copy strong {
  max-width: 260px;
  font-size: clamp(2.6rem, 4.7vw, 4.35rem);
  line-height: 0.9;
}
.signal-lines {
  position: absolute;
  z-index: 1;
  inset: 11%;
  border-radius: 50%;
  overflow: hidden;
  opacity: 0.34;
}
.signal-lines i {
  position: absolute;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--blue), transparent);
  animation: signal 4.8s ease-in-out infinite;
}
.signal-lines i:nth-child(1) {
  top: 38%;
  transform: rotate(-8deg);
}
.signal-lines i:nth-child(2) {
  top: 50%;
  animation-delay: -1.6s;
}
.signal-lines i:nth-child(3) {
  top: 62%;
  transform: rotate(7deg);
  animation-delay: -3.2s;
}
.core:hover {
  transform: scale(1.025);
}
.is-open .core {
  transform: translateY(-23vh) scale(0.66);
}
.is-open .ring-one {
  transform: scale(1.15);
  opacity: 0.38;
}

.moment {
  position: absolute;
  z-index: 3;
  width: 180px;
  border: 0;
  background: none;
  cursor: pointer;
  display: grid;
  color: var(--soft);
  transition:
    opacity 0.5s,
    transform 0.7s;
}
.planet-orb {
  position: relative;
  width: 72px;
  aspect-ratio: 1;
  justify-self: center;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--gold-rgb), 0.34);
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.72), transparent 18%),
    radial-gradient(circle at 42% 38%, rgba(var(--atmo-rgb),.62), rgba(23,22,32,.92) 70%);
  box-shadow: 0 18px 28px rgba(0,0,0,.38), 0 0 34px rgba(var(--atmo-rgb),.12), inset -12px -14px 25px rgba(0,0,0,.34);
  transition: transform .45s ease, box-shadow .45s ease, opacity .4s ease;
}
.planet-orb::after {
  content: "";
  position: absolute;
  left: 16%; right: 16%; bottom: -18px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0,0,0,.4);
  filter: blur(7px);
}
.planet-orb i {
  color: var(--gold);
  font: normal 27px/1 Georgia, serif;
  text-shadow: 0 0 18px rgba(var(--gold-rgb),.35);
}
.moment:hover .planet-orb,
.moment:focus-visible .planet-orb { transform: translateY(-7px) scale(1.06); box-shadow: 0 27px 34px rgba(0,0,0,.42), 0 0 40px rgba(var(--gold-rgb),.18); }
.planet-venus .planet-orb { background: radial-gradient(circle at 32% 24%, #fff4e2, transparent 17%), radial-gradient(circle at 44% 40%, #b99086, #342c3d 72%); }
.planet-mercury .planet-orb { background: radial-gradient(circle at 32% 24%, #eef2ff, transparent 17%), radial-gradient(circle at 44% 40%, #8492a9, #2a2d3a 72%); }
.planet-mars .planet-orb { background: radial-gradient(circle at 32% 24%, #ffe6d6, transparent 17%), radial-gradient(circle at 44% 40%, #a45e50, #35242d 72%); }
.planet-jupiter .planet-orb { background: radial-gradient(circle at 32% 24%, #fff0cd, transparent 17%), repeating-linear-gradient(168deg,#a98767 0 8px,#66526a 9px 15px,#2f2b3d 16px 23px); }
.planet-saturn .planet-orb { background: radial-gradient(circle at 32% 24%, #fff5d2, transparent 17%), radial-gradient(circle at 44% 40%, #9b8b68, #302e3b 72%); }
.planet-moon .planet-orb { background: radial-gradient(circle at 32% 24%, #fff, transparent 17%), radial-gradient(circle at 44% 40%, #a6abc0, #292b38 72%); }
.core-planet {
  margin-top: 7px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.swipe-cue {
  position: absolute;
  left: 50%;
  bottom: 92px;
  z-index: 4;
  display: none;
  align-items: center;
  gap: 12px;
  transform: translateX(-50%);
  color: var(--soft);
  font: 10px/1 "Segoe UI", sans-serif;
  letter-spacing: .16em;
  white-space: nowrap;
  opacity: .58;
}
.swipe-cue span { color: var(--gold); font-size: 16px; }
.moment span {
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--gold);
}
.moment strong {
  margin-top: 5px;
  font:
    400 28px/1 Georgia,
    serif;
  color: var(--ink);
}
.moment small {
  margin-top: 5px;
  font:
    italic 14px/1.3 Georgia,
    serif;
}
.previous {
  left: max(5vw, calc(50% - 480px));
  top: 48%;
  text-align: right;
}
.next {
  right: max(5vw, calc(50% - 480px));
  top: 42%;
  text-align: left;
}
.previous {
  opacity: 0.38;
  filter: blur(0.65px);
}
.previous:hover {
  opacity: 0.75;
  filter: blur(0);
}
.next {
  opacity: 0.9;
}
.previous::after,
.next::before {
  content: "";
  position: absolute;
  top: 21px;
  width: clamp(30px, 7vw, 100px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line));
}
.previous::after {
  left: calc(100% + 18px);
}
.next::before {
  right: calc(100% + 18px);
  transform: rotate(180deg);
}
.is-open .moment {
  opacity: 0.22;
  transform: scale(0.9);
}

.moon-now {
  position: absolute;
  z-index: 7;
  right: clamp(22px, 4vw, 64px);
  bottom: 112px;
  display: grid;
  grid-template-columns: 30px auto;
  column-gap: 10px;
  align-items: center;
  border: 0;
  border-left: 1px solid rgba(var(--gold-rgb), 0.42);
  padding: 8px 0 8px 14px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.moon-now > span {
  grid-row: 1 / 3;
  color: var(--gold);
  font: 27px/1 Georgia, serif;
}
.moon-now-orb {
  position:relative;
  width:32px;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(var(--gold-rgb),.25);
  border-radius:50%;
  box-shadow:0 9px 18px rgba(0,0,0,.32),0 0 18px rgba(var(--blue-rgb),.13);
}
.moon-now-orb > i {
  position:absolute;
  inset:0;
  display:block;
  border-radius:50%;
}
.moon-now-surface {
  background:url('/assets/moon-lroc.jpg') 50% 50% / 205% 104%;
  filter:grayscale(.78) sepia(.18) contrast(1.13) brightness(.82);
  -webkit-mask-image:radial-gradient(circle,black 62%,rgba(0,0,0,.92) 76%,transparent 100%);
  mask-image:radial-gradient(circle,black 62%,rgba(0,0,0,.92) 76%,transparent 100%);
}
.moon-now-phase { z-index:2; opacity:.32; mix-blend-mode:multiply; }
.moon-now-phase.moon-phase-0 { background:rgba(2,2,7,.98); }
.moon-now-phase.moon-phase-1 { background:radial-gradient(circle at 72% 50%,transparent 0 39%,rgba(2,2,7,.98) 40%); }
.moon-now-phase.moon-phase-2 { background:linear-gradient(90deg,rgba(2,2,7,.98) 0 50%,transparent 50%); }
.moon-now-phase.moon-phase-3 { background:radial-gradient(circle at 78% 50%,transparent 0 71%,rgba(2,2,7,.98) 72%); }
.moon-now-phase.moon-phase-4 { opacity:0; }
.moon-now-phase.moon-phase-5 { background:radial-gradient(circle at 22% 50%,transparent 0 71%,rgba(2,2,7,.98) 72%); }
.moon-now-phase.moon-phase-6 { background:linear-gradient(90deg,transparent 0 50%,rgba(2,2,7,.98) 50%); }
.moon-now-phase.moon-phase-7 { background:radial-gradient(circle at 28% 50%,transparent 0 39%,rgba(2,2,7,.98) 40%); }
.moon-now b {
  font: 400 15px/1.1 Georgia, serif;
}
.moon-now small {
  margin-top: 4px;
  color: var(--soft);
  font: 10px/1 "Segoe UI", sans-serif;
  letter-spacing: 0.14em;
}
.moon-now:hover > span {
  text-shadow: 0 0 24px rgba(var(--gold-rgb), 0.55);
}

.reading {
  position: absolute;
  z-index: 5;
  top: 43%;
  width: min(600px, calc(100vw - 44px));
  text-align: center;
  opacity: 0;
  transform: translateY(40px);
  pointer-events: none;
  transition:
    opacity 0.55s 0.18s,
    transform 0.7s 0.12s;
}
.is-open .reading {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.eyebrow {
  margin: 0;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.28em;
}
.reading h1 {
  margin: 14px 0 12px;
  font:
    400 clamp(2.5rem, 5vw, 4.5rem)/0.98 Georgia,
    serif;
  letter-spacing: -0.025em;
}
.reading-note {
  max-width: 480px;
  margin: 0 auto;
  color: var(--soft);
  font:
    italic clamp(1rem, 1.6vw, 1.25rem)/1.55 Georgia,
    serif;
}
.reading-edge {
  margin: 24px auto 0;
  display: flex;
  justify-content: center;
  gap: 14px;
  align-items: baseline;
}
.reading-edge span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.22em;
}
.reading-edge p {
  margin: 0;
  font:
    italic 15px Georgia,
    serif;
  color: var(--soft);
}

.directions {
  position: absolute;
  z-index: 55;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  width: min(690px, calc(100% - 28px));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  gap: 10px;
  perspective: 900px;
  isolation:isolate;
}
.directions::before { content:""; position:absolute; z-index:-2; left:4%; right:4%; bottom:-14px; height:92px; border:1px solid rgba(var(--gold-rgb),.2); border-radius:50%; background:radial-gradient(ellipse at center,rgba(var(--blue-rgb),.08),transparent 68%); transform:rotateX(67deg); box-shadow:0 20px 40px rgba(0,0,0,.18); pointer-events:none; }
.direction {
  position: relative;
  min-height: 88px;
  border: 0;
  background: linear-gradient(180deg,color-mix(in srgb,var(--ink) 2%,transparent),rgba(var(--blue-rgb),.04));
  display: grid;
  justify-items: center;
  align-content: center;
  cursor: pointer;
  color: var(--soft);
  border:1px solid rgba(var(--blue-rgb),.12);
  border-bottom-color:rgba(var(--gold-rgb),.16);
  clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);
  box-shadow:0 11px 18px rgba(0,0,0,.13),inset 0 1px rgba(255,255,255,.035);
  transform:translateY(5px) scale(.96);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,background .35s,box-shadow .35s,opacity .35s;
}
.direction::before {
  content: "";
  position: absolute;
  top: 8px;
  width: 28px;
  height: 1px;
  background: rgba(var(--gold-rgb),.28);
}
.direction > * { position:relative; z-index:1; }
.direction:hover { transform:translateY(-2px) scale(1); border-color:rgba(var(--gold-rgb),.32); background:linear-gradient(180deg,rgba(var(--gold-rgb),.06),rgba(var(--blue-rgb),.04)); }
.direction-mark {
  color: var(--blue);
  font:
    25px Georgia,
    serif;
}
.direction b {
  margin-top: 4px;
  font:
    500 19px Georgia,
    serif;
  color: var(--ink);
}
.direction small {
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.direction.active .direction-mark,
.direction.active b {
  color: var(--gold);
}
.direction.active { z-index:2; transform:translateY(-10px) scale(1.055); border-color:rgba(var(--gold-rgb),.48); background:linear-gradient(180deg,rgba(var(--gold-rgb),.13),rgba(var(--blue-rgb),.055)); box-shadow:0 22px 32px rgba(0,0,0,.22),0 0 30px rgba(var(--gold-rgb),.07),inset 0 1px rgba(255,255,255,.06); }
.direction.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 64%;
  height: 1px;
  background: var(--gold);
  box-shadow: 0 0 12px rgba(var(--gold-rgb), 0.4);
}
.direction.muted {
  opacity: 0.72;
}
.hint {
  position: absolute;
  z-index: 2;
  left: 28px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  writing-mode: vertical-rl;
  color: var(--soft);
  opacity: 0.6;
  font-size: 10px;
  letter-spacing: 0.32em;
}

/* ZAMAN — sayfa ya da form değil, daralan bir seçim sahnesi */
.finder {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: center;
}
.back-step {
  position: absolute;
  z-index: 9;
  left: clamp(22px, 4vw, 64px);
  top: 104px;
  border: 0;
  background: none;
  color: var(--gold);
  cursor: pointer;
  font-size: 15px;
}
.back-step span {
  margin-left: 7px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.question-scene {
  position: relative;
  z-index: 5;
  width: min(920px, calc(100vw - 40px));
  height: min(610px, 72vh);
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}
.scene-kicker {
  margin: 0;
  color: var(--blue);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.28em;
}
.question-scene h1 {
  margin: 15px 0 11px;
  font:
    400 clamp(3.5rem, 7vw, 7rem)/0.82 Georgia,
    serif;
  letter-spacing: -0.04em;
}
.question-scene h1 em {
  color: var(--gold);
  font-weight: 400;
}
.scene-note {
  margin: 0;
  color: var(--soft);
  font:
    italic 22px/1.5 Georgia,
    serif;
}
.intent-orbit {
  position: absolute;
  inset: 0;
}
.intent {
  position: absolute;
  border: 0;
  background: transparent;
  color: var(--soft);
  cursor: pointer;
  font:
    italic clamp(1rem, 1.6vw, 1.35rem) Georgia,
    serif;
  transition:
    color 0.3s,
    transform 0.3s;
}
.intent::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 10px;
  border: 1px solid var(--blue);
  border-radius: 50%;
  vertical-align: middle;
}
.intent:hover {
  color: var(--gold);
  transform: scale(1.08);
}
.intent-1 {
  left: 6%;
  top: 27%;
}
.intent-2 {
  right: 9%;
  top: 23%;
}
.intent-3 {
  left: 4%;
  bottom: 25%;
}
.intent-4 {
  right: 4%;
  bottom: 29%;
}
.intent-5 {
  left: 50%;
  bottom: 6%;
  transform: translateX(-50%);
}
.intent-5:hover {
  transform: translateX(-50%) scale(1.08);
}
.mode-time .orbit-wide {
  transform: translate(-50%, -50%) rotate(7deg);
  width: min(86vw, 1120px);
  height: min(48vw, 520px);
  transition: 0.8s;
}
.mode-time .orbit-small {
  transform: translate(-50%, -50%) rotate(-24deg);
  transition: 0.8s;
}
.intent-trigger {
  position: absolute;
  left: 50%;
  bottom: 2%;
  transform: translateX(-50%);
  width: clamp(170px, 20vw, 230px);
  aspect-ratio: 1;
  border: 0;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(var(--gold-rgb), 0.1),
    transparent 68%
  );
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
}
.intent-trigger .trigger-ring {
  position: absolute;
  inset: 5%;
  border: 1px solid rgba(var(--gold-rgb), 0.4);
  border-radius: 50%;
  box-shadow: 0 0 0 16px rgba(var(--gold-rgb), 0.025);
}
.intent-trigger strong {
  position: relative;
  max-width: 150px;
  font:
    italic 400 clamp(1.2rem, 1.8vw, 1.55rem)/1.15 Georgia,
    serif;
}
.intent-trigger small {
  position: relative;
  margin-top: 10px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.intent-trigger:hover .trigger-ring {
  box-shadow: 0 0 0 24px rgba(var(--gold-rgb), 0.055);
}

.lens-veil {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  background: rgba(251, 247, 239, 0.72);
  backdrop-filter: blur(18px);
}
/* Giriş animasyonu yalnız katman gerçekten yeni açıldığında oynar
   (js/views/aralik-zaman.js render() -- .is-entering sınıfı) -- her
   render()'da katman tamamen yeniden kurulduğu için (bkz. render()
   yorumu) bunu koşulsuz oynatmak niyet seçimi gibi katman içi her
   dokunuşta ekranın "kaybolup gelmesi" gibi bir titremeye yol açardı. */
.lens-veil.is-entering {
  animation: veil-in 0.4s ease both;
}
[data-theme="dusk"] .lens-veil {
  background: rgba(12, 11, 18, 0.74);
}
.lens-close {
  position: fixed;
  right: clamp(22px, 4vw, 64px);
  top: 28px;
  z-index: 43;
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
  color: var(--soft);
  font:
    300 30px/1 Georgia,
    serif;
  cursor: pointer;
}
.intent-lens {
  position: relative;
  width: min(620px, calc(100vw - 34px));
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
}
.lens-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.lens-ring-one {
  inset: 0;
  border: 1px solid rgba(var(--gold-rgb), 0.42);
}
.lens-ring-two {
  inset: 9%;
  border: 1px dashed rgba(var(--blue-rgb), 0.3);
  animation: turn 34s linear infinite;
}
.intent-lens header {
  position: relative;
  z-index: 2;
}
.intent-lens header p {
  margin: 0 0 7px;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.27em;
}
.intent-lens header h2 {
  margin: 0;
  font:
    italic 400 clamp(1.6rem, 3vw, 2.4rem) Georgia,
    serif;
}
.lens-options {
  position: relative;
  z-index: 2;
  width: min(500px, 78vw);
  margin: 20px 0 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.lens-options button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  padding: 9px 16px;
  color: var(--soft);
  cursor: pointer;
  font:
    italic 16px Georgia,
    serif;
  transition: 0.25s;
}
[data-theme="dusk"] .lens-options button {
  background: rgba(255, 255, 255, 0.025);
}
.lens-options button span {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  border-radius: 50%;
  color: var(--blue);
  font:
    10px "Segoe UI",
    sans-serif;
}
.lens-options button.selected {
  border-color: var(--gold);
  color: var(--ink);
  background: rgba(var(--gold-rgb), 0.09);
}
.lens-options button.selected span {
  background: var(--gold);
  color: var(--paper);
}
.lens-options button:disabled {
  opacity: 0.26;
  cursor: default;
}
.lens-selection {
  position: relative;
  z-index: 2;
  min-height: 42px;
  display: grid;
  gap: 5px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.lens-selection span:first-child {
  color: var(--gold);
}
.lens-confirm {
  position: relative;
  z-index: 2;
  margin-top: 17px;
  min-height: 50px;
  border: 1px solid rgba(var(--gold-rgb), 0.72);
  background: rgba(var(--gold-rgb), 0.1);
  padding: 13px 20px;
  color: var(--gold);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.lens-confirm:disabled {
  opacity: 0.25;
  cursor: default;
}

.ask-time-orb {
  position: absolute;
  z-index: 8;
  right: 2%;
  bottom: 4%;
  width: 142px;
  aspect-ratio: 1;
  border: 1px solid rgba(var(--gold-rgb), 0.55);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(var(--gold-rgb), 0.11),
    transparent 70%
  );
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 5px;
  text-align: center;
  box-shadow: 0 0 0 9px rgba(var(--gold-rgb), 0.035);
  transition: 0.3s;
}
.ask-time-orb:hover {
  transform: scale(1.04);
  box-shadow: 0 0 0 15px rgba(var(--gold-rgb), 0.055);
}
.ask-time-orb span {
  color: var(--gold);
  font:
    27px Georgia,
    serif;
}
.ask-time-orb b {
  max-width: 100px;
  font:
    500 10px/1.35 "Segoe UI",
    sans-serif;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.ask-time-orb small {
  color: var(--soft);
  font:
    italic 12px Georgia,
    serif;
}
.floating-time-orb {
  position: fixed;
  z-index: 36;
  right: clamp(24px, 6vw, 92px);
  bottom: 150px;
  width: 126px;
  touch-action: none;
  user-select: none;
}
.floating-time-orb.was-moved {
  right: auto;
  bottom: auto;
}
.place-trigger {
  bottom: 0;
}

.panel-lens {
  position: relative;
  width: min(720px, calc(100vw - 34px));
  min-height: min(590px, 82vh);
  padding: clamp(34px, 6vw, 70px);
  border: 1px solid rgba(var(--gold-rgb), 0.34);
  border-radius: 50%;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  background: radial-gradient(
    circle,
    rgba(var(--gold-rgb), 0.07),
    transparent 67%
  );
}
.panel-lens::before {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px dashed rgba(var(--blue-rgb), 0.24);
  border-radius: 50%;
  pointer-events: none;
}
.panel-lens > * {
  position: relative;
  z-index: 2;
}
.panel-lens h2 {
  max-width: 580px;
  margin: 12px 0 8px;
  font:
    italic 400 clamp(2rem, 4.2vw, 3.6rem)/1 Georgia,
    serif;
}
.panel-lens h2 em {
  color: var(--gold);
  font-weight: 400;
}
.panel-note {
  max-width: 470px;
  margin: 0 0 24px;
  color: var(--soft);
  font:
    italic 15px/1.45 Georgia,
    serif;
}
.field-grid {
  width: min(520px, 78vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  text-align: left;
}
.field-grid label,
.guide-field,
.pair-fields label {
  color: var(--soft);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.field-grid select,
.field-grid input,
.guide-field textarea,
.pair-fields textarea {
  width: 100%;
  min-height: 54px;
  margin-top: 7px;
  border: 1.5px solid var(--line);
  border-radius: 3px;
  background: rgba(var(--blue-rgb), 0.05);
  color: var(--ink);
  padding: 11px 13px;
  font:
    18px Georgia,
    serif;
  outline: none;
}
.stage[data-theme="dusk"] .field-grid select,
.stage[data-theme="dusk"] .field-grid input {
  background: #24212d;
  color: #f7f3ea;
  border-color: rgba(224, 192, 112, 0.34);
  color-scheme: dark;
}
.stage[data-theme="dusk"] .field-grid select option {
  background: #24212d;
  color: #f7f3ea;
}
.stage[data-theme="light"] .lens-ring-one,
.stage[data-theme="light"] .detail-ring-one,
.stage[data-theme="light"] .panel-lens {
  border-width: 1.5px;
}
.stage[data-theme="light"] .lens-ring-two,
.stage[data-theme="light"] .detail-ring-two,
.stage[data-theme="light"] .panel-lens::before {
  opacity: 0.9;
}
.field-grid select:focus,
.field-grid input:focus,
textarea:focus {
  border-color: var(--gold);
}
.location-columns {
  width: min(650px, 84vw);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  align-items: start;
  text-align: left;
}
.location-column {
  position: relative;
}
.location-label,
.location-free {
  display: grid;
  color: var(--soft);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.location-select {
  width: 100%;
  min-height: 48px;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: rgba(var(--blue-rgb), 0.05);
  color: var(--ink);
  padding: 10px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font:
    16px Georgia,
    serif;
}
.location-select b {
  color: var(--gold);
  font:
    18px/1 Georgia,
    serif;
  transform: translateY(-2px);
  transition: transform 0.2s;
}
.location-column.is-open .location-select {
  border-color: var(--gold);
}
.location-column.is-open .location-select b {
  transform: rotate(180deg) translateY(1px);
}
.location-free input,
.location-menu input {
  width: 100%;
  min-height: 48px;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: rgba(var(--blue-rgb), 0.05);
  color: var(--ink);
  padding: 10px 12px;
  font:
    16px Georgia,
    serif;
  outline: none;
}
.location-menu {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 5px;
  padding: 6px;
  border: 1px solid rgba(var(--gold-rgb), 0.5);
  background: var(--paper);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}
.location-menu input {
  margin: 0 0 5px;
  min-height: 42px;
}
.stage[data-theme="dusk"] .location-select,
.stage[data-theme="dusk"] .location-free input,
.stage[data-theme="dusk"] .location-menu input {
  background: #211e29;
  border-color: rgba(224, 192, 112, 0.42);
  color: #fffaf0;
  caret-color: var(--gold);
}
.stage[data-theme="dusk"] .location-menu {
  background: #18151f;
}
.location-choices {
  max-height: 210px;
  overflow: auto;
  border: 1px solid var(--line);
  background: var(--paper);
  scrollbar-width: thin;
}
.stage[data-theme="dusk"] .location-choices {
  background: #18151f;
  border-color: rgba(224, 192, 112, 0.34);
}
.location-choices button {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-bottom: 1px solid rgba(var(--blue-rgb), 0.12);
  background: transparent;
  color: var(--ink);
  padding: 7px 10px;
  cursor: pointer;
  text-align: left;
  font:
    14px Georgia,
    serif;
}
.location-choices button:hover,
.location-choices button.selected {
  background: rgba(var(--gold-rgb), 0.14);
  color: var(--gold);
}
.location-choices button i {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.location-choices > span {
  display: block;
  padding: 12px;
  color: var(--soft);
}
.location-result {
  margin-top: 22px;
  color: var(--ink);
  font:
    italic 17px Georgia,
    serif;
}
.location-result i,
.location-jump i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  margin-right: 8px;
}
.appointment-grid {
  grid-template-columns: 1fr 1fr;
}
.specific-intents {
  width: min(610px, 80vw);
  margin-top: 18px;
}
.specific-intents > span {
  display: block;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.specific-intents .lens-options {
  width: 100%;
  margin: 10px 0 2px;
}
.specific-intents .lens-options button {
  min-height: 38px;
  padding: 7px 12px;
  font-size: 14px;
}
.wide-field {
  grid-column: 1/-1;
}
.location-jump {
  margin-top: 18px;
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  font:
    italic 14px Georgia,
    serif;
}
.location-jump span {
  color: var(--gold);
  margin-left: 7px;
}
.mobile-layer-back {
  position: fixed;
  z-index: 60;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  min-width: 150px;
  border: 1px solid rgba(var(--gold-rgb), 0.88);
  border-radius: 999px;
  background: var(--gold);
  color: var(--paper);
  padding: 13px 22px;
  box-shadow: 0 10px 34px rgba(var(--gold-rgb), 0.2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.mobile-layer-back:hover {
  transform: translateX(-50%) translateY(-2px);
  box-shadow: 0 14px 42px rgba(var(--gold-rgb), 0.3);
  filter: brightness(1.06);
}

.guide-inline {
  margin-top: 25px;
  border: 1px solid rgba(var(--gold-rgb), 0.72);
  border-radius: 999px;
  background: rgba(var(--gold-rgb), 0.1);
  color: var(--gold);
  padding: 11px 18px;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(var(--gold-rgb), 0.1);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.15em;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.why-window {
  margin-top: 22px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
.why-window > p {
  margin: 0 0 14px;
  color: var(--soft);
  font-size: 11px;
  line-height: 1.5;
}
.why-window > p b {
  display: block;
  margin-bottom: 5px;
  color: var(--ink);
  font-size: 10px;
  letter-spacing: 0.16em;
}
.why-window > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.why-window > div span {
  display: grid;
  min-width: 0;
  border-left: 1px solid var(--line);
  padding: 3px 10px;
}
.why-window i {
  color: var(--gold);
  font: normal 700 15px/1 Georgia, serif;
}
.why-window span b {
  margin-top: 7px;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.12em;
}
.why-window span small,
.why-window .why-note {
  margin-top: 5px;
  color: var(--soft);
  font-size: 10px;
  line-height: 1.45;
}
.why-window .why-note {
  display: block;
  margin-top: 14px;
}
@media (max-width: 620px) {
  .why-window > div {
    grid-template-columns: 1fr;
  }
}
.guide-inline:hover {
  transform: translateY(-2px);
  background: rgba(var(--gold-rgb), 0.17);
  box-shadow: 0 10px 30px rgba(var(--gold-rgb), 0.18);
}
.guide-lens {
  min-height: min(660px, 86vh);
}
.guide-tabs {
  display: flex;
  gap: 26px;
  margin: 12px 0 5px;
}
.guide-tabs button {
  border: 0;
  border-bottom: 1px solid transparent;
  background: none;
  color: var(--soft);
  padding: 7px 2px;
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.16em;
}
.guide-tabs button.active {
  color: var(--gold);
  border-color: var(--gold);
}
.guide-field {
  width: min(480px, 72vw);
  display: grid;
  text-align: left;
}
.guide-field textarea {
  min-height: 90px;
  resize: none;
  text-transform: none;
  letter-spacing: normal;
}
.pair-fields {
  width: min(520px, 76vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  text-align: left;
}
.pair-fields label {
  display: grid;
}
.pair-fields textarea {
  min-height: 105px;
  resize: none;
}
.guide-answer {
  width: min(510px, 74vw);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 24px 12px;
  text-align: left;
}
.guide-answer span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.24em;
}
.guide-answer p {
  margin: 12px 0 14px;
  color: var(--ink);
  font:
    italic clamp(1rem, 1.8vw, 1.2rem)/1.55 Georgia,
    serif;
}
.guide-answer .generated-guide {
  font-style: normal;
}
.generated-guide > p { margin-bottom: 20px; }
.generated-guide section {
  display: grid;
  gap: 6px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  color: var(--soft);
  font: 14px/1.5 Georgia, serif;
}
.generated-guide section b { color: var(--blue); font: 10px "Segoe UI", sans-serif; letter-spacing: .18em; }
.generated-guide section.current { color: var(--ink); border-left: 2px solid var(--gold); padding-left: 14px; }
.generated-guide section.current b,
.generated-guide section.caution b { color: var(--gold); }
.generated-guide .guide-scope-note {
  display:block;
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--soft);
  font:10px/1.5 "Segoe UI",sans-serif;
  letter-spacing:.04em;
}
.guide-again {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  border: 1px solid rgba(var(--gold-rgb), 0.82);
  border-radius: 999px;
  background: rgba(var(--gold-rgb), 0.12);
  color: var(--ink);
  padding: 12px 19px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(var(--gold-rgb), 0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.13em;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.guide-again:hover {
  transform: translateY(-2px);
  background: rgba(var(--gold-rgb), 0.22);
  box-shadow: 0 10px 30px rgba(var(--gold-rgb), 0.2);
}
.guide-error {
  width: min(480px, 72vw);
  margin: 0;
  color: #d79b8f;
  font-size: 12px;
  line-height: 1.5;
}
.lens-confirm:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.guide-answer small {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.range-line {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 7%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.range-line::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 16.6%;
  right: 16.6%;
  height: 1px;
  background: var(--line);
}
.range-line button {
  position: relative;
  z-index: 2;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font:
    400 clamp(1.4rem, 2.4vw, 2.2rem) Georgia,
    serif;
  display: grid;
  justify-items: center;
  gap: 9px;
}
.range-line button::before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--paper);
  border: 1px solid var(--gold);
  box-shadow: 0 0 0 6px rgba(var(--gold-rgb), 0.07);
  transition:
    box-shadow 0.3s,
    background 0.3s;
}
.range-line button:hover::before {
  background: var(--gold);
  box-shadow: 0 0 0 11px rgba(var(--gold-rgb), 0.11);
}
.range-line small {
  font:
    10px "Segoe UI",
    sans-serif;
  color: var(--soft);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.custom-range-picker {
  position: absolute;
  left: 50%;
  bottom: 16%;
  transform: translateX(-50%);
  z-index: 8;
  width: min(520px, calc(100vw - 42px));
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: end;
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(0,0,0,.24);
}
.custom-range-picker label { display: grid; gap: 7px; }
.custom-range-picker label span { font: 10px "Segoe UI", sans-serif; letter-spacing: .16em; color: var(--blue); }
.custom-range-picker input { min-width: 0; padding: 11px 10px; color: var(--ink); background: transparent; border: 1px solid var(--line); color-scheme: dark; }
.custom-range-confirm { min-height: 40px; padding: 0 16px; border: 1px solid var(--gold); color: var(--ink); background: rgba(var(--gold-rgb),.1); font: 700 10px "Segoe UI", sans-serif; letter-spacing: .12em; cursor: pointer; }
.custom-range-confirm:disabled { opacity: .35; cursor: default; }
@media (max-width: 620px) {
  .custom-range-picker { bottom: 18%; grid-template-columns: 1fr 1fr; }
  .custom-range-confirm { grid-column: 1 / -1; }
}

.result-scene {
  position: relative;
  z-index: 5;
  width: min(1020px, calc(100vw - 42px));
  height: min(680px, 76vh);
  display: grid;
  place-items: center;
}
.result-center {
  position: relative;
  z-index: 4;
  width: clamp(240px, 29vw, 350px);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--atmo-rgb), 0.48);
  border-radius: 50%;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
  background: radial-gradient(
    circle,
    rgba(var(--atmo-rgb), 0.13),
    transparent 67%
  );
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(var(--atmo-rgb), 0.12);
  cursor: pointer;
  transition:
    border-color 0.8s ease,
    background 0.8s ease,
    box-shadow 0.8s ease;
}
.result-center::before {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px dashed rgba(var(--blue-rgb), 0.28);
  border-radius: 50%;
  animation: turn 28s linear infinite;
}
.result-center > * {
  position: relative;
  z-index: 1;
}
.result-center .scene-kicker {
  font-size: 10px;
}
.result-date {
  margin-top: 13px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.2em;
}
.result-center strong {
  margin-top: 2px;
  color: var(--gold);
  font:
    400 clamp(3.6rem, 7vw, 6.2rem)/0.9 Georgia,
    serif;
}
.result-center em {
  margin-top: 10px;
  color: var(--soft);
  font:
    italic 14px Georgia,
    serif;
}
.result-center > p:last-child {
  margin: 5px 0 0;
  color: var(--blue);
  font:
    italic 17px Georgia,
    serif;
}
.result-center .detail-invite {
  margin-top: 13px;
  color: var(--soft);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.result-moon {
  margin-top: 9px;
  color: var(--gold);
  font: 10px/1.2 "Segoe UI", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.readiness {
  margin-top: 12px;
  border: 1px solid rgba(var(--atmo-rgb), 0.55);
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--atmo);
  font:
    600 10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.opening-moon {
  display: block;
  margin-top: 7px;
  color: var(--gold);
  font: normal 10px/1.2 "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
}

.moon-lens {
  position: relative;
  width: min(980px, calc(100vw - 44px));
  min-height: min(760px, calc(100dvh - 76px));
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(440px, 1.28fr);
  grid-template-areas:
    "head ring"
    "measure ring";
  align-items: center;
  gap: clamp(24px, 5vw, 78px);
  color: var(--ink);
}
.moon-lens > header {
  grid-area: head;
  position: relative;
  z-index: 2;
  text-align: left;
}
.moon-main-symbol {
  display: block;
  margin: 28px 0 12px;
  color: var(--gold);
  font: 96px/0.8 Georgia, serif;
  text-shadow: 0 0 54px rgba(var(--gold-rgb), 0.18);
}
.moon-lens h2 {
  margin: 0;
  font: 400 clamp(2.8rem, 6vw, 5rem)/0.94 Georgia, serif;
}
.moon-direction {
  margin: 16px 0 30px;
  color: var(--blue);
  font: italic 18px/1.4 Georgia, serif;
}
.moon-measure {
  grid-area: measure;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}
.moon-measure > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: baseline;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.moon-measure b,
.moon-measure small {
  color: var(--soft);
  font: 10px/1.3 "Segoe UI", sans-serif;
  letter-spacing: 0.14em;
}
.moon-measure strong {
  color: var(--gold);
  font: 400 17px/1 Georgia, serif;
}
.moon-measure small {
  grid-column: 1 / -1;
  text-align: right;
}
.moon-guidance {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.moon-guidance > div {
  position: relative;
  min-height: 150px;
  padding: 22px 24px 24px;
  border-right: 1px solid var(--line);
}
.moon-guidance > div:last-child { border-right: 0; }
.moon-guidance > div > span {
  position: absolute;
  top: 18px;
  right: 18px;
  color: rgba(var(--gold-rgb), 0.42);
  font: 26px/1 Georgia, serif;
}
.moon-guidance p {
  margin: 0 38px 15px 0;
  color: var(--blue);
  font: 700 10px/1.3 "Segoe UI", sans-serif;
  letter-spacing: 0.18em;
}
.moon-guidance strong,
.moon-guidance small {
  display: block;
  max-width: 29em;
}
.moon-guidance strong {
  color: var(--ink);
  font: 400 16px/1.35 Georgia, serif;
}
.moon-guidance small {
  margin-top: 10px;
  color: var(--soft);
  font: 11px/1.55 "Segoe UI", sans-serif;
}
.moon-cycle-ring {
  grid-area: ring;
  position: relative;
  width: min(42vw, 500px);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--gold-rgb), 0.36);
  border-radius: 50%;
  box-shadow: inset 0 0 90px rgba(var(--blue-rgb), 0.04);
}
.moon-cycle-ring::before {
  content: "";
  position: absolute;
  inset: 15%;
  border: 1px dashed rgba(var(--blue-rgb), 0.28);
  border-radius: 50%;
}
.moon-stop {
  position: absolute;
  width: 112px;
  display: grid;
  justify-items: center;
  gap: 3px;
  text-align: center;
  transform: translate(-50%, -50%);
  color: var(--soft);
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.moon-stop span {
  color: var(--gold);
  font: 26px/1 Georgia, serif;
}
.moon-stop b {
  font: 400 11px/1.1 Georgia, serif;
}
.moon-stop small {
  font: 10px/1 "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
}
.moon-stop.active span {
  text-shadow: 0 0 25px rgba(var(--gold-rgb), 0.75);
}
.moon-stop.active b {
  color: var(--ink);
}
.moon-stop.selected span {
  transform: translateY(-3px) scale(1.18);
  text-shadow: 0 0 28px rgba(var(--gold-rgb), .85);
}
.moon-stop.selected b { color: var(--gold); }
.moon-stop-0 { left: 50%; top: 0; }
.moon-stop-1 { left: 85.4%; top: 14.6%; }
.moon-stop-2 { left: 100%; top: 50%; }
.moon-stop-3 { left: 85.4%; top: 85.4%; }
.moon-stop-4 { left: 50%; top: 100%; }
.moon-stop-5 { left: 14.6%; top: 85.4%; }
.moon-stop-6 { left: 0; top: 50%; }
.moon-stop-7 { left: 14.6%; top: 14.6%; }
.moon-cycle-core {
  position: absolute;
  inset: 31%;
  display: grid;
  place-content: center;
  justify-items: center;
  border: 1px solid rgba(var(--atmo-rgb), 0.46);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--atmo-rgb), 0.13), transparent 72%);
}
.moon-cycle-core span {
  color: var(--gold);
  font: 400 34px/1 Georgia, serif;
}
.moon-cycle-core b {
  margin-top: 6px;
  color: var(--ink);
  font: 400 13px/1 Georgia, serif;
}
.moon-cycle-core small {
  margin-top: 7px;
  max-width: 100px;
  color: var(--soft);
  font: 10px/1.3 "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}
.moon-note {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  max-width: 620px;
  color: var(--soft);
  font: 10px/1.5 "Segoe UI", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
}
.moon-return {
  border: 0;
  border-bottom: 1px solid rgba(var(--gold-rgb),.58);
  padding: 7px 0;
  background: transparent;
  color: var(--gold);
  font: 700 10px/1 "Segoe UI", sans-serif;
  letter-spacing: .17em;
  cursor: pointer;
}
.moon-personal {
  grid-column: 1 / -1;
  position: relative;
  display: grid;
  grid-template-columns: minmax(140px,.5fr) minmax(260px,1fr) minmax(220px,.8fr);
  gap: 24px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid rgba(var(--blue-rgb),.22);
  background: linear-gradient(110deg, rgba(var(--blue-rgb),.07), rgba(var(--gold-rgb),.04));
  box-shadow: 0 22px 80px rgba(0,0,0,.12);
}
.moon-personal p { margin: 2px 0 0; color: var(--blue); font: 700 10px/1.3 "Segoe UI",sans-serif; letter-spacing:.2em; }
.moon-personal strong { color: var(--ink); font: 400 18px/1.35 Georgia,serif; }
.moon-personal small { color: var(--soft); font: 10px/1.55 "Segoe UI",sans-serif; }

/* Ay sahnesi: fazlar bilgi listesi değil, yatay bir zaman mekânı olarak okunur. */
.lens-veil:has(.moon-stage) { overflow: hidden; }
.lens-veil:has(.moon-stage) .mobile-layer-back { display: none; }
.moon-lens.moon-stage {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  min-height: 0;
  display: block;
  overflow: hidden;
  perspective: 1200px;
  isolation: isolate;
  touch-action: pan-y;
}
.moon-stage::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 8% -15% -24%;
  border: 1px solid rgba(var(--gold-rgb),.2);
  border-radius: 50%;
  transform: rotate(-8deg);
  box-shadow: inset 0 0 180px rgba(var(--blue-rgb),.04);
}
.moon-stage-head {
  position: absolute;
  z-index: 8;
  top: clamp(28px,7vh,72px);
  left: 50%;
  width: min(680px,calc(100vw - 80px));
  transform: translateX(-50%);
  text-align: center;
}
.moon-stage-head > p:last-child { margin: 10px 0 0; color: var(--soft); font: 10px/1.4 "Segoe UI",sans-serif; letter-spacing:.14em; }
.moon-typography { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.moon-typography span {
  position:absolute;
  left:50%; top:54%;
  width:max-content;
  transform:translate(-50%,-50%);
  color:rgba(var(--atmo-rgb),.045);
  font:400 clamp(8rem,21vw,19rem)/.8 Georgia,serif;
  letter-spacing:-.05em;
  white-space:nowrap;
  transition:opacity .6s;
}
.moon-carousel { position:absolute; inset:14% 0 10%; transform-style:preserve-3d; }
.moon-card {
  --x:calc(var(--moon-offset) * min(29vw,390px));
  position:absolute;
  z-index:calc(20 - var(--moon-depth));
  left:50%; top:50%;
  width:min(30vw,330px);
  min-width:230px;
  border:0;
  padding:0;
  background:transparent;
  color:var(--ink);
  display:grid;
  justify-items:center;
  transform:translate(calc(-50% + var(--x)),-50%) translateZ(calc(var(--moon-depth) * -170px)) rotateY(calc(var(--moon-offset) * -14deg)) scale(calc(1 - var(--moon-depth) * .25));
  opacity:calc(1 - var(--moon-depth) * .5);
  filter:blur(calc(var(--moon-depth) * .45px));
  cursor:pointer;
  transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .55s,filter .55s;
}
.moon-card:not(.centered) em { opacity:0; }
.moon-card.centered { filter:none; opacity:1; }
.moon-sphere {
  position:relative;
  width:min(21vw,225px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--gold-rgb),.42);
  border-radius:50%;
  background:radial-gradient(circle at 34% 27%,rgba(255,255,255,.72),transparent 14%),radial-gradient(circle at 44% 42%,rgba(var(--atmo-rgb),.5),rgba(20,19,29,.94) 68%);
  box-shadow:0 45px 54px rgba(0,0,0,.34),0 0 90px rgba(var(--atmo-rgb),.13),inset -28px -30px 55px rgba(0,0,0,.38);
}
.moon-sphere::after { content:""; position:absolute; left:18%; right:18%; bottom:-34px; height:17px; border-radius:50%; background:rgba(0,0,0,.45); filter:blur(12px); }
.moon-sphere i { color:var(--gold); font:normal clamp(3.5rem,8vw,7rem)/1 Georgia,serif; text-shadow:0 0 45px rgba(var(--gold-rgb),.42); }
.moon-card small { margin-top:38px; color:var(--blue); font:10px/1 "Segoe UI",sans-serif; letter-spacing:.22em; }
.moon-card strong { margin-top:10px; font:400 clamp(2.8rem,5vw,4.7rem)/.9 Georgia,serif; white-space:nowrap; }
.moon-card:not(.centered) strong { font-size:clamp(1.8rem,3vw,2.7rem); }
.moon-card em { width:min(33em,75vw); margin-top:18px; color:var(--soft); font:italic 17px/1.45 Georgia,serif; transition:opacity .4s; }
.moon-card.today strong::after { content:" ·"; color:var(--gold); }
.moon-arrow { position:absolute; z-index:22; top:50%; width:52px; height:72px; border:0; background:transparent; color:var(--gold); font:300 42px/1 Georgia,serif; cursor:pointer; }
.moon-arrow-left { left:clamp(12px,3vw,50px); }
.moon-arrow-right { right:clamp(12px,3vw,50px); }
.moon-stage > .moon-return { position:absolute; z-index:24; left:50%; bottom:46px; transform:translateX(-50%); }
.moon-arc-panel {
  position:absolute;
  z-index:35;
  top:0; left:50%;
  width:min(960px,100vw);
  height:72dvh;
  transform:translate(-50%,-105%);
  border:1px solid rgba(var(--gold-rgb),.38);
  border-top:0;
  border-radius:0 0 52% 52% / 0 0 9% 9%;
  background:rgba(18,17,26,.96);
  box-shadow:0 40px 100px rgba(0,0,0,.48),0 0 80px rgba(var(--atmo-rgb),.08);
  color:var(--ink);
  transition:transform .72s cubic-bezier(.18,.82,.2,1);
  overflow:hidden;
}
[data-theme="light"] .moon-arc-panel { background:rgba(249,245,237,.97); }
.moon-stage.panel-open .moon-arc-panel { transform:translate(-50%,0); }
.lens-veil:has(.moon-stage.panel-open) > .lens-close {
  opacity:0;
  pointer-events:none;
}
.moon-arc-panel::after { content:""; position:absolute; left:8%; right:8%; bottom:-26px; height:62px; border:1px solid rgba(var(--gold-rgb),.28); border-radius:50%; pointer-events:none; }
.moon-panel-close { position:absolute; z-index:2; right:28px; top:22px; width:42px; height:42px; border:0; background:transparent; color:var(--soft); font:30px/1 Georgia,serif; cursor:pointer; }
.moon-panel-scroll { height:100%; overflow-y:auto; padding:clamp(72px,10vh,110px) clamp(28px,7vw,90px) 80px; scrollbar-width:thin; }
.moon-panel-scroll h2 { margin:12px 0 0; font:400 clamp(3.6rem,8vw,7rem)/.84 Georgia,serif; }
.moon-panel-lead { max-width:34em; margin:24px 0 32px; color:var(--soft); font:italic clamp(1.1rem,2vw,1.45rem)/1.5 Georgia,serif; }
.moon-panel-facts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.moon-panel-facts span { display:grid; gap:9px; padding:18px; border-right:1px solid var(--line); }
.moon-panel-facts span:last-child { border-right:0; }
.moon-panel-facts b,.moon-panel-guidance b { color:var(--blue); font:700 10px/1.3 "Segoe UI",sans-serif; letter-spacing:.17em; }
.moon-panel-facts strong { color:var(--gold); font:400 17px/1.25 Georgia,serif; }
.moon-panel-guidance { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:30px 0; }
.moon-panel-guidance p { margin:10px 0 0; color:var(--ink); font:15px/1.55 Georgia,serif; }
.moon-panel-note { max-width:62em; margin:0; padding-top:20px; border-top:1px solid var(--line); color:var(--soft); font:10px/1.55 "Segoe UI",sans-serif; }
.opening-orbit {
  position: absolute;
  inset: 0;
}
.opening {
  position: absolute;
  width: 160px;
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  display: grid;
  text-align: center;
  opacity: 0.55;
  transition:
    opacity 0.35s,
    transform 0.35s;
}
.opening span {
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--blue);
}
.opening strong {
  font:
    400 28px Georgia,
    serif;
  color: var(--ink);
}
.opening small {
  font:
    italic 13px Georgia,
    serif;
}
.opening.selected {
  opacity: 1;
  transform: scale(1.1);
}
.opening.selected strong {
  color: var(--gold);
}
.opening-1 {
  left: 5%;
  top: 44%;
}
.opening-2 {
  right: 6%;
  top: 25%;
}
.opening-3 {
  right: 12%;
  bottom: 16%;
}
.use-opening {
  position: absolute;
  z-index: 6;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid rgba(var(--gold-rgb), 0.86);
  border-radius: 999px;
  background: rgba(var(--gold-rgb), 0.14);
  padding: 13px 22px;
  color: var(--ink);
  box-shadow: 0 10px 34px rgba(var(--gold-rgb), 0.16), inset 0 0 0 1px rgba(255,255,255,0.03);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.use-opening:hover {
  transform: translateX(-50%) translateY(-3px);
  background: rgba(var(--gold-rgb), 0.24);
  box-shadow: 0 14px 38px rgba(var(--gold-rgb), 0.25);
}
.use-opening span {
  color: var(--gold);
  margin-left: 10px;
  font-size: 17px;
}

.time-detail-veil {
  position: fixed;
  inset: 0;
  z-index: 45;
  display: grid;
  place-items: center;
  background: rgba(251, 247, 239, 0.76);
  backdrop-filter: blur(20px);
  animation: veil-in 0.38s ease both;
}
[data-theme="dusk"] .time-detail-veil {
  background: rgba(12, 11, 18, 0.78);
}
.detail-close {
  position: fixed;
  z-index: 48;
  right: clamp(22px, 4vw, 64px);
  top: 28px;
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  font:
    300 30px/1 Georgia,
    serif;
}
.detail-back {
  position: fixed;
  z-index: 49;
  left: clamp(22px, 4vw, 64px);
  top: 38px;
  border: 0;
  background: none;
  color: var(--atmo);
  cursor: pointer;
  font-size: 15px;
}
.detail-back span {
  margin-left: 7px;
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.time-detail {
  position: relative;
  width: min(960px, calc(100vw - 38px));
  min-height: min(610px, 76vh);
  display: grid;
  grid-template-columns: minmax(240px, 0.78fr) 1.22fr;
  align-items: center;
  gap: clamp(30px, 7vw, 90px);
  padding: clamp(32px, 6vw, 76px);
}
.detail-ring {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  transition: border-color 0.8s ease;
}
.detail-ring-one {
  width: min(68vw, 780px);
  aspect-ratio: 1;
  left: -22%;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(var(--atmo-rgb), 0.42);
}
.detail-ring-two {
  width: min(50vw, 560px);
  aspect-ratio: 1;
  left: -10%;
  top: 50%;
  transform: translateY(-50%);
  border: 1px dashed rgba(var(--atmo-rgb), 0.25);
  animation: turn-detail 38s linear infinite;
}
.time-detail header {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  text-align: center;
}
.time-detail header p {
  margin: 0;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.22em;
}
.time-detail header strong {
  color: color-mix(in srgb, var(--atmo) 42%, var(--paper));
  font:
    400 clamp(4.5rem, 9vw, 8.4rem)/0.9 Georgia,
    serif;
  opacity: 0.48;
  filter: saturate(0.62);
  text-shadow: 0 0 42px rgba(var(--atmo-rgb), 0.11);
}
.interval-flow {
  width: min(620px, 62vw);
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(210px, auto) minmax(120px, 1fr);
  align-items: center;
  gap: 22px;
}
.interval-flow > button {
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--soft);
  cursor: pointer;
  display: grid;
  gap: 7px;
  text-align: right;
  opacity: 0.66;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.interval-flow > button:last-child { text-align: left; }
.interval-flow > button:hover { opacity: 1; transform: translateX(-3px); }
.interval-flow > button:last-child:hover { transform: translateX(3px); }
.interval-flow > button small {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.16em;
}
.interval-flow > button b {
  font: 400 16px/1.12 Georgia, serif;
  color: var(--ink);
}
.interval-flow > strong {
  white-space: nowrap;
  font-size: clamp(3.2rem, 6.2vw, 6.2rem) !important;
}
.bond-interval-flow {
  width: min(560px, 74vw);
  grid-template-columns: minmax(105px, 1fr) auto minmax(105px, 1fr);
  gap: 15px;
}
.bond-window-head .bond-interval-flow > strong {
  color: var(--atmo);
  font: 400 clamp(2.8rem, 5vw, 5.5rem)/0.9 Georgia, serif;
}
.time-detail header em {
  color: var(--soft);
  font:
    italic 17px Georgia,
    serif;
}
.detail-readiness {
  margin-top: 18px;
  border: 1px solid var(--metric-color, var(--atmo));
  border-radius: 999px;
  padding: 9px 17px;
  color: var(--metric-color, var(--atmo));
  background: color-mix(in srgb, var(--metric-color, var(--atmo)) 10%, transparent);
  font: 400 24px/1 Georgia, serif;
  letter-spacing: 0;
  box-shadow: 0 0 24px color-mix(in srgb, var(--metric-color, var(--atmo)) 18%, transparent);
}
.status-flow {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
  align-items: center;
  gap: 12px;
}
.status-flow .detail-readiness { margin-top: 0; }
.status-flow > button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(var(--blue-rgb), 0.035);
  padding: 8px 12px;
  color: var(--soft);
  cursor: pointer;
  font: 400 15px/1.1 Georgia, serif;
  opacity: 0.72;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.status-flow > button:hover {
  opacity: 1;
  border-color: var(--gold);
}
.detail-copy {
  position: relative;
  z-index: 3;
}
.detail-label {
  margin: 0;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.26em;
}
.detail-copy h2 {
  max-width: 540px;
  margin: 13px 0 15px;
  font:
    400 clamp(2.5rem, 5vw, 4.6rem)/0.96 Georgia,
    serif;
  letter-spacing: -0.03em;
}
.detail-summary {
  max-width: 560px;
  margin: 0;
  color: var(--soft);
  font:
    italic clamp(1rem, 1.6vw, 1.25rem)/1.55 Georgia,
    serif;
}
.readiness-guidance {
  max-width: 560px;
  margin: 18px 0 0;
  border-left: 1px solid var(--atmo);
  padding-left: 16px;
  color: var(--ink);
  font:
    14px/1.55 "Segoe UI",
    sans-serif;
}
.readiness-guidance b {
  display: block;
  margin-bottom: 7px;
  color: var(--atmo);
  font-size: 10px;
  letter-spacing: 0.19em;
}
.window-strategy {
  max-width: 560px;
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.window-strategy span {
  padding: 12px 12px 14px;
  color: var(--soft);
  font: 12px/1.45 "Segoe UI", sans-serif;
}
.window-strategy span + span { border-left: 1px solid var(--line); }
.window-strategy b {
  display: block;
  margin-bottom: 6px;
  color: var(--atmo);
  font-size: 10px;
  letter-spacing: .13em;
}
.window-strategy .current {
  color: var(--ink);
  background: color-mix(in srgb, var(--atmo) 7%, transparent);
}
@media (max-width: 700px) {
  .window-strategy { grid-template-columns: 1fr; }
  .window-strategy span + span { border-left: 0; border-top: 1px solid var(--line); }
}
.score-breakdown {
  max-width: 560px;
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.score-breakdown > span {
  position: relative;
  min-height: 70px;
  border-top: 1px solid var(--line);
  padding: 10px 5px 7px;
  display: grid;
  align-content: start;
  gap: 4px;
  border-radius: 2px;
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.score-breakdown b {
  color: var(--soft);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.14em;
}
.score-breakdown strong {
  color: var(--metric-color, var(--atmo));
  font:
    400 24px Georgia,
    serif;
  text-shadow: 0 1px 0 rgba(10, 9, 15, 0.28);
}
.state-very { --state-base: #a9cfb3; }
.state-suitable { --state-base: #aebfe9; }
.state-neutral { --state-base: #e6c67a; }
.state-friction { --state-base: #d7a097; }
.state-pending { --state-base: #aeb5ad; }
.tone-1 { --metric-color: color-mix(in srgb, var(--state-base) 58%, var(--soft)); }
.tone-2 { --metric-color: color-mix(in srgb, var(--state-base) 78%, var(--soft)); }
.tone-3 { --metric-color: var(--state-base); }
.stage[data-theme="light"] .score-breakdown strong {
  -webkit-text-stroke: 0.25px rgba(25, 20, 31, 0.42);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72);
}
.score-breakdown i {
  display: none;
}
.score-breakdown .unavailable {
  opacity: 0.58;
}
.score-breakdown small {
  color: var(--soft);
  font:
    10px/1.25 Georgia,
    serif;
}
.detail-axis {
  margin-top: 27px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.detail-axis span {
  color: var(--soft);
  font:
    15px/1.45 Georgia,
    serif;
}
.detail-axis b {
  display: block;
  margin-bottom: 7px;
  color: var(--gold);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.2em;
}
.detail-axis span:last-child b {
  color: var(--blue);
}
.detail-keep {
  position: absolute;
  z-index: 4;
  right: clamp(32px, 6vw, 76px);
  bottom: 4%;
  border: 0;
  border-bottom: 1px solid var(--gold);
  background: none;
  padding: 10px 3px;
  color: var(--soft);
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.17em;
}

.bond-flow {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: center;
}
.bond-flow .back-step {
  display: none;
}
.mode-bond .directions {
  display: none;
}
.bond-flow .bond-stage,
.bond-flow .bond-result {
  display: none;
}
.bond-reframe {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
  padding: 90px 24px 120px;
}
.bond-reframe h1 {
  margin: 14px 0 8px;
  font:
    italic 400 clamp(2.8rem, 5.8vw, 5.4rem)/0.92 Georgia,
    serif;
}
.bond-reframe h1 em {
  color: var(--gold);
  font-weight: 400;
}
.bond-reframe > p:not(.scene-kicker) {
  color: var(--soft);
  font:
    italic 15px Georgia,
    serif;
}
.bond-reframe .lens-options {
  width: min(620px, 82vw);
}
.bond-time-modes {
  width: min(620px, 84vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 20px;
}
.bond-time-modes button {
  min-height: 112px;
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), 0.035);
  color: var(--soft);
  padding: 18px;
  cursor: pointer;
  display: grid;
  place-content: center;
  gap: 9px;
}
.bond-time-modes button.selected {
  border-color: var(--gold);
  background: rgba(var(--gold-rgb), 0.1);
  color: var(--ink);
}
.bond-time-modes b {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
}
.bond-time-modes span {
  font:
    italic 16px Georgia,
    serif;
}
.bond-time-choice .field-grid {
  margin-top: 18px;
}
.bond-result-new {
  display: none !important;
}
.bond-weights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 18px 0;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.bond-weights span {
  display: grid;
  justify-items: start;
}
.bond-weights b {
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.13em;
}
.bond-weights strong {
  color: var(--gold);
  font:
    30px Georgia,
    serif;
}
.bond-weights small {
  color: var(--blue);
  font-size: 10px;
}
.score-method {
  margin: 2px 0 18px;
  border-top: 1px solid color-mix(in srgb, var(--ink) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 16%, transparent);
  color: var(--soft);
}
.score-method summary {
  padding: 13px 2px;
  color: var(--gold);
  cursor: pointer;
  font: 600 10px/1.3 Arial, sans-serif;
  letter-spacing: 0.16em;
}
.score-method div {
  display: grid;
  gap: 8px;
  padding: 0 2px 15px;
}
.score-method p,
.score-method small {
  margin: 0;
  font: 12px/1.5 Georgia, serif;
}
.score-method small {
  color: var(--blue);
  font-style: italic;
}
.engine-note {
  margin: -7px 0 14px;
  color: var(--soft);
  opacity: 0.62;
  font: italic 10px/1.35 Georgia, serif;
}
.bond-suggestions {
  display: flex;
  gap: 9px;
  margin-top: 18px;
}
.bond-suggestions button {
  border: 1px solid var(--line);
  background: none;
  color: var(--soft);
  padding: 8px 12px;
  cursor: pointer;
  display: grid;
}
.bond-suggestions button.selected {
  border-color: var(--gold);
  color: var(--ink);
}
.bond-suggestions b {
  font:
    20px Georgia,
    serif;
}
.bond-suggestions span,
.bond-suggestions small {
  font-size: 10px;
  letter-spacing: 0.12em;
}
.bond-name-float {
  display: none;
}
.bond-profile {
  display: none;
}
.bond-profile .panel-lens {
  min-height: min(680px, 84vh);
}
.bond-location {
  margin-top: 16px;
}
.profile-actions {
  display: grid;
  justify-items: center;
}
.profile-actions > button:last-child {
  margin-top: 9px;
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.14em;
}
.bond-profile-new .profile-actions .bond-next {
  font-size: 0;
}
.bond-profile-new .profile-actions .bond-next::after {
  content: "KİŞİYİ KAYDET →";
  font-size: 12px;
}
[data-lang="en"] .bond-profile-new .profile-actions .bond-next::after {
  content: "SAVE PERSON →";
}
.bond-flow:not(.bond-step-topic) ~ .directions {
  display: none;
}
.bond-profile-new,
.bond-meeting {
  overflow: auto;
  align-content: start;
  padding-top: 90px;
}
.bond-profile-new h1,
.bond-meeting h1 {
  font-size: clamp(2.4rem, 4.5vw, 4.2rem);
}
.bond-profile-fields {
  width: min(620px, 82vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 18px 0 5px;
  text-align: left;
}
.bond-profile-fields label {
  color: var(--soft);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.15em;
}
.bond-profile-fields input {
  display: block;
  width: 100%;
  min-height: 46px;
  margin-top: 6px;
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), 0.055);
  color: var(--ink);
  padding: 9px 12px;
  font:
    16px Georgia,
    serif;
  color-scheme: dark;
}
[data-theme="light"] .bond-profile-fields input {
  color-scheme: light;
}
.birth-time-help {
  border: 0;
  border-bottom: 1px solid var(--blue);
  background: none;
  color: var(--blue);
  padding: 8px 2px;
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.13em;
}
.birth-test {
  overflow: auto;
  align-content: start;
  padding-top: 76px;
  padding-bottom: 48px;
}
.birth-test h1 {
  font-size: clamp(2.1rem, 4vw, 3.7rem);
}
.birth-periods {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: 15px 0;
}
.birth-periods button,
.birth-questions button {
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), 0.04);
  color: var(--soft);
  padding: 8px 11px;
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.12em;
}
.birth-periods button.selected,
.birth-questions button.selected {
  border-color: var(--gold);
  color: var(--ink);
  background: rgba(var(--gold-rgb), 0.12);
}
.birth-questions {
  width: min(700px, 86vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 14px;
  text-align: left;
}
.birth-questions > div {
  min-height: 43px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid var(--line);
}
.birth-questions span {
  color: var(--soft);
  font:
    12px/1.25 Georgia,
    serif;
}
.bond-meeting .location-result {
  margin-top: 18px;
}
.bond-result-v3 {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 680px);
  justify-content: center;
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  overflow: auto;
  overflow-x: hidden;
  padding: 86px clamp(28px, 6vw, 92px) 72px;
}
.bond-window-head {
  display: grid;
  justify-items: center;
  text-align: center;
}
.bond-window-head > span {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.18em;
}
.bond-window-head > strong {
  color: var(--atmo);
  font:
    400 clamp(4.8rem, 9vw, 8rem)/0.92 Georgia,
    serif;
}
.bond-window-head > em {
  color: var(--soft);
  font:
    italic 17px Georgia,
    serif;
}
.window-duration {
  width: min(290px, 100%);
  margin-top: 24px;
  padding: 16px;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto;
  text-align: left;
}
.window-duration b {
  grid-column: 1/-1;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.18em;
}
.window-duration span {
  color: var(--ink);
  font:
    24px Georgia,
    serif;
}
.window-duration small {
  align-self: end;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.12em;
}
.bond-result-v3 article {
  width: 100%;
  max-width: 680px;
  min-width: 0;
}
.bond-score-title {
  display: grid;
  gap: 14px;
}
.bond-status-flow {
  width: min(100%, 420px);
  min-width: 0;
  margin-top: 0;
}
.bond-status-flow > span {
  min-width: 112px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  padding: 12px 18px;
  color: var(--gold);
  text-align: center;
  font: 600 10px/1.2 "Segoe UI", sans-serif;
}
.bond-score-title > span {
  min-width: 112px;
  flex: 0 0 auto;
  border: 1px solid var(--gold);
  border-radius: 999px;
  display: grid;
  place-items: center;
  padding: 12px 18px;
  color: var(--gold);
  font: 600 10px/1.2 "Segoe UI", sans-serif;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}
.bond-score-title h1 {
  margin: 5px 0 8px;
  font:
    400 clamp(2.4rem, 3.7vw, 3.8rem)/0.98 Georgia,
    serif;
  overflow-wrap: anywhere;
}
.bond-guidance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 16px;
  border-top: 1px solid var(--line);
  padding-top: 15px;
}
.bond-guidance-grid p {
  margin: 0;
  color: var(--soft);
  font:
    14px/1.45 Georgia,
    serif;
}
.bond-guidance-grid b {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.16em;
}
.bond-guidance-grid p:last-child b {
  color: var(--blue);
}
.bond-suggestions-v3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 18px;
}
.bond-suggestions-v3 button {
  min-height: 96px;
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), 0.035);
  color: var(--soft);
  padding: 10px;
  cursor: pointer;
  display: grid;
  text-align: left;
}
.bond-suggestions-v3 button.selected {
  border-color: var(--gold);
  background: rgba(var(--gold-rgb), 0.09);
  color: var(--ink);
}
.bond-suggestions-v3 span {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.14em;
}
.bond-suggestions-v3 b {
  font:
    25px Georgia,
    serif;
}
.bond-suggestions-v3 em {
  color: var(--gold);
  font:
    italic 11px Georgia,
    serif;
}
.bond-suggestions-v3 small {
  font:
    11px/1.2 Georgia,
    serif;
}
.bond-ai-toggle {
  margin-top: 18px;
  border: 0;
  border-bottom: 1px solid var(--gold);
  background: none;
  color: var(--ink);
  padding: 9px 2px;
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.16em;
}

.bond-result-v3 .bond-ai-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(100%,390px);
  min-height:58px;
  margin:30px auto 8px;
  border:1px solid rgba(var(--gold-rgb),.78);
  background:linear-gradient(135deg,rgba(var(--gold-rgb),.17),rgba(var(--blue-rgb),.07));
  color:var(--gold);
  box-shadow:0 14px 36px rgba(0,0,0,.18),0 0 28px rgba(var(--gold-rgb),.08);
  font-size:12px;
  font-weight:700;
  letter-spacing:.17em;
}

.bond-result-v3 article > .bond-next {
  display:block;
  width:min(100%,372px);
  min-height:58px;
  margin:34px auto 0;
}
.bond-ai-reading {
  margin-top: 14px;
  border-left: 1px solid var(--gold);
  background: rgba(var(--gold-rgb), 0.045);
  padding: 16px 18px;
}
.bond-ai-reading h2 {
  margin: 5px 0 9px;
  font:
    italic 28px Georgia,
    serif;
}
.bond-ai-reading > p:not(.scene-kicker) {
  margin: 0;
  color: var(--ink);
  font:
    14px/1.5 Georgia,
    serif;
}
.bond-ai-reading > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 13px;
}
.bond-ai-reading span {
  color: var(--soft);
  font:
    12px/1.35 Georgia,
    serif;
}
.bond-ai-reading span b {
  display: block;
  margin-bottom: 5px;
  color: var(--blue);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.14em;
}
.bond-ai-reading > small {
  display: block;
  margin-top: 12px;
  color: var(--soft);
  font:
    italic 10px Georgia,
    serif;
  opacity: 0.7;
}
.bond-progress {
  position: absolute;
  z-index: 20;
  left: clamp(18px, 4vw, 54px);
  right: clamp(18px, 4vw, 54px);
  top: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}
.bond-progress > button {
  pointer-events: auto;
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.17em;
}
.bond-progress .bond-step-back {
  min-width:112px;
  min-height:42px;
  padding:0 10px;
  border:1px solid rgba(var(--blue-rgb),.32);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 72%,transparent);
  color:var(--ink);
  font-size:10px;
  font-weight:600;
}
.bond-progress .bond-step-close {
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(var(--gold-rgb),.38);
  border-radius:50%;
  background:color-mix(in srgb,var(--paper) 76%,transparent);
  color:var(--gold);
  font:300 27px/1 Georgia,serif;
}
.bond-progress > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bond-progress span {
  color: var(--soft);
  opacity: 0.35;
  font-size: 10px;
  letter-spacing: 0.16em;
}
.bond-progress span::after {
  content: "";
  display: inline-block;
  width: 18px;
  margin-left: 12px;
  border-top: 1px solid var(--line);
  vertical-align: middle;
}
.bond-progress span:last-child::after {
  display: none;
}
.bond-progress span.active {
  color: var(--gold);
  opacity: 1;
}
.bond-progress span.done {
  color: var(--blue);
  opacity: 0.8;
}
.bond-people {
  overflow: auto;
  align-content: start;
  padding-top: 110px;
}
.bond-people h1 {
  font-size: clamp(2.7rem, 5vw, 4.8rem);
}
.main-profile-card {
  width: min(660px, 88vw);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  margin-top: 22px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--gold) 45%, var(--line));
  background: color-mix(in srgb, var(--space) 90%, var(--gold) 10%);
  text-align: left;
}
.main-profile-mark {
  color: var(--gold);
  font-size: 28px;
}
.main-profile-card span,
.main-profile-card button,
.main-profile-card label {
  color: var(--gold);
  font: 600 10px/1.3 Arial, sans-serif;
  letter-spacing: 0.16em;
}
.main-profile-card h2 {
  margin: 4px 0 2px;
  color: var(--ink);
  font: italic 21px/1.1 Georgia, serif;
}
.main-profile-card p {
  margin: 0;
  color: var(--soft);
  font-size: 12px;
}
.main-profile-card small {
  color: var(--blue);
  font-size: 10px;
}
.main-profile-card button,
.main-profile-card label {
  border: 0;
  border-bottom: 1px solid var(--gold);
  background: none;
  cursor: pointer;
  padding: 9px 2px;
}
.main-profile-card input { display: none; }
.profile-bridge-note {
  max-width: 650px !important;
  margin-top: 9px !important;
  font-size: 10px !important;
  color: var(--soft) !important;
}
.people-orbit {
  width: min(820px, 88vw);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px 13px;
  margin-top: 22px;
}
.people-orbit article {
  display: grid;
  justify-items: center;
  gap: 6px;
}
.person-core,
.add-person {
  width: 112px;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(var(--gold-rgb), 0.09),
    transparent 68%
  );
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 3px;
  padding: 10px;
}
.person-core > span,
.add-person > span {
  color: var(--gold);
  font:
    32px Georgia,
    serif;
}
.person-core b,
.add-person b {
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font:
    italic 14px Georgia,
    serif;
}
.person-core small,
.add-person small {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.12em;
}
.people-orbit article > div {
  display: flex;
  gap: 8px;
}
.people-orbit article > div button {
  border: 0;
  background: none;
  color: var(--soft);
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.12em;
}
.people-orbit article > div button:first-child {
  color: var(--gold);
}
.add-person {
  border-style: dashed;
  background: none;
}
.people-privacy {
  max-width: 560px;
  margin-top: 20px !important;
  font-size: 12px !important;
}
.bond-topic-v2 {
  z-index: 10;
}
.bond-moment {
  position: absolute;
  inset: 0;
  z-index: 9;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  gap: clamp(26px, 5vw, 70px);
  overflow: auto;
  padding: 118px clamp(28px, 7vw, 110px) 66px;
}
.bond-moment-copy h1 {
  margin: 12px 0;
  font:
    italic 400 clamp(2.8rem, 5vw, 5rem)/0.94 Georgia,
    serif;
}
.bond-moment-copy h1 em {
  color: var(--gold);
  font-weight: 400;
}
.bond-moment-copy > p:not(.scene-kicker) {
  max-width: 430px;
  color: var(--soft);
  font:
    italic 15px/1.4 Georgia,
    serif;
}
.bond-moment-panel {
  display: grid;
  justify-items: center;
  min-width: 0;
  max-width: 100%;
  padding: 28px;
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), 0.025);
}
.bond-moment-panel .location-columns,
.bond-moment-panel .bond-time-modes {
  width: min(680px, 48vw);
}
.bond-range {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(440px, 42vw);
  margin-top: 14px;
}
.bond-range button {
  border: 0;
  border-bottom: 1px solid var(--line);
  background: none;
  color: var(--soft);
  padding: 10px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
}
.bond-range button.selected {
  border-color: var(--gold);
  color: var(--gold);
}
.bond-custom-range {
  width: min(440px, 42vw);
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.bond-custom-range label { display: grid; gap: 6px; }
.bond-custom-range span { color: var(--blue); font: 10px "Segoe UI", sans-serif; letter-spacing: .16em; }
.bond-custom-range input {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(var(--blue-rgb), .025);
  color: var(--ink);
  color-scheme: dark;
}
.moment-place-label {
  margin-top: 16px;
  color: var(--ink);
  font:
    italic 15px Georgia,
    serif;
}
.moment-place-label i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border: 1px solid var(--gold);
  border-radius: 50%;
}
.bond-symbol {
  position: absolute;
  left: 50%;
  top: 46%;
  transform: translate(-50%, -50%);
  color: var(--blue);
  opacity: 0.055;
  font:
    100 clamp(19rem, 43vw, 38rem)/1 Georgia,
    serif;
}
.bond-stage {
  position: relative;
  z-index: 2;
  width: min(820px, calc(100vw - 38px));
  min-height: 620px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}
.bond-stage h1 {
  margin: 14px 0 24px;
  font:
    italic 400 clamp(2.8rem, 5.8vw, 5.6rem)/0.92 Georgia,
    serif;
}
.bond-stage h1 em {
  color: var(--gold);
  font-weight: 400;
}
.bond-topics {
  width: min(590px, 82vw);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
}
.bond-topics button,
.current-columns button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(var(--blue-rgb), 0.035);
  color: var(--soft);
  padding: 10px 15px;
  cursor: pointer;
  font:
    italic 15px Georgia,
    serif;
}
.bond-topics button i {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 8px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.bond-topics button.selected,
.current-columns button.selected {
  border-color: var(--gold);
  background: rgba(var(--gold-rgb), 0.11);
  color: var(--ink);
}
.bond-next {
  margin-top: 26px;
  min-height: 50px;
  border: 1px solid rgba(var(--gold-rgb), 0.72);
  background: rgba(var(--gold-rgb), 0.1);
  color: var(--gold);
  padding: 13px 20px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.bond-next:disabled {
  opacity: 0.25;
  cursor: default;
}
.current-columns {
  width: min(650px, 84vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}
.current-columns > div {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding: 28px 8px 4px;
}
.current-columns > div > span {
  position: absolute;
  top: 8px;
  color: var(--blue);
  font-size: 10px;
  letter-spacing: 0.2em;
}
.bond-result {
  position: relative;
  z-index: 2;
  width: min(980px, calc(100vw - 40px));
  min-height: 650px;
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  gap: clamp(32px, 7vw, 90px);
}
.bond-result-orb {
  position: relative;
  aspect-ratio: 1;
  border: 1px solid rgba(var(--gold-rgb), 0.48);
  border-radius: 50%;
  display: grid;
  place-content: center;
  justify-items: center;
  background: radial-gradient(
    circle,
    rgba(var(--gold-rgb), 0.11),
    transparent 68%
  );
}
.bond-result-orb::before {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px dashed rgba(var(--blue-rgb), 0.28);
  border-radius: 50%;
}
.bond-result-orb span {
  color: var(--gold);
  font:
    400 clamp(4rem, 9vw, 7.4rem)/1 Georgia,
    serif;
}
.bond-result-orb small {
  color: var(--soft);
  font-size: 10px;
  letter-spacing: 0.18em;
}
.bond-result article h1 {
  max-width: 560px;
  margin: 12px 0 20px;
  font:
    400 clamp(2.7rem, 5vw, 4.8rem)/0.95 Georgia,
    serif;
}
.bond-result-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}
.bond-result-grid p,
.bond-move {
  margin: 0;
  color: var(--soft);
  font:
    15px/1.5 Georgia,
    serif;
}
.bond-result-grid b,
.bond-move b {
  display: block;
  margin-bottom: 7px;
  color: var(--blue);
  font:
    10px "Segoe UI",
    sans-serif;
  letter-spacing: 0.18em;
}
.bond-result-grid p:last-child b {
  color: var(--gold);
}
.bond-move {
  margin-top: 20px;
  border-left: 1px solid var(--gold);
  padding-left: 16px;
  color: var(--ink);
}
.bond-move b {
  color: var(--gold);
}

@keyframes turn {
  to {
    transform: rotate(360deg);
  }
}
@keyframes signal {
  0%,
  100% {
    opacity: 0.18;
    transform: translateX(-8px);
  }
  50% {
    opacity: 0.8;
    transform: translateX(8px);
  }
}
@keyframes veil-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes turn-detail {
  from {
    transform: translateY(-50%) rotate(0);
  }
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

/* Desktop composition frame: the atmosphere remains full-bleed while every
   interactive element shares one calm, centred 960px alignment. */
@media (min-width: 701px) {
  .topline {
    left: 50%;
    width: min(960px, calc(100% - 48px));
    padding-inline: 0;
    transform: translateX(-50%);
  }

  .time-field {
    inset: 0 auto;
    left: 50%;
    width: min(960px, calc(100% - 48px));
    transform: translateX(-50%);
  }

  .orbit-wide {
    width: min(860px, calc(100vw - 120px));
    height: min(370px, 38vw);
  }

  .orbit-small {
    width: min(500px, 48vw);
    height: min(500px, 48vw);
  }

  .previous { left: 0; }
  .next,
  .moon-now { right: 0; }

  .lens-veil > article,
  .lens-veil > section,
  .time-detail-veil > article {
    max-width: 960px;
  }

  .time-detail-veil .detail-back {
    left: max(24px, calc(50% - 480px));
  }

  .time-detail-veil .detail-close {
    right: max(24px, calc(50% - 480px));
  }
}

@media (max-width: 700px) {
  .time-detail-veil {
    place-items: start center;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .time-detail-veil .mobile-layer-back {
    display: none;
  }
  .topline {
    padding: 20px 18px;
  }
  .top-actions {
    gap: 14px;
  }
  .theme span {
    display: none;
  }
  .place {
    max-width: 110px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .orbit-wide {
    width: 125vw;
    height: 58vw;
  }
  .orbit-small {
    width: 82vw;
    height: 82vw;
  }
  .core {
    width: min(62vw, 270px);
  }
  .state-connection .core-copy strong {
    max-width: 190px;
    font-size: clamp(2.25rem, 10vw, 3.2rem);
  }
  .previous,
  .next {
    width: 104px;
    top: auto;
    bottom: 24%;
  }
  .previous {
    left: 6vw;
    text-align: left;
  }
  .next {
    right: 6vw;
    text-align: right;
  }
  .previous::after,
  .next::before {
    display: none;
  }
  .moment strong {
    margin-top: 12px;
    font-size: 18px;
  }
  .moment small {
    font-size: 10px;
  }
  .planet-orb { width: 55px; }
  .planet-orb i { font-size: 21px; }
  .previous { opacity: .45; }
  .next { opacity: .78; }
  .swipe-cue { display: flex; }
  .is-open .core {
    transform: translateY(-28vh) scale(0.57);
  }
  .reading {
    top: 37%;
  }
  .reading h1 {
    font-size: clamp(2.25rem, 10vw, 3.2rem);
  }
  .reading-edge {
    display: block;
  }
  .reading-edge p {
    margin-top: 5px;
  }
  .is-open .moment {
    opacity: 0;
  }
  .directions {
    bottom: 12px;
  }
  .hint {
    display: none;
  }
  .back-step {
    top: 82px;
    left: 18px;
  }
  .question-scene {
    height: 68vh;
    width: calc(100vw - 24px);
  }
  .question-scene h1 {
    font-size: clamp(3rem, 14vw, 4.6rem);
  }
  .scene-note {
    max-width: 280px;
    font-size: 15px;
  }
  .intent {
    font-size: 15px;
  }
  .intent-1 {
    left: 2%;
    top: 23%;
  }
  .intent-2 {
    right: 1%;
    top: 25%;
  }
  .intent-3 {
    left: 2%;
    bottom: 22%;
  }
  .intent-4 {
    right: 0;
    bottom: 24%;
  }
  .intent-5 {
    bottom: 5%;
  }
  .intent-trigger {
    bottom: 0;
    width: min(45vw, 190px);
  }
  .intent-lens {
    width: min(96vw, 560px);
  }
  .lens-options {
    margin-block: 18px 13px;
    gap: 7px;
  }
  .lens-options button {
    min-height: 40px;
    padding: 7px 12px;
    font-size: 15px;
  }
  .range-line {
    left: 0;
    right: 0;
    bottom: 8%;
  }
  .range-line button {
    font-size: 21px;
  }
  .ask-time-orb {
    right: 50%;
    bottom: -15%;
    transform: translateX(50%);
    width: 118px;
  }
  .ask-time-orb:hover {
    transform: translateX(50%) scale(1.03);
  }
  .floating-time-orb {
    right: 18px;
    bottom: 118px;
    transform: none;
    width: 106px;
  }
  .floating-time-orb:hover {
    transform: scale(1.03);
  }
  .result-scene {
    height: 70vh;
    width: calc(100vw - 18px);
  }
  .result-center {
    width: min(66vw, 280px);
    transform: translateY(-4vh);
  }
  .opening {
    width: 105px;
  }
  .opening strong {
    font-size: 22px;
  }
  .opening small {
    font-size: 11px;
  }
  .opening-1 {
    left: 0;
    top: 55%;
  }
  .opening-2 {
    right: 0;
    top: 28%;
  }
  .opening-3 {
    right: 2%;
    bottom: 12%;
  }
  .use-opening {
    bottom: 1%;
  }
  .time-detail {
    box-sizing: border-box;
    width: 100%;
    min-height: 100dvh;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 22px;
    padding: 92px 20px max(72px, env(safe-area-inset-bottom));
    text-align: center;
    overflow: hidden;
  }
  .detail-ring-one {
    width: 108vw;
    left: -48%;
    top: 26%;
  }
  .detail-ring-two {
    width: 82vw;
    left: -34%;
    top: 26%;
  }
  .time-detail header strong {
    max-width: 100%;
    font-size: clamp(3.7rem, 18vw, 5.5rem);
    overflow-wrap: anywhere;
  }
  .interval-flow {
    width: 100%;
    grid-template-columns: minmax(72px, 1fr) minmax(132px, auto) minmax(72px, 1fr);
    gap: 8px;
  }
  .interval-flow > strong {
    font-size: clamp(2rem, 10vw, 3.1rem) !important;
  }
  .interval-flow > button b {
    font-size: 12px;
  }
  .interval-flow > button small {
    font-size: 10px;
  }
  .time-detail header em {
    font-size: 15px;
  }
  .detail-readiness {
    padding: 8px 14px;
    font-size: 16px;
  }
  .status-flow {
    width: 100%;
    grid-template-columns: minmax(76px, 1fr) auto minmax(76px, 1fr);
    gap: 7px;
  }
  .status-flow > button {
    padding: 7px 8px;
    font-size: 12px;
  }
  .bond-status-flow { min-width: 0; }
  .detail-label {
    margin-top: 8px;
  }
  .detail-copy h2 {
    margin: 8px auto 10px;
    max-width: 100%;
    font-size: clamp(2rem, 9.2vw, 2.85rem);
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .detail-summary {
    margin-inline: auto;
    font-size: 16px;
  }
  .detail-axis {
    grid-template-columns: 1fr;
    margin-top: 17px;
    gap: 18px;
    padding-top: 15px;
    text-align: left;
  }
  .detail-axis span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .detail-axis span {
    font-size: 13px;
  }
  .score-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
    gap: 8px;
  }
  .score-breakdown > span {
    min-height: 60px;
    padding-inline: 3px;
  }
  .score-breakdown b {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
  .score-breakdown strong {
    font-size: 16px;
    line-height: 1.2;
  }
  .readiness-guidance {
    margin-top: 12px;
    font-size: 13px;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .detail-keep {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 3px;
    justify-self: center;
  }
  .panel-lens {
    width: calc(100vw - 18px);
    min-height: 76vh;
    border-radius: 46% 46% 42% 42%;
    padding: 62px 25px 58px;
  }
  .panel-lens h2 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
  .field-grid {
    width: 78vw;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .location-columns {
    width: 78vw;
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .location-menu {
    top: calc(100% - 1px);
  }
  .location-column input {
    min-height: 38px;
    margin-top: 4px;
  }
  .location-choices {
    max-height: 82px;
  }
  .location-choices button {
    min-height: 30px;
    padding: 5px 9px;
  }
  .appointment-grid {
    grid-template-columns: 1fr 1fr;
  }
  .specific-intents {
    width: 80vw;
  }
  .specific-intents .lens-options {
    max-height: 150px;
    overflow: auto;
  }
  .wide-field {
    grid-column: 1/-1;
  }
  .field-grid select,
  .field-grid input {
    min-height: 42px;
  }
  .panel-note {
    margin-bottom: 16px;
    font-size: 14px;
  }
  .pair-fields {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .pair-fields textarea {
    min-height: 70px;
  }
  .guide-lens {
    min-height: 82vh;
  }
  .mobile-layer-back {
    bottom: 14px;
    min-width: 144px;
    padding: 12px 18px;
    font-size: 11px;
  }
  .bond-stage {
    min-height: 76vh;
  }
  .bond-reframe h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
  }
  .bond-time-modes {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .bond-time-modes button {
    min-height: 78px;
  }
  .bond-result-new {
    display: none !important;
  }
  .bond-weights {
    gap: 5px;
  }
  .bond-weights strong {
    font-size: 23px;
  }
  .bond-weights b {
    font-size: 10px;
  }
  .bond-name-float {
    top: 25%;
  }
  .bond-profile .panel-lens {
    min-height: 84vh;
    padding-top: 72px;
    padding-bottom: 72px;
  }
  .bond-location {
    margin-top: 10px;
  }
  .bond-profile-new,
  .bond-meeting {
    padding: 78px 14px 42px;
  }
  .bond-profile-new h1,
  .bond-meeting h1 {
    font-size: clamp(2.1rem, 10vw, 3rem);
  }
  .bond-profile-fields {
    width: 82vw;
    grid-template-columns: 1fr 1fr;
  }
  .bond-profile-fields .wide-field {
    grid-column: 1/-1;
  }
  .birth-test {
    padding: 76px 12px 40px;
  }
  .birth-test h1 {
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
  .birth-questions {
    grid-template-columns: 1fr;
    width: 88vw;
  }
  .birth-questions > div {
    min-height: 38px;
  }
  .bond-result-v3 {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 20px;
    padding: 86px 18px 48px;
  }
  .bond-result-v3 article {
    min-width: 0;
    padding-bottom: 52px;
  }
  .bond-window-head > strong {
    font-size: clamp(4.7rem, 22vw, 6.5rem);
  }
  .window-duration {
    margin-top: 15px;
  }
  .bond-score-title {
    align-items: flex-start;
  }
  .bond-score-title > span {
    min-width: 96px;
    padding: 10px 12px;
    font-size: 10px;
  }
  .bond-score-title h1 {
    font-size: clamp(2.1rem, 9vw, 3rem);
  }
  .bond-guidance-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .bond-suggestions-v3 {
    grid-template-columns: 1fr;
  }
  .bond-suggestions-v3 button {
    min-height: 76px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 5px 10px;
  }
  .bond-suggestions-v3 small {
    grid-column: 1/-1;
  }
  .bond-ai-reading > div {
    grid-template-columns: 1fr;
  }
  .bond-progress {
    top: 72px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:start;
    gap:8px;
  }
  .bond-progress .bond-step-back {
    grid-column:1;
    justify-self:start;
    min-width:118px;
  }
  .bond-progress .bond-step-close { grid-column:2; justify-self:end; }
  .bond-progress > div {
    grid-column:1 / -1;
    grid-row:2;
    gap: 5px;
    max-width:none;
    flex-wrap: wrap;
    justify-content: center;
  }
  .bond-progress span {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
  .bond-progress span.active {
    font-size: 10px;
    font-weight: 700;
  }
  .bond-progress span::after {
    width: 6px;
    margin-left: 5px;
  }
  .bond-people {
    padding: 96px 12px 40px;
  }
  .bond-people h1 {
    font-size: clamp(2.4rem, 11vw, 3.4rem);
  }
  .people-orbit {
    width: 92vw;
    gap: 14px 9px;
  }
  .person-core,
  .add-person {
    width: 94px;
  }
  .person-core > span,
  .add-person > span {
    font-size: 27px;
  }
  .bond-topic-v2 {
    padding-top: 104px;
  }
  .bond-moment {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 18px;
    padding: 112px 12px 42px;
    text-align: center;
    overflow-x: hidden;
  }
  .bond-moment-copy h1 {
    display: none;
  }
  .bond-moment-copy > p:not(.scene-kicker) {
    display: none;
  }
  .bond-moment-copy .scene-kicker {
    margin-top: 12px;
    font-size: 10px;
  }
  .bond-next,
  .lens-confirm {
    min-height: 54px;
    font-size: 13px;
    padding-inline: 18px;
  }
  .bond-moment-panel {
    width: 100%;
    max-width: calc(100vw - 24px);
    padding: 18px 10px;
    overflow-x: clip;
  }
  .bond-moment-panel .location-columns,
  .bond-moment-panel .bond-time-modes {
    width: 82vw;
  }
  .bond-range {
    width: 78vw;
  }
  .bond-stage h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
  }
  .current-columns {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .current-columns > div {
    padding-top: 25px;
  }
  .bond-result {
    min-height: 80vh;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 14px;
    padding: 78px 18px 80px;
    text-align: center;
  }
  .bond-result-orb {
    width: min(45vw, 190px);
    justify-self: center;
  }
  .bond-result article h1 {
    margin: 8px auto 14px;
    font-size: clamp(2.3rem, 10vw, 3.2rem);
  }
  .bond-result-grid {
    gap: 12px;
    text-align: left;
  }
  .bond-result-grid p,
  .bond-move {
    font-size: 13px;
  }
}

@media (max-width: 620px) {
  .bond-moment-panel { padding: 16px 12px 20px; }
  .bond-moment-panel .location-columns,
  .bond-moment-panel .bond-time-modes,
  .bond-range,
  .bond-custom-range { width: 100%; }
  .bond-custom-range { gap: 8px; }
  .bond-result-v3 {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 92px 20px 64px;
  }
  .bond-window-head { width: 100%; }
  .bond-window-head > strong { font-size: clamp(4rem, 18vw, 5.4rem); }
  .bond-result-v3 article { width: 100%; padding-bottom: 36px; }
  .bond-score-title { gap: 12px; }
  .bond-status-flow { width: 100%; grid-template-columns: minmax(72px,1fr) auto minmax(72px,1fr); }
  .bond-status-flow > span { min-width: 84px; padding: 10px 12px; }
  .bond-score-title h1 { margin-top: 0; font-size: clamp(2.2rem, 10.5vw, 3.1rem); line-height: 1; }
  .bond-weights { grid-template-columns: 1fr; gap: 0; }
  .bond-weights span { min-height: 64px; padding: 12px 2px; border-bottom: 1px solid var(--line); }
  .chart-coverage { grid-template-columns: 1fr; }
  .bond-guidance-grid { grid-template-columns: 1fr; }
}

@media (min-width: 621px) and (max-width: 1100px) {
  .bond-result-v3 {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
    align-content: start;
    gap: 28px;
    padding: 94px 28px 64px;
  }
  .bond-window-head > strong { font-size: clamp(4.5rem, 12vw, 6.5rem); }
  .bond-result-v3 article { max-width: 760px; }
}

@media (max-height: 680px) {
  .core {
    width: 190px;
  }
  .directions {
    bottom: 4px;
  }
  .direction {
    min-height: 58px;
  }
  .direction small {
    display: none;
  }
  .is-open .core {
    transform: translateY(-27vh) scale(0.5);
  }
  .reading {
    top: 35%;
  }
  .reading h1 {
    margin-block: 8px;
    font-size: 2.1rem;
  }
  .reading-note {
    font-size: 0.94rem;
  }
  .reading-edge {
    margin-top: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
.chart-coverage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0 28px;
  border-top: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
}
.chart-coverage span {
  display: grid;
  gap: 7px;
  padding: 14px 12px;
  color: var(--soft);
  font-size: 0.76rem;
  line-height: 1.35;
}
.chart-coverage b {
  color: var(--gold);
  font: 600 0.62rem/1.2 Arial, sans-serif;
  letter-spacing: 0.16em;
}
@media (max-width: 680px) {
  .main-profile-card {
    width: calc(100vw - 30px);
    grid-template-columns: auto 1fr;
    gap: 11px;
    padding: 13px;
  }
  .main-profile-card > button,
  .main-profile-card > label {
    grid-column: 2;
    justify-self: start;
  }
  .chart-coverage { grid-template-columns: 1fr; }
  .chart-coverage span + span { border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); }
}

@media (max-width: 720px) {
  .moon-now {
    right: 18px;
    bottom: 96px;
    grid-template-columns: 24px auto;
    padding-left: 10px;
  }
  .moon-now > span { font-size: 22px; }
  .moon-now b { font-size: 13px; }
  .moon-lens {
    width: calc(100vw - 28px);
    min-height: calc(100dvh - 46px);
    grid-template-columns: 1fr;
    grid-template-areas: "head" "measure" "ring";
    align-content: start;
    gap: 30px;
    padding: 54px 0 max(132px, calc(92px + env(safe-area-inset-bottom)));
    overflow-y: auto;
  }
  .moon-lens > header { text-align: center; }
  .moon-main-symbol { margin: 16px 0 8px; font-size: 68px; }
  .moon-lens h2 { font-size: 3.1rem; }
  .moon-direction { margin: 10px 0 20px; font-size: 16px; }
  .moon-measure { text-align: left; }
  .moon-guidance {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
  .moon-guidance > div {
    min-height: 0;
    padding: 20px 18px 22px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .moon-guidance > div:last-child { border-bottom: 0; }
  .moon-guidance strong { padding-right: 18px; }
  .moon-cycle-ring {
    width: min(78vw, 360px);
    margin: 24px auto 54px;
  }
  .moon-personal {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px 18px;
  }
  .moon-personal strong { font-size: 17px; }
  .moon-personal small { font-size: 11px; }
  .moon-stop { width: 82px; }
  .moon-stop span { font-size: 21px; }
  .moon-stop b { font-size: 10px; }
  .moon-stop small { font-size: 10px; }
  .moon-cycle-core span { font-size: 26px; }
  .moon-note {
    position: static;
    max-width: 320px;
    padding-bottom: 36px;
  }
  .result-moon { max-width: 180px; line-height: 1.35; }
}

/* Ay sahnesi son düzen: merkez, yörünge ve metin birbirinden ayrı katmanlardır. */
.moon-selection-meta {
  display:grid;
  justify-items:center;
  gap:7px;
  margin-top:30px;
}
.moon-stage .moon-card.centered .moon-selection-meta small { margin:0; }
.moon-selection-meta small:last-child:not(:first-child) {
  color:var(--blue);
  font-size:10px;
  font-weight:500;
  letter-spacing:.12em;
}

@media (max-width:720px) {
  .moon-stage .moon-carousel { inset:13% 0 8%; }
  .moon-stage .moon-card.centered {
    --node-size:min(45vw,188px);
    left:50%;
    top:36%;
    width:88vw;
  }
  .moon-stage .moon-card.centered .moon-sphere {
    box-shadow:0 28px 42px rgba(0,0,0,.38),0 0 58px rgba(var(--atmo-rgb),.12),inset -18px -22px 36px rgba(0,0,0,.36);
  }
  .moon-stage .moon-card.centered .moon-selection-meta { margin-top:25px; }
  .moon-stage .moon-card.centered strong { margin-top:8px; font-size:clamp(3.15rem,14vw,4.35rem); }
  .moon-stage .moon-card.centered em { width:82vw; margin-top:14px; font-size:15px; line-height:1.42; }

  .moon-stage .moon-offset-0 { left:10%; top:35%; --node-size:44px; opacity:.16; }
  .moon-stage .moon-offset-1 { left:20%; top:22%; --node-size:54px; opacity:.22; }
  .moon-stage .moon-offset-2 { left:42%; top:16%; --node-size:64px; opacity:.28; }
  .moon-stage .moon-offset-3 { left:83%; top:30%; --node-size:76px; opacity:.38; }
  .moon-stage .moon-offset-5 { left:84%; top:73%; --node-size:78px; opacity:.42; }
  .moon-stage .moon-offset-6 { left:51%; top:79%; --node-size:70px; opacity:.34; }
  .moon-stage .moon-offset-7 { left:18%; top:72%; --node-size:62px; opacity:.27; }
  .moon-stage .moon-offset-8 { left:8%; top:51%; --node-size:46px; opacity:.17; }

  .moon-offset-5 .orbit-caption,
  .moon-offset-6 .orbit-caption,
  .moon-offset-7 .orbit-caption { top:calc(100% + 8px); width:104px; }
  .moon-stage > .moon-return { bottom:max(22px,env(safe-area-inset-bottom)); }
}

/* ŞİMDİ sahnesi — Ay döngüsüyle aynı görsel aile, kendi işlevsel hiyerarşisi. */
.time-field {
  isolation:isolate;
  overflow:hidden;
}
.time-field::before,
.time-field::after {
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:43%;
  width:min(88vw,930px);
  height:min(36vw,360px);
  border:1px solid rgba(var(--gold-rgb),.22);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
  pointer-events:none;
}
.time-field::after {
  width:min(68vw,720px);
  height:min(27vw,270px);
  border-color:rgba(var(--blue-rgb),.17);
  border-style:dashed;
  transform:translate(-50%,-50%) rotate(16deg);
}
.time-field .core {
  position:absolute;
  left:50%;
  top:39%;
  width:min(31vw,330px);
  transform:translate(-50%,-50%);
}
.time-field .core:hover { transform:translate(-50%,-50%) scale(1.018); }
.time-field .core-ring { inset:-13%; border-color:rgba(var(--gold-rgb),.27); }
.time-field .ring-two { inset:-28%; border-color:rgba(var(--blue-rgb),.2); }
.time-field .core-dot {
  inset:3%;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 22%),
    radial-gradient(circle at 43% 38%,rgba(var(--atmo-rgb),.5),rgba(20,19,29,.95) 72%);
  border:1px solid rgba(var(--gold-rgb),.25);
  box-shadow:0 38px 58px rgba(0,0,0,.42),0 0 82px rgba(var(--atmo-rgb),.12),inset -28px -32px 48px rgba(0,0,0,.38);
}
.time-field .core-dot::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:radial-gradient(circle at 62% 65%,transparent 0 45%,rgba(0,0,0,.24) 72%,rgba(0,0,0,.46) 100%);
}
.time-field .core-copy small { color:var(--blue); font-size:10px; font-weight:700; }
.time-field .core-copy strong { color:var(--ink); text-shadow:0 6px 30px rgba(0,0,0,.35); }
.time-field .core-window { color:var(--gold); }
.time-field .core-copy em { margin-top:12px; font-size:12px; }
.time-field .signal-lines { inset:7%; opacity:.18; }

.time-field .previous { left:4%; top:38%; }
.time-field .next { right:4%; top:34%; }
.time-field .previous .planet-orb { width:82px; }
.time-field .next .planet-orb { width:104px; }
.time-field .previous { opacity:.3; }
.time-field .next { opacity:.62; }

.time-field .reading {
  top:auto;
  bottom:116px;
  width:min(720px,calc(100vw - 80px));
  opacity:0;
  transform:translateY(34px);
  pointer-events:none;
}
.time-field .reading .eyebrow { color:var(--blue); }
.time-field .reading h1 {
  margin:9px 0 10px;
  color:var(--ink);
  font-size:clamp(2.35rem,4.7vw,4.7rem);
  line-height:.95;
}
.time-field .reading-note {
  max-width:38em;
  margin-inline:auto;
  opacity:.55;
}
.time-field.is-open .core { transform:translate(-50%,-62%) scale(.76); }
.time-field.is-open .reading {
  top:55%;
  bottom:auto;
  opacity:1;
  transform:translateY(-50%);
}
.time-field.is-open .reading-note { opacity:1; }
.time-field.is-open .moment { opacity:.12; transform:scale(.92); }

@media (max-width:700px) {
  .time-field::before {
    top:39%;
    width:116vw;
    height:58vw;
    transform:translate(-50%,-50%) rotate(-24deg);
  }
  .time-field::after {
    top:39%;
    width:82vw;
    height:96vw;
    transform:translate(-50%,-50%) rotate(34deg);
  }
  .time-field .core {
    top:34%;
    width:min(58vw,235px);
  }
  .time-field .core-ring { inset:-12%; }
  .time-field .ring-two { inset:-24%; }
  .time-field .core-copy strong { font-size:clamp(3.2rem,14vw,4.4rem); }
  .time-field .core-copy small { font-size:10px; letter-spacing:.18em; }
  .time-field .core-window { margin-top:8px; font-size:10px; }
  .time-field .core-planet { font-size:10px; }
  .time-field .core-copy em { margin-top:9px; font-size:11px; }

  .time-field .previous,
  .time-field .next {
    top:52%;
    bottom:auto;
    width:96px;
  }
  .time-field .previous { left:5%; text-align:left; }
  .time-field .next { right:5%; text-align:right; }
  .time-field .previous .planet-orb { width:58px; }
  .time-field .next .planet-orb { width:72px; }
  .time-field .moment strong { margin-top:9px; font-size:16px; }
  .time-field .moment small { font-size:10px; }

  .time-field .reading {
    bottom:122px;
    width:calc(100vw - 36px);
  }
  .time-field .reading h1 { margin:7px auto 8px; max-width:9em; font-size:clamp(2rem,9vw,2.9rem); }
  .time-field .reading-note { max-width:31em; font-size:13px; line-height:1.4; }
  .time-field.is-open .core { transform:translate(-50%,-58%) scale(.72); }
  .time-field.is-open .reading { top:57%; bottom:auto; transform:translateY(-50%); }
  .time-field.is-open .moment { opacity:.08; }
  .time-field .moon-now { right:16px; bottom:86px; }
  .time-field .swipe-cue { bottom:94px; opacity:.42; }
}

@media (max-height:720px) and (max-width:700px) {
  .time-field .core { top:32%; width:min(48vw,190px); }
  .time-field .previous,.time-field .next { top:49%; }
  .time-field .reading { bottom:108px; }
  .time-field .reading-note { display:none; }
}

/* Faz değişimi bilinçli olarak daha ağır akar: önceki 0.72 sn yerine 1.44 sn. */
.moon-stage .moon-card {
  transition:
    left 1.44s cubic-bezier(.2,.8,.2,1),
    top 1.44s cubic-bezier(.2,.8,.2,1),
    opacity 1.1s,
    transform 1.44s cubic-bezier(.2,.8,.2,1),
    filter 1.1s;
}

/* Yörünge kompozisyonu: isim kalabalığı yerine ölçek ve konum derinlik üretir. */
.moon-stage::before { display:none; }
.moon-stage .moon-carousel {
  inset:13% 3% 9%;
  transform:none;
  transform-style:flat;
}
.moon-stage .moon-carousel::before,
.moon-stage .moon-carousel::after {
  content:"";
  position:absolute;
  left:50%; top:49%;
  width:min(88vw,1120px);
  height:min(34vw,340px);
  transform:translate(-50%,-50%);
  border:1px solid rgba(var(--gold-rgb),.24);
  border-radius:50%;
  pointer-events:none;
}
.moon-stage .moon-carousel::after {
  width:min(70vw,880px);
  height:min(25vw,250px);
  border-color:rgba(var(--blue-rgb),.18);
  border-style:dashed;
}
.moon-stage .moon-card {
  --node-size:72px;
  width:var(--node-size);
  min-width:0;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  opacity:.42;
  filter:none;
  transition:left .72s cubic-bezier(.2,.8,.2,1),top .72s cubic-bezier(.2,.8,.2,1),opacity .55s,transform .72s;
}
.moon-stage .moon-card .moon-sphere {
  width:var(--node-size);
  box-shadow:0 20px 34px rgba(0,0,0,.32),0 0 35px rgba(var(--atmo-rgb),.08),inset -12px -14px 24px rgba(0,0,0,.32);
}
.moon-stage .moon-card .moon-sphere::after { left:20%; right:20%; bottom:-14px; height:8px; filter:blur(7px); }
.moon-stage .moon-card .moon-sphere i { font-size:calc(var(--node-size) * .42); }
.moon-stage .moon-card.centered {
  --node-size:min(21vw,225px);
  z-index:20;
  left:50%; top:48%;
  width:min(42vw,440px);
  opacity:1;
}
.moon-stage .moon-card.centered .moon-sphere { box-shadow:0 42px 52px rgba(0,0,0,.42),0 0 85px rgba(var(--atmo-rgb),.14),inset -26px -30px 50px rgba(0,0,0,.38); }
.moon-stage .moon-card.centered small { margin-top:34px; }
.moon-stage .moon-card.centered > small { color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.16em; }
.moon-stage .moon-card.centered strong { font-size:clamp(3rem,5vw,4.7rem); }
.moon-stage .moon-card.centered em { width:min(34em,70vw); }
.moon-stage .moon-offset-0 { left:8%; top:51%; --node-size:45px; opacity:.18; }
.moon-stage .moon-offset-1 { left:18%; top:38%; --node-size:58px; opacity:.24; }
.moon-stage .moon-offset-2 { left:31%; top:31%; --node-size:78px; opacity:.34; }
.moon-stage .moon-offset-3 { left:42%; top:37%; --node-size:96px; opacity:.52; }
.moon-stage .moon-offset-5 { left:59%; top:36%; --node-size:96px; opacity:.55; }
.moon-stage .moon-offset-6 { left:71%; top:31%; --node-size:78px; opacity:.38; }
.moon-stage .moon-offset-7 { left:83%; top:39%; --node-size:58px; opacity:.26; }
.moon-stage .moon-offset-8 { left:93%; top:52%; --node-size:45px; opacity:.18; }

@media (max-width:720px) {
  .moon-stage .moon-carousel { inset:12% 0 7%; }
  .moon-stage .moon-carousel::before,
  .moon-stage .moon-carousel::after {
    width:76vw;
    height:118vw;
    top:49%;
    transform:translate(-50%,-50%) rotate(-36deg);
  }
  .moon-stage .moon-carousel::after {
    width:62vw;
    height:104vw;
    transform:translate(-50%,-50%) rotate(42deg);
  }
  .moon-stage .moon-card { --node-size:48px; }
  .moon-stage .moon-card.centered {
    --node-size:min(47vw,200px);
    left:50%; top:50%;
    width:84vw;
  }
  .moon-stage .moon-card.centered strong { font-size:clamp(3rem,13vw,4.5rem); }
  .moon-stage .moon-card.centered em { width:78vw; }
  .moon-stage .moon-offset-0 { left:14%; top:31%; --node-size:38px; opacity:.2; }
  .moon-stage .moon-offset-1 { left:29%; top:19%; --node-size:48px; opacity:.28; }
  .moon-stage .moon-offset-2 { left:50%; top:25%; --node-size:60px; opacity:.36; }
  .moon-stage .moon-offset-3 { left:72%; top:36%; --node-size:73px; opacity:.52; }
  .moon-stage .moon-offset-5 { left:72%; top:70%; --node-size:73px; opacity:.54; }
  .moon-stage .moon-offset-6 { left:47%; top:80%; --node-size:60px; opacity:.38; }
  .moon-stage .moon-offset-7 { left:24%; top:72%; --node-size:48px; opacity:.28; }
  .moon-stage .moon-offset-8 { left:12%; top:53%; --node-size:38px; opacity:.2; }
}

/* NASA LRO yüzey haritası sabit kalır; faz yalnızca yarı saydam ışık katmanıdır. */
.moon-stage .moon-sphere {
  overflow:visible;
  background:radial-gradient(circle at 34% 25%,rgba(255,255,255,.15),transparent 26%);
  border-color:rgba(var(--gold-rgb),.28);
}
.moon-stage .moon-surface,
.moon-stage .moon-phase-layer {
  position:absolute;
  inset:0;
  display:block;
  border-radius:50%;
}
.moon-stage .moon-surface {
  background-image:url('/assets/moon-lroc.jpg');
  background-size:205% 104%;
  background-position:50% 50%;
  filter:grayscale(.78) sepia(.18) contrast(1.16) brightness(.72);
  -webkit-mask-image:radial-gradient(circle,black 58%,rgba(0,0,0,.92) 72%,transparent 98%);
  mask-image:radial-gradient(circle,black 58%,rgba(0,0,0,.92) 72%,transparent 98%);
  box-shadow:inset -20px -24px 42px rgba(0,0,0,.42),inset 14px 12px 28px rgba(255,245,216,.08);
}
.moon-stage .moon-phase-layer {
  z-index:2;
  opacity:.3;
  mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(circle,black 68%,transparent 98%);
  mask-image:radial-gradient(circle,black 68%,transparent 98%);
}
.moon-stage .moon-phase-0 { background:rgba(2,2,7,.96); }
.moon-stage .moon-phase-1 { background:radial-gradient(circle at 72% 50%,transparent 0 39%,rgba(2,2,7,.98) 40%); }
.moon-stage .moon-phase-2 { background:linear-gradient(90deg,rgba(2,2,7,.98) 0 50%,transparent 50%); }
.moon-stage .moon-phase-3 { background:radial-gradient(circle at 78% 50%,transparent 0 71%,rgba(2,2,7,.98) 72%); }
.moon-stage .moon-phase-4 { opacity:0; }

/* Yakın fazlar, yörüngenin dekor değil navigasyon olduğunu görünür kılar. */
.moon-neighbor-strip {
  position:absolute;
  z-index:23;
  left:50%;
  bottom:28px;
  display:grid;
  grid-template-columns:repeat(3,minmax(170px,1fr));
  width:min(720px,calc(100vw - 120px));
  transform:translateX(-50%);
  border-block:1px solid rgba(var(--gold-rgb),.18);
  background:color-mix(in srgb,var(--bg) 76%,transparent);
  backdrop-filter:blur(14px);
}
.moon-neighbor-strip button {
  display:grid;
  grid-template-columns:44px 1fr;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:10px 14px;
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  color:var(--soft);
  text-align:left;
  cursor:pointer;
  transition:background .25s,color .25s,transform .25s;
}
.moon-neighbor-strip button:last-child { border-right:0; }
.moon-neighbor-strip button:hover { background:rgba(var(--gold-rgb),.06); color:var(--ink); }
.moon-neighbor-strip button.current { background:linear-gradient(120deg,rgba(var(--gold-rgb),.11),rgba(var(--blue-rgb),.055)); color:var(--ink); }
.moon-mini-sphere {
  position:relative;
  display:block;
  width:38px;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(var(--gold-rgb),.32);
  border-radius:50%;
  box-shadow:0 10px 20px rgba(0,0,0,.35);
}
.moon-neighbor-strip button.current .moon-mini-sphere { width:44px; border-color:rgba(var(--gold-rgb),.7); box-shadow:0 12px 25px rgba(0,0,0,.42),0 0 24px rgba(var(--gold-rgb),.12); }
.moon-neighbor-strip button > span:last-child { display:grid; gap:3px; min-width:0; }
.moon-neighbor-strip b { overflow:hidden; color:var(--ink); font:400 15px/1 Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.moon-neighbor-strip i { color:var(--gold); font:normal 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.moon-neighbor-strip small { overflow:hidden; color:var(--blue); font:10px/1.2 "Segoe UI",sans-serif; letter-spacing:.06em; text-overflow:ellipsis; white-space:nowrap; }
.moon-stage:focus-visible { outline:1px solid rgba(var(--gold-rgb),.48); outline-offset:-8px; }
.moon-stage > .moon-return { bottom:4px; }

.account-data-tools { display:grid; gap:12px; margin:18px 0; padding:15px 0; border-block:1px solid var(--line); }
.account-data-tools > div:first-child { display:grid; gap:6px; }
.account-data-tools b { color:var(--blue); font:700 10px/1.2 "Segoe UI",sans-serif; letter-spacing:.16em; }
.account-data-tools p { margin:0; color:var(--soft); font:11px/1.45 "Segoe UI",sans-serif; }
.account-data-actions { display:flex; flex-wrap:wrap; gap:6px; }
.account-data-actions button,.account-data-actions label { padding:8px 10px; border:1px solid var(--line); background:transparent; color:var(--ink); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.09em; cursor:pointer; }
.account-data-actions button:hover,.account-data-actions label:hover { border-color:var(--gold); color:var(--gold); }
.account-data-actions .danger { color:#c98b7d; }
.account-data-actions input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.account-data-tools > small { color:var(--gold); font:10px/1.4 "Segoe UI",sans-serif; }
.account-data-tools nav,.auth-legal { display:flex; gap:16px; }
.account-data-tools a,.auth-legal a { color:var(--soft); font:10px/1.2 "Segoe UI",sans-serif; letter-spacing:.08em; text-decoration:none; }
.account-data-tools a:hover,.auth-legal a:hover { color:var(--gold); }
.auth-card { max-height:min(820px,calc(100dvh - 40px)); overflow-y:auto; scrollbar-width:thin; }
.auth-legal { margin-top:18px; justify-content:center; }

body:has(.legal-page),body:has(.system-state) { height:auto; min-height:100%; overflow:auto; background:#0d0c14; }
.legal-page,.system-state { min-height:100dvh; color:#f5f0e7; background:radial-gradient(circle at 72% 12%,rgba(75,88,128,.16),transparent 38%),#0d0c14; }
.legal-page { padding:38px clamp(24px,7vw,100px) 80px; }
.legal-wordmark { display:inline-grid; color:#e5c368; font:400 23px/1 Georgia,serif; letter-spacing:.3em; text-decoration:none; }
.legal-wordmark small { margin-top:5px; color:#aaa4b3; font:10px/1 "Segoe UI",sans-serif; letter-spacing:.2em; }
.legal-page article { width:min(760px,100%); margin:clamp(64px,10vh,120px) auto 54px; }
.legal-page h1 { max-width:10em; margin:16px 0 22px; font:italic 400 clamp(3rem,7vw,6rem)/.95 Georgia,serif; }
.legal-lead { max-width:35em; margin:0 0 42px; color:#aaa4b3; font:italic 19px/1.55 Georgia,serif; }
.legal-page section { display:grid; grid-template-columns:150px 1fr; gap:28px; padding:22px 0; border-top:1px solid rgba(186,180,202,.18); }
.legal-page section b { color:#e5c368; font:700 10px/1.4 "Segoe UI",sans-serif; letter-spacing:.16em; }
.legal-page section p { margin:0; color:#ded8e3; font:15px/1.65 Georgia,serif; }
.legal-page article > small { display:block; padding-top:20px; border-top:1px solid rgba(186,180,202,.18); color:#888292; font:10px/1.5 "Segoe UI",sans-serif; }
.legal-back { display:block; width:max-content; margin:auto; padding-bottom:9px; border-bottom:1px solid #e5c368; color:#e5c368; font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.14em; text-decoration:none; }
.system-state { display:grid; place-content:center; justify-items:center; gap:18px; padding:30px; text-align:center; }
.system-state h1 { max-width:9em; margin:0; font:italic 400 clamp(3rem,8vw,6rem)/.95 Georgia,serif; }
.system-state p { max-width:32em; margin:0; color:#aaa4b3; font:italic 16px/1.5 Georgia,serif; }
.system-state button,.system-primary { padding:14px 19px; border:1px solid #e5c368; background:rgba(229,195,104,.08); color:#e5c368; font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.15em; text-decoration:none; cursor:pointer; }
.system-state > a:not(.system-primary) { color:#aaa4b3; font-size:10px; }
.loading-orbit { width:90px; aspect-ratio:1; border:1px solid #e5c368; border-right-color:transparent; border-radius:50%; animation:system-spin 1.4s linear infinite; }
@keyframes system-spin { to { transform:rotate(360deg); } }

@media (max-width:720px) {
  .moon-neighbor-strip { bottom:12px; grid-template-columns:repeat(3,1fr); width:calc(100vw - 24px); }
  .moon-neighbor-strip button { grid-template-columns:1fr; justify-items:center; gap:5px; padding:8px 4px; text-align:center; }
  .moon-mini-sphere { width:30px; }
  .moon-neighbor-strip button.current .moon-mini-sphere { width:36px; }
  .moon-neighbor-strip b { max-width:28vw; font-size:11px; }
  .moon-neighbor-strip small { display:none; }
  .moon-stage > .moon-return { bottom:82px; }
  .legal-page { padding:28px 22px 64px; }
  .legal-page article { margin-top:64px; }
  .legal-page section { grid-template-columns:1fr; gap:8px; }
}
.moon-stage .moon-phase-5 { background:radial-gradient(circle at 22% 50%,transparent 0 71%,rgba(2,2,7,.98) 72%); }
.moon-stage .moon-phase-6 { background:linear-gradient(90deg,transparent 0 50%,rgba(2,2,7,.98) 50%); }
.moon-stage .moon-phase-7 { background:radial-gradient(circle at 28% 50%,transparent 0 39%,rgba(2,2,7,.98) 40%); }
.moon-stage .moon-card .moon-sphere::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  border-radius:50%;
  background:radial-gradient(circle at 31% 23%,rgba(255,255,255,.16),transparent 24%);
  pointer-events:none;
}
.moon-stage .moon-offset-0 { --node-size:70px; }
.moon-stage .moon-offset-1 { --node-size:90px; }
.moon-stage .moon-offset-2 { --node-size:120px; }
.moon-stage .moon-offset-3 { --node-size:145px; }
.moon-stage .moon-offset-5 { --node-size:145px; }
.moon-stage .moon-offset-6 { --node-size:120px; }
.moon-stage .moon-offset-7 { --node-size:90px; }
.moon-stage .moon-offset-8 { --node-size:70px; }
.orbit-caption {
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  width:150px;
  transform:translateX(-50%);
  display:none;
  justify-items:center;
  gap:5px;
  text-align:center;
  pointer-events:none;
}
.moon-offset-5 .orbit-caption,
.moon-offset-6 .orbit-caption,
.moon-offset-7 .orbit-caption { display:grid; }
.orbit-caption b { color:var(--ink); font:400 13px/1.1 Georgia,serif; }
.orbit-caption i { color:var(--gold); font:normal 10px/1 "Segoe UI",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.orbit-caption small { margin:0!important; color:var(--blue); font:10px/1.25 "Segoe UI",sans-serif; letter-spacing:.07em; white-space:nowrap; }

@media (max-width:720px) {
  .moon-stage .moon-offset-0 { --node-size:58px; }
  .moon-stage .moon-offset-1 { --node-size:72px; }
  .moon-stage .moon-offset-2 { --node-size:90px; }
  .moon-stage .moon-offset-3 { --node-size:108px; }
  .moon-stage .moon-offset-5 { left:74%; top:68%; --node-size:108px; }
  .moon-stage .moon-offset-6 { left:49%; top:80%; --node-size:90px; }
  .moon-stage .moon-offset-7 { left:23%; top:69%; --node-size:72px; }
  .moon-stage .moon-offset-8 { --node-size:58px; }
  .orbit-caption { top:calc(100% + 9px); width:112px; gap:3px; }
  .orbit-caption b { font-size:11px; }
  .orbit-caption i { font-size:10px; }
  .orbit-caption small { font-size:10px; }
  .moon-stage .moon-card.centered small { margin-top:28px; color:var(--gold); font-size:10px; }
}

@media (max-width: 720px) {
  .moon-lens.moon-stage {
    width:100vw;
    height:100dvh;
    min-height:0;
    display:block;
    padding:0;
    overflow:hidden;
  }
  .lens-veil:has(.moon-stage) .lens-close { right:10px; top:10px; }
  .moon-stage-head { top:42px; width:calc(100vw - 90px); }
  .moon-stage-head > p:last-child { font-size:10px; }
  .moon-carousel { inset:12% 0 10%; }
  .moon-card {
    --x:calc(var(--moon-offset) * 67vw);
    width:70vw;
    min-width:0;
    transform:translate(calc(-50% + var(--x)),-50%) translateZ(calc(var(--moon-depth) * -130px)) rotateY(calc(var(--moon-offset) * -18deg)) scale(calc(1 - var(--moon-depth) * .28));
  }
  .moon-sphere { width:min(48vw,205px); }
  .moon-card small { margin-top:30px; }
  .moon-card strong { font-size:clamp(3rem,13vw,4.6rem); }
  .moon-card:not(.centered) strong { font-size:1.8rem; }
  .moon-card em { width:78vw; font-size:15px; }
  .moon-typography span { top:58%; font-size:29vw; opacity:.7; }
  .moon-arrow { display:none; }
  .moon-stage > .moon-return { bottom:max(28px,env(safe-area-inset-bottom)); }
  .moon-arc-panel { width:100vw; height:74dvh; border-radius:0 0 48% 48% / 0 0 5% 5%; }
  .moon-panel-scroll { padding:70px 24px 72px; }
  .moon-panel-scroll h2 { font-size:3.8rem; }
  .moon-panel-lead { margin:18px 0 24px; font-size:17px; }
  .moon-panel-facts,.moon-panel-guidance { grid-template-columns:1fr; }
  .moon-panel-facts span { padding:14px 0; border-right:0; border-bottom:1px solid var(--line); }
  .moon-panel-facts span:last-child { border-bottom:0; }
  .moon-panel-guidance { gap:20px; padding:24px 0; }
  .moon-panel-guidance p { margin-top:6px; font-size:14px; }
}

@media (max-width:700px) {
  .time-field.is-open .reading { top:50%; width:calc(100vw - 24px); }
  .time-field.is-open .reading h1 { font-size:clamp(1.65rem,7.5vw,2.3rem); }
  .time-field.is-open .reading-note { font-size:11px; }
}

/* Masaüstünde Ay sahnesini tek, okunaklı bir odakta toplar. */
@media (min-width:721px) {
  .moon-lens.moon-stage { --desktop-stage-width:min(960px,calc(100vw - 112px)); }
  .moon-stage-head { top:clamp(30px,5vh,54px); }
  .moon-stage .moon-carousel {
    inset:13% auto 8%;
    left:50%;
    width:var(--desktop-stage-width);
    transform:translateX(-50%);
  }
  .moon-stage .moon-carousel::before {
    top:46%;
    width:92%;
    height:250px;
    border-color:rgba(var(--gold-rgb),.28);
    box-shadow:inset 0 0 90px rgba(var(--blue-rgb),.025);
  }
  .moon-stage .moon-carousel::after { display:none; }
  .moon-stage .moon-card {
    top:47%;
    transition:left .9s cubic-bezier(.2,.8,.2,1),top .9s cubic-bezier(.2,.8,.2,1),opacity .62s,transform .9s,filter .62s;
  }
  .moon-stage .moon-card.centered {
    --node-size:clamp(230px,18vw,270px);
    left:50%;
    top:46%;
    width:440px;
    z-index:20;
    opacity:1;
    filter:none;
  }
  .moon-stage .moon-card.centered .moon-sphere {
    border-color:rgba(var(--gold-rgb),.56);
    box-shadow:0 46px 60px rgba(0,0,0,.5),0 0 92px rgba(var(--gold-rgb),.12),inset -28px -32px 52px rgba(0,0,0,.42);
  }
  .moon-stage .moon-card.centered .moon-selection-meta { margin-top:25px; gap:8px; }
  .moon-stage .moon-card.centered .moon-selection-meta small {
    color:var(--gold);
    font-size:10px;
    letter-spacing:.18em;
  }
  .moon-stage .moon-card.centered strong {
    margin-top:10px;
    font-size:clamp(3.4rem,5vw,5rem);
    text-shadow:0 12px 30px rgba(0,0,0,.32);
  }
  .moon-stage .moon-card.centered em {
    width:min(34em,70vw);
    margin-top:14px;
    color:rgba(var(--ink-rgb),.78);
    font-size:17px;
  }
  .moon-stage .moon-offset-2 { left:8%; top:51%; --node-size:88px; opacity:.34; filter:blur(.35px); }
  .moon-stage .moon-offset-3 { left:25%; top:45%; --node-size:145px; opacity:.7; }
  .moon-stage .moon-offset-5 { left:75%; top:45%; --node-size:145px; opacity:.7; }
  .moon-stage .moon-offset-6 { left:92%; top:51%; --node-size:88px; opacity:.34; filter:blur(.35px); }
  .moon-stage .moon-offset-0,
  .moon-stage .moon-offset-1,
  .moon-stage .moon-offset-7,
  .moon-stage .moon-offset-8 {
    visibility:hidden;
    pointer-events:none;
    opacity:0;
  }
  .moon-stage .moon-offset-2 .orbit-caption,
  .moon-stage .moon-offset-3 .orbit-caption,
  .moon-stage .moon-offset-5 .orbit-caption,
  .moon-stage .moon-offset-6 .orbit-caption { display:grid; }
  .moon-stage .moon-offset-2 .orbit-caption,
  .moon-stage .moon-offset-6 .orbit-caption { opacity:.72; }
  .moon-stage .orbit-caption { top:calc(100% + 18px); width:170px; gap:6px; }
  .moon-stage .orbit-caption b { color:rgba(var(--ink-rgb),.9); font-size:15px; }
  .moon-stage .orbit-caption i { font-size:10px; }
  .moon-stage .orbit-caption small { color:rgba(var(--blue-rgb),.88); font-size:10px; }
  .moon-stage .moon-arrow {
    top:47%;
    width:58px;
    height:86px;
    border:1px solid rgba(var(--gold-rgb),.18);
    border-radius:50%;
    background:rgba(15,14,22,.34);
    backdrop-filter:blur(8px);
    font-size:36px;
    transition:border-color .25s,background .25s,transform .25s;
  }
  .moon-stage .moon-arrow:hover {
    border-color:rgba(var(--gold-rgb),.58);
    background:rgba(var(--gold-rgb),.08);
    transform:scale(1.05);
  }
  .moon-stage .moon-arrow-left { left:max(24px,calc(50% - 540px)); }
  .moon-stage .moon-arrow-right { right:max(24px,calc(50% - 540px)); }
}

/* Gerçek Ay dokusu sabit kalır; faz maskesi okunaklı bir katman olarak değişir. */
.moon-stage .moon-phase-layer { opacity:.7; }
.moon-stage .moon-phase-0 { opacity:.9; }
.moon-stage .moon-phase-4 { opacity:0; }

@media (max-width:700px) {
  .threshold-entry { place-items:start center; overflow-y:auto; padding:82px 18px 42px; }
  .threshold-space::before { top:43%; width:112vw; height:72vh; }
  .threshold-space::after { top:42%; width:82vw; height:55vh; }
  .threshold-orbit { top:43%; width:128vw; height:190px; }
  .threshold-orbit.orbit-two { width:92vw; height:390px; }
  .threshold-plane { bottom:-8vh; height:45vh; }
  .threshold-copy { width:100%; }
  .threshold-kicker { font-size:10px; }
  .threshold-copy h1 { margin:22px 0 16px; font-size:clamp(3.5rem,16vw,5.4rem); }
  .threshold-copy > p { max-width:24em; font-size:15px; }
  .threshold-rooms { gap:5px; margin:34px 0 25px; }
  .threshold-rooms > span { min-height:86px; padding:15px 5px 10px; }
  .threshold-rooms i { font-size:19px; }
  .threshold-rooms b { font-size:17px; }
  .threshold-rooms small { font-size:10px; letter-spacing:.08em; }
  .method-room-space { grid-template-columns:1fr; }
  .method-room-space article { min-height:0; padding:16px; }
  .directions { width:calc(100% - 18px); gap:5px; bottom:max(5px,env(safe-area-inset-bottom)); }
  .directions::before { left:0; right:0; height:76px; bottom:-10px; }
  .direction { min-height:76px; transform:translateY(4px) scale(.97); }
  .direction.active { transform:translateY(-7px) scale(1.035); }
  .direction-mark { font-size:21px; }
  .direction b { font-size:18px; }
  .direction small { font-size:10px; letter-spacing:.09em; }
}

@media (prefers-reduced-motion:reduce) {
  .threshold-space::after,.threshold-copy { animation:none; }
  .direction,.threshold-enter { transition:none; }
}

/* Ana üç oda: sert platformlar yerine aynı yörüngede asılı hafif eşikler. */
.directions {
  width:min(650px,calc(100% - 28px));
  gap:clamp(8px,2vw,24px);
}
.directions::before {
  left:1%;
  right:1%;
  bottom:2px;
  height:54px;
  border-color:rgba(var(--gold-rgb),.2);
  background:radial-gradient(ellipse at center,rgba(var(--gold-rgb),.035),transparent 66%);
  box-shadow:none;
  transform:rotateX(71deg);
}
.direction {
  min-height:82px;
  border:0;
  clip-path:none;
  background:transparent;
  box-shadow:none;
  transform:translateY(2px);
  opacity:.68;
}
.direction::before {
  top:13px;
  width:46px;
  height:46px;
  border:1px solid rgba(var(--blue-rgb),.24);
  border-radius:50%;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.09),rgba(var(--blue-rgb),.035) 36%,transparent 72%);
  box-shadow:0 10px 22px rgba(0,0,0,.16),inset -7px -8px 13px rgba(0,0,0,.08);
  transition:border-color .35s,box-shadow .35s,transform .35s,background .35s;
}
.direction:hover {
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  transform:translateY(-2px);
  opacity:.9;
}
.direction:hover::before { border-color:rgba(var(--gold-rgb),.35); transform:scale(1.05); }
.direction-mark { display:grid; place-items:center; width:46px; height:46px; margin-bottom:2px; font-size:19px; }
.direction b { margin-top:1px; font-size:18px; }
.direction small { margin-top:3px; font-size:10px; }
.direction.active {
  transform:translateY(-5px);
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  opacity:1;
}
.direction.active::before {
  border-color:rgba(var(--gold-rgb),.58);
  background:radial-gradient(circle at 36% 27%,rgba(255,255,255,.14),rgba(var(--gold-rgb),.1) 38%,transparent 74%);
  box-shadow:0 14px 27px rgba(0,0,0,.2),0 0 24px rgba(var(--gold-rgb),.1),inset -7px -8px 14px rgba(0,0,0,.1);
  transform:scale(1.08);
}
.direction.active::after {
  bottom:-1px;
  width:78%;
  height:16px;
  border:1px solid rgba(var(--gold-rgb),.28);
  border-radius:50%;
  background:transparent;
  box-shadow:0 0 16px rgba(var(--gold-rgb),.08);
  transform:rotateX(68deg);
}

/* Bağ'ın bütün adımlarında odalar arası çıkış görünür kalır. */
.mode-bond .directions,
.bond-flow:not(.bond-step-topic) ~ .directions { display:grid; }
.mode-bond .bond-flow { padding-bottom:max(94px,calc(72px + env(safe-area-inset-bottom))); }

@media (max-width:700px) {
  .directions { width:calc(100% - 14px); gap:2px; }
  .directions::before { height:45px; bottom:1px; }
  .direction { min-height:72px; transform:none; }
  .direction::before,.direction-mark { width:38px; height:38px; }
  .direction-mark { font-size:17px; }
  .direction b { font-size:17px; }
  .direction small { font-size:10px; }
  .direction.active { transform:translateY(-4px); }
  .direction.active::after { width:82%; }
  .mode-bond .bond-flow { padding-bottom:max(88px,calc(66px + env(safe-area-inset-bottom))); }
}

/* Daha güçlü giriş noktaları: küre ve işaret birlikte, tam merkezde büyür. */
.directions { width:min(820px,calc(100% - 32px)); bottom:14px; }
.directions::before { bottom:4px; height:76px; }
.direction { min-height:142px; }
.direction::before {
  left:50%;
  top:8px;
  width:92px;
  height:92px;
  transform:translateX(-50%);
  box-shadow:0 18px 34px rgba(0,0,0,.2),inset -12px -14px 22px rgba(0,0,0,.11);
}
.direction-mark {
  justify-self:center;
  width:92px;
  height:92px;
  margin:0 0 4px;
  font-size:34px;
  line-height:1;
  text-align:center;
}
.direction b { font-size:22px; }
.direction small { font-size:10px; }
.direction:hover::before { transform:translateX(-50%) scale(1.035); }
.direction.active::before { transform:translateX(-50%) scale(1.06); }
.direction.active::after { bottom:0; height:22px; }
.mode-bond .bond-flow { padding-bottom:max(158px,calc(130px + env(safe-area-inset-bottom))); }

.moon-now {
  grid-template-columns:64px auto;
  column-gap:16px;
  min-height:80px;
  padding:10px 0 10px 20px;
}
.moon-now-orb { width:64px; border-color:rgba(var(--gold-rgb),.38); box-shadow:0 15px 28px rgba(0,0,0,.38),0 0 28px rgba(var(--blue-rgb),.17); }
.moon-now b { font-size:19px; }
.moon-now small { margin-top:6px; font-size:10px; }

@media (max-width:700px) {
  .directions { width:calc(100% - 8px); bottom:max(5px,env(safe-area-inset-bottom)); gap:0; }
  .directions::before { height:62px; }
  .direction { min-height:118px; }
  .direction::before,.direction-mark { width:72px; height:72px; }
  .direction::before { top:7px; }
  .direction-mark { margin-bottom:2px; font-size:29px; }
  .direction b { font-size:19px; }
  .direction small { font-size:10px; }
  .mode-bond .bond-flow { padding-bottom:max(134px,calc(108px + env(safe-area-inset-bottom))); }
  .moon-now {
    right:14px;
    bottom:max(136px,calc(112px + env(safe-area-inset-bottom)));
    grid-template-columns:52px auto;
    column-gap:11px;
    min-height:66px;
    padding:8px 0 8px 13px;
  }
  .moon-now-orb { width:52px; }
  .moon-now b { font-size:16px; }
  .moon-now small { font-size:10px; }
}

/* Açılan okumalar, sahneyi terk etmeden onun üzerinde yükselen katmanlardır. */
.reading-veil {
  position:fixed;
  z-index:6;
  inset:0;
  border:0;
  background:rgba(251,247,239,.34);
  opacity:0;
  pointer-events:none;
  backdrop-filter:blur(13px) saturate(.84);
  transition:opacity .38s ease;
}
[data-theme="dusk"] .reading-veil { background:rgba(12,11,18,.30); }
.time-field.is-open .reading-veil { opacity:1; pointer-events:auto; }
.time-field.is-open .reading {
  z-index:8;
  width:min(760px,calc(100vw - 64px));
  max-height:min(78dvh,820px);
  overflow:auto;
  padding:58px clamp(28px,5vw,72px) 44px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  scrollbar-width:thin;
}
.reading-close {
  position:absolute;
  right:22px;
  top:18px;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:var(--soft);
  font:300 30px/1 Georgia,serif;
  cursor:pointer;
}
.time-field.is-open .moon-now { opacity:0; pointer-events:none; }
.stage:has(.time-field.is-open) .directions,
.stage:has(.auth-shell) .directions,
.stage:has(.lens-veil) .directions,
.stage:has(.time-detail-veil) .directions { opacity:0; pointer-events:none; transform:translateX(-50%) translateY(22px); }
.directions { transition:opacity .35s ease,transform .4s ease; }

/* Diğer lensler de ana sahneyi tamamen silmez; arkada flu bir iz bırakır. */
.lens-veil:not(:has(.moon-stage)) { background:rgba(251,247,239,.58); backdrop-filter:blur(15px) saturate(.8); }
[data-theme="dusk"] .lens-veil:not(:has(.moon-stage)) { background:rgba(12,11,18,.61); }
.time-detail-veil { background:rgba(251,247,239,.6); backdrop-filter:blur(16px) saturate(.8); }
[data-theme="dusk"] .time-detail-veil { background:rgba(12,11,18,.63); }

/* Büyütülen Ay, alt navigasyonun alanından çıkar ve sağ üstte sabitlenir. */
.moon-now {
  top:104px;
  right:clamp(24px,4vw,64px);
  bottom:auto;
}

@media (max-width:700px) {
  .time-field.is-open .reading {
    top:50%;
    width:calc(100vw - 20px);
    max-height:78dvh;
    padding:52px 16px 30px;
    border-radius:0;
  }
  .reading-close { right:10px; top:9px; }
  .time-field .moon-now,
  .moon-now {
    top:84px;
    right:12px;
    bottom:auto;
  }
}

/* Son mobil katman: tam ekran kompozisyonu korurken kök sayfanın doğal hareketini kilitlemez. */
@media (max-width:700px) {
  .stage {
    height:auto;
    min-height:100dvh;
    overflow-x:clip;
    overflow-y:visible;
  }
  .finder.step-intent .question-scene { transform:translateY(-7vh); }
  .finder.step-result {
    overflow-y:auto;
    overscroll-behavior-y:auto;
    padding-top:78px;
    padding-bottom:150px;
  }
  .lens-veil:not(:has(.moon-stage)) {
    place-items:start center;
    overflow-y:auto;
    padding:18px 0 96px;
  }
  .time-field.is-open .reading {
    top:46%;
    max-height:82dvh;
    overscroll-behavior:contain;
  }
  .topline { padding:16px 12px; }
  .wordmark { font-size:17px; letter-spacing:.24em; }
  .wordmark small { margin-top:6px; font-size:10px; }
  .top-actions { gap:8px; min-width:0; }
  .account-trigger {
    max-width:48px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:10px;
  }
  .place { max-width:100px; font-size:11px; }
}

/* Her odanın ne işe yaradığını bulunduğu yerden anlatan bağlamsal mercek. */
.room-info {
  position:fixed;
  z-index:34;
  left:clamp(22px,4vw,64px);
  top:112px;
}
.room-info-trigger {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid rgba(var(--gold-rgb),.46);
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.12),rgba(var(--blue-rgb),.08) 42%,rgba(var(--gold-rgb),.08));
  color:var(--gold);
  box-shadow:0 14px 32px rgba(0,0,0,.22),0 0 0 8px rgba(var(--gold-rgb),.025);
  cursor:pointer;
  transition:transform .3s ease,box-shadow .3s ease;
}
.room-info-trigger::after {
  content:"";
  position:absolute;
  inset:7px;
  border:1px dashed rgba(var(--blue-rgb),.3);
  border-radius:50%;
}
.room-info-trigger span { position:relative; z-index:1; font:italic 25px/1 Georgia,serif; }
.room-info-trigger:hover,.room-info.is-open .room-info-trigger { transform:translateY(-2px) scale(1.04); box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 26px rgba(var(--gold-rgb),.12); }
.room-info-pop {
  position:absolute;
  left:22px;
  top:28px;
  width:min(390px,calc(100vw - 44px));
  min-height:310px;
  display:grid;
  align-content:center;
  padding:54px 46px 40px 62px;
  border:1px solid rgba(var(--gold-rgb),.34);
  border-radius:48% 48% 42% 42% / 44% 44% 52% 52%;
  background:color-mix(in srgb,var(--paper) 83%,transparent);
  box-shadow:0 32px 90px rgba(0,0,0,.3),inset 0 0 70px rgba(var(--blue-rgb),.035);
  backdrop-filter:blur(18px) saturate(.82);
  animation:veil-in .32s ease both;
}
.room-info-pop::before { content:""; position:absolute; inset:9%; border:1px dashed rgba(var(--blue-rgb),.2); border-radius:50%; pointer-events:none; }
.room-info-pop > * { position:relative; z-index:1; }
.room-info-close { position:absolute; right:28px; top:24px; width:35px; height:35px; border:0; background:transparent; color:var(--soft); font:27px/1 Georgia,serif; cursor:pointer; }
.room-info-pop small { color:var(--blue); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.24em; }
.room-info-pop h2 { margin:12px 0 9px; color:var(--gold); font:400 42px/.95 Georgia,serif; }
.room-info-pop strong { color:var(--ink); font:italic 18px/1.35 Georgia,serif; font-weight:400; }
.room-info-pop p { margin:15px 0 14px; color:var(--soft); font:14px/1.55 Georgia,serif; }
.room-info-pop em { color:var(--blue); font:italic 10px/1.45 Georgia,serif; }

.room-info-setting {
  display:grid;
  grid-template-columns:1fr auto 34px;
  align-items:center;
  gap:12px;
  width:100%;
  margin-top:10px;
  padding:13px 0;
  border:0;
  border-top:1px solid var(--line);
  background:transparent;
  color:var(--soft);
  text-align:left;
  cursor:pointer;
}
.room-info-setting span { color:var(--blue); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.16em; }
.room-info-setting b { color:var(--ink); font:700 10px/1 "Segoe UI",sans-serif; letter-spacing:.12em; }
.room-info-setting i { position:relative; width:32px; height:17px; border:1px solid rgba(var(--gold-rgb),.5); border-radius:999px; }
.room-info-setting i::after { content:""; position:absolute; left:3px; top:3px; width:9px; height:9px; border-radius:50%; background:var(--soft); transition:transform .25s ease,background .25s ease; }
.room-info-setting i.is-on::after { transform:translateX(15px); background:var(--gold); }

@media (max-width:700px) {
  .room-info { left:16px; top:112px; }
  .room-info-trigger { width:46px; height:46px; }
  .room-info-pop {
    left:10px;
    top:24px;
    width:min(350px,calc(100vw - 26px));
    min-height:292px;
    padding:48px 30px 34px 44px;
  }
  .room-info-pop h2 { font-size:36px; }
  .room-info-pop strong { font-size:16px; }
  .room-info-pop p { font-size:13px; }
}

/* Bağ formları ana sahnenin yerine geçmez; onun üzerinde çalışan gerçek bir katmandır. */
.stage[data-bond-step="profile"] .bond-profile-new,
.stage[data-bond-step="birthtest"] .bond-reframe,
.stage[data-bond-step="meeting"] .bond-meeting {
  position:fixed;
  z-index:70;
  inset:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.stage[data-bond-step="profile"] .bond-profile-new::before,
.stage[data-bond-step="birthtest"] .bond-reframe::before,
.stage[data-bond-step="meeting"] .bond-meeting::before {
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  background:rgba(12,11,18,.72);
  backdrop-filter:blur(18px) saturate(.72);
}
.stage[data-theme="light"][data-bond-step="profile"] .bond-profile-new::before,
.stage[data-theme="light"][data-bond-step="birthtest"] .bond-reframe::before,
.stage[data-theme="light"][data-bond-step="meeting"] .bond-meeting::before {
  background:rgba(251,247,239,.72);
}
.stage[data-bond-step="profile"] .directions,
.stage[data-bond-step="birthtest"] .directions,
.stage[data-bond-step="meeting"] .directions,
.stage[data-bond-step="currents"] .directions,
.stage[data-bond-step="result"] .directions {
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(22px) !important;
}
.stage[data-bond-step="profile"] .bond-progress,
.stage[data-bond-step="birthtest"] .bond-progress,
.stage[data-bond-step="meeting"] .bond-progress {
  z-index:74;
}

/* Güncel Bağ ara adımları, önceki sahnenin üzerinde tek katman olarak çalışır. */
.stage[data-bond-step="topic"] .bond-topic-v2,
.stage[data-bond-step="moment"] .bond-moment {
  position:fixed;
  z-index:70;
  inset:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  isolation:isolate;
}

.stage[data-bond-step="topic"] .bond-topic-v2::before,
.stage[data-bond-step="moment"] .bond-moment::before {
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  background:rgba(12,11,18,.78);
  backdrop-filter:blur(20px) saturate(.7);
}

.stage[data-theme="light"][data-bond-step="topic"] .bond-topic-v2::before,
.stage[data-theme="light"][data-bond-step="moment"] .bond-moment::before {
  background:rgba(251,247,239,.78);
}

.stage[data-bond-step="topic"] .bond-progress,
.stage[data-bond-step="moment"] .bond-progress {
  z-index:74;
}

/* Telefonda işlev taşıyan hiçbir yardımcı metin 10 px'in altına düşmez. */
@media (max-width:700px) {
  .stage small,
  .stage .scene-kicker,
  .stage .eyebrow,
  .stage .location-label,
  .stage .back-step span,
  .stage .bond-progress,
  .stage .bond-progress span,
  .stage .direction small,
  .stage .core-copy small,
  .stage .moon-now small,
  .stage .room-info-pop small,
  .stage .room-info-pop em,
  .stage .room-info-setting span,
  .stage .room-info-setting b {
    font-size:10px !important;
    line-height:1.35;
  }
  .bond-profile-new,
  .bond-meeting {
    padding:104px 18px 132px;
  }
  .bond-profile-new h1,
  .bond-meeting h1 {
    width:min(94vw,560px);
    margin:12px auto 10px;
    font-size:clamp(2.35rem,11vw,3.25rem);
    line-height:.94;
    overflow-wrap:anywhere;
  }
  .bond-profile-new > p:not(.scene-kicker),
  .bond-meeting > p:not(.scene-kicker) {
    width:min(92vw,520px);
    margin:0 auto 22px;
    font-size:16px;
    line-height:1.45;
  }
}

/* Tek katman ilkesi: açılan her yüzey alttaki uygulamayı flu, pasif bir sahneye çevirir. */
.room-info.is-open { z-index:90; }
.room-info-scrim {
  position:fixed;
  z-index:0;
  inset:0;
  width:100vw;
  height:100dvh;
  border:0;
  background:rgba(12,11,18,.72);
  backdrop-filter:blur(22px) saturate(.62);
  cursor:default;
}
[data-theme="light"] .room-info-scrim { background:rgba(251,247,239,.72); }
.room-info.is-open .room-info-trigger { z-index:2; }
.room-info.is-open .room-info-pop {
  z-index:3;
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  backdrop-filter:blur(24px) saturate(.72);
}
.stage:has(.room-info.is-open) .directions {
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(22px) !important;
}

/* Bütün standart pop-up'larda aynı görsel ve etkileşim ayrımı. */
[data-theme="dusk"] .lens-veil:not(:has(.moon-stage)),
[data-theme="dusk"] .time-detail-veil {
  background:rgba(12,11,18,.74);
  backdrop-filter:blur(21px) saturate(.66);
}
[data-theme="light"] .lens-veil:not(:has(.moon-stage)),
[data-theme="light"] .time-detail-veil {
  background:rgba(251,247,239,.74);
  backdrop-filter:blur(21px) saturate(.7);
}
[data-theme="dusk"] .reading-veil {
  background:rgba(12,11,18,.56);
  backdrop-filter:blur(18px) saturate(.68);
}

/* Sonuç eylemleri mobil alt navigasyonun dokunma alanına girmemeli. */
@media (max-width:700px) {
  .result-scene .use-opening {
    z-index:32;
    bottom:max(154px,calc(132px + env(safe-area-inset-bottom)));
    min-width:190px;
    min-height:48px;
    touch-action:manipulation;
    pointer-events:auto;
  }

  .result-scene .result-modulor-link {
    position:absolute;
    z-index:31;
    left:50%;
    right:auto;
    bottom:max(78px,calc(58px + env(safe-area-inset-bottom)));
    width:calc(100vw - 40px);
    max-width:420px;
    margin:0;
    transform:translateX(-50%);
    pointer-events:auto;
  }

  /* Modal açıldığında arka sahne tümüyle pasiftir. .lens-veil artık
     .stage'in doğrudan çocuğu değil, hit-testing için ayrılan
     #aralik-overlay sarmalayıcısının içinde (bkz. js/views/*.js
     overlayEl()) -- bu yüzden burada .stage'in kendisi değil
     #aralik-overlay hedefleniyor, yoksa overlay'in kendisi de
     pasifleşip içindeki düğmeler tıklanamaz hale geliyordu. */
  .stage:has(.lens-veil) > :not(#aralik-overlay):not(#aralik-auth-overlay),
  .stage:has(.time-detail-veil) > :not(#aralik-overlay):not(#aralik-auth-overlay) {
    pointer-events:none !important;
  }

  .stage > #aralik-overlay,
  .stage > #aralik-auth-overlay {
    z-index:100;
    pointer-events:auto;
  }
}

@media (max-width:700px) {
  .room-info { left:8px; top:102px; }
  .room-info-trigger { width:42px; height:42px; }
  .room-info-trigger span { font-size:22px; }
  .room-info-pop {
    position:fixed;
    left:50%;
    top:50%;
    width:calc(100vw - 28px);
    max-width:390px;
    min-height:320px;
    padding:54px 38px 40px;
    transform:translate(-50%,-50%);
    border-radius:46% 46% 22px 22px / 9% 9% 22px 22px;
  }
  .room-info-close { right:18px; top:18px; }

  .stage[data-bond-step="person"] .bond-reframe,
  .stage[data-bond-step="topic"] .bond-reframe,
  .stage[data-bond-step="profile"] .bond-reframe {
    place-content:start center;
    overflow-x:hidden;
    overflow-y:auto;
    padding:154px 16px 156px;
  }
  .stage[data-bond-step="person"] .bond-reframe h1,
  .stage[data-bond-step="topic"] .bond-reframe h1,
  .stage[data-bond-step="profile"] .bond-reframe h1 {
    width:min(94vw,560px);
    margin:10px auto 12px;
    font-size:clamp(2.45rem,11.5vw,3.35rem);
    line-height:.94;
    overflow-wrap:anywhere;
  }
  .stage[data-bond-step="person"] .bond-reframe > p:not(.scene-kicker),
  .stage[data-bond-step="topic"] .bond-reframe > p:not(.scene-kicker),
  .stage[data-bond-step="profile"] .bond-reframe > p:not(.scene-kicker) {
    margin:0 auto 22px;
    font-size:16px;
    line-height:1.42;
  }
}
