/*
  ============================================================
  ASTRACANA · MY ASTRACANA (PROFILE) — STYLES
  Also carries the shared profile-row/badge styles used by every
  retrofitted tool (they load this file via the 'astracana-profile'
  shared asset handle).
  ============================================================
*/
.astr-profile-tool{
  --bg:#1B1235; --bg-soft:#2A1E4D; --gold:#D4AF37; --gold-dim:#9a7f2a;
  --ink:#FAF6EF; --ink-dim:#C9BFAE;
  font-family: Georgia, 'Times New Roman', serif; color: var(--ink);
  display:flex; flex-direction:column; align-items:center;
  padding:32px 20px 52px; text-align:center;
  /* dark panel so ivory text is readable on any theme background */
  background: radial-gradient(120% 90% at 50% 0%, var(--bg-soft) 0%, var(--bg) 55%, #14102a 100%);
  border:1px solid rgba(212,175,55,.28); border-radius:20px;
  box-shadow:0 24px 60px rgba(20,12,40,.22); margin:8px 0 24px;
}
.astr-profile-tool *{ box-sizing:border-box; margin:0; padding:0; }
.astr-profile-tool .astr-title{ font-size:clamp(1.8rem,5vw,2.6rem); letter-spacing:.04em; font-weight:normal; }
.astr-profile-tool .astr-star{ color:var(--gold); }
.astr-profile-tool .astr-subtitle{ margin-top:10px; color:var(--ink-dim); font-style:italic; max-width:580px; line-height:1.6; }
.astr-profile-tool .astr-sec-kicker{
  font-size:.75rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:12px;
}

/* private-session toggle */
.astr-profile-tool .astr-private{
  margin-top:24px; width:min(560px,100%); display:flex; gap:14px; align-items:center;
  text-align:left; border:1px dashed var(--gold-dim); border-radius:14px; padding:14px 18px;
}
.astr-profile-tool .astr-switch{ position:relative; display:inline-block; width:52px; height:30px; flex:none; }
.astr-profile-tool .astr-switch input{ opacity:0; width:0; height:0; }
.astr-profile-tool .astr-switch-slider{
  position:absolute; inset:0; border-radius:999px; border:1px solid var(--gold-dim);
  background:rgba(255,255,255,.06); transition:background .25s; cursor:pointer;
}
.astr-profile-tool .astr-switch-slider::before{
  content:""; position:absolute; left:4px; top:3px; width:22px; height:22px; border-radius:50%;
  background:var(--ink-dim); transition:transform .25s, background .25s;
}
.astr-profile-tool .astr-switch input:checked + .astr-switch-slider{ background:rgba(212,175,55,.35); }
.astr-profile-tool .astr-switch input:checked + .astr-switch-slider::before{ transform:translateX(20px); background:var(--gold); }
.astr-profile-tool .astr-private-text{ font-size:.95rem; line-height:1.55; color:var(--ink-dim); }
.astr-profile-tool .astr-private-text strong{ display:block; color:var(--ink); font-weight:normal; letter-spacing:.06em; }

/* form */
.astr-profile-tool .astr-prof-form{ width:min(640px,100%); margin-top:26px; }
.astr-profile-tool .astr-fields{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px;
}
.astr-profile-tool .astr-field label{
  display:block; margin-bottom:8px; font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-dim);
}
.astr-profile-tool .astr-field input,
.astr-profile-tool .astr-field select{
  width:100%; padding:13px 14px; border-radius:999px; border:1px solid var(--gold-dim);
  background:rgba(255,255,255,.04); color:var(--ink); font-family:inherit; font-size:1rem; text-align:center;
  color-scheme: dark;
}
.astr-profile-tool .astr-field select{ appearance:none; -webkit-appearance:none; cursor:pointer; }
.astr-profile-tool .astr-field select option{ color:#1B1235; background:#FAF6EF; }
.astr-profile-tool .astr-field input:focus, .astr-profile-tool .astr-field select:focus{ outline:none; border-color:var(--gold); }
.astr-profile-tool .astr-field input::-webkit-datetime-edit,
.astr-profile-tool .astr-field input::-webkit-datetime-edit-fields-wrapper{ color:var(--ink); }
.astr-profile-tool .astr-opt{ opacity:.65; font-style:italic; letter-spacing:.05em; }

.astr-profile-tool .astr-btn-row{ margin-top:24px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.astr-profile-tool .astr-btn{
  font-family:inherit; font-size:.95rem; letter-spacing:.08em; padding:13px 30px;
  border-radius:999px; cursor:pointer; border:1px solid var(--gold);
  background:transparent; color:var(--gold); transition:all .25s;
}
.astr-profile-tool .astr-btn:hover{ background:var(--gold); color:#1B1235; }
.astr-profile-tool .astr-btn.astr-primary{ background:var(--gold); color:#1B1235; }
.astr-profile-tool .astr-btn.astr-primary:hover{ filter:brightness(1.1); }
.astr-profile-tool .astr-btn[disabled]{ opacity:.45; cursor:not-allowed; }
.astr-profile-tool .astr-form-note{ margin-top:14px; min-height:1.4em; color:var(--gold); font-style:italic; font-size:.95rem; }

/* current profile summary */
.astr-profile-tool .astr-current{
  margin-top:30px; width:min(560px,100%); border:1px solid var(--gold-dim); border-radius:16px;
  background:linear-gradient(165deg, var(--bg-soft), #17102e); padding:28px 24px;
}
.astr-profile-tool .astr-current-text{ color:var(--ink); line-height:1.8; font-size:1.02rem; margin-bottom:14px; }
.astr-profile-tool .astr-confidence-note{ margin-top:12px; color:var(--ink-dim); font-style:italic; line-height:1.6; font-size:.95rem; }
.astr-profile-tool .astr-storage-note{
  margin-top:16px; max-width:560px; color:#f2b8b5; font-size:.92rem; line-height:1.6; font-style:italic;
}

/* privacy explainer */
.astr-profile-tool .astr-privacy{
  margin-top:30px; width:min(620px,100%); text-align:left;
  border-top:1px solid rgba(212,175,55,.25); padding-top:26px;
}
.astr-profile-tool .astr-privacy ul{ list-style:none; margin-top:4px; }
.astr-profile-tool .astr-privacy li{
  position:relative; padding-left:26px; margin-bottom:12px; color:var(--ink-dim); line-height:1.65; font-size:.98rem;
}
.astr-profile-tool .astr-privacy li::before{ content:"\2726"; position:absolute; left:0; color:var(--gold); }
.astr-profile-tool .astr-privacy li strong{ color:var(--ink); font-weight:normal; }
.astr-profile-tool .astr-privacy li code{
  font-family:ui-monospace, Menlo, monospace; font-size:.85em; color:var(--gold);
  background:rgba(212,175,55,.12); padding:2px 7px; border-radius:6px;
}
.astr-profile-tool .astr-privacy-link{ margin-top:18px; color:var(--ink-dim); line-height:1.65; font-size:.98rem; }
.astr-profile-tool .astr-privacy-link a{ color:var(--gold); text-decoration:none; border-bottom:1px solid var(--gold-dim); }
.astr-profile-tool .astr-privacy-link a:hover{ border-bottom-color:var(--gold); }

/* ============================================================
   SHARED — profile rows & badges on every retrofitted tool.
   These classes are unscoped by design: profile.css loads with
   the 'astracana-profile' shared handle on all profile-aware pages.
   ============================================================ */
.astracana-profile-row{ margin-top:20px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.astracana-use-profile, .astracana-save-profile{
  font-family:Georgia, 'Times New Roman', serif; font-size:.85rem; letter-spacing:.06em;
  padding:10px 20px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(212,175,55,.55); background:transparent; color:#D4AF37;
  transition:all .25s;
}
.astracana-use-profile:hover, .astracana-save-profile:hover{ background:rgba(212,175,55,.15); }
.astracana-use-profile[disabled], .astracana-save-profile[disabled]{ opacity:.45; cursor:not-allowed; }
.astracana-private-hint{ font-size:.8rem; font-style:italic; color:#C9BFAE; align-self:center; }
.astracana-confidence{ margin-top:10px; font-size:.9rem; font-style:italic; color:#C9BFAE; line-height:1.6; max-width:520px; margin-left:auto; margin-right:auto; }
.astracana-conf-badge{
  display:inline-block; font-family:Georgia, 'Times New Roman', serif; font-size:.82rem; font-style:normal;
  letter-spacing:.04em; padding:7px 16px; border-radius:999px;
  border:1px solid rgba(212,175,55,.55); color:#D4AF37; background:rgba(212,175,55,.08);
}
.astracana-conf-badge.astracana-conf-unknown{ border-color:rgba(201,191,174,.5); color:#C9BFAE; background:rgba(201,191,174,.08); }
