.path-hero{text-align:center;padding-top:48px}
.path-page [hidden] { display: none !important; }
.path-hero .lead{max-width:640px;margin:12px auto 0}
.path-why{margin-top:18px;color:var(--muted,#c7cbe3);font-size:14px}
.path-why summary{cursor:pointer;color:var(--accent,#c9bcff)}
.path-why p{margin-top:8px;line-height:1.6}
#sphere-status{margin-top:14px;min-height:1.4em}
.goal.locked{opacity:.45;cursor:not-allowed}
.goal.active{outline:2px solid var(--accent,#c9bcff);outline-offset:2px}
#birth .mock-field{display:flex;flex-direction:column;gap:10px;max-width:420px}
#birth .mock-field label{font-size:13px;color:var(--muted,#c7cbe3)}
#birth .mock-field input[type=date],#birth .mock-field input[type=time],#birth .mock-field input[type=text]{background:var(--panel,#141833);border:1px solid var(--line,#3d437a);border-radius:10px;color:var(--text,#f8f9ff);padding:10px 12px;font:inherit}
.checkbox-line{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}
#build-btn{margin-top:10px}
#build-status{min-height:1.4em}
#result{margin-top:24px;background:var(--panel,#141833);border:1px solid var(--line,#3d437a);border-radius:16px;padding:24px;max-width:680px}
.path-result-text{white-space:pre-wrap;line-height:1.7;color:var(--text,#f8f9ff)}

/* The supplied artwork frames a single, consistent content column. */
body.path-page::before, body.path-page::after { content: none; }
.path-page main {
  display: flow-root;
  /* Same rgba(11,14,26,.55 -> .75) overlay as natal/horoscopes/numerology at the top of
     the hero (matching tone across pages), fading to fully solid so the long form/journal
     content further down the page stays readable over the artwork. */
  background: linear-gradient(180deg, #0b0e1a8c, #0b0e1abf 70%, #0b0e1a),
    url('/landing-assets/assets/path-background.png') center top / 100% auto no-repeat;
  padding-bottom: 72px;
}
.path-page main > .section {
  box-sizing: border-box;
  width: min(1050px, 84%);
  margin: 0 auto;
  padding: 48px 0;
}
.path-page main > .path-hero { max-width: 800px; padding: 88px 0 56px; }
.path-page .path-hero h1 { font-size: clamp(44px, 5vw, 72px); line-height: 1.08; margin: 20px auto 24px; }
.path-page .path-hero h1 em { display: block; }
.path-page #path-login { margin-top: 28px; }
.path-page :is(#goal-section, #journal-section) form { display: grid; gap: 16px; max-width: 720px; }
.path-page :is(#goal-section, #journal-section) label { color: var(--muted); font-size: 14px; }
.path-page :is(#goal-section, #journal-section) textarea { width: 100%; box-sizing: border-box; padding: 16px; border: 1px solid var(--line); border-radius: 12px; resize: vertical; font: inherit; }
.path-page :is(#goal-section, #journal-section) button { justify-self: start; }
.path-page #journey-history details { padding: 20px; margin: 12px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.path-page #journey-history summary { cursor: pointer; overflow-wrap: anywhere; }
.path-page #journey-history p { white-space: pre-wrap; overflow-wrap: anywhere; }
.path-page .path-hero .lead { max-width: 650px; font-size: 17px; line-height: 1.8; margin: 0 auto; }
.path-page main h2 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.12; margin: 12px 0 24px; }
.path-page .eyebrow { margin: 0; }
.path-page #sphere > h2, .path-page #sphere > .eyebrow { text-align: center; }
.path-page #sphere-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 32px 0 0;
  width: 100%;
  max-width: none;
}
.path-page #sphere-grid .goal {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 24px;
  border: 1px solid #5a63a970;
  border-radius: 16px;
  background: linear-gradient(135deg, #1b2042d9, #101426ed);
  text-align: left;
  color: var(--text);
  transition: border-color .2s, background .2s;
}
.path-page #sphere-grid .goal i { flex: 0 0 30px; font: normal 30px/1 Georgia, serif; color: var(--accent); }
.path-page #sphere-grid .goal span { min-width: 0; font-size: 16px; line-height: 1.5; }
.path-page #sphere-grid .goal small { display: block; margin-top: 5px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.path-page #sphere-grid .goal b { margin-left: auto; color: var(--accent); font-size: 18px; }
.path-page #sphere-grid .goal:hover:not(.locked), .path-page #sphere-grid .goal.active { border-color: var(--accent); background: #232a5ae6; }
.path-page #sphere-status { text-align: center; margin: 18px 0 0; }
.path-page .path-why { max-width: 760px; margin: 18px auto 0; padding: 18px 22px; border: 1px solid #3d437a80; border-radius: 12px; background: #0b0e1a99; }
.path-page .path-why summary { font-size: 14px; }
.path-page .path-why p { margin: 14px 0 0; }
.path-page main > #birth, .path-page main > #build {
  width: min(1050px, 84%);
  margin: 32px auto;
  padding: 40px 48px;
  border: 1px solid #5a63a970;
  border-radius: 20px;
  background: linear-gradient(135deg, #1b2042e6, #101426f2);
}
.path-page #birth .fine, .path-page #build > .fine { max-width: 720px; font-size: 14px; line-height: 1.8; }
.path-page #birth .mock-field { width: 100%; max-width: 560px; margin: 28px 0 0; gap: 12px; }
.path-page #birth .mock-field input:not([type=checkbox]) { box-sizing: border-box; width: 100%; min-height: 48px; }
.path-page .checkbox-line { margin: 4px 0 12px; }
.path-page #build-btn { margin-top: 22px; }
.path-page #build-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.path-page #build-status:empty { margin: 0; min-height: 0; }
.path-page #result { max-width: none; margin-top: 32px; padding: 28px; background: #0b0e1a99; }
.path-page .path-result-text { max-width: 70ch; font-size: 15px; line-height: 1.85; }
.path-page main > .faq { max-width: 850px; padding-top: 64px; }
.path-page .faq h2 { text-align: center; margin-bottom: 32px; }
.path-page .faq details { padding: 20px 24px; margin: 12px 0; border: 1px solid #3d437a; border-radius: 12px; background: #141833d9; }
.path-page .faq summary { cursor: pointer; font-size: 15px; line-height: 1.5; }
.path-page .faq p { margin: 16px 0 0; color: var(--muted); line-height: 1.8; }
.path-page > footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 28px; width: min(1050px, 84%); margin: 0 auto; padding: 32px 0; border-top: 1px solid var(--line); font-size: 12px; }
.path-page > footer .logo { font: 32px Cormorant, Georgia, serif; letter-spacing: .2em; color: var(--text); }
@media (max-width: 900px) {
  .path-page #sphere-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .path-page main > #birth, .path-page main > #build { padding: 32px; }
}
@media (max-width: 540px) {
  .path-page main { background-size: auto 1500px; padding-bottom: 32px; }
  .path-page main > .section, .path-page main > #birth, .path-page main > #build { width: calc(100% - 40px); }
  .path-page main > .path-hero { padding: 56px 0 24px; }
  .path-page .path-hero .lead { font-size: 15px; line-height: 1.75; }
  .path-page main > .section { padding-block: 32px; }
  .path-page #sphere-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
  .path-page #sphere-grid .goal { min-height: 90px; padding: 20px; }
  .path-page main > #birth, .path-page main > #build { padding: 28px 22px; margin-block: 24px; }
  .path-page #build .button, .path-page #birth .button { width: 100%; }
  .path-page .path-why { padding: 16px; }
  .path-page .faq details { padding: 18px; }
  .path-page #result { padding: 18px; }
  .path-page > footer { width: calc(100% - 40px); }
}

.path-page #week-form, .path-page .note-editor { display:grid; gap:16px; max-width:720px; }
.path-page :is(#week-form,.note-editor) textarea { display:block; width:100%; box-sizing:border-box; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--text); font:inherit; resize:vertical; }
.path-page :is(#week-form,.note-editor) label { color:var(--muted); font-size:14px; }
.path-page .note-editor label textarea { margin-top:10px; }
.path-page :is(#week-form,.note-editor) button { justify-self:start; }
.path-page .path-note-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.path-page :is(#week-history details,#path-trash) { margin:18px 0; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.path-page #week-history p { white-space:pre-wrap; overflow-wrap:anywhere; }
.path-page .trash-note { padding-block:14px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
@media(max-width:540px) { .path-page :is(#week-form,.note-editor) button { width:100%; } }

/* Дневная тема: без фоновой сцены (Луна, кольца, звезда, туманность) — ровный фон,
   как на остальных разделах (Павел, 25.09.2026). Ночью сцена остаётся. */
:root[data-theme="day"] main{background:none}
