/* eAstrograma — tool pages (reuses tokens from site.css) */
.tool-wrap{ max-width:920px; margin-inline:auto; padding-bottom:clamp(3rem,7vw,5rem); }
.tool-intro{ max-width:var(--measure); margin:clamp(1.4rem,4vw,2.2rem) auto 0; }
.tool-intro h1{ font-family:var(--display); font-weight:350; letter-spacing:-.015em;
  font-size:clamp(2rem,5vw,3.1rem); line-height:1.05; margin:1rem 0 0; color:var(--paper); }
.tool-intro p{ color:var(--paper-dim); font-size:1.12rem; margin:1rem 0 0; }

/* form */
.tool-form{ margin:2rem auto 0; max-width:var(--measure);
  background:linear-gradient(160deg,var(--ink-2),var(--ink)); border:1px solid var(--gold-line);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:clamp(1.3rem,3vw,2rem); }
.tool-form h3{ font-family:var(--display); font-weight:400; font-size:1.3rem; color:var(--gold); margin:0 0 1.2rem; }
.field{ margin-bottom:1.1rem; }
.field > label{ display:block; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--paper-dim); font-weight:700; margin-bottom:.45rem; }
.field input, .field select{ width:100%; font-family:var(--body); font-size:1rem; color:var(--paper);
  background:var(--ink-3); border:1px solid var(--ink-line); border-radius:10px; padding:.7rem .85rem;
  transition:border-color .2s var(--ease); }
.field input:focus, .field select:focus{ outline:none; border-color:var(--gold); }
.field input::placeholder{ color:var(--paper-faint); }
.field select{ -webkit-appearance:none; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E4C67C' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .8rem center; background-size:11px; padding-right:2rem; }
.field select option{ background:var(--ink-2); color:var(--paper); }
.dob{ display:grid; grid-template-columns:.85fr 1.5fr 1.05fr; gap:.6rem; }
.tob{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; max-width:16rem; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field-hint{ font-size:.8rem; color:var(--paper-faint); margin:.4rem 0 0; }
.tool-form .btn--gold{ width:100%; justify-content:center; margin-top:.4rem; border:0; font-family:var(--body);
  font-weight:700; font-size:1rem; cursor:pointer; padding:.9rem 1.5rem; border-radius:100px;
  background:var(--gold); color:var(--ink); transition:all .2s var(--ease); }
.tool-form .btn--gold:hover{ background:#F1DBA0; transform:translateY(-1px); }
fieldset.person{ border:1px solid var(--ink-line); border-radius:12px; padding:1.1rem; margin-bottom:1.2rem; }
fieldset.person legend{ padding:0 .5rem; color:var(--gold); font-family:var(--display); font-size:1.1rem; }

/* results */
[data-results]{ margin-top:2.4rem; }
.tool-head h2{ font-family:var(--display); font-weight:360; font-size:clamp(1.6rem,3.6vw,2.3rem);
  color:var(--paper); margin:0; }
.tool-note{ color:var(--paper-dim); margin:.6rem 0 0; font-size:.95rem; }
.tool-err{ color:#F2B8B8; background:rgba(200,80,80,.12); border:1px solid rgba(200,80,80,.3);
  padding:.9rem 1.1rem; border-radius:10px; }
.tool-cta{ margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--gold-line); color:var(--paper-dim); }

/* natal wheel + big3 */
.natal-grid{ display:grid; grid-template-columns:minmax(0,420px) 1fr; gap:2rem; align-items:start; margin-top:1.6rem; }
.wheel-svg{ width:100%; max-width:420px; }
.wheel-svg .w-ring{ fill:none; stroke:var(--gold-line); }
.wheel-svg .w-spoke{ stroke:rgba(228,198,124,.14); stroke-width:1; }
.wheel-svg .w-tick{ stroke:rgba(228,198,124,.3); stroke-width:.7; }
.wheel-svg .w-sign{ fill:var(--gold); font-size:19px; text-anchor:middle; dominant-baseline:central; }
.wheel-svg .w-axis{ stroke:var(--paper-dim); stroke-width:1.1; stroke-dasharray:4 3; }
.wheel-svg .w-axis--mc{ stroke:var(--violet); }
.wheel-svg .w-cardinal{ fill:var(--paper-dim); font-size:11px; font-family:var(--body); font-weight:700; text-anchor:middle; }
.wheel-svg .w-planet{ fill:var(--star); font-size:17px; text-anchor:middle; dominant-baseline:central; }
.wheel-svg .w-pline{ stroke:rgba(245,240,228,.25); stroke-width:.6; }
.big3{ display:flex; flex-direction:column; gap:1rem; }
.big3__card{ background:var(--ink-2); border:1px solid var(--ink-line); border-radius:12px; padding:1rem 1.1rem;
  display:grid; grid-template-columns:auto auto 1fr; grid-template-areas:"g k s" "g t t"; gap:.1rem .7rem; align-items:center; }
.big3__g{ grid-area:g; font-size:2rem; color:var(--gold); }
.big3__k{ grid-area:k; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--paper-faint); font-weight:700; }
.big3__s{ grid-area:s; font-family:var(--display); font-size:1.2rem; color:var(--paper); }
.big3__t{ grid-area:t; margin:.4rem 0 0; font-size:.9rem; color:var(--paper-dim); line-height:1.5; }

/* planet table */
.planet-tbl{ width:100%; border-collapse:collapse; margin-top:2rem; font-size:.95rem; }
.planet-tbl th{ text-align:left; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); font-weight:700; padding:.6rem .5rem; border-bottom:1px solid var(--gold-line); }
.planet-tbl td{ padding:.6rem .5rem; border-bottom:1px solid var(--ink-line); color:var(--paper); }
.planet-tbl .pg{ color:var(--gold); }
.retro{ color:var(--violet); font-weight:700; }

/* daily */
.daily-card{ margin-top:1.4rem; background:linear-gradient(160deg,var(--ink-3),var(--ink-2));
  border:1px solid var(--gold-line); border-radius:var(--radius); padding:1.5rem 1.6rem; }
.daily-moon{ color:var(--gold); font-weight:600; margin:0 0 .8rem; }
.daily-prompt{ font-family:var(--display); font-size:1.3rem; line-height:1.4; color:var(--star); margin:0; }
.daily-retro{ color:var(--violet); font-size:.9rem; margin:1rem 0 0; }

/* sky */
.sky-moon{ display:flex; align-items:center; gap:1rem; margin-top:1.4rem; background:var(--ink-2);
  border:1px solid var(--gold-line); border-radius:12px; padding:1.1rem 1.3rem; color:var(--paper); }
.sky-moon__g{ font-size:2.4rem; color:var(--gold); }
.sky-retro{ margin-top:1rem; padding:.9rem 1.1rem; border-radius:10px; background:var(--violet-dim);
  border:1px solid rgba(154,143,224,.3); color:var(--paper); font-size:.92rem; }
.sky-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.7rem; margin-top:1.2rem; }
.sky-body{ display:flex; flex-direction:column; gap:.2rem; background:var(--ink-2); border:1px solid var(--ink-line);
  border-radius:10px; padding:.8rem .9rem; }
.sky-body__g{ font-size:1.4rem; color:var(--gold); }
.sky-body__n{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--paper-faint); font-weight:700; }
.sky-body__s{ color:var(--paper); font-size:.95rem; }

/* compat */
.compat-score{ display:flex; align-items:center; gap:1.4rem; margin-top:1.4rem; background:var(--ink-2);
  border:1px solid var(--gold-line); border-radius:var(--radius); padding:1.4rem 1.6rem; }
.compat-num{ font-family:var(--display); font-size:3.4rem; color:var(--gold); line-height:1; }
.compat-num span{ font-size:1.3rem; }
.compat-score p{ margin:0; color:var(--paper-dim); }
.compat-list{ list-style:none; margin:1.4rem 0 0; padding:0; }
.compat-list li{ padding:.85rem 0; border-bottom:1px solid var(--ink-line); color:var(--paper); }
.compat-list small{ color:var(--paper-dim); }
.asp-tone{ color:var(--paper-faint); font-size:.85rem; }
.asp-armonios{ border-left:3px solid #6FBF8B; padding-left:.9rem; }
.asp-tensionat,.asp-polarizant{ border-left:3px solid var(--violet); padding-left:.9rem; }
.asp-intens{ border-left:3px solid var(--gold); padding-left:.9rem; }

@media (max-width:720px){
  .natal-grid{ grid-template-columns:1fr; }
  .wheel-svg{ margin-inline:auto; }
  .field-row{ grid-template-columns:1fr; }
}
